Адаптивный линейный элемент
Материал из MachineLearning.
Строка 24: | Строка 24: | ||
===Схема обучение 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> (например, случайным образом); |
Версия 21:14, 5 января 2010
Данная статья является непроверенным учебным заданием.
До указанного срока статья не должна редактироваться другими участниками проекта 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.