初识神经网络

机器学习

  • 一、非线性假设
  • 二、模型展示
  • 三、例子与直接理解
  • 四、多元分类

提示:该文是基于吴恩达老师机器学习视频总结

一、非线性假设

对于我们之前学习的逻辑回归,当决策边界明显不是直线的时候,我们就需要使用高阶的多项式去绘制决策边界,但是当特征的数量不断增大,那么计算量也会随之增大,如下图所示,当有100个特征的时候:
初识神经网络_第1张图片
因此,简单的逻辑回归算法并不适合在特征n很大的情况下学习复杂的非线性假设。而神经网络则是学习复杂的非线性假设的一种好办法。

二、模型展示

我们可以构建基础的神经网络,如下图所示:
初识神经网络_第2张图片

在神经网络中,我们需要注意:
1、通常我们会给输入中加入一个额外的节点x0,这个结点有时也被称为偏执单元或偏执神经元,但x0总是等于1。
2、在神经网络中,激活函数是指待非线性函数g(z),例如我们在简单逻辑回归中的g(z)一样。
3、我们之前的学习中,我们通常称θ为参数,但是在有写文献中,会称它为权重,两者含义相同。

接下来,我们介绍一个进阶版的神经网络:
初识神经网络_第3张图片

为了更好对模型进行解释,我们还需要从数学上对模型进行一些定义:
1、ai(j)表示第j层的第i个激活项,也就是第二层的第一个细胞体。
2、θ(j)表示权重矩阵,它控制从某一层到下一层的映射,例如θ(1)表示从第一层到第二层的映射。这个会在下面中展示。
3、对第二点进行推广,如果神经网络中第j层有sj个神经元,第j+1层中有第sj+1个神经元,那么θ(j)是一个sj+1*(sj+1)维的矩阵。(因为j层要从0开始算)如下图所示
前面三个是第一层到第二层的映射,最后一个是从第二层到第一层的映射
初识神经网络_第4张图片

初识神经网络_第5张图片
首先,我们将g()括号中的数定义为z1(2) 、z2(2) 、z3(2) 可以得到a1(2) = g(z1(2))、a2(2) = g(z2(2))、a2(2) = g(z2(2))。我们可以发现这是一个向量相乘即 θX,我们定义x和z(2)为列向量如上图右边所示, 后面自己已经进行推导的。
接下来是对第二层的推导:
初识神经网络_第6张图片
上述计算h(x)的过程,也称为前向传播。因为我们从输入单元的激活项开始,然后进行前向传播给隐藏层,计算隐藏层的激活项,继续进行前向传播,并计算输出层的激活项。

三、例子与直接理解

我们需要用到离散数学方面的知识:
1、 XOR代表异或,y = x1 XOR X2 表示有且仅有一个为真的时候y=1,否则y=0
2、XNOR代表同或门,又称为异或非门,其实就是NOT(x1 XOR X2)。y = y = x1 XNOR X2 代表当x1,x2全为0或1的时候y=1,否则y=0

初识神经网络_第7张图片
1、首先,我们绘制一下简单逻辑回归中的sigmoid函数的图像,可以看到当z大于4.6的时候,g(z)>0.99;当z小于4.6的时候,g(z)<0.01,如上图所示:
2、为了模拟And的神经元,我们首先要计算出对应的权重θ。从计算的θ可以看到是符合And的逻辑运算的。这就组成了一个小的神经网络。

我们还可以对OR、NOT进行神经元的实现:
初识神经网络_第8张图片

初识神经网络_第9张图片
然后我们将上述根据公式进行一个组合,就可以得到一个完整的神经网络了,如下图所示:
初识神经网络_第10张图片
通过上述例子,我们可以体会到,通过输入层的数据,经过隐藏层,一层一层地进行加工,最终得到输出。
初识神经网络_第11张图片

四、多元分类

要实现多元分类,其实就是在一对多的基础上进行扩展。如下图所示,识别图片是行人、汽车、摩托车、卡车
初识神经网络_第12张图片

需要注意的点有以下几个:
1、现在神经网络的输出将是一个含4个数的向量,输出变成了一个四维向量。 而不是之前的分为0、1、2、3类
2、对上图进行简化,其实我们的训练集中包含许多图片,有人、汽车、摩托车、卡车等。x(i)代表一张图片,y(i)则代表一个四维向量。如下图所示:
初识神经网络_第13张图片
3、我们希望找到一个办法,让神经网络输出一些数值,输出值h(x(i))约等于y(i)

你可能感兴趣的:(机器学习,神经网络,机器学习,逻辑回归)