1. 程式人生 > >深入瞭解機器學習之降低損失:迭代方法

深入瞭解機器學習之降低損失:迭代方法

迭代學習可能會讓您想到“Hot and Cold”這種尋找隱藏物品(如頂針)的兒童遊戲。在我們的遊戲中,“隱藏的物品”就是最佳模型。剛開始,您會胡亂猜測(“w1 的值為 0。”),等待系統告訴您損失是多少。然後,您再嘗試另一種猜測(“ 的值為 0.5。”),看看損失是多少。哎呀,這次更接近目標了。實際上,如果您以正確方式玩這個遊戲,通常會越來越接近目標。這個遊戲真正棘手的地方在於儘可能高效地找到最佳模型。

下圖顯示了機器學習演算法用於訓練模型的迭代試錯過程:
在這裡插入圖片描述

圖 1. 用於訓練模型的迭代方法。

我們將在整個機器學習速成課程中使用相同的迭代方法詳細說明各種複雜情況,尤其是處於暴風雨中的藍雲區域。迭代策略在機器學習中的應用非常普遍,這主要是因為它們可以很好地擴充套件到大型資料集。

“模型”部分將一個或多個特徵作為輸入,然後返回一個預測 (y’) 作為輸出。為了進行簡化,不妨考慮一種採用一個特徵並返回一個預測的模型:

我們應該為 b和 w1 設定哪些初始值?對於線性迴歸問題,事實證明初始值並不重要。我們可以隨機選擇值,不過我們還是選擇採用以下這些無關緊要的值:

  • b = 0
  • w1 = 0

假設第一個特徵值是 10。將該特徵值代入預測函式會得到以下結果:

  y' = 0 + 0(10)
  y' = 0

圖中的“計算損失”部分是模型將要使用的損失函式。假設我們使用平方損失函式。損失函式將採用兩個輸入值:

  • y’:模型對特徵 x 的預測
  • y:特徵 x 對應的正確標籤。

最後,我們來看圖的“計算引數更新”部分。機器學習系統就是在此部分檢查損失函式的值,併為 b 和 w1 生成新值。現在,假設這個神祕的綠色框會產生新值,然後機器學習系統將根據所有標籤重新評估所有特徵,為損失函式生成一個新值,而該值又產生新的引數值。這種學習過程會持續迭代,直到該演算法發現損失可能最低的模型引數。通常,您可以不斷迭代,直到總體損失不再變化或至少變化極其緩慢為止。這時候,我們可以說該模型已收斂

要點:
在訓練機器學習模型時,首先對權重和偏差進行初始猜測,然後反覆調整這些猜測,直到獲得損失可能最低的權重和偏差為止。