Параметры сигмоидальной функции подберем таким образом, чтобы она проходила через начало координат (что расширит диапазон изменения выходной величины, а значит, число различимых уровней и точность распознавания). Так как величиной весов и входных значений подразумевается, что величина входа нейрона не будет превышать единицы, то параметры активационной функции выберем таким образом, чтобы она постоянно росла в диапазоне входных значений от 0 до 1 и при входе, равном 1 достигала выхода, равного 1. График сигмоидальной передаточной функции с такими характеристиками приведен на рис.2.
Рисунок 2 График передаточной функции нейрона
Для обучения сети будем пользоваться методом, приведенным в [1].
Обучение персептрона состоит в том, что на его вход подается образ и вычисляется выход К. Если К является правильным, то веса не меняются. Однако, если выход неправилен, то веса изменяются так, чтобы уменьшить ошибочный результат.
Это объяснение можно представить в виде следующего алгоритма обучения:
1. Подать образ Х на вход персептрона и вычислить, выход К.
2. а) Если выход Y правильный, то перейти к шагу 1. б) Если выход Y неправильный и равен 0, то добавить все входы к соответствующим им весам; в) Если выход К неправильный и равен 1, то вычесть вход из соответствующего ему веса.
3. Перейти к шагу 1.
За конечное число шагов сеть научится разделять кодировки при условии, что множество кодировок линейно разделимо. Это значит, что для всех кодировок выход будет меньше порога, а для правильной кодировки – больше.
Величина, на которую увеличивается или уменьшается вес в процессе обучения может регулироваться параметром «скорость обучения». При необходимости увеличения веса:
где Dwi,j – изменение веса;
h - скорость обучения (0¸1);
OUTi – значение выхода;
Xi – значение входа.
Аналогично для случая, когда необходимо уменьшить веса:
Выбор метода распознавания кодировок при помощи нейронной сети обусловлен следующими особенностями данного метода:
1. результат распознавания не изменится, если в текст включено небольшое количество текста в другой кодировке или псевдографики;
2. имеется возможность обучения, что снимает необходимость в корректировке кода программы для распознавания новой кодировки;
3. при помощи этого метода можно обучить программу распознавать текст не только в определенных кодировках, но и текст, прошедший несколько ступеней преобразования без уменьшения скорости анализа и преобразования;
4. алгоритм настолько гибок, что позволяет использовать программу в других областях. Например, однажды обучив программу на основе текстов, зашифрованных различными шифрами и указав таблицы расшифровки, программа сможет определить нужный шифр и произвести декодирование. Единственным ограничением в данной области применения программы является использование только шифров, в которых каждый символ текста заменяется на один символ шифра.
Алгоритм работы программы состоит из нескольких частей:
1. распознавание кодировки;
2. перекодирование;
3. обучение нейронной сети.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.