Coursera-吴恩达-机器学习-(第4周笔记)Neural Networks——Representation

此系列为 Coursera 网站Andrew Ng机器学习课程个人学习笔记(仅供参考)
课程网址:https://www.coursera.org/learn/machine-learning

Week 4 —— Neural Networks : Representation

目录

一 前言

1-1 分类器

当我们用机器学习算法构造一个汽车识别器时,我们需要一个带标签的样本集,其中一部分是汽车,另一个部分可以是其他任何东西,然后我们将这些样本输入给学习算法,以训练一个分类器。训练完毕后,我们输入一幅新的图像,让分类器判定这是否为汽车。

1-2 神经网络优势

Coursera-吴恩达-机器学习-(第4周笔记)Neural Networks——Representation
在课程的开头,提到了非线性假设,会因为特征量的增多导致二次项数的剧增。
举个例子,在图像识别中,一个50*50像素的图片,拥有的特征量为2500,那么它的二次项数为2500*2500/2,大约为3百万个。

二 神经网络的模型

2-1 神经元的模型

在一个神经网络里,我们将神经元模拟成一个逻辑单元(logistic unit),如下图黄色圆圈所示。
Coursera-吴恩达-机器学习-(第4周笔记)Neural Networks——Representation
Coursera-吴恩达-机器学习-(第4周笔记)Neural Networks——Representation

2-2 神经网络的模型

神经网络是一组神经元的组合,如下:
Coursera-吴恩达-机器学习-(第4周笔记)Neural Networks——Representation
同样的,有时我们会加上偏置单元,它们的值永远为1。图中网络的第一层也叫做输入层(Input Layer),第二层叫做隐藏层(Hidden Layer),隐藏层可以有多层,第三层叫做输出层(Output Layer)。

2-3 神经网络的假设函数

Coursera-吴恩达-机器学习-(第4周笔记)Neural Networks——Representation
Coursera-吴恩达-机器学习-(第4周笔记)Neural Networks——Representation

三 前向传播

从输入层的激励开始向前传播到隐藏层,再传播到输出层的行为叫做前向传播(Forward Propagation)
Coursera-吴恩达-机器学习-(第4周笔记)Neural Networks——Representation

四 利用神经网络解决非线性问题

首先,我们先来看下面两张图:
Coursera-吴恩达-机器学习-(第4周笔记)Neural Networks——Representation
如左图所示,x1,x2 只能取0和1,图中只画了4个样本,我们可以把左图看做是右图的简化版本,用叉来代表正样本,圆圈代表负样本。在以前的例子中,我们会通过学习一个非线性的决策边界来区分正负样本,那么神经网络是如何做到的?

下面我们通过几个例子来看一下:
同或运算(XNOR)
按下图给神经网络分配权重:
Coursera-吴恩达-机器学习-(第4周笔记)Neural Networks——Representation
Coursera-吴恩达-机器学习-(第4周笔记)Neural Networks——Representation
通过真值表,我们会发现这个神经网络确实实现了同或运算(XNOR)。

通过这个例子我们可以看到,复杂函数可以通过一些简单函数的组合来实现。

比如神经网络的第二层可以计算输入层特征变量的函数;第三层可以以第二层为基础,计算更复杂的函数;第四层可以以第三层为基础计算比第三层还要复杂的函数,以此类推。神经网络运用更深的层数可以计算更复杂的函数,使其作为特征传递给最后一层的逻辑回归分类器,更准确地预测分类结果。

五 神经网络在多类别分类中的应用

在多类别分类中,我们的输出并不是一个数,而是一个向量,例如有一个4类别分类问题,我们要识别一个物体是行人,小汽车,摩托车还是卡车,则神经网络的模型可以如下图:
Coursera-吴恩达-机器学习-(第4周笔记)Neural Networks——Representation
最后一层的输出层相当于有4个逻辑回归的分类器,hθ(x)R4