Нейросеть с обучением.
Смоделирована однослойная нейронная сеть для решения задачи кластеризации и ассоциативной памяти.
Каждый нейрон хранит в своей памяти:
На входы всех нейронов подаются параметры какого-либо объекта (например, координаты).
Каждый нейрон формирует выходной сигнал по формуле:
Где n – количество параметров, Аi – значение параметра заданного объекта Сi – значение, являющееся центром по данному параметру, Vi – коэффициент влияния каждого параметра (от 0 до 1). Выходное значение f характеризует несовпадение параметров объекта с эталонными (центральными) параметрами, записанными в нейроне.
Производится поиск нейрона с минимальным значением f на выходе. Объекту присваивается номер найденного нейрона. Задача кластеризации решена.
Если включено обучение нейросети в ручном режиме, то далее:
Производится корректировка “центральных” значений нейрона (усреднение их со значениями параметров объекта по линейному закону):
Сi = (Сi*NA + Ai)/(NA + 1)
Производится корректировка коэффициента влияния параметра. Если отклонение велико, то коэффициент влияния i-того параметра для данного нейрона уменьшается.
При обучении нейросети в автоматическом режиме - если минимальное из найденных выходных значений нейросети больше порогового (константа для всех нейронов), то создаётся ещё один нейрон с центральными значениями, равным параметрам текущего объекта, с коэф. влияния = 1. Другими словами, для объекта создаётся новый кластер. При дальнейшем анализе объектов новый нейрон участвует наравне с остальными.
Операции определения кластера и обучения повторяются последовательно для всех объектов.
При достаточном обучении нейросеть действует как ассоциативная память – по заданным параметрам объекта выдаётся значение кластера, к которому он принадлежит, т.е. идентификатор объекта. Преимущества данной нейросети – если какой-либо параметр для данного кластера менее важен, то его неточное значение не окажет влияние на определение принадлежности объекта к кластеру.
В качестве примера создана программа для распределения по кластерам. Объекты - набор точек на плоскости. Параметрами объекта являются координаты X и Y точки.
В программе реализовано обучение нейросети в автоматическом режиме. В результате работы создаются кластеры, которым принадлежат точки. Нейросеть хорошо выделяет группы точек с близкими координатами, если границы групп не слишком “размыты”. Количество получающихся кластеров в результате работы программы зависит от величины порогового значения.