Оптимизация отбора оптимальных признаков на основе приме-нения методов моделирования эволюции для задачи распозна-вания текста
Информация - Компьютеры, программирование
Другие материалы по предмету Компьютеры, программирование
бора конечного числа точечных признаков, а именно 2m. Число всех этих признаков зависит, конечно, от числа признаков первого этапа m, и все-таки оно является конечным и относительно небольшим.
В противоположность признакам второго этапа обучения, которые выявляются из небольшого конечного числа точечных признаков, признаки первого этапа обучения (полосовые признаки) генерируются случайным образом, и процесс этот, при достаточно жестких критериях, может стать бесконечным. Здесь следует уточнить, что на самом деле общее число полосовых признаков ограничено, но это число зависит от размера растра и для сколько-нибудь практических задач настолько велико, что при существующих вычислительных мощностях практически недостижимо. Например, для растра 32*32, общее число полосовых признаков составит 17976,93134861Е+304.
Экспериментально установлено, что при увеличении обучающей выборки частота оптимальных признаков быстро уменьшается. Таким образом, определенная модификация процедуры, осуществляющей генерацию полосовых признаков, проведенная так, чтобы частота оптимальных признаков первого этапа обучения увеличилась, является, по крайней мере, желательной.
Учитывая особенности решений, сгенерированных при помощи методов моделирования эволюции, имеет смысл использовать генетические алгоритмы (ГА) для поиска полосовых признаков, используемых на первом этапе обучения.
5. Генетическая модификация МООП
В работе [4] описаны модели наследственности и эволюции из области популяционной генетики. Эволюция осуществляется в результате взаимодействия трех основных факторов: изменчивости, наследственности и естественного отбора.
Генетический алгоритм (ГА) - это поисковый алгоритм, основанный на моделировании механизмов естественной эволюции. На каждом шаге генетического алгоритма создается новое множество решений, в котором используются части предыдущих решений и добавляются новые части. Таким образом генетические алгоритмы используют историческую информацию.
Основные отличия ГА состоят в следующем:
ГА осуществляют поиск из множества (популяции) точек, а не из единственной точки;
ГА используют целевую функцию для оценки информации, а не ее различные приращения.
Рассмотрим механизм простого ГА (ПГА): сначала ГА случайно генерирует популяцию последовательностей (стрингов); далее он копирует последовательности и переставляет их части; затем ГА применяет некоторые операторы к начальной популяции и генерирует новые популяции.
В ПГА используется 3 оператора: репродукция, кроссовер, мутация. Поясним кратко действие некоторых используемых генетических операторов.
Оператор Репродукции (ОР): механизм репродукции включает копирование стргингов. Репродукция - процесс, в котором стринги воспроизводятся согласно их функции фитности. Стринги с большим значением функции фитности имеют большую вероятность попадания в следующую генерацию. Один из способов алгоритмической реализации ОР моделирование колеса рулетки, в котором каждый стринг имеет сектор, величина которого пропорциональна значению функции фитности стринга.
Оператор Кроссовера (ОК): оператор кроссовера может выполниться в 2 шага. На первом шаге элементы множества стрингов случайно разбиваются на пары. Затем из каждой пары стрингов формируется новая пара по правилу: случайно выбирается целочисленная позиция вдоль стринга между 1 и длиной стринга L - точка скрещивания. Новая пара стрингов создается вследствие обмена частями исходных стрингов, относительно точки скрещивания. Например, X и Y представляют собой два стринга (родители). Если теперь случайным или заранее заданным способом выбрать точку скрещивания, то смешивая части исходных векторов можно получить два новых потомка:X и Y.
X:x1x2x3x4x5 | x6x7x8
Y:y8y7y6y5y4 | y3y2y1
X:x1x2x3x4x5 | y3y2y1
Y:y8y7y6y5y4 | x6x7x8
Возможно проводить операцию скрещивания не относительно одной точки (одноточечный кроссовер), а относительно нескольких точек (многоточечный кроссовер). В этом случае обеспечивается большее отличие потомков от предков.
Оператор Мутации (ОМ): соответствует случайному нарушению последовательности битов в стринге; например, применяя ёоператор мутации к X, можно получить X1:x1x2x3x4x5y2y3y1 или X2:x1x3x2x4x5y3y2y1 и т.д. Обычно выбирают одну мутацию на 1000 бит. Считается, что мутация - вторичный механизм в ГА.
Для оптимизации поиска оптимальных признаков использование ГА может быть описано следующим образом.
Сначала определяется соответствие между хромосомой и полосовым признаком. В данном случае полосовой признак (растровое изображение) "вытягивается" в вектор (стринг). Далее случайным образом генерируется некоторое множество возможных полосовых признаков - начальная популяция P0=X01, X02, … X0n. Затем для каждой хромосомы вычисляется функция фитности, которая в данном случае представляет собой комплексную оценку, вычисляемую с учетом критериев отбора оптимальных признаков первого рода.
Далее к популяции применяется оператор репродукции (ОР), который формирует новую популяцию, оставляя в ней хромосомы с вероятностью, пропорциональной значению функции фитности. На следующем шаге, используя случайный выбор, генерируются пары для применения к ним оператора кроссовера. Здесь возможно также использование оператора кроссовера для каждой пары с вероятностью pc, пропорциональной сумме значений функций фитности обеих хромосом. Это позволит воспроизвести некоторые из хромосом в следующем по