深度學習知識點掃盲 病態 病態條件

2021-10-09 16:13:19 字數 1904 閱讀 5789

2.數學解釋

參考資料

先看看花書大致的內容如下:

關於病態,書中多次提及這個概念,實際上,在cv領域大部分問題都是非適定問題(ill-posed problem)。但是書中對其的解釋卻不是很直觀。當(4.2)式的值很大的時候,一種比較有特點的網路就是這個樣子:

對於這樣的網路,訓練中存在的問題是對於不同的權重引數,需要的學習率可能不同,對於平坦的誤差曲面需要較大的學習率來加速收斂,而這個較大的學習率可能在錯誤曲面的峽谷區發散,此時單一學習率的方法不能很好地訓練模型。

推薦乙個優秀的部落格。我這裡對其內容進行乙個大致的整理。

病態問題(ill-conditioned problem):問題的解關於條件非常敏感。條件(或資料)中即使存在極微妙的雜訊,也會對問題的解造成劇烈的變化。

反之,關於條件不敏感的問題,我們稱之為良態問題(well-conditioned problem)

顯然,我們能把這兩個概念拓展至病態/ 良態系統(演算法),「條件」即系統的輸入,「問題的解」即系統的輸出。

舉一些例子:

再延伸至機器學習演算法:

解存在;

解是唯一的;

解連續依賴於輸入(解隨著初始條件的改變而連續改變)(the solution depends continuously on the input)。

只要不滿足其中乙個條件,那麼該問題就是非適定的(ill-posed)

注意:(非)適定問題既可以是良態的,也可以是病態的。

既然已經定義了條件數,定義了什麼是病態,什麼是良態,我們不禁會想,引起病態的根源是什麼,或者說什麼樣的矩陣具備病態特徵。

當然,你可能會說,前面不是定義了條件數較大的矩陣屬於病態矩陣嗎,這不是多此一問嗎?

過大的條件數會導致矩陣病態只是我們的結論,並不是根本的原因。最根本的原因在於矩陣的列之間的相關性過大

2.3.1 示例

2.3.2 特徵值和特徵向量

可以看出,輸入分別沿著兩個特徵向方向增加1%後,而特徵向量ξ1、ξ2對應的特徵值(λ1=1300)遠大於特徵向量ξ2對應的特徵值(λ1=1.57)。

因此,當矩陣的特徵值差異過大時,即使輸入沿著較大特徵值的方向有微小的改變,也會導致最終的輸出結果的較大改變。原因很簡單,較大的特徵值意味著對應特徵方向上較大的自由度。

2.3.3 機器學習中的應用

《深度學習》(花書)

矩陣論基礎知識 病態矩陣與條件數

現在有線性系統 ax b,解方程 很容易得到解為 x1 100,x2 200.如果在樣本採集時存在乙個微小的誤差,比如,將 a 矩陣的係數 400 改變成 401 則得到乙個截然不同的解 x1 40000,x2 79800.當解集 x 對 a 和 b 的係數高度敏感,那麼這樣的方程組就是病態的 il...

知識點掃盲

1.explicit c 中,單引數建構函式 或者除了第乙個引數外其餘引數都有預設值的多參建構函式 承擔了兩個角色。1 是個構造器 2 是個預設且隱含的型別轉換操作符。class test1 普通建構函式 private int num class test2 explicit 顯式 建構函式 pr...

深度學習知識點

1.epoch設定 epoch太小,可能欠擬合,但可能因為太慢不得不減小epoch epoch太大,會過擬合,導致準確率下降。如下圖,顯然epoch 2時準確率下降,已經過擬合了 2.學習率選擇 fast.ai中有乙個learn.lr find 找學習率 x 和loss y 的曲線中斜率最大的即可。...