最优化方法——Least Squares

  • 前言
  • 一、实验目的与要求
  • 二、问题
  • 三、模型建立与求解
    • 3.1 解决问题思路
    • 3.2 模型建立
      • 3.2.1 最小二乘法问题
    • 3.3 实验过程
      • 3.3.1 对矩阵A进行QR分解
      • 3.3.2 使用梯度下降法逼近最优解
      • 3.3.3 分析“近似解”与“准确解”之间的误差
    • 3.4 性能分析
    • 3.5 存在问题
  • 四、小结

肝!


前言

Matrix Inverse
Orthogonal Matrices
QR Factorization

最优化太顶了…

【注】以下内容全部非官方,纯属记录个人角度的理解,如有失偏颇,还望dalao批评指正!


一、实验目的与要求

实验报告开始了…
1.熟练最小二乘法优化模型的意义和求解手段;
2.掌握最小二乘法的正规方程,能实现代码对其求解;
3.掌握最速梯度下降法求解无约束最小二乘法问题。

二、问题

读取附件“MatrixA_b.mat”文件中的矩阵A和向量b。建立关于矩阵 , 向量 ,未知向量 最小二乘优化模型:

1)通过最小二乘法的正规方程,求出优化模型的准确解;
2)利用梯度下降法迭代求出模型“近似解”,通过设置迭代停止条件,分析“近似解”与“准确解”之间的误差。

三、模型建立与求解

3.1 解决问题思路

  • 问题一:
    也就是使用最小二乘法,将目标函数求导值为0后得到的x向量。这个时候需要我们进行公式推导和一个反向回代求解的过程。
  • 问题二:
    问题二主要是使用梯度下降法求解最小目标函数值的问题。我们需要设置迭代终止条件来停止迭代,获得“近似解”。

3.2 模型建立

3.2.1 最小二乘法问题

- 目标函数

- 求解过程
1) 求解f(x)f(x)f(x)的梯度,得到最优解KaTeX parse error: Expected 'EOF', got '̂' at position 3: x ̲̂的表达式


2) 残余向量

3) 正规方程

4) 求解正规方程


5) 梯度下降法逼近准确解



3.3 实验过程

3.3.1 对矩阵A进行QR分解

3.3.2 使用梯度下降法逼近最优解



3.3.3 分析“近似解”与“准确解”之间的误差


3.4 性能分析


3.5 存在问题

四、小结

本次实验主要针对最小二乘法和梯度下降法来求解无约束的最小目标的问题。通过最小二乘法的正规方程可以求出优化模型的准确解,但是最小二乘法也有一定的限制,比如保证ATAA^T AATA是一个可逆阵,不然无法使用最小二乘法来求解问题,最小二乘法对异常点也比较敏感。但是最小二乘法从理论上可以得到全局最优的闭式解,因为它求偏导,然后使偏导为0,得到的就是理论上的“准确解”,所以通过求正规方程即可。
求正规方程又有两种方法可供选择,为了避免构造Gram矩阵,所以采用第二种,对AAA进行QR分解。这个时候只需要求解Rx=QTbRx=Q^T bRx=QTb等式,然而R矩阵是一个上三角矩阵,所以采用后向回代法即可得到“准确解”xxx.
对于最速梯度下降法求解无约束最小二乘法问题,最终结果为局部最优。因为梯度下降需要一个初始解(这个解往往与“准确解”之间有着较大的距离),所以通过迭代更新来逐步进行的参数优化方法尽量“减小”误差。

对于性能方面,其实,在计算量方面,两者有很大的不同,因而在面对给定的问题时,可以有选择性的根据问题的性质选择两种方法中的一个。
具体来说,最小二乘法中需要计算一个矩阵的逆,而计算一个矩阵的逆是相当耗费时间的,而且求逆也会存在数值不稳定的情况,因而这样的计算方法在应用中有时不值得提倡.
相比之下,梯度下降法虽然有一些弊端,迭代的次数可能也比较高,但是相对来说计算量并不是特别大.而且,在最小二乘法这个问题上,收敛性有保证。故在大数据量的时候,反而是梯度下降法 (其实应该是其他一些更好的迭代方法) 更加值得被使用。

