阅读 97

吴恩达机器学习——第八章 神经网络

这一章主要讲了为什么要研究神经网络、以及神经网络的模型
人工神经网络是一种应用类似于大脑神经突触联接的结构进行信息处理的数学模型,简称为神经网络或类神经网络。神经网络是一种运算模型,由大量的节点(或称神经元)和之间相互联接构成。每个节点代表一种特定的输出函数,称为激励函数(activation function)。每两个节点间的连接都代表一个对于通过该连接信号的加权值,称之为权重。网络的输出则依网络的连接方式,权重值和激励函数的不同而不同。

一、为什么要研究神经网络?

我们之前已经学习过线性回归和逻辑回归算法了,为什么还要研究神经网络?我们用下面这个例子来说明:
假设我们希望训练一个模型来识别视觉对象(例如识别一张图片上是否是一辆汽车),一种方法就是我们去获取到许多的图片,其中要包括汽车和非汽车的,然后将这些图片上的一个个像素值来作为特征。
假如我们采用了一张50×50的灰度图片,从其中每幅图片中挑出一组像素点,像素点1和像素点2,那将会有2500 个特征,再将这些特征两两组合构成一个多项式模型,则会有将近300万个特征。而这仅仅是使用灰度的图片
如果还是采用我们之前学到的简单逻辑回归算法,对于每个样本来说,要发现并表示,所有这300万个项,这计算成本太高了,因此需要采用神经网络。


二、神经网络模型

1、神经网络模型

神经网络就是一组神经元连接在一起的集合。如下图是一个简单的神经网络,包括三个层:输入层(Layer1)、输出层(Layer3)、隐藏层也叫中间层(Layer2)。输入层即我们输入特征X1、X2...的神经元,输出层是输出假设计算结果的神经元,而第二层在训练集中它既不是x也不是y,所以叫隐藏层,它们负责将数据进行计算处理。

神经网络

神经网络不仅只有一个隐藏层,它还可以有多个隐藏层2,3以及更多隐藏层组成,如下,第二层第三层都是隐藏层。
有多个隐藏层的神经网络

神经网络当挡掉第一层,剩下的部分跟逻辑回归相似,这部分实际上是逻辑回归,只是它输入的不是原始的特征,而是由第一层原始特征根据不同的参数(权重)通过逻辑回归的学习而得到的复杂特征。


下图可以清楚地看到,隐藏层是如何计算非线性假设

的,
激活项,
为层与层之间的影射(权重)。
隐藏层的计算

2、用向量形式计算假设函数

在计算中,利用向量化的方法会使得计算更为简便


这种从左到右的算法称为前向传播算法( FORWARD PROPAGATION )
用向量形式计算假设函数

3、例子与直观感觉

神经网络可以用来计算复杂的非线性假设。如下面图形我们怎么用神经网络来计算,下面图形的假设函数?使正样本(×)都尽可能的在决策边界红色线内。



首先我们简化这个图形,使其更直观看到神经网络的计算过程,如下图,简化成一个x1和x2,同时为真或同时为假,为正样本。即可以分解为AND 和OR的问题。


简化后

下面是神经网络AND运算的步骤及结果图,发现神经网络运算的结果与逻辑运算“与”的结果一致。
AND运算

下面是神经网络OR运算的步骤及结果图


OR运算

AND和OR的计算结果就是单个神经元的计算过程。最后将单独的AND和OR的简单神经元整合成计算XNOR的神经网络模型,如下图。我们可以看到左下角的神经网络的三个层。


XNOR神经网络模型

作者:Youngy_

原文链接:https://www.jianshu.com/p/c70f384bfdd6

文章分类
后端
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