Нейрокомпьютинг и его применения в экономике и бизнесе


Добавление нового нейрона.


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

c
определяется ближайший к нему нейрон
w_{\ast}
, локальная ошибка для последнего
\varepsilon_{i_{\ast}}
получает приращение
\|w_{\ast} -c\|
. Большое значение этой ошибки служит указанием на то, что соответствующий нейрон лежит в области, где отношение (число нейронов)/(число городов) невелико. Именно в таких областях следует добавлять новые нейроны, поскольку для получения правильного осмысленного маршрута около каждого города должен находиться свой ближайший нейрон. Маршрут и определяется путем перехода вдоль кольца к нейрону, являющимся ближайшим к некоторому городу. Алгоритм поиска оптимального маршрута, использующий две описанные операции, формулируется следующим образом

  1. Инициализация: генерируется кольцевая структура, состоящая из трех нейронов, имеющих случайное положение на плоскости.
  2. Осуществляется фиксированное число
    n_d
    шагов распространения. На каждом шаге пересчитывается значение локальной ошибки
    \varepsilon_{i_{\ast}}
    .
  3. Определяется "наихудшее" звено в кольце, связывающее два нейрона
    i_1
    и
    i_2
    , для которых сумма
    \varepsilon_{i_{1}}+\varepsilon_{i_{1}}
    максимально. Новый нейрон вставляется в середину звена связывающего нейроны
    i_1
    и
    i_2
    , и его ошибка инициализируется величиной
    \varepsilon_{inew}=\frac{1}{3}\varepsilon_{i_{1}}+\frac{1}{3}\varepsilon_{i_{2}}
    . В то же время значения ошибок для нейронов
    i_1
    и
    i_2
    уменьшается таким образом, чтобы суммарная ошибка сохранилась:
    \varepsilon_{i_{1}}=\frac{2}{3}\varepsilon_{i_{1}}
    ,
    \varepsilon_{i_{2}}=\frac{2}{3}\varepsilon_{i_{2}}
  4. Если для любых двух городов ближайшие к ним нейроны различны между собой, то маршрут найден. В противоположном случае возвращаемся к шагу 1.

Очевидно, что решение задачи может быть найдено не ранее того, как число нейронов в кольце достигнет числа городов

N
. В действительности для его достижения требуется сеть с
2N-3N
нейронами. Исходя из этого эмпирического наблюдения, согласно которому число итераций имеет порядок
O(N)
, можно оценить общую сложность алгоритма. На шаге 1 требуется инспекция всех нейронов для поиска ближайшего к данному городу. Она производится
N
раз и, поскольку это число постоянно, полное число инспекций также имеет порядок
O(N)
.


Начало  Назад  Вперед