斯坦福2014机器学习笔记六----神经网络

Posted 嗜血的草

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了斯坦福2014机器学习笔记六----神经网络相关的知识,希望对你有一定的参考价值。

 一、纲要

  神经网络模型表示

  神经网络的直观理解

  神经网络做多类分类

二、内容详述

  1、神经网络模型表示

  这里就不再描述大脑的神经网络和神经元了,我们直接看神经网络的模型。我们先从最简单的神经网络开始,即只有input layer和output layer

这里的x0叫做偏置单元,跟之前一样,为一常数,x0=1;这里的hθ(x)叫做神经元的激励函数,hθ(x)跟逻辑回归函数一样。下面再来一个相对来说复杂一点的神经网络

这里多了一层layer2,叫做隐藏层(hidden layer)。我们用ai(j)表示第j层的第i个激励,用θ(i)表示第j层到第(j+1)层的作用,且θ(i)是一个矩阵,尺寸是(j+1)层的单元数Sj+1为矩阵的行数,第j层的单元数Sj+1表示为矩阵的列数,即θ的维度是(Sj+1 * Sj+1)。这样的话我们就可以算出layer2的各单元的表达式:

这里在计算layer2的时候会加上x0,如果有更多的层,在计算下一层的时候都会加上这层的偏置单元,如在计算layer3的时候就在layer2画上a0(2)这个bias unit。

这里我们可以对上面的表达式进行简化表示如图,并对z,x,θ进行向量化得z(i+1) = θ(i)·x(i),i表示对应第i层

可以看得出,每一层的a都是由上一层的x和x对应的参数(权重)θ决定的,我们把这样从左到右的算法称为前向传播算法。

说了这么多,神经网络所做的就是逻辑回归,但输入不再是xxx3,而是用aa2 a3的计算出来的新输入特征,这里的aa2 a3都是逻辑回归的结果,因为是梯度下降的,所以我们得到的aa2 a3是比xxx3更好的假设,然后再输入到最后一层,相当于是逻辑回归的多层嵌套。

  2、神经网络的直观描述

  这一部分我们来利用神经网络实现逻辑与、逻辑或,逻辑非运算,然后用稍微复杂的神经网络来实现同或运算

  

我们假设这里的权重θ0 = -30,θ1 = 20,θ2 = 20,那么进行运算后我们得到,根据我们之前逻辑回归部分的hθ(x)=g(z),当z>4.6时我们可以认为hθ(x)=g(z) = 1,而当z<-4.6时,认为hθ(x)=g(z)=0,所以我们对x0,x1分别赋0、1值可以得到真值表。这就是神经网络实现了AND运算

              

  我们用同样的方法进行(Not x1)AND(Not x2)运算,此时权重就应该变为θ0 =10,θ1 = -20,θ2 = -20,可以自己动手画一画。这些都是只有input layer和output layer,下面我们要实现同或运算,就需要额外的hidden layer,这里我直接手写来表示

  3、神经网络做多类分类

  多类分类就是说在output layer有多个输出,跟上面这部分的区别在于,上面的都是二元分类,只有一个输出,即非1即0。但是做多类分类的时候,加入我们需要识别4类不同的对象,那我们就需要4个输出,且我们得到的输出值hθ(x)=y(i)=[1,0,0,0](T)或[0,1,0,0](T)或[0,0,1,0](T)或[0,0,0,1](T),这样我们就可以判断识别的是哪类对象了

 

以上是关于斯坦福2014机器学习笔记六----神经网络的主要内容,如果未能解决你的问题,请参考以下文章

斯坦福2014机器学习笔记一----基本概念

斯坦福2014机器学习笔记七----应用机器学习的建议

斯坦福2014机器学习笔记五----正则化

斯坦福大学Andrew Ng - 机器学习笔记 -- 神经网络模型

(笔记)斯坦福机器学习第六讲--朴素贝叶斯

(笔记)斯坦福机器学习第五讲--生成学习算法