【重温经典】吴恩达机器学习课程学习笔记十一:神经网络

2018-06-05 16:37:26 浏览数 (1)

【导读】前一段时间,专知内容组推出了春节充电系列:李宏毅2017机器学习课程学习笔记,反响热烈,由此可见,大家对人工智能、机器学习的系列课程非常感兴趣,近期,专知内容组推出吴恩达老师的机器学习课程笔记系列,重温机器学习经典课程,希望大家会喜欢。

【重温经典】吴恩达机器学习课程学习笔记一:监督学习

【重温经典】吴恩达机器学习课程学习笔记二:无监督学习(unsupervised learning)

【重温经典】吴恩达机器学习课程学习笔记三:监督学习模型以及代价函数的介绍

【重温经典】吴恩达机器学习课程学习笔记四:梯度下降

【重温经典】吴恩达机器学习课程学习笔记五:多元梯度下降

【重温经典】吴恩达机器学习课程学习笔记六:特征处理与多项式拟合

【重温经典】吴恩达机器学习课程学习笔记七:Logistic回归

【重温经典】吴恩达机器学习课程学习笔记八:Logistic回归续

【重温经典】吴恩达机器学习课程学习笔记九:过拟合

【重温经典】吴恩达机器学习课程学习笔记十:正则化

吴恩达机器学习课程系列视频链接

http://study.163.com/course/courseMain.htm?courseId=1004570029

春节充电系列:李宏毅2017机器学习课程学习全部笔记

吴恩达课程学习笔记十一:神经网络

1、 非线性假设



从本次课程总结开始,将开始对神经网络这一机器学习算法进行介绍。当然,先介绍神经网络的表示。神经网络最终是为了制造出能模拟大脑的机器。

为什么使用神经网络算法?

如下图左上方的数据集,采用logistic回归,因为只有两个特征

所以构造适当项数的多项式作为g()函数(sigmoid函数)的输入,最终可以得到较好的拟合效果。

但是对于特征项数较多时,比如房价预测的例子,当特征种类n=100时,二次项会有5000项,三次项有170000,复杂度分别是

,项数实在太多,训练过程可能发生过拟合,但项数过少也会丢失很多信息。

综上可以看出logistic回归在处理特征数较多时遇到的问题。我们再看一个计算机视觉里,可能经常说的例子。假设你想训练一个分类器,来判断一个输入图片是否是汽车。需要走下面的这样一个流程:

1、 取出图像中一小部分(下图红色部分),计算机会读为矩阵(像素强度值的网络)

2、 以下是我们的样本,一部分图片是汽车,一部分不是,在理想情况下,训练器可以识别出一个输入图像是否是汽车。

3、 我们从样本图片中选择像素点位置(这里选取pixel1和pixel2),根据像素点的强度来确定图片在如下坐标系中的位置。现在需要做的是使用一种非线性假设解决这个二类分类问题。

假设图像的大小为50pixel*50pixel,则一共有2500pixels(即n=2500),则输入特征向量x如下图,若采用灰度图,则intensity取值为0~255,若为彩度图,则n=7500。

若使用*(二次项),则会约有300万个特征。这个数字太大,如果对于每个样本都处理300万个特征,这样的计算量太大了。

综上我们可知,就算仅仅考虑二次项与三次项,当n较大时,logistic仍然会体现出它极大的局限性。而神经网络被证明在学习复杂的非线性假设上可以较好的工作。

2、模型展示:



如下图所示,是一个简单神经元的图,x1,x2,x3是输入信息(有时候会包括x0=1,又称为bias unit,根据对于输入的表示是否有利而决定是否有x0)。黄色的圆圈是一个(轴突),会对输入的信息进行处理,下图为

theta 被称为参数或者说权重。

下面是一张神经网络的图,第一层被称为输入层,第二层称为隐藏层,第三层称为输出层,实际上在含有更多层的神经网络中,除了输入与输出层,其他都可以被称为隐藏层。在训练过程中,我们通常只能看到输入与输出的数据。

下图给出了神经网络各层之间的关系。

a^{(j)}_i表示第j层的第i个单元(激活值)。Theta ^{(j)} 表示的是第j层向第j 1层传播的权重矩阵。如下图所示,Theta^{(1)} 是一个3*4的矩阵。更普遍的一个计算矩阵维度的方法:如果在第j层有s_j 个单元,第j 1层有s_{j 1} 个单元,则Theta ^{(j)} 的维度为

对于激活值的更新如下图所示:

参考链接:

http://study.163.com/course/courseMain.htm?courseId=1004570029

0 人点赞