文章目录
- 矩阵奇异性、‘病态’问题描述:
- 常用改善条件数的方法:
- 关于条件数和正则化的概念补充:
矩阵奇异性、‘病态’问题描述:
在实际工程应用中,求解线性方程组 A X = B AX=B AX=B 问题时,其系数矩阵 A A A 或初值矩阵 B B B 一般由实验数据构成,如果矩阵A或B中的元素存在观测误差、仪器的测量误差或计算机本身的误差等,则会导致求得解 X S X_S XS 偏离真实解 X r X_r Xr 。
矩阵条件数反映了矩阵计算中解 X X X 对初值 B B B 的敏感度,矩阵条件数越大,解对初始值的变化越敏感,条件数越小,解受初始值的影响越小,这也就意味着,当初值有小扰动时,方程的解也会保持在一定范围内,不会偏离真值过远。
条件数是区分矩阵“病态”的指标之一,条件数在1附近的问题称为“良态”问题,条件数高的问题称为“病态”问题,条件数趋于无穷大的问题为“奇异”问题。
常用改善条件数的方法:
①添加预条件子,改善条件数,完成解的近似估计;
②进行矩阵分解,完成解的近似估计;
③添加正则化项,改善条件数,完成解的近似估计。
关于条件数和正则化的概念补充:
条件数(Condition number):
条件数是线性方程组Ax=b的解对b中的误差或不确定度的敏感性的度量。数学定义为矩阵A的条件数等于A的范数与A的逆的范数的乘积,即
k
(
A
)
=
∣
∣
A
−
1
∣
∣
⋅
∣
∣
A
∣
∣
k\left( A \right)=\left| \left| A^{-1} \right| \right|\; \cdot \; \left| \left| A \right| \right|
k(A)=∣∣∣∣A−1∣∣∣∣⋅∣∣A∣∣
对应矩阵的3种范数(1范数,2范数,无穷范数),相应地可以定义3种条件数。
数值分析中,一个问题的条件数是该数量在数值计算中的容易程度的衡量,也就是该问题的适定性。一个低条件数的问题称为良态的,而高条件数的问题称为病态(或者说非良态)的。
正则化(Regularization):
在线性代数中,不适定问题通常是由一组线性代数方程定义的,而且这组方程组通常来源于有着很大的条件数的不适定反问题。大条件数意味着舍入误差或其它误差会严重地影响问题的结果。通过正则化的方法可以改善或者减少过度拟合问题。
L0正则化:模型参数中非零参数的个数。
从直观上看,利用非零参数的个数,可以很好的来选择特征,实现特征稀疏的效果,具体操作时选择参数非零的特征即可。但因为L0正则化很难求解,是个NP难问题,因此一般采用L1正则化。L1正则化是L0正则化的最优凸近似,比容易求解,并且也可以实现稀疏的效果。
L1正则化:模型参数中各个参数绝对值之和。
L2正则化:各个参数的平方的和的开方值。