Адаптивный линейный элемент
Материал из MachineLearning.
м  (категория)  | 
			|||
| (4 промежуточные версии не показаны) | |||
| Строка 1: | Строка 1: | ||
| - | {{Задание|Головин Антон|Константин Воронцов|  | + | {{Задание|Головин Антон|Константин Воронцов|6 января 2010}}  | 
| - | '''Адаптивный линейный элемент'''('''Адаптивный линейный нейрон''' или '''ADALINE''') - частный случай линейного классификатора или искусственной нейронной сети с одним слоем. Был предложен Видроу и Хоффом в 1960 году, развивая  [[Модель МакКаллока-Питтса|математическую модель нейрона МакКаллока–Питтса]].   | + | '''Адаптивный линейный элемент'''('''Адаптивный линейный нейрон''' или '''ADALINE<ref>[http://www.machinelearning.ru/wiki/images/6/68/Voron-ML-Lin.pdf Лекции по линейным алгоритмам классификации, К.В.Воронцов]</ref>''') - частный случай линейного классификатора или искусственной нейронной сети с одним слоем. Был предложен Видроу<ref>http://en.wikipedia.org/wiki/Bernard_Widrow Википедия - свободная энциклопедия</ref> и Хоффом<ref>http://en.wikipedia.org/wiki/Marcian_Hoff Википедия - свободная энциклопедия</ref> в 1960 году, развивая  [[Модель МакКаллока-Питтса|математическую модель нейрона МакКаллока–Питтса]].   | 
| - | + | == Общая схема работы ADALINE ==  | |
Схема работы ADALINE несколько напоминает работу биологического нейрона:  | Схема работы ADALINE несколько напоминает работу биологического нейрона:  | ||
<br>  | <br>  | ||
| Строка 13: | Строка 13: | ||
'''a(x) =(w,x) ''', где '''(w,x)''' - скалярное произведение, '''w''' и '''x''' - векторы весов и импульсов-признаков соответственно.  | '''a(x) =(w,x) ''', где '''(w,x)''' - скалярное произведение, '''w''' и '''x''' - векторы весов и импульсов-признаков соответственно.  | ||
| - | + | == Обучение ADALINE ==  | |
Пусть дана обучающая выборка: множество входных значений '''X''' и множество выходящих значений '''Y''', такие что каждому  входу '''x<sub>j</sub>''' соответствует '''y<sub>j</sub>''' - выход, '''j = 1..m'''. Необходимо по этим данным построить ADALINE, которая допускает наименьшее количество ошибок на этой обучающей выборке.   | Пусть дана обучающая выборка: множество входных значений '''X''' и множество выходящих значений '''Y''', такие что каждому  входу '''x<sub>j</sub>''' соответствует '''y<sub>j</sub>''' - выход, '''j = 1..m'''. Необходимо по этим данным построить ADALINE, которая допускает наименьшее количество ошибок на этой обучающей выборке.   | ||
Обучение ADALINE заключается в подборе "наилучших" значений вектора весов '''w'''. Какие значение весов лучше определяет   | Обучение ADALINE заключается в подборе "наилучших" значений вектора весов '''w'''. Какие значение весов лучше определяет   | ||
| Строка 22: | Строка 22: | ||
| - | ==Схема обучение ADALINE==  | + | ===Схема обучение ADALINE===  | 
'''Вход:'''  | '''Вход:'''  | ||
| - | *<tex>X^  | + | *<tex>X^m</tex> - обучающая выборка из m элементов <br />  | 
*<tex>\eta</tex> - темп обучения <br />  | *<tex>\eta</tex> - темп обучения <br />  | ||
*<tex>\lambda</tex> - параметр сглаживания функционала <tex>Q</tex> <br />  | *<tex>\lambda</tex> - параметр сглаживания функционала <tex>Q</tex> <br />  | ||
| Строка 32: | Строка 32: | ||
#Инициализировать веса <tex>w_j \; j = 0, \dots, n</tex>;  | #Инициализировать веса <tex>w_j \; j = 0, \dots, n</tex>;  | ||
#Инициализировать начальную оценку функционала:  | #Инициализировать начальную оценку функционала:  | ||
| - | #:: <tex>Q \, {:=} \, \sum_{i=1}^  | + | #:: <tex>Q \, {:=} \, \sum_{i=1}^m (a(x_i, w) - y_i)^2</tex>;  | 
#Повторять:  | #Повторять:  | ||
##Выбрать объект <tex>x_i</tex> из <tex>X^l</tex> (например, случайным образом);  | ##Выбрать объект <tex>x_i</tex> из <tex>X^l</tex> (например, случайным образом);  | ||
| Строка 47: | Строка 47: | ||
Схема обучения ADALINE соответствует схеме обучения линейного классификатора методом [[Метод стохастического градиента|стохастического градиента]] c линейной функцией активации '''φ(z) = z''' и квадратичной функцией потерь '''L(a,x) = (a - y)<sup>2</sup>'''.   | Схема обучения ADALINE соответствует схеме обучения линейного классификатора методом [[Метод стохастического градиента|стохастического градиента]] c линейной функцией активации '''φ(z) = z''' и квадратичной функцией потерь '''L(a,x) = (a - y)<sup>2</sup>'''.   | ||
| + | <references/>  | ||
| - | + | [[Категория:Нейронные сети]]  | |
| - | + | [[Категория:Линейные классификаторы]]  | |
| - | + | [[Категория:Линейная регрессия]]  | |
Текущая версия
|   |  Данная статья является непроверенным учебным заданием.
 До указанного срока статья не должна редактироваться другими участниками проекта MachineLearning.ru. По его окончании любой участник вправе исправить данную статью по своему усмотрению и удалить данное предупреждение, выводимое с помощью шаблона {{Задание}}. См. также методические указания по использованию Ресурса MachineLearning.ru в учебном процессе.  | 
Адаптивный линейный элемент(Адаптивный линейный нейрон или ADALINE[1]) - частный случай линейного классификатора или искусственной нейронной сети с одним слоем. Был предложен Видроу[1] и Хоффом[1] в 1960 году, развивая математическую модель нейрона МакКаллока–Питтса.
Содержание | 
Общая схема работы ADALINE
Схема работы ADALINE несколько напоминает работу биологического нейрона:
На вход подаётся вектор импульсов xn ,состоящий из n числовых признаков. Внутри нейрона импульсы складываются с некоторыми весами wj, j = 1..n и, если суммарный импульс S(x) = превысит порог активации w0, то нейрон возбуждается и выдаёт некоторое значение a(x) = S(x) - w0.
Если добавить фиктивный импульс-признак x0 ≡ -1 и ему сопоставить вес w0 - порог активации, то формулу выхода Y(x) можно выписать более компактно:
a(x) =(w,x) , где (w,x) - скалярное произведение, w и x - векторы весов и импульсов-признаков соответственно.
Обучение ADALINE
Пусть дана обучающая выборка: множество входных значений X и множество выходящих значений Y, такие что каждому  входу xj соответствует yj - выход, j = 1..m. Необходимо по этим данным построить ADALINE, которая допускает наименьшее количество ошибок на этой обучающей выборке. 
Обучение ADALINE заключается в подборе "наилучших" значений вектора весов w. Какие значение весов лучше определяет 
функционал потерь.В ADALINE используется функционал, предложенный Видроу и Хоффом, L(a,x) = (a - y)2. Таким образом необходимо минимизировать функционал Q(w): 
 
Применим метод градиентного спуска, тогда следующее значение будет иметь вид:
 ,где 
 - темп обучения.
Схема обучение ADALINE
Вход:
- обучающая выборка из m элементов
- темп обучения
- параметр сглаживания функционала
Выход:
- Вектор весов 
 
Тело:
- Инициализировать веса 
;
 - Инициализировать начальную оценку функционала:
-  
;
 
-  
 
 - Повторять:
- Выбрать объект 
из
(например, случайным образом);
 - Вычислить ошибку:
;
 - Сделать шаг градиентного спуска:
;
 -  Оценить значение функционала:
;
 
 - Выбрать объект 
 - Пока значение 
не стабилизируется и/или веса
не перестанут изменяться.
 
Связь обучения ADALINE с Stochastic Gradient
Схема обучения ADALINE соответствует схеме обучения линейного классификатора методом стохастического градиента c линейной функцией активации φ(z) = z и квадратичной функцией потерь L(a,x) = (a - y)2.

