当前位置: 首页 > news >正文

齐次线性方程组最小二乘解

非齐次线性方程组:常数项不全为0的线性方程组。

Au=b

最小二乘解:

u=(A^{T}A)^{-1}A^{T}b


齐次线性方程组:常数项全为0的线性方程组。

Au=0

当齐次线性方程组没有严格零解时,我们需要通过最小二乘法寻找近似解,即找到非零向量u,使得残差平方和\left \| Au \right \|^{2}最小。

直接最小化\left \| Au \right \|^{2}会导致零解,但零解无实际意义,因此需要添加归一化约束排除零解,最常用的约束是\left \| u \right \|^{2}=1,即u^{T}u=1。齐次线性方程组的解不是唯一的,可以按比例缩放,任何ku仍是解,\left \| u \right \|^{2}=1是标准化了解的比例。

此时最小化\left \| Au \right \|^{2}问题转化为带约束的最小二乘优化:

\left\{\begin{matrix} min_{u}\left \| Au \right \|^{2}\\ s.t. \, \, \, u^{T}u=1 \end{matrix}\right.

通过拉格朗日乘子法将有约束问题转为无约束问题,构造拉格朗日函数:

        L(u,\lambda )=\left \| Au \right \|^{2}-\lambda (u^{T}u-1)\\ =(Au)^{T}(Au)-\lambda (u^{T}u-1)\\ =u^{T}A^{T}Au--\lambda (u^{T}u-1)

求极值即对u求偏导为0(利用矩阵性质\frac{\partial x^{T}Ax}{\partial x}=(A^{T}+A)x):

        \frac{\partial L(u,\lambda )}{\partial u}=2A^{T}Au-2\lambda u=0\\ \\A^{T}Au=\lambda u

结合目标函数 \left \| Au \right \|^{2}=u^{T}A^{T}Au=\lambda u^{T}u=\lambda,最小化\left \| Au \right \|^{2}即最小化\lambda

所以齐次线性方程组Au=0的最小二乘解u是 A^{T}A的最小特征值对应的特征向量。

        

示例代码:     

x = np.linspace(0, 99, 100)
y = 2 * x + 6.5 + np.random.randn(100)
plt.close('all')
plt.figure()
plt.plot(x, y)B = np.column_stack([x, y, np.ones(100)])
eigenvalues, eigenvectors = np.linalg.eig(np.dot(B.T, B))
idx = np.argmin(eigenvalues)
u = eigenvectors[:, idx]
a = u[0]
b = u[1]
c = u[2]
print("k={}, b={}".format(-a / b, -c / b))
y_pred = -a / b * x + (-c / b)
plt.plot(x, y_pred)

    

        

http://www.dtcms.com/a/341753.html

相关文章:

  • 压缩包密码找回工具递归解压增强版使用说明
  • 机器学习数据预处理学习报告
  • Linux用30秒部署Nginx+Tomcat+Mysql+Jdk1.8环境
  • Paging in Operating System
  • windows server 彻底卸载oracle 11g
  • Linux命令大全-ps命令
  • AdaCoT:基于强化学习的帕累托最优自适应思维链触发机制
  • 自动泊车辅助系统的漏洞、威胁与风险分析
  • MDP(马尔可夫决策过程)与 RL(强化学习)
  • 半导体开关器件深度解析:PNP、NPN、PMOS、NMOS
  • 使用PCL读取PCD点云文件
  • MTK Linux DRM分析(一)- DRM简介
  • 基于STM32的感应开关盖垃圾桶
  • 基于Pytochvideo训练自己的的视频分类模型
  • 数据结构-有序二叉树
  • 中科米堆CASAIM手持式三维扫描仪扫描塑料件检测尺寸形位公差
  • Cobbler:一站式自动化系统部署方案
  • C++高频知识点(三十二)
  • Comfyui加载图像编辑Qwen-Image-Edit工作流之Windows篇
  • C++之多态(从0到1的突破)
  • 【clion】cmake脚本1:调试脚本并构建Fargo项目win32版本
  • python 可迭代对象相关知识点
  • “无纸化办公”加速推进,房产证智能识别技术或成行业标配
  • Linux高效备份:rsync + inotify实时同步
  • 服务器硬盘进行分区和挂载
  • SpringBoot3后端项目介绍:mybig-event
  • 【MySQL的卸载】
  • 5.k8s控制器-Replicaset-Deployment、pod 反亲和性
  • VLN领域的“ImageNet”打造之路:从MP3D数据集、MP3D仿真器到Room-to-Room(R2R)、RxR、VLN-CE
  • Adobe Acrobat 表单创建与设置