【机器学习】机器学习中的人工神经元模型有哪些?
y
=
w
⋅
x
+
b
=
∑
i
=
1
n
w
i
x
i
+
b
y = \mathbf{w} \cdot \mathbf{x} + b = \sum_{i=1}^n w_i x_i + b
y=w⋅x+b=i=1∑nwixi+b
- 非线性神经元
引入非线性激活函数,如Sigmoid、Tanh、ReLU、ELU、PReLU或者Leak ReLU,以允许网络学习更复杂的模式。
应用现代神经网络的普遍使用。
- 自适应线性神经元(Adaptive Linear Neuron, Adaline)
- 自适应线性神经元(Adaptive Linear Neuron,简称ADALINE)是一种早期的人工神经网络模型,由Bernard Widrow和Ted Hoff在1960年提出。ADALINE是感知器(Perceptron)的一个扩展,但使用线性激活函数,并且采用梯度下降法来调整权重。这使得它在处理线性可分问题和线性回归任务上非常有效。ADALINE的基本结构和感知器类似,但其激活函数是线性的。这意味着ADALINE在输出层不会应用阶跃函数,而是直接输出加权和。ADALINE的数学模型如和线性神经元一样,如下
- 计算加权和:将输入信号和权重进行线性组合,再加上偏置项:
y
=
w
⋅
x
+
b
=
∑
i
=
1
n
w
i
x
i
+
b
y = \mathbf{w} \cdot \mathbf{x} + b = \sum_{i=1}^n w_i x_i + b
- 计算加权和:将输入信号和权重进行线性组合,再加上偏置项:
但是线性神经元 通常用作描述线性回归模型,可以使用不同的优化算法。ADALINE 明确采用梯度下降法,并且其主要创新在于使用均方误差作为损失函数来调整权重。
- 感知机神经元(Perceptron Neuron)
- Perceptron模型是由弗兰克·罗森布拉特(Frank Rosenblatt)在1958年提出的,是对McCulloch-Pitts神经元模型的扩展。Perceptron神经元的结构与McCulloch-Pitts神经元相似,但具有更灵活的学习能力。输入信号可以是连续值而不是二进制。
数学模型为
y
=
{
1
if
∑
i
=
1
n
w
i
x
i
+
b
≥
0
0
otherwise
y = \begin{cases} 1 & ext{if } \sum_{i=1}^n w_i x_i + b \geq 0 \ 0 & ext{otherwise} \end{cases}
- McCulloch-Pitts神经元
- McCulloch-Pitts神经元是一个二进制阈值设备,输入是一组二进制输入信号
x
1
,
x
2
,
.
.
.
,
x
n
x_1, x_2, …, x_n
- 计算输入信号和权重的加权和:
S
=
∑
i
=
1
n
w
i
x
i
S = \sum_{i=1}^n w_i x_i
- 将加权和与阈值进行比较:如果
S
≥
θ
S \geq heta
数学模型为
y
=
{
1
if
∑
i
=
1
n
w
i
x
i
≥
θ
0
otherwise
y = \begin{cases} 1 & ext{if } \sum_{i=1}^n w_i x_i \geq heta \ 0 & ext{otherwise} \end{cases}
- 计算输入信号和权重的加权和:
- 径向基函数神经元(Radial Basis Function, RBF Neuron)
- 使用径向基函数作为激活函数,能够对输入空间进行非线性映射。
- 应用函数逼近、模式识别。
- 径向基概率神经元(Radial Basis Probabilistic Neuron, RBPNN)
- 结合了RBF神经元和概率模型,用于分类和回归任务。
- 应用统计模式识别。
- 模糊神经元
- 使用模糊逻辑作为激活函数,能够处理不确定性和模糊性。
- 应用模糊控制系统。
- 自组织映射神经元(Self-Organizing Map, SOM Neuron)
- 一种无监督学习的神经元,能够将高维输入数据映射到低维空间。
- 应用数据可视化、聚类分析。
- CMAC神经元(Cerebellar Model Articulation Controller, CMAC Neuron)
- 一种局部学习的神经元,常用于控制理论。
- 应用机器人控制、实时系统。
- LIF神经元(Leaky Integrate-and-Fire Neuron)
- 一种生物物理模型,模拟了生物神经元的放电特性。
- 应用生物神经网络模拟。
- Izhikevich神经元
Izhikevich神经元模型是由Eugene Izhikevich在2003年提出的,它结合了生物学上的真实性和计算上的效率。该模型能够捕捉到多种生物神经元的复杂放电模式,同时计算复杂度较低,使其在大规模神经网络模拟中非常有用。该模型使用两个变量v
v
u
u
v
v
u
u
模型的微分方程为:
d
v
d
t
=
0.04
v
2
+
5
v
+
140
−
u
+
I
\frac{dv}{dt} = 0.04v^2 + 5v + 140 – u + I
dtdv=0.04v2+5v+140−u+I
d
u
d
t
=
a
(
b
v
−
u
)
\frac{du}{dt} = a(bv – u)
dtdu=a(bv−u)
其中,
I
I
I 是外部输入电流,
a
a
a、
b
b
b、
c
c
c 和
d
d
d 是模型参数,用于调整神经元的放电特性。放电后的重置条件为:
当
v
≥
30
v\geq 30
v≥30 mV 时:
v
←
c
v \leftarrow c
v←c
u
←
u
+
d
u \leftarrow u + d
u←u+d
- Spiking神经元
- 模拟生物神经元的尖峰放电行为,是神经形态计算的基础。
- 应用神经形态工程、生物启发的计算模型。
- Swish神经元
- Swish是一种自门控的激活函数,它在不同的输入下有不同的行为,表现出非单调特性。
- Boltzmann神经元
Boltzmann 神经元是一种在 Boltzmann 机(Boltzmann Machine)中使用的神经元模型。Boltzmann 神经元是二值的,即其状态只能是 0 或 1。它们通过概率性规则来更新状态,这些规则依赖于其他神经元的状态和连接权重。Boltzmann 神经元的状态更新遵循以下概率性规则:
- 神经元
i
i
s
i
s_i
- 神经元
i
i
P
(
s
i
=
1
)
P(s_i = 1)
- 神经元
该概率通常使用 logistic 函数来表示:
P
(
s
i
=
1
)
=
1
1
+
exp
(
−
E
i
)
P(s_i = 1) = \frac{1}{1 + \exp(-E_i)}
P(si=1)=1+exp(−Ei)1
其中
E
i
E_i
Ei 是神经元
i
i
i 的输入信号,总和来自其他神经元的输入加上偏置项:
E
i
=
∑
j
w
i
j
s
j
+
b
i
E_i = \sum_{j} w_{ij} s_j + b_i
Ei=j∑wijsj+bi
w
i
j
w_{ij}
j
j
i
i
b
i
b_i
i
i
s
j
s_j
j
j