Распознавание кодировки русского текста с помощью нейронной сети. Обоснование выбора метода распознавания, страница 4

Параметры сигмоидальной функции подберем таким образом, чтобы она проходила через начало координат (что расширит диапазон изменения выходной величины, а значит, число различимых уровней и точность распознавания). Так как величиной весов и входных значений подразумевается, что величина входа нейрона не будет превышать единицы, то параметры активационной функции выберем таким образом, чтобы она постоянно росла в диапазоне входных значений от 0 до 1 и при входе, равном 1 достигала выхода, равного 1. График сигмоидальной передаточной функции с такими характеристиками приведен на рис.2.

Рисунок 2 График передаточной функции нейрона

1.2.4  Выбор метода обучения нейронной сети

Для обучения сети будем пользоваться методом, приведенным в [1].

Обучение персептрона состоит в том, что на его вход подается образ и вычисляется выход К. Если К является правильным, то веса не меняются. Однако, если выход неправилен, то веса изменяются так, чтобы уменьшить ошибочный результат.

Это объяснение можно представить в виде следующего алгоритма обучения:

1.  Подать образ Х на вход персептрона и вычислить, выход К.

2.  а) Если выход Y правильный, то перейти к шагу 1. б) Если выход Y неправильный и равен 0, то добавить все входы к соответствующим им весам; в) Если выход К неправильный и равен 1, то вычесть вход из соответствующего ему веса.

3.  Перейти к шагу 1.

За конечное число шагов сеть научится разделять кодировки при условии, что множество кодировок линейно разделимо. Это значит, что для всех кодировок выход будет меньше порога, а для правильной кодировки – больше.

Величина, на которую увеличивается или уменьшается вес в процессе обучения может регулироваться параметром «скорость обучения». При необходимости увеличения веса:

где Dwi,j – изменение веса;

h - скорость обучения (0¸1);

OUTi – значение выхода;

Xi – значение входа.

Аналогично для случая, когда необходимо уменьшить веса:

1.3  Обоснование выбора метода распознавания

Выбор метода распознавания кодировок при помощи нейронной сети обусловлен следующими особенностями данного метода:

1.  результат распознавания не изменится, если в текст включено небольшое количество текста в другой кодировке или псевдографики;

2.  имеется возможность обучения, что снимает необходимость в корректировке кода программы для распознавания новой кодировки;

3.  при помощи этого метода можно обучить программу распознавать текст не только в определенных кодировках, но и текст, прошедший несколько ступеней преобразования без уменьшения скорости анализа и преобразования;

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

2  Разработка ПМО

2.1  Разработка алгоритма

Алгоритм работы программы состоит из нескольких частей:

1.  распознавание кодировки;

2.  перекодирование;

3.  обучение нейронной сети.

2.1.1  Алгоритм распознавания кодировки