其实最小二乘法和梯度下降法都是求解无约束最小目标优化问题的好方法,主要可以使用在拟合和规划类问题中,在打数学建模的时候,梯度下降和牛顿法都会作为传统优化类算法被广泛使用。最小二乘法是线性回归做拟合的基础,针对预测类问题也有广泛的使用。

That’s all!Bye~
码字不易,记得点赞+关注+收藏+好评(๑•̀ㅂ•́)و✧

最优化方法——Least Squares相关推荐

  1. 最优化方法系列:Adam+SGD-AMSGrad 重点

    https://blog.csdn.net/wishchin/article/details/80567558 自动调参的Adam方法已经非常给力了,不过这主要流行于工程界,在大多数科学实验室中,模型 ...

  2. 【Math】常见的几种最优化方法

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 作者:poll 来源:https://www.cnblogs.co ...

  3. R语言层次聚类:通过内平方和(Within Sum of Squares, WSS)选择最优的聚类K值、以内平方和(WSS)和K的关系并通过弯头法(elbow method)获得最优的聚类个数

    通过内平方和(Within Sum of Squares, WSS)选择最佳的聚类K值.以内平方和(WSS)和K的关系并通过弯头法(elbow method)获得最佳的聚类个数 目录

  4. R构建加权最小二乘回归模型(Weighted Least Squares Regression)

    R构建加权最小二乘回归模型(Weighted Least Squares Regression) 目录 R构建加权最小二乘回归模型(Weighted Least Squares Regression)

  5. 数学知识--Methods for Non-Linear Least Squares Problems(第三章)

    Methods for Non-Linear Least Squares Problems 非线性最小二乘问题的方法 2nd Edition, April 2004 K. Madsen, H.B. N ...

  6. 数学知识--Methods for Non-Linear Least Squares Problems(第二章)

    Methods for Non-Linear Least Squares Problems 非线性最小二乘问题的方法 2nd Edition, April 2004 K. Madsen, H.B. N ...

  7. 数学知识--Methods for Non-Linear Least Squares Problems(第一章)

    Methods for Non-Linear Least Squares Problems 非线性最小二乘问题的方法 2nd Edition, April 2004 K. Madsen, H.B. N ...

  8. [LeetCode]Perfect Squares

    题目链接:Perfect Squares 题目内容: Given a positive integer n, find the least number of perfect square numbe ...

  9. 无约束最优化方法-牛顿法

     无约束最优化算法-Newton法原理及c++编程实现 2012-12-14 13:04 6536人阅读 评论(5) 收藏 举报 本文章已收录于: 分类: [算法](27) 作者同类文章X 版权声 ...

最新文章

  1. Kotlin学习笔记-基础语法
  2. c#操作mysql 执行语句_c# 数据库编程(通过SqlCommand 执行DML语句)
  3. 玩转小程序转发——小程序探索
  4. win7安装mysql5.8
  5. #386. 【UNR #3】鸽子固定器
  6. 揭秘赚钱的技巧,学会让钱自己进来
  7. WinForm支持拖拽效果
  8. WebApp前端页面性能优化建议
  9. latex 基本用法
  10. 斯坦福大学面向Tensorflow深度学习研究课程(2018)
  11. 3ds Max Graphic Device Error 怎么解决(设置问题)
  12. HTTP协议中URI和URL的区别
  13. U盘文件被隐藏是怎么回事?怎样恢复被隐藏文件?
  14. 落户雄安,千方科技助力新区打造智慧出行样板
  15. 数学模型学习——图与网络
  16. 文件上传案例(java)
  17. Android深入源码分析理解Aidl整体调用流程(雷惊风)
  18. 戴蒙德对新冠疫情等的分析与看法笔记
  19. 密集预测任务的多任务学习综述
  20. java编写md5加密解密算法

热门文章

  1. java 生成mac地址
  2. 根据txt文件内文件名,提取对应文件至新的文件夹中
  3. Gephi丰富的插件一瞥
  4. 猪头儿子CSP-J2019复赛流程
  5. c语言入门第1讲,第1讲-c语言入门.ppt
  6. Android 内存修改与一键修改
  7. 第十一章:项目风险管理 - (11.2 识别风险)
  8. java 判断 小数_java判断是否是小数
  9. centos8 安装新版bind9源码
  10. LabVIEW卸载失败后,安装重新NI Package Manager完成卸载的解决办法