Московский государственный университет имени М.В.Ломоносова
Опубликован: 30.04.2008 | Доступ: свободный | Студентов: 1613 / 248 | Оценка: 4.24 / 3.92 | Длительность: 14:56:00
Специальности: Математик
Лекция 3:

Линейный классификатор. Алгоритм персептрона

< Лекция 2 || Лекция 3: 123 || Лекция 4 >

3.2. Алгоритм персептрона


3.2.1. Математическая модель нейрона. В алгоритме персептрона в основу положен принцип действия нейрона. Обобщенная схема нейрона представлена на рисунке. Здесь x_1,x_2,\ldots,x_l – компоненты вектора признаков x=(x_1,x_2,\ldots,x_l) ; \Sigmaсумматор; W_1,W_2,\ldots,W_l – синоптические веса; fфункция активации; W_0 – порог. Выходом сумматора является величина \sum_{i=1}^l W_i x_i, которая является входом (аргументом) функции активации. Значение функции активации вычисляется на основе определения знака суммы \sum_{i=1}^l W_i x_i+W_0:

f(v)=\left\{
\begin{aligned}
& 0 \text{ при } v < 0 \\
& 1 \text{ при } v > 0
\end{aligned}.\right.

Таким образом, нейрон представляет собой линейный классификатор с дискриминантной функцией g(x)=\sum_{i=1}^l W_i x_i+W_0.

Тогда задача построения линейного классификатора для заданного множества прецедентов сводится к задаче обучения нейрона, т.е. подбора соответствующих весов W_1,W_2,\ldots,W_l и порога W_0. Обучение состоит в коррекции синоптических весов и порога.

3.2.2. Алгоритм персептрона. Алгоритм персептрона представляет собой последовательную итерационную процедуру. Каждый шаг состоит в предъявлении нейрону очередного вектора-прецедента и коррекции весов W_i по результатам классификации. При этом прецеденты предъявляются циклически, т.е. после предъявления последнего снова предъявляется первый. Процесс обучения заканчивается, когда нейрон правильно классифицирует все прецеденты.

Обозначим W_t весовой вектор после t -й итерации, а x_tпрецедент, предъявляемый на t -й итерации.

Основной шаг алгоритма состоит в предъявлении очередного прецедента x_{t+1}:

Если x_{t+1}\in\Omega_1 и W_t x_{t+1}>0, то W_{t+1}=W_t ;

Если x_{t+1}\in\Omega_1 и W_t x_{t+1}\leq;0, то W_{t+1}=W_t+x_{t+1} ;

Если x_{t+1}\in\Omega_2 и W_t x_{t+1}<0, то W_{t+1}=W_t ;

Если x_{t+1}\in\Omega_2 и W_t x_{t+1}\geq;0, то W_{t+1}=W_t+x_{t+1}.

На данном рисунке g_t(x) – дискриминантная функция после t -го шага алгоритма; W_t – весовой вектор после t -го шага алгоритма.


< Лекция 2 || Лекция 3: 123 || Лекция 4 >