人类大脑中大约有1000亿个神经元细胞,这些细胞通过突触之间的互相连接,形成庞大的神经网络结构。
神经网络算法模拟了大脑中神经网络的神经元结构和信息传播机制,而感知器是最简单的神经网络算法,相当于大脑中的一个神经元细胞。后续我们将用多个感知器组成更加复杂的神经网络。
如下图所示,神经元主要由细胞体、轴突、树突等构成。一个生物神经元通常具有多个树突和一条轴突。树突用来接收信息,轴突用来发送信息。当神经元所获得的输入信号的积累超过某个阈值时,它就处于兴奋状态,产生电脉冲。轴突尾端有许多末梢可以与(多个)其他神经元的树突产生连接(突触),并将电脉冲信号传递给其他神经元。神经元借助突触结合而形成网络。

我们来看单个神经元:

感知器的结构如上:其中 x i x_i xi是输入信号, w i w_i wi是信号所占权重, b b b 是阈值, z z z对各信号以及阈值进行累加操作, f f f是激活函数。
设
x
0
=
1
x_0=1
x0=1,
w
0
=
b
w_0=b
w0=b,
w
=
[
w
0
w
1
w
2
…
w
n
]
w=
z = ∑ i = 0 n w i x i = w x = w 0 x 0 + w 1 x 1 + w 2 x 2 + ⋯ + w n x n z=\sum_{i=0}^nw_ix_i=wx= w_0x_0 + w_1x_1+w_2x_2+\dots+w_nx_n z=i=0∑nwixi=wx=w0x0+w1x1+w2x2+⋯+wnxn
z z z本质上跟之前文章《多变量线性归回》中的假设函数公式是一样的。
激活函数有很多种,可以根据实际的应用场景选择。比如说:
其实应该能看出来了,前面的文章《机器学习 多变量线性回归》与《机器学习 逻辑回归(1)二分类》,都可以看成一个感知器,只是激活函数不一样,一个用的是f(x)=x函数、一个用的是sigmoid函数。而由于激活函数不一样,损失函数也可能有所不同。
那么感知器的训练方法,跟它们一样,确定损失函数,然后采用梯度下降方法进行训练收敛确定参数 w w w即可。
既然跟前面的线性和逻辑回归文章一样,为什么还要单独把感知器拎出来讲呢?因为要换一种思维方式,接下来我们将用感知器组建成复杂的神经网络。
《深度学习的数学》
《神经网络与深度学习-邱锡鹏》
《从零开始:机器学习的数学原理和算法实践》
下一篇:《深度学习 神经网络(2)前向传播》