[ на главную ]

Классификатор на основе однослойной нейронной сети.

Е.С.Борисов

вторник, 18 октября 2005 г.


В этой работе построен классификатор распознающий картинки с цифрами от 0 до 9 . Для реализации классификатора используется однослойная нейронная сеть.

1 Модель

Классификатор представляет собой однослойную нейронную сеть(персептрон) [ 1 , 2 ] из 10 обрабатывающих нейронов (рис. 1 ).

Рисунок 1: однослойная нейронная сеть (персептрон)
классификатор

На вход нейронной сети подаётся слово X(x 0 ... x n ) где x i =1 или -1 , описывающее образ для обработки. На выходе получаем слово Y(y 0 ... y 9 ) где y i =1 или -1 . Номер j , для которого выход y j =1 , соответствует номеру класса входного образца.

1.1 Параметры сети

Состояние нейрона i определим следующим образом:
\begin{displaymath} s_i=\sum\limits_{j=0}^{n} x_j\cdot w_{ij} \end{displaymath} (1)

В качестве функции активации будем использовать пороговою функцию с порогом T=0 :

\begin{displaymath}
y_i=
f(s_i)=
\left\{
\begin{array}{ccc}
1 &,& s_i\geq T \\
-1 &,& s_i<T
\end{array}\right.
\end{displaymath} (2)

1.2 Метод обучения

В качестве метода обучения используется дельта-правило Видроу-Хоффа [ 2 , 3 ] (обучение "с учителем").


w ij (t+1)=w ij (t)+ a * x j * e i k (3)

где Так же необходимо определить :


Алгоритм обучения нейронной сети построен следующим образом:

  1. Инициализировать матрицу весов случайными значениями на отрезке [ -0.05 , 0.05 ] .
  2. Пропустить через сеть все образцы из множества учебных примеров и рассчитать ошибку сети E по ( 6 ).
  3. Если ошибка E меньше допустимой максимальной ошибки R то конец работы.
  4. В случайном порядке подать на вход сети все образцы из множества учебных примеров, для каждого образца k и выхода сети y k рассчитать ошибку e k по ( 4 ) и скорректировать веса w по ( 3 ).
  5. перейти на п.2

2 Реализация

В этом разделе представлены две реализации, описанной выше модели классификатора, которые отличаются размерностью сети. Первый вариант - простой, работает с фиксированным набором входных паттернов, представленных в текстовом виде. Второй вариант - работает с картинками в формате BMP . На вход классификатора подается изображение цифр от 0 до 9 , на выходе получаем слово Y(y 0 ... y 9 ) где y i =1 или -1 . Номер j , для которого выход y j =1 , соответствует номеру класса входного образца.

2.1 Текстовый вариант

Размерность входного изображения 5 x 7 точек, т.е. всего 5 x 7 = 35 входов сети.



2.2 Работа с картинками

На вход классификатора подаются картинки в формате BMP , размером 17 x 31 точек, представляющие собой матрицы 51 x 31 байт, таким образом входной (или распределительный) слой сети состоит из 51 x 31 = 1581 нейронов. В программе используется библиотека для работы с картинками GdkPixbuf v.2 .

Литература

1
F.Rosenblatt Principles of Neurodinamics. - New York: Spartan Books,1962. Русский перевод: Ф.Розенблатт Принципы нейродинамики. - Москва : Мир, 1965.

2
В.А.Головко, под ред.проф.А.И.Галушкина Нейронные сети: обучение, организация и применение. - Москва : ИПРЖР, 2001

3
В.Widrow, M.Hoff Adaptive switching circuits. // IRE WESCON Convention Record, part 4, pp. 96-104. New York: Institute of Radio Engineers, 1960.



Evgeny S. Borisov
2005-10-21
При использовании материалов этого сайта, пожалуйста вставляйте в свой текст ссылку на мою статью.