深度学习 神经网络(1)感知器

深度学习 神经网络(1)感知器

  • 一、前言
  • 二、神经元
  • 三、感知器
  • 四、激活函数
  • 五、学习训练
  • 六、参考资料

一、前言

人类大脑中大约有1000亿个神经元细胞,这些细胞通过突触之间的互相连接,形成庞大的神经网络结构。

神经网络算法模拟了大脑中神经网络的神经元结构和信息传播机制,而感知器是最简单的神经网络算法,相当于大脑中的一个神经元细胞。后续我们将用多个感知器组成更加复杂的神经网络。

二、神经元

如下图所示,神经元主要由细胞体、轴突、树突等构成。一个生物神经元通常具有多个树突和一条轴突。树突用来接收信息,轴突用来发送信息。当神经元所获得的输入信号的积累超过某个阈值时,它就处于兴奋状态,产生电脉冲。轴突尾端有许多末梢可以与(多个)其他神经元的树突产生连接(突触),并将电脉冲信号传递给其他神经元。神经元借助突触结合而形成网络。
深度学习 神经网络(1)感知器_第1张图片
我们来看单个神经元:

  • 有一个或多个输入信号
  • 有信息处理中心(阈值、激活)
  • 有一个或多个输出信号

三、感知器

深度学习 神经网络(1)感知器_第2张图片

感知器的结构如上:其中 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=\begin{bmatrix} w_0 & w_1 & w_2 & \dots &w_n \end{bmatrix} w=[w0w1w2wn] x = [ x 0 x 1 x 2 ⋮ x n ] x=\begin{bmatrix} x_0 \\ x_1 \\ x_2 \\ \vdots \\x_n \end{bmatrix} x= x0x1x2xn 那么

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=0nwixi=wx=w0x0+w1x1+w2x2++wnxn

z z z本质上跟之前文章《多变量线性归回》中的假设函数公式是一样的。

四、激活函数

激活函数有很多种,可以根据实际的应用场景选择。比如说:

  • 线性回归问题,如房价预测,激活函数可以用 f ( x ) = x f(x)=x f(x)=x或者ReLU函数 f ( x ) = { x if  x > 0 0 if  x ⩽ 0 f(x)=\begin{cases} x &\text{if } x>0 \\ 0 &\text{if } x\leqslant0 \end{cases} f(x)={x0if x>0if x0
  • 二分类问题,如垃圾邮件判断,可以用 sigmoid函数
  • 多分类问题,如手写数字识别,可以用 softmax函数,在这里单感知器无法实现,需要多感知器组成神经网络才行。

五、学习训练

其实应该能看出来了,前面的文章《机器学习 多变量线性回归》与《机器学习 逻辑回归(1)二分类》,都可以看成一个感知器,只是激活函数不一样,一个用的是f(x)=x函数、一个用的是sigmoid函数。而由于激活函数不一样,损失函数也可能有所不同。

那么感知器的训练方法,跟它们一样,确定损失函数,然后采用梯度下降方法进行训练收敛确定参数 w w w即可。

既然跟前面的线性和逻辑回归文章一样,为什么还要单独把感知器拎出来讲呢?因为要换一种思维方式,接下来我们将用感知器组建成复杂的神经网络。

六、参考资料

《深度学习的数学》
《神经网络与深度学习-邱锡鹏》
《从零开始:机器学习的数学原理和算法实践》

下一篇:《深度学习 神经网络(2)前向传播》

你可能感兴趣的:(【机器学习】,#,深度学习,深度学习,神经网络,机器学习,感知器,神经元)