zoukankan      html  css  js  c++  java
  • Andrew Ng机器学习算法入门(八):正规方程

    正规方程

    在先学习正规方程之前,先来复习一下之前学过的常规的回归方程的解法。
    假设存在如果的代价函数,

    ,解法也十分的简答。

    但是有时候遇到的情况或许会变得相当的复杂。

    的数,如果是按照常规的方式进行求解,那么按照之前的求解方式,就需要对每一个theta进行微分,然后综合求最小值,这样的运算结果可能最后是相当的复杂。

    那么这个时候正规方程就非常有用了。
    正规方程对于theat的求解非常的简单,如下:

    如何求解theta,
    还是房价的例子,在房价中,假设房价与房屋面积,房间数量,房间位于的楼层,房间的年限有关,最终得到的训练数据如下:

    最后求得的theta的结果为:

    当的简单

    正规方程与梯度下降算法的比较

    由于使用markdwon不是很好画图,这里就直接使用列表的方式来显示了。

    梯度下降算法的优缺点

    • 需要选择学习率a
    • 需要进行多次迭代
    • 当特征(n)非常多时,算法效果很好
    • 适用于各种类型的模型

    正规方程算法的优缺点

    • 不需要学习率
    • 不需要进行迭代
    • 需要计算转置、逆矩阵等算法
    • 不适用于n比较大的情况,当n<10000时,还可以接受
    • 仅仅适用于线性模型,不适合逻辑回归等其他的分类模型

    总体来说,当特征数量不是很大的时候(小于10000),标准方程是一个很好的计算参数theta的替代方法。

    其他

    有一点需要注意的时候,在使用正规方程的时候,需要计算

    么就是否意味着无法进行下去了?
    在Octave中,正规方程的写法是:

    inv()方法还是能够处理。当然这种处理方式其实上还是借助于第三方的计算工具解决问题。
    如果在计算机中真的出现了不可逆的举证,有可能是一下两种情况:

    • 重复的特征,例如在房价的例子中,存在两个房屋面积的特征x1和x2。x1的单位是英尺,x2的单位是平方米。英尺和米是可以相互转换的,这样就导致这两个特征有一个是重复多余,这样就有可能导致不可逆。处理方法也很简单,直接去掉一个即可。
    • 过多的特征,特征的数量n大于样本数量m。例如样本数量只有10个,但是特征数量有100个,这样也有可能会导致不可逆。处理的方式也很简单,删除一些特征或者是使用正规化的线性代数的方法。

    为了了能到远方,脚下的每一步都不能少

  • 相关阅读:
    [LeetCode] Power of Three 判断3的次方数
    [LeetCode] 322. Coin Change 硬币找零
    [LeetCode] 321. Create Maximum Number 创建最大数
    ITK 3.20.1 VS2010 Configuration 配置
    VTK 5.10.1 VS2010 Configuration 配置
    FLTK 1.3.3 MinGW 4.9.1 Configuration 配置
    FLTK 1.1.10 VS2010 Configuration 配置
    Inheritance, Association, Aggregation, and Composition 类的继承,关联,聚合和组合的区别
    [LeetCode] Bulb Switcher 灯泡开关
    [LeetCode] Maximum Product of Word Lengths 单词长度的最大积
  • 原文地址:https://www.cnblogs.com/babers/p/6780901.html
Copyright © 2011-2022 走看看