按部就班的吳恩達機器學習網課用於討論(6)
- 2020 年 4 月 8 日
- 筆記
梯度下降的高級優化
三種高級算法的優點:

這些高級算法,有對應的庫實現。使用方法如:

其中的fminunc函數提供了優化算法。參考:https://www.zhihu.com/question/45955668?sort=created
多類別分類
多類別分類,使用多個分類器進行分類,當輸入一個樣本x,輸入到所有的分類器,選擇一個最大的h(x),作為對應的預測類別。

過擬合問題的處理
如圖所示,
特徵減少:丟棄特徵,手工保留特徵,使用模型算法等。正則化:保留所有特徵,但降低參數的量級。

正則化線性回歸
正則化在損失函數J中,添加了theta項,並使用lambda調節theta的大小。
目標是使得損失函數最小化,則更大的lambda意味着得出更小的theta,而在線回歸中,theta是作用在輸入變量x上的,因此使得輸入特徵x對輸出預測值的影響減少,實現正則化。

在實現過程中,偏移項x0,應該是不屬於特徵的一部分,因此不對theta0做正則化了。

變化形式可以發現,認為學習率alpha,控制theta大小的lambda,數據條目m,與1之間的組合表達式結果基本為0.99,那可以說是theta每次更新是使用其折扣和梯度的共同作用,以防止過擬合。

對應的之前和之後的正規方程如下:

正則化邏輯回歸
給出相似的代價函數:

類似,對其求導,結合之前的theta,進行梯度下降,更新theta:

但是h(x)的值和線性回歸不同,使用了sigmoid對線性做了變換。如下:

在實現過程中,仍然可以採用fminunc函數,傳入按照要求的自定義的costFunction,和其它參數,進行高級優化。
只是現在使用的costFunction中,含有了正則化部分,用於降低過擬合。
一個costFunction的實例如下:

神經網絡
在線性回歸,邏輯回歸等的線性過程中,根據數據特徵,有時候可能需要構建更複雜的模型,如構建二次,三次等的表達式模型,來擬合具體的數據,但是這樣引入了更高的計算負荷。如下的公式,進行高次方的排列組合,將很大的加重數據計算量,以便正確的得到模型:

所以使用神經網絡,能更通用的表示模型吧。。