包括最小二乘法的Ax=b四种解法

求解 A x = b Ax=b Ax=b, A x Ax Ax是预测值, b b b是观测值
最小二乘法本质上是最小化观测值和预测值的差异的平方和

第一种方法:
最小二乘法就是最小化这个东西 ∣ ∣ A x − b ∣ ∣ 2 2 ||Ax-b||_2^2 ∣∣Axb22
∣ ∣ A x − b ∣ ∣ 2 2 = ( A x − b ) T ( A x − b ) = x T A T A x − 2 b T A x + b T b ||Ax-b||_2^2=(Ax-b)^T(Ax-b)=x^TA^TAx-2b^TAx+b^Tb ∣∣Axb22=(Axb)T(Axb)=xTATAx2bTAx+bTb
通过求导可以得到使得上面公式取得最小值的 x ^ \hat{x} x^会有 A T A x ^ = A T b → x ^ = ( A T A ) − 1 A T b A^TA\hat{x}=A^Tb \rightarrow \hat{x}=(A^TA)^{-1}A^Tb ATAx^=ATbx^=(ATA)1ATb
这个算是最小二乘法的通解,构建损失函数,然后求导

二三方法前置知识在章节伪逆中有提及.
第二种通过求A的伪逆 A + A^+ A+:
x ^ = A + A x ^ = A + b \hat{x}=A^+A\hat{x}=A^+b x^=A+Ax^=A+b
在伪逆的几何意义中已经说明,它本身是对向量的有损压缩,因此这个解法是一种近似解,投影丢掉的几个维度表示着误差的存在

第三种方法有一个前提,A的列是独立:
这时候 A T A A^TA ATA是可逆的
那么就有
A + b = ( A T A ) − 1 A T b A^+b=(A^TA)^{-1}A^Tb A+b=(ATA)1ATb
因为 ( A T A ) − 1 A T b = ( A T A ) − 1 A T A x ^ = x ^ = A + b (A^TA)^{-1}A^Tb=(A^TA)^{-1}A^TA\hat{x}=\hat{x}=A^+b (ATA)1ATb=(ATA)1ATAx^=x^=A+b
这时伪逆也可以这么算: A + = ( A T A ) − 1 A T A^+=(A^TA)^{-1}A^T A+=(ATA)1AT
这种方法在伪逆章节中提到是逆的特化左逆
虽然左逆有 A + A = E A^+A=E A+A=E,看起来是严格等于,好像求的不是近似解,实际上它也是近似解,因为左逆对 x x x的变化是无损的,但是不代表它对b的变换也是无损的,从SVD的角度看,左逆其实是先把 x x x转到高维 A x Ax Ax再变回低维 x x x,自然可以保证无损,但是b可是直接从高维 b b b变成低维 A + b A^+b A+b

实际上它从投影的角度来看还有另一种几何解释,这里的 A x Ax Ax是b在A列空间中的投影p,虽然b不在A的列空间中无法求解,但是把b投影到A列空间上那么就可以有解
虽然说它的前提是列独立,但是实际应用中可能会用于列比行多得多的情况,更具体地说是数据的数量比维数大得多的情况

第四种:
给A扩充几行
[ A δ I ] x = [ b 0 ] \begin{bmatrix}A\\\delta I \end{bmatrix}x=\begin{bmatrix}b\\0 \end{bmatrix} [AδI]x=[b0]
m i n ∣ ∣ A x − b ∣ ∣ 2 2 + δ 2 ∣ ∣ x ∣ ∣ 2 2 min ||Ax-b||^2_2+\delta^2||x||^2_2 min∣∣Axb22+δ2∣∣x22
通过求导在导数等于0处可获得, ( A T A + δ 2 I ) x = A T b (A^TA+\delta^2I)x=A^Tb (ATA+δ2I)x=ATb
( A T A + δ 2 I ) x = A T b , 在 δ → 0 得到 x = A + b (A^TA+\delta^2I)x=A^Tb, 在\delta\rightarrow0得到x=A^+b (ATA+δ2I)x=ATb,δ0得到x=A+b

AX=XB是手眼标定问题中常见的形式,其中A和B分别表示机械臂和相机的变换矩阵,X表示待求的手眼关系矩阵。手眼标定的目标是通过已知的机械臂末端姿态和相机观测到的物体姿态,来求机械臂与相机之间的关系。 具体解法可以使用以下方法之一: 1. Tsai-Lenz 方法:这是最经典和常用的手眼标定方法之一。它基于相机和机器人末端执行器在同一个坐标系下的转换关系,通过最小二乘法来求手眼关系矩阵X。Tsai-Lenz 方法的具体步骤包括采集一系列机械臂和相机的位姿数据,然后对数据进行处理和分析,并使用线性代数方法求X。 2. Zhang 方法:这是另一种常用的手眼标定方法。它通过将AX=XB转化为齐次变换矩阵的形式,然后使用SVD(奇异值分)来求手眼关系矩阵X。Zhang 方法需要采集多组机械臂和相机的位姿数据,并对数据进行预处理以提高精度。 3. 耦合标定方法:这种方法结合了传统的Tsai-Lenz 方法和Zhang 方法,通过采集机械臂与相机同时运动的数据,来求手眼关系矩阵X。这种方法可以进一步提高标定精度,并且对于机器人和相机之间的刚性约束更为适用。 这些方法都有详细的理论基础和实现步骤,具体选择哪种方法取决于应用需求和实际情况。需要注意的是,手眼标定是一个复杂的问题,精确度受到许多因素的影响,包括测量误差、系统误差、噪声等。因此,在实际应用中,需要综合考虑这些因素,并采取合适的校准策略来提高标定精度。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值