美文网首页
吴恩达机器学习(第一周)

吴恩达机器学习(第一周)

作者: hwang_zhic | 来源:发表于2019-03-14 20:51 被阅读0次

    1.单变量线性回归(Linear Regression with One Variable)

    1.1线性回归算法

    线性回归(Linear Regression)是一种通过属性的线性组合来进行预测的线性模型,其目的是找到一条直线或者一个平面或者更高维的超平面,使得预测值与真实值之间的误差最小化。
    预测住房售价是监督学习中的回归问题,看例子学算法。
    例子:使用数据集预测住房售价



    线性函数表达公式:



    该表达方式可以看做为y=kx+b,因此需要求得是斜率和截距,使得数据中的点到直线的距离最短。因此需要研究的是如何得到最合适的斜率和截距

    扩展

    而特征有n个时,模型表达式如下:


    PS:具体可查看:https://www.cnblogs.com/nowornever-L/p/6862292.html

    1.2代价函数(Cost Function)

    代价函数就是为了就是找到目的函数的最优解。

    因为在一个训练集中,有无数个模型(一元一次函数),我们需要找到最拟合这个训练集的一个函数,所以就引入了代价函数,用来找到那个最好的模型。
    若试验过无数的参数(θ1和θ0)时,可以得到一条函数曲线,如下图:

    这时候就可以直观的看出来最优解了。

    当参数为2个或者更多时,得到的代价函数图像则是3维或者更高维了,以下为2参数时的3维代价函数图像。
    最终确定参数的最优值,得到一个最好的拟合函数

    1.3梯度下降(Gradient Descent)

    在选定线性回归模型后,只需要确定参数θ,就可以将模型用来预测。然而θ需要在J(θ)最小的情况下才能确定。因此问题归结为求极小值问题,使用梯度下降法。梯度下降法最大的问题是求得有可能是全局极小值,这与初始点的选取有关。

    这里是梯度下降算法的一个示意图,可以把它理解为下山。不同的初始点可能得到的局部最小值不一样。


    梯度下降法是按下面的流程进行的:

    1)首先对θ赋值,这个值可以是随机的,也可以让θ是一个全零的向量。
    2)改变θ的值,使得J(θ)按梯度下降的方向进行减少。

    梯度方向由J(θ)对θ的偏导数确定,由于求的是极小值,因此梯度方向是偏导数的反方向。结果为


    迭代更新的方式有两种,一种是批梯度下降,也就是对全部的训练数据求得误差后再对θ进行更新,逐渐增大或缩小θ的值。
    批量梯度下降算法公式:

    其中
    α为学习速率。 α决定了我们往下走的步伐有多大

    另外一种是增量梯度下降,每扫描一步都要对θ进行更新。前一种方法能够不断收敛,后一种方法结果可能不断在收敛处徘徊。

    一般来说,梯度下降法收敛速度还是比较慢的。

    具体的梯度下降参考:https://www.cnblogs.com/pinard/p/5970503.html
    线性回归的更多具体模型参考:https://www.cnblogs.com/nowornever-L/p/6862292.html
    练习题的代码:https://github.com/fengdu78/Coursera-ML-AndrewNg-Notes/blob/master/code/ex1-linear%20regression/1.linear_regreesion_v1.ipynb
    课程的视频:https://study.163.com/course/introduction.htm?courseId=1004570029&trace_c_p_k2=537b09af6f08403baf6a7ff11f7bb457

    相关文章

      网友评论

          本文标题:吴恩达机器学习(第一周)

          本文链接:https://www.haomeiwen.com/subject/qkizpqtx.html