Использование нейросетей Кхонена для классификации в задачах оптимизации

Использование нейросетей Кхонена для классификации

УДК 621.438

С. В. Черных

ИСПОЛЬЗОВАНИЕ НЕЙРОСЕТЕЙ КОХОНЕНА ДЛЯ КЛАССИФИКАЦИИ В ЗАДАЧАХ ОПТИМИЗАЦИИ

Рассмотрено применение самоорганизующихся нейронных сетей Кохонена для классификации в оптимизационных задачах. Выявлены закономерности, позволяющие в дальнейшем использовать сети Кохонена в компьютерной программе автоматической классификации реальных оптимизационных задач.

The article presents the self-organizing Kohonen neural networks used for classification in optimum problem conditions. The patterns allowing to use Kohonen neural networks in computer program of automatic classification of real optimum problem conditions have been identified.

1. Введение

В [1; 2] представлено использование генетических алгоритмов для оптимизации изделий, проектируемых в CAE-системах, описан способ взаимодействия созданной программы с системой NISA и рассмотрена задача оптимизации простейшей детали в форме прямоугольного параллелепипеда. Первоначально она оптимизировала простейшую модельную конструкцию только на собственные частоты и максимальное напряжение. Далее, в [3] была решена более сложная задача многопараметрической оптимизации реальной модели с учетом механических, тепловых и магнитных воздействий. Доработанное по результатам этих исследований программное средство зарегистрировано [4]. На текущем этапе встал вопрос о дальнейшем усовершенствовании создаваемого программного продукта. Пути этого усовершенствования освещены в [5].

2. Пути усовершенствования программного продукта

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

61

Вестник РГУ им. И. Канта. 2007. Вып. 10. Физико-математические науки. С. 61 — 64.

С. В. Черных

рекластеризация с помощью сети Кохонена или БСМ-метода нечеткой кластеризации и появляться новые классы.

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

Рис. 1. Некоторые этапы автоматизации задачи оптимизации

Поскольку виц локальных (по одному параметру) ЦФ подобен нечетким числам Ь-И типа, при построении комплексной ЦФ для случая совместной прочностной, тепловой и иной оптимизации может использоваться логический вывод, подобный применяемому в системах нечеткого вывода.

Далее подробно рассмотрен один из вопросов — отнесение конкретной модели к определенному классу в пространстве признаков.

3. Исследование возможностей нейросетей Кохонена для классификации моделей

В ходе экспериментов использовались самоорганизующиеся карты (сети Кохонена) с размерностью, равной сумме количества входных и выходных параметров. Для примера был взят набор векторов размерности 6 и вида (а,Ь,с,х,у,г), где а,Ь,с — изменение трех входных параметров (параметры детали, подбором которых находятся оптимальные характеристики детали), х, у, г — изменение выходных параметров (оптимизируемых характеристик).

Например, вектор (1,2; 1; 1; -10; 0; 0) означает, что параметр а был увеличен в 1,2 раза, что привело к уменьшению параметра х на 10 единиц (если, например, х — максимальная температура в детали, то это означает, что она уменьшилась на 10 градусов).

Использование нейросетей Кхонена для классификации

Выбор изменений входных и выходных параметров в качестве элементов вектора обусловлен тем, что это дает нейросети информацию о том, как ведет себя объект в процессе оптимизации, заключающейся в изменении входных параметров. На основе данной информации можно отнести эту задачу к определенному классу, в котором все объекты ведут себя похоже при одинаковых изменениях входных параметров.

Для проверки возможностей сети Кохонена в задаче такой классификации был использован следующий набор векторов (на практике в нем должно быть намного больше векторов с реальными данными): (1,2; 1; 1; -10; 0; 0), (1; 1,2; 1; 5; -15; 2), (1; 1; 1; 0; 0; 0).

Соответствующий код в среде МЛТЬЛБ:

Г=[1.2 1 1; 1 1.2 1; 1 1 1; -10 5 0; 0 -15 0; 0 2 0]

63

P =

1.2000

1.0000

1.0000

-10.0000

0

0

1.0000

1.2000

1.0000

5.0000 15.0000

2.0000

1.0000

1.0000

1.0000

0

0

0

Далее в среде МЛТЬЛБ была построена сеть Кохонена с 9 нейронами, организованными в виде слоя размером 3x3 нейрона:

net=newsom([1 2; 1 2; 1 2; -10 10; -20 20; 0 10], [3 3]);

При этом нужно было указать диапазон изменения параметров а, Ь, с (от 1 до 2) и х, у, 2 (-10...10, -20...20, 0...10 соответственно). Сеть тренировалась в течение 10 итераций:

net.trainParam.epochs=10;

net=train(net,P);

TRAINR, Epoch 0/10

TRAINR, Epoch 10/10

TRAINR, Maximum epoch reached.

Затем было проверено, какой нейрон выдаст максимальное значение на выходе для первого вектора:

p=[1.2;1;1;-10;0;0];

sim

ans =

(1,1) 1

Для первого вектора первый нейрон выдал значение 1 (максимально возможное). Если чуть изменить вектор, то его классификация нейросетью не изменится:

p=[1.2;1;1;-9;0;0];

sim

ans =

(1,1) 1

С. В. Черных

Если же изменить вектор сильнее, то нейросеть отнесет его к другому классу:

p=[1.2;1;1;-2;0;0];

sim

ans =

(7,1) 1

64

Этот класс соответствует вектору (1, 1, 1, 0, 0, 0):

p=[1;1;1;0;0;0];

sim

ans =

(7,1) 1

Так как для него тот же нейрон (7-й) выдает максимальное значение. Действительно — малое изменение параметра х (х = -2) и нулевое изменение параметров у и 2 позволило нейросети отнести этот вектор к тому же классу, что и вектор (1, 1, 1, 0, 0, 0), в котором изменение всех трех параметров х, у, 2 нулевое.

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

Список литературы

1. Толстель О. В., Черных С. В. Свидетельство об официальной регистрации программы для ЭВМ N 2006610573 от 10.02.2006 г. «Оптимизация расчетов методом конечных элементов для СЛЕ-системы №БЛ на основе простого генетического алгоритма».

2. Толстель О. В., Усанов А.Ю, Черных С. В. Оптимизация расчетов блоков космических аппаратов в СЛЕ-программах с помощью генетических алгоритмов // Международная научная конференция «Математические методы в технике и технологиях — ММТТ19». Воронеж, 2006.

3. Толстель О. В., Усанов А.Ю, Черных С. В. Многопараметрическая эволюционная оптимизация // Вестник Калининградского государственного университета. Сер.: Физико-математические науки. Калининград: Изд-во РГУ им. И. Канта, 2006. С. 97—100.

4. Толстель О. В., Черных С. В. Свидетельство об официальной регистрации программы для ЭВМ № 2007613062 от 17.07.2007. «Оптимизация при прочностных, тепловых и электромагнитных расчетах для СЛЕ-системы с помощью генетического алгоритма».

5. Черных С. В. Программный продукт для оптимизации при проектировании конструкций и изделий на основе гибридных методов искусственного интеллекта // Международная научная конференция «Инновации в науке и образовании — 2007». Калининград: Изд-во КГТУ (в печати).

Об авторе

С. В. Черных — асп., РГУ им. И. Канта, chernych@inbox.ru.