Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
пояснительная записка нейросети.doc
Скачиваний:
30
Добавлен:
12.04.2015
Размер:
537.09 Кб
Скачать

1.4 Однослойные искусственные нейронные сети.

Хотя один нейрон и способен выполнять простейшие процедуры распознавания, сила нейронных вычислений проистекает от соединений нейронов в сетях. Простейшая сеть состоит из группы нейронов образующих слой, как показано в правой части рисунка. Отметим, что вершины - круги слева служат лишь для распределения входных сигналов.

Рисунок 6 –Однослойная нейронная сеть

Они не выполняют каких-либо вычислений, и поэтому не будут считаться слоем. Каждый элемент из множества входов Х отдельным весом соединен с каждым искусственным нейроном. А каждый нейрон выдает взвешенную сумму входов в сеть. В искусственных и биологических сетях многие соединения могут отсутствовать, все соединения показаны в целях общности. Могут иметь место также соединения между выходами и входами элементов в слое (сети Хопфилда). Удобно считать веса элементами матрицы W. Матрица имеет n строк и m столбцов, где n - число входов, а m - число нейронов. Таким образом, вычисление выходного вектора OUT, компонентами которого являются выходы NET нейронов сводится к матричному умножению OUT=XW [4].

1.5 Персептрон - инструмент для классификации образов.

Персептрон - это некоторый инструмент, который способен "запоминать" ("обучиться") - какой образ относится к какому классу. После такого "обучения", в идеале, он должен уметь правильно "узнавать" и другие образы, не входившие в обучающее множество, но достаточно похожие на них, или сообщать, что образ не похож ни на один из множества обучающих образов. Степень "достаточной похожести" определяется удачностью выбора признакового множества. А способность персептрона "обучиться" зависит от разделимости признакового множества, то есть от уникальности наборов признаков с точностью до класса (иными словами - не пересекаются ли области, ограничивающие свои классы). Итак, персептрон - это однослойная нейронная сеть. Принцип его работы таков:

  1. Задается и обнуляется матрица весов.

  2. Обучающий образ, представленный входным вектором X (нулей и единиц) умножается на матрицу весов. В результате получается вектор NET, размерностькоторого равна количеству нейронов.

  3. Строим на основе полученного произведения выходной вектор (такой же размерности) по формуле: yi = F (NETi), где F - пороговая функция. В нашем случае это линейная функция .

  4. Сравниваем покомпонентно получившийся вектор Y с правильным ответом. Под ответом подразумевается вектор такой же размерности, что и выходной. Его надо заранее подготовить, и, разумеется, для каждого класса это должен быть свой уникальный вектор.

  5. При этом сравнении мы выполняем следующие действия (для каждой компоненты векторов): Если j-тая компонента результата больше j-той компоненты ответа, мы вычитаем входной (!) вектор из j-того столбца матрицы весов, то есть столбца j-того нейрона (что бы при последующем умножении входного вектора на матрицу скалярное произведение оказалось меньше). Если j-тая компонента результата меньше j-той компоненты ответа, мы прибавляем входной (!) вектор к j-тому столбцу матрицы весов. Таким образом, входной вектор корректирует матрицу весов под свои значения.

  6. Так же персептрон обучается на втором обучающем образе, третьем, ..., k-том.

  7. Если хотя бы один обучающий образ изменил матрицу весов, повторяем все еще раз с шага 2. Существует теорема, что если классы обучающих образов разделимы, то рано или поздно матрица перестанет меняться (обучится).

Одна итерация обучения персептрона на одном образе представлена на рисунке 7:

Рисунок 7 – Итерация в персептроне