Однослойный персептрон (пример)
Материал из MachineLearning.
| м  (→Описание алгоритма) | м  (→Описание алгоритма) | ||
| Строка 12: | Строка 12: | ||
| где <tex>\eta > 0</tex> величина шага в направлении антиградиента, называемая также темпом обучения (learning rate). Будем выбирать прецеденты <tex>(x_i, y_i)</tex> по одному в случайном порядке, для каждого делать градиентный шаг и сразу обновлять вектор весов:  | где <tex>\eta > 0</tex> величина шага в направлении антиградиента, называемая также темпом обучения (learning rate). Будем выбирать прецеденты <tex>(x_i, y_i)</tex> по одному в случайном порядке, для каждого делать градиентный шаг и сразу обновлять вектор весов:  | ||
| <center><tex>w:= w - \eta(a(x_i,w)-y_i)(1-\varphi(\langle w,x_i \rangle))\varphi(\langle w,x_i \rangle)x_i</tex>.</center> Значение функционала оцениваем: <center><tex>Q = (1-\lambda)Q+\lambda \eps_i</tex></center>, где <tex>\eps_i = (a(x_i,w)-y_i)^2</tex>. | <center><tex>w:= w - \eta(a(x_i,w)-y_i)(1-\varphi(\langle w,x_i \rangle))\varphi(\langle w,x_i \rangle)x_i</tex>.</center> Значение функционала оцениваем: <center><tex>Q = (1-\lambda)Q+\lambda \eps_i</tex></center>, где <tex>\eps_i = (a(x_i,w)-y_i)^2</tex>. | ||
| + | |||
| Процедура останавливается после того, как изменение значения функционала функционала <tex>Q</tex> становится меньше заданной константы: <center><tex>|Q_n - Q_{n-1}|< \delta</tex></center> | Процедура останавливается после того, как изменение значения функционала функционала <tex>Q</tex> становится меньше заданной константы: <center><tex>|Q_n - Q_{n-1}|< \delta</tex></center> | ||
Версия 16:18, 29 апреля 2009
| 
 | 
Однослойный персептрон — TODO
Постановка задачи
Пусть  - пространство объектов; 
 - множество допустимых ответов. Будем считать, что 
, где 
 - признаковое описание объекта, а 
 - дополнительный константный признак; 
. Задана выборка 
. Значения признаков 
 рассматриваются как импульсы, поступающие на вход нейрона, которые складываются с весами 
. Если суммарный импульс превышает порог активации 
, то нейрон возбуждается
и выдаёт на выходе 1, иначе выдаётся 0. Таким образом, нейрон вычисляет 
-арную булеву функцию вида 
Описание алгоритма
Для настройки вектора весов воспользуемся методом стохастического градиента. Возьмем квадратичную функцию потерь: , а в качестве функции активации возьмем сигмоидную функцию: 
. Согласно принципу минимизации эмпирического риска задача сводится к поиску вектора, доставляющего минимум функционалу 
. Применим для минимизации метод градиентного спуска: 
где  величина шага в направлении антиградиента, называемая также темпом обучения (learning rate). Будем выбирать прецеденты 
 по одному в случайном порядке, для каждого делать градиентный шаг и сразу обновлять вектор весов: 
Вычислительный эксперимент
TODO
Исходный код
TODO
Смотри также
TODO
Литература
- К. В. Воронцов, Лекции по линейным алгоритмам классификации
- Bishop, C. Pattern Recognition And Machine Learning. Springer. 2006.
|   | Данная статья является непроверенным учебным заданием. 
 До указанного срока статья не должна редактироваться другими участниками проекта MachineLearning.ru. По его окончании любой участник вправе исправить данную статью по своему усмотрению и удалить данное предупреждение, выводимое с помощью шаблона {{Задание}}. См. также методические указания по использованию Ресурса MachineLearning.ru в учебном процессе. | 

