coursera andrew Ng老师的machine learning的课程总结(一)

毕宇
2023-12-01

这段时间看了andrew .Ng老师的课程,算是机器学习的入门,感觉很不错,结合自己的对机器学习的了解,在这里将这段时间的学习总结一下

       在第一讲介绍性的,讲了什么是机器学习,有监督学习(supervised learning)和无监督学习(unsupervised learning),监督学习和非监督学习,其实主要的区别在于,训练集,监督学习使用有标记的训练集,通过学习完成参数优化,从而实现数据样本到期望结果的有效映射,典型的例子就是拟合和回归;而非监督学习,则没有任何标记只求在训练集中挖掘出结构性的知识,发现数据内在的可能联系,典型的如聚类算法就是这非监督学习。

       第二讲linear regression,也就是线性回归,算是入门级的机器学习算法,主要介绍了如何针对单变量建立costfunction,并且引入了gradient descent的方法来实现求解costfunction的最小值,这是后面几讲中使用的方法,首先建立模型,求解costfunction,使用gradient descent来求解模型中的参数,使得costfunction最小化,在这里costfunction在我的理解就是拟合完成的模型和实际数据的偏差,使costfunction最小化,也就是使得模型的误差最小化,这里gradient descent是一种求解函数最小值的方法,它的具体形式是由costfunction定的,但是它的思想可以用来求解任何函数的极值,只不过这里gradient descent可能求出来的是函数的局部极小值(local minimum,当然也可以用来就出局部极大值,只不过要稍微修改一下公式而已),在线性回归(linear regression)中,根据andrew.Ng中的说法,在线性回归中,参数和costfunction的映射属于碗型,不存在最小值(这里我并不清楚为什么,他的视频中也没有讲),求解出的一定是全局最小值。在该讲中,他直接定义了costfunction,但是没有给出为什么这么定义,虽然他给出的形式也符合我们的理解,这里我又看了他在Stanford的课堂上的讲义,在讲义中,他给出了costfunction的概率解释,利用的是高斯模型加上统计学上的似然模型,解释的更加清楚,有兴趣的人可以参考一下

       第三讲,他主要将了一些线性代数的东西,在这里就不再赘述了。

       第四讲,还是将linear regression,不过这次换成了多变量的例子了,其实多变量和单变量的处理,区别并不大,主要是将原来的一些变量,用线性代数的知识进行扩展了,不过这一讲中,重点讲解关于feature scaling,其实这里的feature scaling就是归一化,让样本的特征值处于【-1,1】,从加快参数优化的速度,另外一个讲的就是alpha的选择了,最初在之前的视频的时候,就有过疑问,这里的alpha如果选的大的化,会不会出问题,在这里andrew老师说明了,这里的alpha不能太大的,大的时候会出现震荡或者直接向偏离极值点的方向趋近。关于多项式的回归(polynomial regression),就是引入样本特征的高次函数,这里求解的方式并没有多大变化。这一讲中,还介绍了normal equation的解法,通过normal equation可以直接求解出theta,从而免去了选择alpha的麻烦,是一种无参解法,但是使用normal equation会出现的一个问题是可逆不可逆的问题,这里在实现的过程中,在matlab中,使用伪逆函数pinv,可以在函数即使不可逆的情况下,进行求解.

        第五讲,主要介绍了octave的用法,和matlab一样,matlab编程算是基本功,熟练为好,如果能够熟练matlab,那么做课程中的作业应该是轻而易举。

 类似资料: