~~~~ 这里写自定义目录标题

  • 采用求导的方法
  • 采用投影矩阵的方法
  • 举例实现

采用求导的方法

偶尔看到斯坦福吴恩达教授的机器学习第二节课,才明白了最小二乘的的推理过程,下面的推理看不懂的话,推荐去看一下老师的上课视频。

以下是一些预备知识:
在本文中 ∇\nabla∇ 表示的是求导运算,设A是一个 n ×\times× n的矩阵,f表示一种函数关系,则∇\nabla∇A f(A) =
KaTeX parse error: Can't use function '$' in math mode at position 18: …begin{pmatrix} $̲\partial$ f/ $\…

A、B、C均为矩阵:
tr(ABC) = tr(CAB) = tr(BCA)
∇\nabla∇A tr(AB) = B^T
trA = tr(A^T)
∇\nabla∇A tr(ABA^T C) = CAB + C^T A B^T
a表示一个实数,tra = a

超定方程组表示为:AX = b
误差为:AX-b
误差最小二乘为:KaTeX parse error: Expected 'EOF', got '\frae' at position 2: (\̲f̲r̲a̲e̲12)(AX-b)^T×\times×(AX-b)
令误差最小二乘为0,则KaTeX parse error: Expected 'EOF', got '\frae' at position 2: (\̲f̲r̲a̲e̲12)(AX-b)^T×\times×(AX-b) = 0
对X求导可得:
∇\nabla∇x KaTeX parse error: Expected 'EOF', got '\frace' at position 1: \̲f̲r̲a̲c̲e̲12(AX-b)^T (AX-b) % 此时该式是一个实数,运用tra = a
KaTeX parse error: Expected 'EOF', got '\frace' at position 1: \̲f̲r̲a̲c̲e̲12∇\nabla∇x tr(X^T A^T AX - X^T A^T b - b^T AX + b^T b)
KaTeX parse error: Expected 'EOF', got '\frace' at position 1: \̲f̲r̲a̲c̲e̲12(∇\nabla∇x tr(XX^T A^T A) - ∇\nabla∇x tr(b^T AX) - ∇\nabla∇x tr(b^T AX))

因,∇\nabla∇A tr(ABA^T C) = CAB + C^T A B^T
所以,∇\nabla∇x tr(X)(I)(XT)(AT A) = (A^T A)(X)(I) + (A^T A)(X)(I)
因,∇\nabla∇A tr(AB) = B^T
所以,∇\nabla∇x tr(b^T A)(X) = A^T b

则,原式可化为:
KaTeX parse error: Expected 'EOF', got '\frace' at position 1: \̲f̲r̲a̲c̲e̲12(∇\nabla∇x tr(XX^T A^T A) - ∇\nabla∇x tr(b^T AX) - ∇\nabla∇x tr(b^T AX))
KaTeX parse error: Expected 'EOF', got '\frace' at position 1: \̲f̲r̲a̲c̲e̲ ̲12(A^T AX + A^T AX - A^T b - A^T b)
所以,A^T AX - A^T b = 0
可得:A^T AX = A^T b
X = (A^T A)(-1)AT b

采用投影矩阵的方法

AX = b无解,也就是b不在AX的列空间中,为了求出最优解可以将向量b投影到AX的列空间中,此时会产生一个误差e,误差向量垂直于投影向量,误差向量在矩阵A的左零空间中
设,某一平面才是AX的列空间,平面两个基设为a_1, a_2。b为平面外某一向量,为使AX =b有最优解,将向量b投影在平面上,此时投影向量设为p,误差向量e在矩阵A的左零空间中,所以e垂直于该平面,则数学表达式为:
A = [a_1 a_2]
p = a_1KaTeX parse error: Expected group after '\hat' at end of input: \hatx_1 + a_2KaTeX parse error: Expected group after '\hat' at end of input: \hatx_2 = AKaTeX parse error: Expected group after '\hat' at end of input: \hatX
e = b - p = b - AKaTeX parse error: Expected group after '\hat' at end of input: \hatX
因为e垂直于该平面,所以
(a1Ta2T)\binom{a_1 ^T}{a_2 ^T}(a2T​a1T​​)(b - AKaTeX parse error: Expected group after '\hat' at end of input: \hatX) = (00)\binom{0}{0}(00​)
A^T (b - AKaTeX parse error: Expected group after '\hat' at end of input: \hatX) = 0
A^T b = A^T A KaTeX parse error: Expected group after '\hat' at end of input: \hatX

举例实现

其中myfun()函数程序为:

在这里插入代码片
function F = myfun( x )
%UNTITLED2 此处显示有关此函数的摘要
%   此处显示详细说明
b = [11; 3; 6; 7];
A = [2 4; 3 -5; 1 2;2 1];
F = A * x - b;
end

