• 最小二乘法


    理解:

    最小:理论值和观测值之差的平方和最小。

    参考:https://www.zhihu.com/search?type=content&q=最小二乘的本质



    3 推广

    算术平均数只是最小二乘法的特例,适用范围比较狭窄。而最小二乘法用途就广泛。

    比如温度与冰淇淋的销量:

    [公式]

    看上去像是某种线性关系:

    可以假设这种线性关系为:

    [公式]

    通过最小二乘法的思想:

    上图的[公式] 分别为:

    [公式]

    总误差的平方为:

    [公式]

    不同的[公式] 会导致不同的[公式] ,根据多元微积分的知识,当:

    [公式]

    这个时候[公式] 取最小值。

    对于[公式] 而言,上述方程组为线性方程组,用之前的数据解出来:

    [公式]

    也就是这根直线:

    其实,还可以假设:

    [公式]

    在这个假设下,可以根据最小二乘法,算出[公式] ,得到下面这根红色的二次曲线:

    同一组数据,选择不同的[公式] 【此处寻找f(x)意味着选择一个数学模型,如选择1次函数,2次函数,还是3次函数...】,通过最小二乘法可以得到不一样的拟合曲线(出处):

    不同的数据,更可以选择不同的[公式] ,通过最小二乘法可以得到不一样的拟合曲线:

    [公式] 也不能选择任意的函数,还是有一些讲究的,这里就不介绍了。

    链接:https://www.zhihu.com/question/37031188/answer/411760828



    1: 最小二乘法的原理与要解决的问题

    最小二乘法是由勒让德在19世纪发现的,形式如下式:

    [公式]
    观测值就是我们的多组样本,理论值就是我们的假设拟合函数。目标函数也就是在机器学习中常说的损失函数,我们的目标是得到使目标函数最小化时候的拟合函数的模型。举一个最简单的线性回归的简单例子,比如我们有 [公式] 个只有一个特征的样本: [公式]

    样本采用一般的 [公式][公式] 次的多项式拟合, [公式] 为参数

    最小二乘法就是要找到一组 [公式] 使得 [公式] (残差平方和) 最小,即,求 [公式]

    2 :最小二乘法的矩阵法解法

    最小二乘法的代数法解法就是对 [公式] 求偏导数,令偏导数为0,再解方程组,得到 [公式] 。矩阵法比代数法要简洁,下面主要讲解下矩阵法解法,这里用多元线性回归例子来描:

    假设函数 [公式] 的矩阵表达方式为:

    [公式]
    其中, 假设函数 [公式][公式] 的向量, [公式][公式] 的向量,里面有 [公式] 个代数法的模型参数。 [公式][公式] 维的矩阵。 [公式] 代表样本的个数, [公式] 代表样本的特征数。

    损失函数定义为 [公式] ,其中 [公式] 是样本的输出向量,维度为 [公式][公式] 在这主要是为了求导后系数为1,方便计算。

    根据最小二乘法的原理,我们要对这个损失函数对 [公式] 向量求导取0。结果如下式:

    [公式]
    对上述求导等式整理后可得:

    [公式]

    3:最小二乘法的几何解释

    先说结论:最小二乘法的几何意义是高维空间中的一个向量在低维子空间的投影。

    考虑这样一个简单的问题,求解二元一次方程组:

    [公式]
    方程组的解也就是直线$a$与$b$的交点,并且很容易算出 [公式] .它的矩形形式:

    [公式]
    表示 [公式] 倍的向量 [公式] 加上 [公式] 倍的向量 [公式] 等于向量 [公式] 。或者说, [公式] 是向量 [公式][公式] 的线性组合。

    可以看到,1倍的 [公式] 加上2倍的 [公式] 既是 [公式] ,而1和2正是我们的解。而最小二乘所面临的问题远不止两个点,拿三个点来说吧。(0,2),(1,2),(2,3)

    假设我们要找到一条直线 [公式] 穿过这三个点(虽然不可能),为表述方便,用 [公式] 代替 [公式][公式] 代替 [公式]

    [公式]
    进一步的:

    [公式]
    向量 [公式] 是向量 [公式][公式] 的线性表示。用图形表示:

    作图之后,我们惊讶的发现,无论我们怎样更改 [公式][公式] 的系数都不可能得到b,因为 [公式][公式] 的线性组合成的向量只能落在它们组成的子空间S里面,也就是说,向量 [公式] 不在平面 [公式] 上,虽然我们找不到这样的向量,但在 [公式] 上找一个比较接近的可以吧。很自然的想法就是将向量 [公式] 投影在平面 [公式] 上,投影在 [公式] 上的向量 [公式] 就是 [公式] 的近似向量,并且方程 [公式] 是有解的。

     这个误差最小的时候就是 [公式] 正交于平面 [公式] ,也正交与 [公式] 中的向量 [公式] (矩阵 [公式] 的列向量),即点乘为0, [公式] , [公式] 矩阵表示:

     所以,我们可以得出,它的几何意义就是高维空间中的一个向量在低维子空间上的投影。

    4:最小二乘法的局限性和适用场景

    从上面可以看出,最小二乘法适用简洁高效,比梯度下降这样的迭代法似乎方便很多。但是这里我们就聊聊最小二乘法的局限性。

    首先,最小二乘法需要计算 [公式] 的逆矩阵,有可能它的逆矩阵不存在,这样就没有办法直接用最小二乘法了,此时梯度下降法仍然可以使用。当然,我们可以通过对样本数据进行整理,去掉冗余特征。让 [公式] 的行列式不为0,然后继续使用最小二乘法。

    第二,当样本特征 [公式] 非常的大的时候,计算 [公式] 的逆矩阵是一个非常耗时的工作( [公式] 的矩阵求逆),甚至不可行。此时以梯度下降为代表的迭代法仍然可以使用。那这个 [公式] 到底多大就不适合最小二乘法呢?如果你没有很多的分布式大数据计算资源,建议超过10000个特征就用迭代法吧。或者通过主成分分析降低特征的维度后再用最小二乘法。

    第三,如果拟合函数不是线性的,这时无法使用最小二乘法,需要通过一些技巧转化为线性才能使用,此时梯度下降仍然可以用。

    链接:https://zhuanlan.zhihu.com/p/38128785


  • 相关阅读:
    文件下载工具类
    spring boot 2.0+中整合redis 方法缓存Cache和普通缓存两种
    spring boot 2.0+ 整合RabbitMq
    spring boot2.0+中添加全局异常捕获
    spring boot2.0+ 中配置log4j日志
    spring boot + websoket @ServerEndpoint中多个参数的写法
    在spring mvc中利用spring-session+redis实现分布式session
    spring mvc 中整合redis记录
    Spring 中使用redis缓存方法记录
    java 类与对象
  • 原文地址:https://www.cnblogs.com/yibeimingyue/p/13175612.html
Copyright © 2020-2023  润新知