机器学习中的神经网络初认识

目录

1、单个神经元

2、激活函数

 3、一组神经元

4、example


 (可以先回顾一下我们初中学习过的生物课中神经元)。

1、单个神经元

机器学习中的神经网络初认识_第1张图片

  •  [x_{0},x_{1},x_{2},\cdots ,x_{n}]^{T}:特征输入向量,其中x_{0}是偏置项
  • [\theta_{0},\theta_{1},\theta_{2},\cdots ,\theta_{n} ]^{T}:有的地方写成[w_{0},w_{1},w_{2},\cdots ,w_{n}]^{T},权重向量;
  • 黄色圈圈:神经元,也叫做激活函数。
  • h_{\theta}(x):输出

2、激活函数

 常用的非线性激活函数有sigmoid、tanh、relu等等。简要介绍下最基础的sigmoid函数(该函数我们在逻辑回归中用到过):

形式为:g(z) = \frac{1}{1+e^{-z}}

图形为:

机器学习中的神经网络初认识_第2张图片

从图形上可以直观的看出来,sigmoid函数的功能是相当于把一个数压缩至0到1之间。当z是大的正数时(大于4),g(z)会趋近于1,而z是小的负数时(小于-4),则g(z)会趋近于0。

 3、一组神经元

机器学习中的神经网络初认识_第3张图片

  •  第一层称为输入层:因为在这一层输入特征,x_{1},x_{2},x_{3},\cdots ,x_{n}
  • 第三层是输出层:因为它是计算结果。
  • 中间层为隐藏层:因为在整个体系中,可以看见输入层的值,也可以看见输出层的值,但中间那一层的值是不知道的。实际上,除了输入层、输出层,其他层都被称之为隐藏层。如果有多个隐藏层就有多个激活函数。

每一层都可能由单个或者多个神经元组成,每一层的输出将会作为下一层的输入数据。就上图而言,输入x_{0},x_{1},x_{2},x_{3} 在自身的权重影响下刺激着隐藏层的3个神经元a1、a2、a3。接着,a1、a2、a3又在自身权重的影响下成为输出层的输入,最终由输出层输出最终结果。

机器学习中的神经网络初认识_第4张图片

  • a_{i}^{(j)}:第j层第i个单元的激活函数(神经元)
  • \Theta ^{(j)}:从第j层映射到第j+1层的控制函数的权重矩阵

如果第j层有s_{j}个神经元,第 j+1层有s_{j+1}个神经元,那么\Theta _{j} 就有 (s_{j}+1)\times s_{j+1} 。理解:前面说过,每一层的输出将会作为下一层的输入数据,又因为有偏置项的存在,所以 +1 。

4、example

1、神经网络实现逻辑与:

机器学习中的神经网络初认识_第5张图片

与前面简绍的一样 这个神经元的输出为 h_{\theta}(x) = g(z) = g(\Theta \cdot X)  ,其中\Theta =[\theta_{0},\theta_{1},\cdots ,\theta_{n}]^{T} ,X=[x_{0 },x_{1},\cdots ,x_{n}]^{T}

g(z)为sigmoid函数:g(z) = \frac{1}{1+e^{-z}}

机器学习中的神经网络初认识_第6张图片

z=-4时,g(z)\approx 0 ; 当z=4时,g(z)\approx 1

重写神经网络输出为:h_{\theta}(x) = g(\Theta \cdot X) = g(-30+20x_{1}+20x_{2}) 

真值表结果:

机器学习中的神经网络初认识_第7张图片

可以很清楚的看到,当权重矩阵选为 \Theta =[-30,20,20]^{T}时,神经网络实现了逻辑与。

2、实现逻辑或

机器学习中的神经网络初认识_第8张图片

同理当\Theta =[-10,20,20]^{T}时,实现了逻辑或。

3、实现逻辑同或

同或表达式:A\odot B = AB+\bar{A}\bar{B}

前面已经简绍了 逻辑与,逻辑或。所以这里重点时 \bar{A}\cdot \bar{B}

首先看下图:

机器学习中的神经网络初认识_第9张图片

要想得到逻辑非的结果,一个基本思想就是在得到非结果的变量前面加一个很大的负权重,比如上图中在 变量x1 的前面加个 -20。

思考实现逻辑:\bar{x_{1}}\cdot \bar{x_{2}}

\bar{x_{1}}\cdot \bar{x_{2}} = \bar{x_{1}+x_{2}}  (注意是x1+x2整体的非) ,所以当且仅当 x_{1}=0,x_{2}=0时,其输出才为1 。所以对于权重向量来讲,偏移量的权重系数为正且大于4,x1,x2的权重系数为负且绝对值最少大约是偏移量权重系数的2倍。比如  \Theta =[10,-30,-30]^{T}

下面是将要用到了三个逻辑运算。

机器学习中的神经网络初认识_第10张图片

对于A\odot B = AB+\bar{A}\bar{B} ,即 x_{1}\odot x_{2} = x_{1}\cdot x_{2}+\bar{x_{1}}\cdot\bar{x_{2}},我们先算 x_{1}\cdot x_{2}  、\bar{x_{1}}\cdot \bar{x_{2}}  ,然后在对他们进行逻辑或运算。现在运算循序知道了。

从神经网络中考虑:

  • 输入层:x_{1},x_{2},以及偏置量x_{0}=1
  • 隐藏层:两个神经元, a_{1}代表x_{1}\cdot x_{2},  a_{2}代表\bar{x_{1}}\cdot \bar{x_{2}};                                                                       a_{1} = X\cdot \Theta _{1}=-30+20x_{1}+20x_{2}   ;  a_{2}=10+(-20\cdot x_{1})+(-20\cdot x_{2})
  • 输出层:h_{\theta}(x)=a\cdot \Theta _{1}=a_{0}\theta_{0}+a_{1}\theta_{1}+a_{2}\theta_{2}

图解如下:

机器学习中的神经网络初认识_第11张图片

真值表为:

机器学习中的神经网络初认识_第12张图片

可以看到神经网络实现了逻辑 同或。

你可能感兴趣的:(Machine,Learning)