最新公告
  • 欢迎您光临欧资源网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入我们
  • 【知识点】最小二乘法的问题及求解方法矩阵

    1. 最小二乘的思想

    最小二乘法是一种统计学习优化技术,其目标是最小化误差平方和,以找到可以拟合观测数据的最优模型。

    回归学习最常用的损失函数是平方损失函数,在这种情况下,可以使用众所周知的最小二乘法来解决回归问题。最小二乘法是曲线拟合的一种解决方案。

    最小二乘问题分为两类:

    如果它是线性的,则有一个封闭形式的解决方案,这是唯一的解决方案。据了解,所有点都在一条线上,并且完全拟合。

    非线性的通常需要数值方法来解决。例如:随机梯度下降或牛顿法。当然,随机梯度下降也可以解决线性问题。

    目标公式

    J(θ)=∑i=1m(fθ(xi)−yi)2(1)(1)J(θ)=∑i=1m(fθ(xi)−yi)2

    最小二乘法的目标是最小化方程 1。f 是模型(取自假设空间),y 是观察值。

    通俗的讲,就是将观测值与拟合值(模型给定)的距离的平方和最小化作为优化的目标。求解方法 矩阵推导方法

    思路是将目标函数归类为矩阵运算问题,然后求导后等于0,从而得到极值。以线性回归问题为例:

    求解最小二乘的问题推导如下: 求解变量 θθ

    这是使用矩阵的最小二乘法的解决方案。

    注意,这是线性回归最小二乘法的求解结果,不适用于其他问题。其他问题的假设函数有时很复杂。例如,下面的博文对线性回归的计算有好处,但它没有解释推导的主要前提:线性回归,它很容易混合最小二乘法和最小二乘法的解。

    数值方法 随机梯度下降

    思路:对参数向量求微分,使其梯度为0,进而得到参数变量的迭代更新公式。

    θj:=θj−α∗∂J(θ)∂(θj)(3)(3)θj:=θj−α∗∂J(θ)∂(θj)

    请参考:数值方法牛顿法

    使用泰勒公式的扩展和使用梯度和 Hessian 矩阵的迭代下降。高速。

    xk+1=xk−H−1kgk(4)(4)xk+1=xk−Hk−1gk

    请参阅:

    最小二乘和梯度下降之间的区别

    如果把最小二乘看成一个优化问题,那么梯度下降就是一种求解方法。梯度下降是一种求解优化问题的数值方法。最小二乘法是一个优化问题。

    简单总结

    数值方法的基本含义是求函数的极值。在无法直接得到解析解的情况下,可以通过求导到0、梯度方向或牛顿方向等方法,求出迭代方向,保证目标值可以降低。降级直到满足一些工程要求并结束迭代。

    后记最小二乘法是偏差程度的评价准则思想,由公式1给出。个人认为应该叫:最小二乘准则。f 的值没有在等式 1 中给出,即假设空间。如果是线性回归,也就是wx+b的形式,那么方程2就是最小二乘法的解。所以大多数博客文章都属于这一类。为什么用这个线性回归直接说,其实最小二乘准则更适合线性回归。应该称为狭义的最小二乘法。它是一种在线性假设下具有闭式解的参数求解方法,最终的结果是全局最优的。梯度下降只是数值解的一种具体操作,最小二乘准则下的优化问题可以通过随机梯度下降来解决。线性回归python(带代码)

    import numpy as np
    import matplotlib.pyplot as plt
    data = np.array([
        [1, 6],
        [2, 5],
        [3, 7],
        [4, 10]
    ])
    m = len(data)
    X = np.array([np.ones(m), data[:, 0]]).T
    print("X:", X)
    y = np.array(data[:, 1]).reshape(-1, 1)
    print("y:",y)
    W = np.linalg.solve(X.T.dot(X), X.T.dot(y)) ## 求解XW=y的值,W
    print("W:",W)
    ##show
    plt.figure(1)
    xx = np.linspace(0, 5, 2)
    yy = np.array(W[0] + W[1] * xx)
    plt.plot(xx, yy.T, color='b')
    plt.scatter(data[:, 0], data[:, 1], color='r')
    plt.show()
    

    这里写图片描述

    参考:

    机器学习 周志华 线性模型和最小二乘

    (数学)

    ‘s_method_in_optimization

    数学知识:最小二乘介绍

    言归正传,这里是最小二乘家庭成员的列表。最小二乘直线拟合、最小二乘多项式(曲线)拟合、机器学习中线性回归的最小二乘、系统识别的最小二乘识别、参数估计的最小二乘等。可以看出,每次我们遇到一种最小二乘法的多面体面。如果只从一个方面去研究,就看不到它的整体,也无法理解它的内涵。因此,要了解这个多面体,就必须从它的核心入手,分析它最本质的内容。

    从最小二乘的名称来看,所谓的最小二乘也可以称为最小二乘。那么,最小的平方和是多少?那一定是最小的错误,错误是什么?它是目标对象和拟合对象之间的误差。一起来看,拟合对象通过最小化误差平方和无限接近目标对象,这就是最小二乘的核心思想。可以看出,最小二乘解决了一类问题,即需要拟合现有对象的问题。从这个角度来看,是否可以理解为什么最小二乘法被如此广泛地使用?

    2.最小二乘法分析

    解释完最小二乘的思想后,我们再详细说说最小二乘的方法(方法其实就是把思想具体化)。从最小二乘的想法,我们可以提出以下问题。

    ​1.如何列出误差方程?

    2.如何最小化误差方程?

    3.如何验证结果的准确性?

    最小二乘法的核心其实就是上述三个问题的解决方案。​​​

    此外,还有一个重要内容:​

    最小二乘应该说是一种思想,只有结合具体的对象,才能成为最小二乘。这也导致了各种最小二乘公式、推导、证明等。但是,它的核心是最小二乘的思想,只是呈现方式不同。那么,区别在哪里呢?​​​

    一句话:底子不一样。那么基础是什么?​​​​

    上式中的 x1,x2,…..,xn 是基数。对于曲线拟合(见下文应用部分),x1=1,x2=x,x3=x^2…..对于其他应用,x的含义不同。看到这里,你可能会有一个疑问:据说最小二乘解是线性问题。为什么曲线拟合方程中会出现功率的非线性环节?​​​

    这又涉及到一个重要的概念,那就是:所谓的线性方程有一个特定的对象,也就是它有一个参照物。就像一个坐标点(x,y),它的意义是针对x轴和y轴。所以在这里,对于曲线拟合过程。尽管方程对于 x 是非线性的,但对于每个参数 θ 它都是线性的。​那么,如果期望值为 x,则不能使用最小二乘法。换句话说,如果方程相对于所需参数是线性的,则可以使用最小二乘法求解。

    2.1.误差方程

    先说误差方程,就是目标函数减去拟合函数,再取其平方。这是另一个问题偏最小二乘回归的线性与非线性方法,为什么要取平方和?如果不取平方和,取误差绝对值之和,会有什么影响?从几何学的角度出发,可以通过多种方式来理解这个问题。假设有一条直线y=ax+b,要在这条直线上找一个点,到(x0, y0)这个点的距离最短。如果用绝对值法求,那也就是取min(|y -y0|+|x-x0|),因为最小绝对值为0,所以最小的情况是x=x0或者y=y0,如下图1所示。

    如果用平方和的方法求,就是取偏最小二乘回归的线性与非线性方法,可见这个公式就是两点之间的距离公式,也就是距离的概念。那么最短的距离就是点到线的垂直线,如下图2所示。

    ​注:忽略纵轴与横轴的比例,这只是示意图。

    因此,与绝对值法相比,平方和法可以获得更短的距离,使拟合函数更接近目标函数。其实上面的例子就是从规范的角度来考虑这个问题的。绝对值对应于 1 范数,最小二乘对应于 2 范数。另外,据说平方和的公式也可以从最大似然法中推导出来。有兴趣的可以深入探讨一下,我就不再赘述了(其实我没研究过。哈哈..)

    2.2 最小化误差函数

    我们从高中就学会了取极值,但不同的是,要求的对象是一个变量的二次方程。最小二乘的误差函数有多种形式,但其求解方法与在一个变量中求一元二次方程的极值的方法相同。无非就是把变量原来的导数变成向量的偏导数(即向量在一定维度上的导数)。如果函数的求导不是向量的求导,而是函数的求导,就是复变函数的变分法(可见汤不变,思路不变,重要的区别是派生对象不同)。推导后,另一个导数的公式为0,极值点求解。然后判断极值点是最大值点还是最小值点,从而得到最小化误差函数的向量值。至此,最小二乘法就完成了,是不是很简单呢?

    2.3 最小二乘的统计性质

    如果只考虑应用,这部分内容不需要了解。由于讨论了最小二乘的统计特性、最小二乘结果可靠的原因,有必要使用随机过程工具来推导最小二乘应用的原理。为了不混淆大家,我们以后会单独讨论这个问题。

    3.最小二乘证明示例

    有N组{x,y}数据,使用函数y=f(x;theta)对数据进行拟合,求拟合效果最好时的theta值。​​​

    注:由于最小二乘法应用场景的多样性,很多推导公式都是基于具体的应用对象。如果遇到曲线拟合问题,每个参数基都是 x 的幂。在推导的过程中,会出现范德蒙德矩阵,常常让人一头雾水。为了更容易学习最小二乘推理过程,建议大家将本文中的所有参数基替换为符号,这样推导过程会更加清晰。

    3.1错误函数

    3.2 偏导数的误差函数

    对于误差和偏导数,有以下等式:

    这里使用线性方程 f 来拟合数据。将上式简化为矩阵形式如下:

    然后合并,展开上式的每一行,垂直求和,代之以化简。简单的形式,很神奇),可以得到以下等式:​

    注意:下面的公式(2)应该是公式(1)​

    从上面的计算可以看出,矩阵形式相当于方程形式中的最小二乘法,但写法不同。如果直接从矩阵形式推导出来,更容易得到结果(6)。特别是不能直接使用下面的方法:

    看起来这样得到的结果和我们计算的一样,但实际上是错误的。因为第一步Y=XA是错误的,所以只能在误差项为0的时候写,否则就有误差项。​​​

    4.最小二乘法的应用分析4.1 线拟合

    如果设置最小二乘法中向量的维数为2,即(xi,1),拟合函数为y=ax+b,参数theta为二维,简化公式为我们在书中有什么常用的线拟合公式。

    4.2曲线拟合

    如果最小二乘法中的 x 设置为以下形式:

    最小二乘法成为曲线拟合公式。

    4.3 线性回归

    机器学习中的线性回归算法就是上面例子中使用的公式。其中,linear表示拟合函数的形式,regression也可以称为拟合(命名问题是历史遗留问题,哎……)。在线性回归中,我们经常听到一个叫梯度下降的术语。这种方法常用于以下情况,不能得到XTX的逆,不能得到矩阵形式的最小二乘解。然后,可以使用梯度下降法逐渐逼近最优解。梯度下降可以被视为最小二乘解,与矩阵解和方程解并列。具体区别可以参考知乎上的问题解释:

    4.系统识别中的4个最小二乘

    即把拟合函数写在传递函数的时域表达式中,通过输入输出数据最终计算出时域表达式中的参数,实现系统辨识。

    站内大部分资源收集于网络,若侵犯了您的合法权益,请联系我们删除!
    欧资源网 » 【知识点】最小二乘法的问题及求解方法矩阵

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    欧资源网
    一个高级程序员模板开发平台

    发表评论