Files
SecondBrain/КР - Все темы.md
T
2026-05-14 19:56:52 +03:00

7.4 KiB

created, updated, title
created updated title
2026-05-14 2026-05-14 КР — Нейронные сети: все темы

КР — Нейронные сети: все темы


1. Персептрон

Схема персептрона

!Pasted image 20260514152232.png

u_{i}=f\!\left(\sum_{j=0}^{n}w_{ij}^{(1)}x_{j}\right),\quad i=\overline{1,k} y_{l}=f\!\left(\sum_{i=0}^{k}w_{li}^{(2)}u_{i}\right),\quad l=\overline{1,m} y_{l}=f\!\left(\sum_{i=0}^{k}w_{li}^{(2)}f\!\left(\sum_{j=0}^{n}w_{ij}^{(1)}x_{j}\right)\right)

Формальный нейрон

Нейрон состоит из трёх элементов: умножителей (синапсов), сумматора и нелинейного преобразователя.

!Drawing 2026-05-14 15.06.37.excalidraw

y_{i}=\sum_{j=1}^{N}w_{ij}x_{j}

Алгоритм обратного распространения ошибки (ОРО)

  1. Прямой проход сети. Инициализация весов маленькими значениями.
  2. На последнем слое: \delta_{j}^{(N)}=(y_{j}-d_{j})\,y_{j}^{\prime};\qquad\Delta w_{ij}^{(N)}=-\eta\,\delta_{j}^{(N)}\,y_{i}^{(N-1)}
  3. При обратном распространении (n<N): \delta_{i}^{(n)}=y_{i}^{\prime(n)}\sum_{j}\delta_{j}^{(n+1)}w_{ij}^{(n+1)};\qquad\Delta w_{ij}^{(n)}=-\eta\,\delta_{j}^{(n)}\,y_{i}^{(n-1)}
  4. Меняем веса: w_{ij}^{(n)}(t+1)=w_{ij}^{(n)}(t)+\Delta w_{ij}^{(n)}(t)
  5. Останов, если исчерпаны эпохи или \Delta E < \varepsilon: E(w)=\frac{1}{2}\sum_{j}(y_{j}-d_{j})^{2}

Задача прогнозирования

По скользящему окну: первые k последовательных элементов → предсказать следующий.

Пример (окно 3): 90\ 92\ 95\ 98\ 99\ 100 $$\begin{align} 90\ 92\ 95\ &\to 98 \ 92\ 95\ 98\ &\to 99 \ 95\ 98\ 99\ &\to 100 \end{align}$$

Задача с одним нейроном

!Drawing 2026-05-14 17.02.08.excalidraw

y_{j}^{\prime}=\delta\,(1-\delta) w_{11}(t+1)=w_{11}^{(N)}+\Delta w_{11}^{(N)}(t) \delta^{(N-1)}=y^{\prime}\cdot\bigl(\delta_{1}^{(N)}w_{11}^{(N)}+\delta_{2}^{(N)}w_{12}^{(N)}+\cdots+\delta_{5}^{(N)}w_{15}^{(N)}\bigr)

2. Сеть Кохонена

Схема

!Drawing 2026-05-14 17.10.42.excalidraw

Смысл D_1,\dots,D_k — к какому кластеру принадлежит образец.

Алгоритм

  1. Инициализация весов случайными маленькими значениями.
  2. Нормировка: w_{ij}=\frac{w_{ij}}{\sqrt{\sum_{l=1}^{n}w_{lj}^{2}}},\qquad x_{i}=\frac{x_{i}}{\sqrt{\sum_{l=1}^{n}x_{l}^{2}}}
  3. Выбор нейрона-победителя по одному из критериев: S_{j}=\sum_{i=1}^{n}x_{i}w_{ij}=\|x\|\cdot\|w^{j}\|\cdot\cos\varphi\to\max D_{j}=\sqrt{\sum_{i=1}^{n}(x_{i}-w_{ij})^{2}}\to\min
  4. Корректировка весов только нейрона-победителя: w_{ij}(t+1)=w_{ij}(t)+\alpha\,(x_{i}-w_{ij}(t))
  5. Останов при стабилизации весов или достижении максимального числа эпох.

Рисунок Кохонен

!Drawing 2026-05-14 17.24.16.excalidraw


3. Сеть Хопфилда

Назначение

Рекуррентная сеть ассоциативной памяти. Хранит эталонные бинарные образы и по искажённому входу восстанавливает ближайший эталон.

Архитектура

  • Один слой нейронов; каждый связан со всеми остальными.
  • Выходы возвращаются на входы (рекуррентность).
  • Связи нейрона с самим собой нет: w_{ii}=0.
  • Веса задаются один раз по эталонам.
X=(x_1,\dots,x_n),\quad x_i\in\{-1,1\}

Инициализация весов

w_{ij}=\sum_{k=1}^{m}x_i^k x_j^k,\quad i\neq j;\qquad w_{ii}=0

Смысл: признаки, совпадающие по знаку в эталонах, усиливают связь; разные знаки — ослабляют.

Алгоритм функционирования

  1. Начальное состояние: y_i(0)=x_i.
  2. Пересчёт активации каждого нейрона: s_j(p+1)=\sum_{i=1}^{n}w_{ij}\,y_i(p)
  3. Применение пороговой функции: y_j(p+1)=f(s_j(p+1)),\qquad f(s)=\begin{cases}1,&s\ge 0\\-1,&s<0\end{cases}
  4. Повторять до стабилизации. Если успешно: Y=X^k.

Ограничения

  • Ёмкость: m\approx 0.15\,n.
  • Возможны ложные устойчивые состояния при схожих или многочисленных эталонах.

Отличие от сети Хэмминга

Сеть Что выдаёт Когда нужна
Хопфилда восстановленный образ нужно воспроизвести полный эталон
Хэмминга номер ближайшего эталона нужно определить класс

4. Сеть Хэмминга

Назначение

Сеть ассоциативной памяти для классификации: определяет, какому из m эталонов ближе входной образ (по расстоянию Хэмминга).

Расстояние Хэмминга

Число позиций, в которых два бинарных вектора отличаются:

d_H(X,Y)=\sum_{i=1}^{n}[x_i\neq y_i]

Пример: X=(1,0,1,1), Y=(1,1,0,1) — отличаются 2 позиции, d_H=2.

Архитектура

Два слоя, в каждом m нейронов.

Первый слой — вычисляет близость входа к каждому эталону.

Второй слой — конкуренция (winner-takes-all):

  • Самосвязь: +1.
  • Связи между разными нейронами: -\varepsilon, где 0<\varepsilon<\dfrac{1}{m}.

Инициализация

Веса первого слоя и пороги:

w_{ik}=\frac{x_i^k}{2},\qquad T_k=\frac{n}{2}

Алгоритм функционирования

  1. Вход: X=\{x_i:i=0,\dots,n-1\}.
  2. Первый слой: y_j^{(1)}=s_j^{(1)}=\sum_{i=1}^{n-1}w_{ij}x_i+T_j
  3. Передача во второй слой: y_j^{(2)}=y_j^{(1)}.
  4. Итерации второго слоя: s_j^{(2)}(p+1)=y_j^{(2)}(p)-\varepsilon\sum_{\substack{k=0\\k\neq j}}^{m-1}y_k^{(2)}(p)
  5. Пороговая функция и повтор до стабилизации.

В итоге активен один нейрон — его номер соответствует ближайшему эталону.

Смысл второго слоя

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