机器学习第一周(基于coursera中的Andrew Ng的机器学习课的笔记)

机器学习第一周(基于coursera中的Andrew Ng的机器学习课的笔记)
本节主要讲述了机器学习的大概分类(从监督学习和非监督学习的角度)和线性回归的模型以及基本的梯度下降算法(gradient descent algorithmn)。

预测和分类都为监督学习。预测是基于data set拟合出hypothesis的参数值,是通过algorithmn调整使得cost function损失最小,从而得出模型来预测
真实的值。分类具体细节不清楚,还没讲到这。非监督学习中的聚类也不清楚,但大体就是不清楚最后分类的结果,但分类之后才清楚了其中的规律。
接下来贴几张图:
机器学习第一周(基于coursera中的Andrew Ng的机器学习课的笔记)
左边的是假设函数,右边的是损失函数,具体公式如下:
机器学习第一周(基于coursera中的Andrew Ng的机器学习课的笔记)
可以看到其中的cost function是均平方误差,其中的1/2是为了求导方便添加的,无特殊含义。为了能使拟合效果很好以便预测真实值,需要使得此函数尽可能小。就引出了接下来的梯度下降算法:
机器学习第一周(基于coursera中的Andrew Ng的机器学习课的笔记)
这是用matlab绘制的误差函数的图,类比山谷,就很好理解这个问题。算法的基本思想是:通过多次迭代调整参数的值(这里是theta0和theta1),使得最终cost function的导数值为趋于global optima(山谷图的最低点)。其实主要应用了导数的知识,若导数为正,则向反方向改变取值(类比逐步下山的过程)。若导数为负,也反方向改变取值,使得导数为0。
不过有一个问题:local optima 和 global optima:众多低点和最低点的问题,但由于是线性问题,所以是凹函数如下图:即有且只有一个最低点。就不用考虑这么多啦。
机器学习第一周(基于coursera中的Andrew Ng的机器学习课的笔记)
下图是下山公式,repeat it until convergence,阿尔法是学习速率,是个常数,俗话说是决定旅下山人的腿长,或者说是决定了收敛速度。
值得一提的是一定要simultaneously update 这些参数,如果不同时更新的话就不是传统意义上的梯度下降了,会有些许的误差。只要是说梯度下降,就默许了是同时更新。
机器学习第一周(基于coursera中的Andrew Ng的机器学习课的笔记)

后记:
受限于数学水平,难以读懂周志华的西瓜书,误打误撞看到了吴恩达的机器学习课程,属于新手友好型的tutorial,希望在两个学习资料交相验证的的同时,做到理论与实践的统一吧。特做此笔记。还有,如果这学期数学水平到了,再做个西瓜书的公式推算笔记(但愿如此)。