Файл: Httpsfuture2day runejronnyeseti#.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 06.12.2023

Просмотров: 54

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Начальные значения a1,...,ak, {xp}=P1ÈP2È...ÈPk выбираются произвольно, либо по какому-нибудь эвристическому правилу.

На каждом шаге и этапе алгоритма уменьшается критерий качества D, отсюда следует сходимость алгоритма - после конечного числа шагов разбиение {xp}=P1ÈP2È...ÈPk уже не меняется.

Если ядру a i сопоставляется элемент сети, вычисляющий по входному сигналу x функцию d(x,a i), то решающее правило для классификации дается интерпретатором "победитель забирает все": элемент x принадлежит классу P i, если выходной сигнал i -го элемента d(x,a i) меньше всех остальных

Единственная вычислительная сложность в алгоритме может состоять в поиске ядра по классу на втором этапе алгоритма, т.е. в поиске aÎA, минимизирующего

В связи с этим, в большинстве конкретных реализаций метода мера близости d выбирается такой, чтобы легко можно было найти a, минимизирующее D для данного P .

В простейшем случае пространство ядер A совпадает с пространством векторов x, а мера близости d(x,a) - положительно определенная квадратичная форма от xa, например, квадрат евклидового расстояния или другая положительно определенная квадратичная форма. Тогда ядро a i, минимизирующее D i, есть центр тяжести класса P i :

,

(17)

где |P i| ‑ число элементов в P i.

В этом случае также упрощается и решающее правило, разделяющее классы. Обозначим d(x,a)=(x-a,x-a), где (.,.) ‑ билинейная форма (если d - квадрат евклидового расстояния между x и a, то (.,.) - обычное скалярное произведение). В силу билинейности

d(x,a)=(xa,xa)=(x,x)‑2(x,a)+(a,a).

Чтобы сравнить d(x,a i) для разных i и найти среди них минимальное, достаточно вычислить линейную неоднородную функцию от x:

d1(x,a i) = (a i
,a i)‑2(x,a i).

Минимальное значение d(x,a i) достигается при том же i , что и минимум d1(x,a i), поэтому решающее правило реализуется с помощью k сумматоров, вычисляющих d(x,a) и интерпретатора, выбирающего сумматор с минимальным выходным сигналом. Номер этого сумматора и есть номер класса, к которому относится x.

Пусть теперь мера близости - коэффициент корреляции между вектором данных и ядром класса:



где ‑ координаты векторов, (и аналогично ), n ‑ размерность пространства данных, (и аналогично ).

Предполагается, что данные предварительно обрабатываются (нормируются и центрируются) по правилу:

.

Точно также нормированы и центрированы векторы ядер a. Поэтому все обрабатываемые векторы и ядра принадлежат сечению единичной евклидовой сферы (||x||=1) гиперплоскостью ( ). В таком случае .

Задача поиска ядра для данного класса P имеет своим решением

.

(18)

В описанных простейших случаях, когда ядро класса точно определяется как среднее арифметическое (или нормированное среднее арифметическое) элементов класса, а решающее правило основано на сравнении выходных сигналов линейных адаптивных сумматоров, нейронную сеть, реализующую метод динамических ядер, называют сетью Кохонена. В определении ядер a для сетей Кохонена входят суммы . Это позволяет накапливать новые динамические ядра, обрабатывая по одному примеру и пересчитывая ai после появления в P i нового примера. Сходимость при такой модификации, однако, ухудшается.

Закончим раздел рассмотрением различных способов использования полученных классификаторов.

1. Базовый способ: для вектора данных x i и каждого ядра a i вычисляется y i=d(x,a i) (условимся считать, что правильному ядру отвечает максимум d, изменяя, если надо,знак d); по правилу «победитель забирает все» строка ответов y i преобразуется в строку, где только один элемент, соответствующий максимальному

y i, равен 1, остальные ‑ нули. Эта строка и является результатом функционирования сети. По ней может быть определен номер класса (номер места, на котором стоит 1) и другие показатели.

2. Метод аккредитации: за слоем элементов базового метода, выдающих сигналы 0 или 1 по правилу "победитель забирает все" (далее называем его слоем базового интерпретатора), надстраивается еще один слой выходных сумматоров. С каждым (i -м) классом ассоциируется q-мерный выходной вектор z i с координатами z ij . Он может формироваться по-разному: от двоичного представления номера класса до вектора ядра класса. Вес связи, ведущей от i -го элемента слоя базового интерпретатора к j-му выходному сумматору определяется в точности как z ij . Если на этом i -м элементе базового интерпретатора получен сигнал 1, а на остальных - 0, то на выходных сумматорах будут получены числа z ij.

3. Нечеткая классификация. Пусть для вектор данных x обработан слоем элементов, вычисляющих y i=d(x,a i). Идея дальнейшей обработки состоит в том, чтобы выбрать из этого набора {y i} несколько самых больших чисел и после нормировки объявить их значениями функций принадлежности к соответствующим классам. Предполагается, что к остальным классам объект наверняка не принадлежит. Для выбора семейства G наибольших y i определим следующие числа:

где число a характеризует отклонение "уровня среза" s от среднего значения aÎ[-1,1], по умолчанию обычно принимается a=0.

Множество J={i |y iÎG} трактуется как совокупность номеров тех классов, к которым может принадлежать объект, а нормированные на единичную сумму неотрицательные величины

(при i ÎJ и f = 0 в противном случае)

интерпретируются как значения функций принадлежности этим классам.

4. Метод интерполяции надстраивается над нечеткой классификацией аналогично тому, как метод аккредитации связан с базовым способом. С каждым классом связывается q-мерный выходной вектор z i. Строится слой из q выходных сумматоров, каждый из которых должен выдавать свою компоненту выходного вектора. Весовые коэффициенты связей, ведущих от того элемента нечеткого классификатора, который вычисляет
fi, к j-му выходному сумматору определяются как z ij. В итоге вектор выходных сигналов сети есть

В отдельных случаях по смыслу задачи требуется нормировка fi на единичную сумму квадратов или модулей.

Выбор одного из описанных четырех вариантов использования сети (или какого-нибудь другого) определяется нуждами пользователя. Предлагаемые четыре способа покрывают большую часть потребностей.

Програмное обеспечение, системное обеспечение NeuroPro

Программа NeuroPro 0.25 является свободно распространяемой бета-версией разрабатываемого программного продукта для работы с нейронными сетями и производства знаний из данных с помощью обучаемых искусственных нейронных сетей. Главное окно программы приведено на рис. 1.13.



Рис. 1.13. Главное окно программы

Требования к аппаратуре:

- Процессор Intel Pentium.

- Монитор SVGA с разрешением 800*600 точек и выше.

- Операционная система Microsoft Windows 95 или Microsoft Windows NT 4.0.

Основные возможности программы:

1. Создание нейропроекта (см. рис. 1.13: «Файл» — «Создать»).

2. Подключение к нейропроекту файла (базы) данных (см. рис. 1.13: «Открыть файл данных»).

В качестве файлов данных (содержащих обучающую выборку для нейронных сетей) используются файлы форматов DBF (форматы пакетов Dbase, FoxBase, FoxPro, Clipper) и DB (Paradox). Возможно чтение и редактирование этих файлов, и сохранение измененных файлов на диске. Программа не накладывает ограничений на число записей (строк) в файле данных.

3. Редактирование файла данных и создание нейронной сети.

Встроенные возможности нейроимиатора по редактированию файлов данных достаточно ограничены. Для внесения изменений в файл данных целесообразно воспользоваться табличным процессором MS Excel с последующим сохранением файла в формате DBF 4, который читается программой Neuropro 0.25 (см. таблицу данных на рис. 1.13).

Добавление в нейропроект нейронной сети слоистой архитектуры с числом слоев нейронов от 1 до 10, числом нейронов в слое – до 100 (число нейронов для каждого слоя сети может задаваться отдельно). Для создания новой сети необходимо щелкнуть по кнопке «Новая сеть», которая находится за таблицей данных и становится активной после открытия файла данных (рис. 1.14).




Рис. 1.14. Создание нейронной сети

4. Выбор алгоритма обучения, назначение требуемой точности прогноза, настройка параметров нейронной сети.

Обучение нейронной сети на некотором задачнике производится градиентными методами оптимизации, градиент вычисляется по принципу двойственности. В программе реализованы четыре алгоритма оптимизации:

- Градиентный спуск.

- Модифицированный ParTan.

- Метод сопряженных градиентов.

- Квазиньютоновский BFGS-метод.

При создании нейропроекта в качестве алгоритма по умолчанию принимается ParTan. Изменение алгоритма осуществляется через пункты меню «Настройка» — «Метод оптимизации».

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

Обучение прекращается при достижении заданной точности решения задачи либо при невозможности дальнейшей оптимизации.

Програмное обеспечение, системное обеспечение SimInTech

SimInTech — российская система модельно-ориентированного проектирования систем автоматического управления (САУ).

Программное обеспечение SimInTech состоит из графической среды разработки и исполнительной системы реального времени NordWind.

SimInTech — среда создания математических моделей, алгоритмов управления, интерфейсов управления и автоматической генерации кода для программируемых контроллеров и графических дисплеев.

NordWind — исполнительная система реального времени, которая позволяет запускать сформированные алгоритмы на контроллере.

Может:* использоваться для моделирования нестационарных процессов в физике, в электротехнике, в динамике машин и механизмов, в астрономии и т. д., а также для решения нестационарных краевых задач (теплопроводность, гидродинамика и др.);* функционировать в многокомпьютерных моделирующих комплексах, в том числе и в системах удаленного доступа к технологическим и информационным ресурсам;* функционировать как САПР при групповой разработке и сопровождении жизненного цикла изделия (проекта) при модельно-ориентированном подходе к проектированию.Не имеет аналогов среди отчественного программного обеспечения; за рубежом аналогами SimInTech являются такие программным продукты как SimuLink, MATRIX, VisSim, Esterel SCADE, Amesim, DYMOLA, SimulationX и некоторые другие.