Однослойный персептрон (пример)
Материал из MachineLearning.
(→Литература) |
м (→Описание алгоритма) |
||
Строка 11: | Строка 11: | ||
<center><tex>w:=w - \eta \nabla Q(w)</tex>,</center> | <center><tex>w:=w - \eta \nabla Q(w)</tex>,</center> | ||
где <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) | + | <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:06, 29 апреля 2009
|
Однослойный персептрон — TODO
Постановка задачи
Пусть - пространство объектов;
- множество допустимых ответов. Будем считать, что
, где
- признаковое описание объекта, а
- дополнительный константный признак;
. Задана выборка
. Значения признаков
рассматриваются как импульсы, поступающие на вход нейрона, которые складываются с весами
. Если суммарный импульс превышает порог активации
, то нейрон возбуждается
и выдаёт на выходе 1, иначе выдаётся 0. Таким образом, нейрон вычисляет
-арную булеву функцию вида
Описание алгоритма
Для настройки вектора весов воспользуемся методом стохастического градиента. Возьмем квадратичную функцию потерь: , а в качестве функции активации возьмем сигмоидную функцию:
. Согласно принципу минимизации эмпирического риска задача сводится к поиску вектора, доставляющего минимум функционалу
. Применим для минимизации метод градиентного спуска:
где величина шага в направлении антиградиента, называемая также темпом обучения (learning rate). Будем выбирать прецеденты
по одному в случайном порядке, для каждого делать градиентный шаг и сразу обновлять вектор весов:
Вычислительный эксперимент
TODO
Исходный код
TODO
Смотри также
TODO
Литература
- К. В. Воронцов, Лекции по линейным алгоритмам классификации
- Bishop, C. Pattern Recognition And Machine Learning. Springer. 2006.
![]() | Данная статья является непроверенным учебным заданием.
До указанного срока статья не должна редактироваться другими участниками проекта MachineLearning.ru. По его окончании любой участник вправе исправить данную статью по своему усмотрению и удалить данное предупреждение, выводимое с помощью шаблона {{Задание}}. См. также методические указания по использованию Ресурса MachineLearning.ru в учебном процессе. |