Самоорганизация
Самоорганизующихся структуры классифицируют образы, представленные векторными величинами, в которых каждая компонента вектора соответствует элементу образа. Алгоритмы Кохонена основываются на технике обучения без учителя. После обучения подача входного вектора из данного класса будет приводить к выработке возбуждающего уровня в каждом выходном нейроне; нейрон с максимальным возбуждением представляет классификацию. Так как обучение проводится без указания целевого вектора, то нет возможности определять заранее, какой нейрон будет соответствовать данному классу входных векторов. Тем не менее, это планирование легко проводится путем тестирования сети после обучения.
Алгоритм трактует набор из
входных весов нейрона как вектор в -мерном пространстве. Перед обучением каждый компонент этого вектора весов инициализируется в случайную величину. Затем каждый вектор нормализуется в вектор с единичной длиной в пространстве весов - для этого выполняется деление каждого случайного веса на квадратный корень из суммы квадратов компонент этого весового вектора.Все входные векторы обучающего набора также нормализуются и сеть обучается согласно следующему алгоритму:
- Вектор подается на вход сети.
-
Определяются расстояния
(в -мерном пространстве) междуи весовыми векторами
каждого нейрона. В евклидовом пространстве это расстояние вычисляется по следующей формуле:где
— компонента входного вектора , — вес входанейрона
. - Нейрон, который имеет весовой вектор, самый близкий к , объявляется победителем. Этот вектор, называемый , становится основным в группе весовых векторов, которые лежат в пределах расстояния от .
-
Группа весовых векторов настраивается в соответствии со следующим выражением:
для всех весовых векторов в пределах расстояния
от . - Повторяются шаги с 1 по 4 для каждого входного вектора.
В процессе обучения нейронной сети значения
ипостепенно уменьшаются. Рекомендуется, чтобы коэффициент
в начале обучения устанавливался приблизительно равным единице и уменьшался в процессе обучения до нуля, в то время как может в начале обучения равняться максимальному расстоянию между весовыми векторами и в конце обучения стать настолько маленьким, что будет обучаться только один нейрон.В соответствии с существующей точкой зрения, точность классификации будет улучшаться при дополнительном обучении. Согласно рекомендации Кохонена, для получения хорошей статистической точности количество обучающих циклов должно быть, по крайней мере, в 500 раз больше количества выходных нейронов.
Обучающий алгоритм настраивает весовые векторы в окрестности возбужденного нейрона таким образом, чтобы они были более схожими с входным вектором. Так как все векторы нормализуются в векторы с единичной длиной, они могут рассматриваться как точки на поверхности единичной гиперсферы. В процессе обучения группа соседних весовых точек перемещается ближе к точке входного вектора. Предполагается, что входные векторы фактически группируются в классы в соответствии с их положением в векторном пространстве. Определенный класс будет ассоциироваться с определенным нейроном, перемещая его весовой вектор в направлении центра класса и способствуя его возбуждению при появлении на входе любого вектора данного класса.
После обучения классификация выполняется в два шага: подачей на вход сети испытуемого вектора и вычисления возбуждения для каждого нейрона, с последующим выбором нейрона с наивысшим возбуждением как индикатора правильной классификации.