最小二乘擬合(矩陣)
阿新 • • 發佈:2019-02-16
最小二乘公式
為什麼
XB=Y 不直接得出B=X−1Y ?
答:因為X為m×n的矩陣,是不存在逆矩陣的。Tips:
如果一個矩陣不是方陣,是不存在逆矩陣的 如果對其求逆,就是求它的偽逆
比如一個2×3的矩陣,它的偽逆矩陣就是一個3×2的矩陣,兩者相乘之後得到2×2的單位矩陣
矩陣X必須是列滿秩矩陣,否則 TX
若A為m×n的矩陣,b為m×1的矩陣,則Ax=b表達了一個線性方程組,它的
當Ax=b有解時(即矩陣[A|b]的秩與A的秩相同),Ax=b與
而當Ax=b無解時,
最小二乘法和梯度下降法
1 、本質相同:兩種方法都是在給定已知資料(因變數 & 自變數)的前提下對因變數算出出一個一般性的估值函式。然後對給定的新的自變數用估值函式對其因變數進行估算。
2、 目標相同:都是在已知資料的框架內,使得估算值與實際值的差的平方和儘量更小(事實上未必一定要使用平方),估算值與實際值的差的平方和的公式為:
1、實現方法和結果不同:
最小二乘法 是直接對error求導找出全域性最小,是非迭代法 。梯度下降法 是一種迭代法 ,有一個學習的過程,先由給定引數計算一個error,然後向該error下降最快的方向調整引數值,在若干次迭代之後找到區域性最小。
梯度下降法的缺點是到最小點的時候收斂速度變慢,並且對初始點的選擇極為敏感,其改進大多是在這兩方面下功夫。
參考:
遇到的問題:
TypeError: No loop matching the specified signature and casting was found for ufunc solve1
【原因】:
矩陣運算前沒有統一資料型別
【解決】:
X = X.astype(float)
參考:
性質
- 可逆矩陣的秩等於階數
- 可逆矩陣為滿秩矩陣
- 奇異矩陣為降秩矩陣
- 當矩陣A的行列式|A|不等於0時,才存在可逆矩陣
計算可逆矩陣報錯
- 檢查矩陣是否可逆(行列式的值不為0或者為滿秩矩陣