Нейрон представляет собой единицу обработки информации в нейронной сети.
Выше показана модель нейрона, лежащего в основе искусственных нейронных сетей. В этой модели можно выделить три основных элемента:
В представленную модель нейрона включен пороговый элемент (bias), который обозначен символом $b_k$. Эта величина отражает увеличение или уменьшение входного сигнала, подаваемого на функцию активации.
В математическом представлении функционирование нейрона $k$ можно описать следующей парой уравнений:
$u_k = \sum_{j=1}^m w_{kj} x_j$ (1)
$y_k=φ(u_k+b_k)$ (2)
Функции активации, представленные в формулах как $φ(v)$, определяют выходной сигнал нейрона в зависимости от индуцированного локального поля $v$. Можно выделить три основных типа функций активации.
Neuron и продемонстрировать его корректную работу.import numpy as np
class Neuron:
weight : np.ndarray[float] # Можете сразу задать веса
bias : float # и смещение.
def __init__(self, w: np.ndarray[float] = None, b: float = None):
if w: # Или можете
self.weight = w # задать веса
if b: # и смещение
self.bias = b # при инициализации.
def _threshold_function(self, x: np.ndarray[float]) -> int:
pass
def predict(self, x: np.ndarray[int]) -> int:
u = 0
# Ваш код (умножить входы на веса и просуммировать).
return self._threshold_function(u + self.bias)
| Вариант | Входные данные | Выходные данные | Название булевой функции |
|---|---|---|---|
| 1 | 0 0 0 1 1 0 1 1 |
0 0 0 1 |
Коньюнкция |
| 2 | 0 0 0 1 1 0 1 1 |
1 0 1 1 |
Обратная импликация |
| 3 | 0 0 0 1 1 0 1 1 |
1 1 0 1 |
Импликация |
| 4 | 0 0 0 1 1 0 1 1 |
0 0 1 0 |
Инверсия прямой импликации |
| 5 | 0 0 0 1 1 0 1 1 |
1 0 0 0 |
Стрелка Пирса |
| 6 | 0 0 0 1 1 0 1 1 |
1 1 1 0 |
Штрих Шеффера |
0 0 1 1 $x_1$ ($\overrightarrow{w_{11}=1}$)
$\,\,\,\,\,\,\,\,\,\,\,\,φ(v) = \begin{cases} 1 & если \, x>0 \\\\ 0 & если \, x≤0 \end{cases}\,\,\overrightarrow{w_{21}=1}\,\,$ y = 0 1 1 1
0 1 0 1 $x_2$ ($\overrightarrow{w_{12}=1}$)