最小二乘以及最小二乘求解超定方程组最优解的推导相关推荐

  1. 用matlab解方程组例子,Matlab求解超定方程组实例

    Matlab求解超定方程组实例 对于超定方程组,特别是非线性方程组,可以用Matlab基于最小二乘算法来进行求解,例如,求解下列方程组: 一个三个未知数,九个方程的非线性方程组: cos(x3)*si ...

  2. 求超定方程组最小二乘解的三种方法

    目录 1.超定线性方程组与最小二乘解 2.求解超定方程组的三种方法 3.参考链接 1.超定线性方程组与最小二乘解     超定线性方程组:方程的个数大于解个数,方程组是无解的,但是我们可以求得其最小二 ...

  3. 超定方程组最小二乘matlab,超定方程组的最小二乘解.ppt

    超定方程组的最小二乘解 数 学MATH 第二节 超定方程组的最小二乘解 设方程组Ax=b中, A=(aij)m?n, b是m 维已知向量, x是n 维解向量,当 m>n 即方程组中方程的个数多于 ...

  4. 求解线性超定方程组的最小二乘解[n个未知数,大于n个方程组](附代码)

    本文针对n个未知数,大于n个方程组.求解未知数的问题,matlab代码. 一.首先,请注意,本文说的是线性超定方程组,方程组是线性的,不含有未知数的出发以及乘方. 求线性超定方程组,有这么几种方法: ...

  5. MATLAB当中线性方程组、不定方程组、奇异方程组、超定方程组的介绍

    系列文章目录 MATLAB绘图函数的相关介绍--海底测量.二维与三维图形绘制 MATLAB求函数极限的简单介绍 文章目录 一.线性方程组 1.1.线性方程组简介 1.2.矩阵的初等变换 1.3.MAT ...

  6. 超定方程组最小二乘法(内含代码)

    超定方程组最小二乘法 今天做了一个计算方法的作业,在网上没有找到类似的参考资料,很多同学用Python直接调用库函数来写很方便,但是我认为用c或者c++来写对初学者来说是更大的锻炼: 代码已经调试好了 ...

  7. matlab中欠定方程组超定方程组_一篇文章入门大规模线性方程组求解

    前面介绍过主要的线性方程组求解库,参考附录.求解大规模线性方程组是仿真软件求解器的底层技术,求解器时间基本都消耗在方程组求解上.线性方程组的解法比较成熟,方法也有很多,而且不同的方法对应不同类型方程组 ...

  8. matlab中欠定方程组超定方程组_七年级下册第10章:解二元一次方程组(12课时)...

    潍坊初中数学 教师简介 马晓菲,奎文区德润学校教师,奎文区初中数学学科带头人,奎文区立德树人标兵. 微课简介 本课为七年级下册第十章<一次方程组>第二节第1课时,需要学习者掌握一元一次方程 ...

  9. matlab中欠定方程组超定方程组_《数值天气预报》:球坐标系中的基本方程组

    人们是如何预报天气的?目前的预报方法主要有两种:一种是基于由各种探测资料绘制的天气图,结合历史资料进行分析预测:另一种是基于大气方程组,利用数值解法对其进行求解,从而得到未来时刻的大气状态. 后者就是 ...

最新文章

  1. 张和平:益生菌、肠道菌群与健康 |《科学通报》专辑
  2. “技术崇拜”与“技术恐惧”都会阻碍 AI 创新,“技术节制”才是正道
  3. android cmd 右键菜单不见了,为Windows右键菜单提供打开命令行选项
  4. HLG 1349 Graph [floyed]
  5. python arma_Python ARIMA
  6. Effective C++ --5 实现
  7. 在软盘上找不到id地址标记_记录一下我的群辉使用腾讯云域名解析IPv6地址
  8. 用Numpy手写各种距离度量
  9. 【C语言简单说】十五:while循环
  10. ubuntu mysql集群搭建_ubuntu server部署mysql集群
  11. 家族关系查询系统程序设计算法思路_七大查找算法(附C语言代码实现)
  12. 逆幂律模型_【微微出品】加速模型一起聊聊Peck、Lawson、MILHDBK217
  13. Obez'yanka-Nol
  14. Lua中调用C/C++函数 (转)
  15. Delphi窗体部分属性
  16. 多窗直播 截屏录制——UC问鼎全球首款直播浏览器
  17. jmp连mysql_JMP官方教学视频列表
  18. 毕设论文word转pdf(错误!未定义书签。 已解决)
  19. 【微信小程序】扫描二维码/条形码,并获取信息
  20. 基础弹幕原理python海龟库

热门文章

  1. 辽宁教师计算机能力提升,辽宁乡村教师中小学信息技术应用能力提升工程实施方案.doc...
  2. Linux系统Wpa_supplicant用法小结(转)
  3. scrapy框架----爬取B站番剧弹幕
  4. 基础SPI协议的FPGA实现(兼顾SPI4种模式)—Verilog
  5. 天玑800u和天玑800哪个好
  6. DataGrip离线安装所需MySQL驱动:
  7. 通过PowerMockito来模拟时钟回拨, 验证改进版雪花算法是否起效
  8. python动物语音识别_GitHub - bestpower/Speech_Recognition_Test: 利用Python+TensorFlow实现语音识别...
  9. iOS网络--同步,异步下载数据
  10. java计算机毕业设计ssm二手商品交易平台