• ANg-梯度下降算法


    概念

    为了解决线性回归问题,我们也用梯度下降算法。
    算法逻辑如下:

    对于线性回归模型中例子,梯度下降可以如下:


    算法

    实际上梯度下降可有通过求导。这里的符号“:=”是赋值的含义

    有两个注意点:

    • 参数的更新,每次迭代中θ0和θ1是同时更新的。

    • 在梯度下降中需要注意α,也就是学习速率(learn rate)。速率过大导致一直发散,速率过小导致迭代过多。这个值需要根据实际调整,具体后续分析。

    • 即使学习率α固定,渐变下降也可以收敛到局部最小值


    梯度下降算法最小化平方误差代价函数

    基本概念

    首先二者分别如下

    所以可以得到下面的迭代

    多特征

    对于多个特征量,假设函数(hypothesis)应该变化为:

    同理,新的算法为:

    特征缩放

    对于新的算法中,多个特征量由于各自有不同的范围,因此由这些取值可能使得收敛较慢或者没有了理想的效果。所以可以使用特征缩放来解决这个问题:

    需要注意的是这里的正负1不是要求绝对的满足,这里的意思是多个特征量的值范围不要差距太大即可

    均值归一化

    对于特征量除了特征缩放以外还有均值归一化的方法:

    这里μ的含义是特征集中特征X1的平均值,S1表示X1的特征值范围,也就是X1_max和X1_min的差值。虽然可以用标准差,但其实是一样的。同理这里的正负0.5也表示相近的值就可以。

    学习率α的取值

    如果α的取值过大或者过小都有可能导致代价函数不理想:

    因此在实际中,ANg推荐的做法是通过取不同的α观察来比较,从中选取合适的学习率。

    特征和多项式回归

    选取的特征越有效,最终获取的结果就越准确,所以选择正确的特征是很重要的。但实际中可能有一些函数会很复杂,或者非线性。这个时候我们不能直接使用选取特征和对应的函数。此时可以通过拟合的方式获取符合实际的函数。并且特征也可以间接利用。


    正规化方程

    概念

    某一些问题,使用正规化方程可以更好的得到θ。并且正规化方程可以一次性得出θ
    对于例子来说,使用正规化方程,可以得出结果。


    梯度下降算法和正规化方程的选择

    对于二者,最主要的区别就是梯度下降是多次得到结果,正规化方程是一次求解。所以当特征较少的情况下,使用后者更合适。前者适用于大型或者复杂的情况

    此外正规化方程有一个使用前提,也就是有逆矩阵的前提下。但这个情况通常极少,可不考虑。

  • 相关阅读:
    分享
    慕课网-软件测试基础-学习笔记
    向量内积(点乘)和外积(叉乘)概念及几何意义
    使用opencv3+python实现视频运动目标检测
    解决opencv3运行opencv2代码时报错的修改备忘录
    分享
    OpenCV学习笔记
    LeetCode
    LeetCode
    npm安装包很慢
  • 原文地址:https://www.cnblogs.com/bugstar/p/8484099.html
Copyright © 2020-2023  润新知