美文网首页
理解线性代数方式计算最优解的方法

理解线性代数方式计算最优解的方法

作者: 继舜 | 来源:发表于2018-07-13 04:36 被阅读0次

关于线性回归、最小二乘法内容很多,本文只关注如何理解计算最优解使用的线性代数方法。


准备材料

先给出要解决的问题,简单说就是给出一堆统计数据(一个自变量,一个因变量)。然后分析这堆数据的线性规律。如下图:

from wikipedia.org

方法有多种,如果要使用线性代数的方法,需要先将统计数据整理为矩阵方程形式。例如有以下三个数据([t,y])

[1,1]; [2,2]; [3,2]

目的是求数据的线性关系,即求以下线性方程(C,D为待定系数)

代入三个数据得到三个方程的方程组

转换为矩阵的形式为

以线性代数的观点看,就是在以[1;1;1]和[1;2;3]组成的列空间中找到向量[1;2;2]。但向量[1;2;2]并不在前面的列空间中(即[1;1;1]和[1;2;3]无论怎么组合也不能得到[1;2;2])。

将矩阵方程简写为

理解核心概念

在本例子中,矩阵A的列空间是个三维空间中的平面,而b向量不在这个平面空间中。所以这个矩阵方程无解。

如果要求最优解,也就是要求每个统计数据与求出的理想数据的误差绝对值最小(或者说误差平方最小,也就是最小二乘法的观念)

而在线性代数观念中,就是找到一个跟向量b差异最小的且处于A矩阵空间中的向量p(只有处于A向量空间中,矩阵方程才有解)。即误差向量e = b - p最小。几何角度观察三个向量的关系如下图

要获得最小的误差向量e,需要使向量e垂直于矩阵A的列空间平面。则矩阵A与误差e的内积为0。(推导过程中x加帽是为了说明这里的解并不是原矩阵方程的解,而是最优解)

求解该矩阵方程即可得到最优解直线系数,对于本例,结果如下

总结

理解所用的线性代数的方法的关键在于理解矩阵列向量空间、向量投影。

本文仅关注的核心观念,实际应用中会有一些实际问题(比如矩阵AT*A是否可逆)需要具体问题具体分析。

相关文章

  • 理解线性代数方式计算最优解的方法

    关于线性回归、最小二乘法内容很多,本文只关注如何理解计算最优解使用的线性代数方法。 准备材料 先给出要解决的问题,...

  • 动态规划

    1、刻画最优解的结构特征 2、递归定义最优解的值 3、计算最优解的值,通常采用从底向上的方法 4、利用计算的结果构...

  • 动态规划:最长公共子序列

    动态规划 步骤 描述最优解的结构 递归定义最优解的值 按自底向上的方式计算最优解的值 //此3步构成动态规划解...

  • 动态规划与背包问题

    动态规划算法核心思想:1.刻画问题的最优解的结构特征2.递归定义最优解的值3.自底向上的方式计算最优解的值4.构造...

  • 挑战程序设计竞赛2 算法与数据结构5.6

    5.6 搜索的应用----计算最优解

  • 优化方法基础系列-非精确的一维搜索技术

    选择最优步长的精确搜索方法往往计算量大,特别是当迭代点远离最优解时,效率很低,而且很多最优化算法的收敛速度并不依赖...

  • 通过编程来学习线性代数1-解二元线性方程组

    环境 采用的编程方式是网页,会使用javascript来实现线性代数中的计算方法。比如文件linearAlgebr...

  • 53. Maximum Subarray

    20170706 今天再做这题,写出来了。这题之前说的「局部最优解」「全局最优解」可以这么理解,局部最优解就相当于...

  • 最长递增子序列

    通常有4个步骤来设计动态规划算法: 1.刻画一个最优解的结构特征。 2.递归地定义最优解的值。 3.计算最优解的值...

  • HDUOJ-1009 FatMouse' Trade(贪心)

    采用贪心的思考问题方法 即“做出的是在某种意义上的局部最优解”,对于本题来说,局部最优解就是整体最优解,因此采用贪...

网友评论

      本文标题:理解线性代数方式计算最优解的方法

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