Адаптивный линейный элемент

Материал из MachineLearning.

Перейти к: навигация, поиск
Данная статья является непроверенным учебным заданием.
Студент: Участник:Головин Антон
Преподаватель: Участник:Константин Воронцов
Срок: 6 января 2010

До указанного срока статья не должна редактироваться другими участниками проекта MachineLearning.ru. По его окончании любой участник вправе исправить данную статью по своему усмотрению и удалить данное предупреждение, выводимое с помощью шаблона {{Задание}}.

См. также методические указания по использованию Ресурса MachineLearning.ru в учебном процессе.


Адаптивный линейный элемент(Адаптивный линейный нейрон или ADALINE[1]) - частный случай линейного классификатора или искусственной нейронной сети с одним слоем. Был предложен Видроу[1] и Хоффом[1] в 1960 году, развивая математическую модель нейрона МакКаллока–Питтса.

Содержание

Общая схема работы ADALINE

Схема работы ADALINE несколько напоминает работу биологического нейрона:

модель работы нейрона
модель работы нейрона[1]

На вход подаётся вектор импульсов xn ,состоящий из n числовых признаков. Внутри нейрона импульсы складываются с некоторыми весами wj, j = 1..n и, если суммарный импульс S(x) =\textstyle\sum_{j=1}^n w_jx_j превысит порог активации 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):
Q(w) \, = \, \sum_{i=1}^m (a(x_i, w) -    y_i)^2 \to \min_w
Применим метод градиентного спуска, тогда следующее значение будет иметь вид: w \, {:=} \, w \, - \, \eta \nabla Q(w) =  w -  \eta \( (w,x) - y)*x ,где \eta - темп обучения.


Схема обучение ADALINE

Вход:

  • X^m - обучающая выборка из m элементов
  • \eta - темп обучения
  • \lambda - параметр сглаживания функционала Q

Выход:

  • Вектор весов w

Тело:

  1. Инициализировать веса w_j \; j = 0, \dots, n;
  2. Инициализировать начальную оценку функционала:
    Q \, {:=} \, \sum_{i=1}^m (a(x_i, w) - y_i)^2;
  3. Повторять:
    1. Выбрать объект x_i из X^l (например, случайным образом);
    2. Вычислить ошибку:
      \varepsilon_i \, {:=} \, ((x_i, w)- y_i)^2;
    3. Сделать шаг градиентного спуска:
      w \, {:=} w -  \eta \( (x_i, w) - y_i)*x_i;
    4. Оценить значение функционала:
      Q \, {:=} \, (1 \, - \, \lambda)Q \, + \, \lambda\varepsilon_i;
  4. Пока значение Q не стабилизируется и/или веса w не перестанут изменяться.


Связь обучения ADALINE с Stochastic Gradient

Схема обучения ADALINE соответствует схеме обучения линейного классификатора методом стохастического градиента c линейной функцией активации φ(z) = z и квадратичной функцией потерь L(a,x) = (a - y)2.