最优化方法实验四--最小二乘法实验

本文介绍了最小二乘法及其正规方程求解,探讨了梯度下降法在无约束最小二乘问题中的应用,包括QR分解和Gram矩阵的使用,以及如何通过线性搜索确定最优步长。通过实例展示了梯度下降法求解的迭代过程和结果与正规方程的对比。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 实验目的与要求

1.熟练最小二乘法优化模型意义和求解手段

2.掌握最小二乘法的正规方程,能实现代码对其求解;

3.掌握最梯度下降法求解无约束小二乘法问题。

 问题

模型建立求解

解决问题思路,模型建立性能分析,存在问题方面进行阐述;梯度下降法迭代求解,可以设置迭代次数相邻迭代解之间“相对接近程度”\left \| x^{k}-x^{k+1} \right \|_{2}/\left \| x^{k} \right \|_{2}作为迭代停止条件;代码不要在报告里面,可以作为附件提交

1、定理、定义引入

Gram矩阵的定义:

若矩阵B=A^{T}A,则B为Gram矩阵。每个Gram矩阵都是半正定的,即

                               \forall x:x^{T}Bx=x^{T}A^{T}Ax=\left \| Ax \right \|_{2}^{2}\geq 0

若要使Gram矩阵为正定的,则要满足:

                            \forall x\neq 0:x^{T}Bx=x^{T}A^{T}Ax=\left \| Ax \right \|_{2}^{2}> 0

即A是列向量无关的。正定矩阵都是非奇异的。

矩阵QR分解的定义(具体参考文章矩阵QR分解):

QR分解是将一个列向量无关的矩阵A\in R^{m\times n}分解成具有标准正交列向量的矩阵Q和上三角矩阵R(对角线元素不为0)的矩阵分解方法,即A=QR:

          A=\begin{bmatrix} a_{1} & a_{2} & \cdots & a_{n} \end{bmatrix} =\begin{bmatrix} q_{1} & q_{2} & \cdots & q_{n} \end{bmatrix}\begin{bmatrix} R_{11}& R_{12} & \cdots & R_{1n}\\ 0& R_{22} & \cdots & R_{2n}\\ \vdots & \vdots & \ddots & \vdots \\ 0& 0 & \cdots & R_{nn} \end{bmatrix}

a_{1},a_{2} , \cdots , a_{n}为A的列且线性独立,q_{1},q_{2} , \cdots , q_{n}为Q的列且两两正交,所以有:

              Q^{T}Q=\begin{bmatrix} q_{1}^{T}q_{1} & q_{1}^{T}q_{2} & \cdots &q_{1}^{T}q_{n} \\ q_{2}^{T}q_{1} & q_{2}^{T}q_{2} & \cdots &q_{2}^{T}q_{n} \\ \vdots & \vdots & \ddots & \vdots \\ q_{n}^{T}q_{1} & q_{n}^{T}q_{2} & \cdots &q_{n}^{T}q_{n} \end{bmatrix}=\begin{bmatrix} 1 & 0 &\cdots & 0\\ 0 & 1 & \cdots & 0\\ \vdots & \vdots &\ddots &\vdots \\ 0 & 0&\cdots & 1 \end{bmatrix}=I

Q矩阵可逆且Q^{T}与Q互为逆矩阵,R=Q^{-1}A=Q^{T}A

定理1:设函数f(x)\hat{x}处可微,则\triangledown f(\hat{x})=0\hat{x}=\underset{x\in R^{n}}{argmin}f(x)的必要条件

证明:将函数f(x)在\hat{x}处一阶泰勒展开,有:

                       

### 最小二乘法最优化实验中的应用 #### 应用背景 最小二乘法是一种广泛应用于数据拟合的技术,旨在找到一条最佳拟合给定数据集的曲线。这种方法通过最小化观测值与模型预测值之间的平方差来确定最优参数组合[^1]。 #### 数学基础 当处理多变量线性回归问题时,假设存在 \(n\) 个自变量 \(\{x_1, x_2,...,x_n\}\),以及对应的因变量 \(y\) 的关系可以表示为: \[ y = a_1 x_1 + a_2 x_2 + ... + a_n x_n + b \] 其中,\(a_i (i=1...n)\) 是待估计的系数,而 \(b\) 表示截距项。此表达式描述了一个高维度空间内的超平面结构[^3]。 #### Python实现案例 为了展示如何利用Python库`scipy.optimize.minimize`来进行基于最小二乘准则的最佳参数搜索,下面给出一段具体的代码片段作为示范: ```python from scipy.optimize import least_squares import numpy as np def model(params, t): """定义要拟合的数据模型""" A, B = params return A * np.exp(-B*t) def residuals(params, t, data): """计算残差向量""" return model(params,t)-data # 假设已知时间序列t和对应测量值data time_points = np.array([0., 1., 2., 3., 4.]) measured_values = np.array([5., 3.7, 2.8, 2.3, 1.9]) initial_guesses=[4,-0.5] # 对A,B初始猜测值设定 result = least_squares(residuals, initial_guesses, args=(time_points, measured_values)) print("Fitted Parameters:", result.x) ``` 上述例子展示了怎样构建一个简单的指数衰减模型并采用最小二乘算法寻找最适合该组数据的两个未知数——振幅(A)和衰减速率(B)[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值