Эта тема посвещена одной из моделей искуственного
нейрона -
Перцептрону.
Для тех кто незнаком с данным термином:
http://ru.wikipedia.org/wiki/Перцептрон
Перцептро́н, или персептрон (англ. perceptron от
лат. perceptio — восприятие; нем. perzeptron) —
математическая и компьютерная модель восприятия
информации мозгом (кибернетическая модель мозга),
предложенная Фрэнком Розенблаттом в 1957 году и
реализованная в виде электронной машины «Марк-1» в
1960 году. Перцептрон стал одной из первых моделей
нейросетей, а «Марк-1» — первым в мире нейрокомпьютером.
Несмотря на свою простоту, перцептрон способен обучаться и
решать довольно сложные задачи.
Алгоритм обучения перцептрона:
Обозначения:
P — индекс вектора
обучающей выборки.
F-порог
d-желаемое значение
y-действительное значение сети
Wi - вес
S-сумма
Xp - вектор обучающей выборки
C-количество значений выборки
n-Индекс компонента выборки
Xnp-значение выборки
1) Задаем F (порог) и C (количество значений выборки)
2) Подаем на вход компоненты 1й части вектора обучающей
выборки Xp = (X1p, ..., Xnp), p=1;
3) Если Wi неизвестны, подбираем случайный Wi для каждого компонента выборки
4) умножаем каждый Wi на соответствующий компонент выборки
5) сумируем полученные значения (S+=Wi(n)*Xnp)
6) если S больше F, выход сети равен 1, если меньше -1
7) Сравниваем выход сети с желаемым значением,
Если y == d (как и надо), то p=p+1, переходим на шаг1 и обрабатываем следующий вектор.
Иначе — шаг 3.
8) Новое значение i-веса: Wi(n) = Wi(n) + d*Xnp.
p=p+1, шаг 1
Собственно это и есть весь процесс обучения перцептрона.
Проверить "знания" перцептрона можно так:
1) Порог F и Wi должны быть известны
2) умножаем каждый Wi на соответствующий компонент выборки
3) сумируем полученные значения (S+=Wi(n)*Xnp)
4) если S больше F, выход сети равен 1, если меньше -1
---
Автор статьи:
G.N.C.
---
ALLcode - кодировка для нейронных сетей, с учетом произношения, поддерживающая Английский, Русский, Белорусский, Украинский языки.
---
Пример однослойного перцептрона
ALLcode