上一單元
介紹了損失的概念。在本單元中,您將了解機器學習模型如何以迭代方式降低損失。
迭代學習可能會讓您想到「hot and cold」這種尋找隱藏物品(如頂針)的兒童遊戲。在我們的遊戲中,「隱藏的物品」就是最佳模型。剛開始,您會胡亂猜測(「
w1 的值為 0。」),等待系統告訴您損失是多少。然後,您再嘗試另一種猜測(「
w1 的值為 0.5。」),看看損失是多少。哎呀,這次更接近目標了。實際上,如果您以正確方式玩這個遊戲,通常會越來越接近目標。這個遊戲真正棘手的地方在於盡可能高效地找到最佳模型。
下圖顯示了機器學習演算法用於訓練模型的迭代試錯過程:
圖 1. 用於訓練模型的迭代方法。
我們將在整個機器學習速成課程中使用相同的迭代方法詳細說明各種複雜情況,尤其是處於暴風雨中的藍雲區域。迭代策略在機器學習中的應用非常普遍,這主要是因為它們可以很好地擴充套件到大型資料集。
「模型」部分將乙個或多個特徵作為輸入,然後返回乙個** (y') 作為輸出。為了進行簡化,不妨考慮一種採用乙個特徵並返回乙個**的模型:
y′=b+w1x1
我們應該為
b 和
w1 設定哪些初始值?對於線性回歸問題,事實證明初始值並不重要。我們可以隨機選擇值,不過我們還是選擇採用以下這些無關緊要的值:
假設第乙個特徵值是 10。將該特徵值代入**函式會得到以下結果:
y
' = 0 + 0(10)y'=
0圖中的「計算損失」部分是模型將要使用的損失函式。假設我們使用平方損失函式。損失函式將採用兩個輸入值:
最後,我們來看圖的「計算引數更新」部分。機器學習系統就是在此部分檢查損失函式的值,並為
b 和
w1 生成新值。現在,假設這個神秘的綠色框會產生新值,然後機器學習系統將根據所有標籤重新評估所有特徵,為損失函式生成乙個新值,而該值又產生新的引數值。這種學習過程會持續迭代,直到該演算法發現損失可能最低的模型引數。通常,您可以不斷迭代,直到總體損失不再變化或至少變化極其緩慢為止。這時候,我們可以說該模型已收斂。
假設我們有時間和計算資源來計算
w1 的所有可能值的損失。對於我們一直在研究的回歸問題,所產生的損失與
w1 的圖形始終是凸形。換言之,圖形始終是碗狀圖,如下所示:
圖 2. 回歸問題產生的損失與權重圖為凸形。
凸形問題只有乙個最低點;即只存在乙個斜率正好為 0 的位置。這個最小值就是損失函式收斂之處。
通過計算整個資料集中
w1 每個可能值的損失函式來找到收斂點這種方法效率太低。我們來研究一種更好的機制,這種機制在機器學習領域非常熱門,稱為梯度下降法。
梯度下降法的第乙個階段是為
w1 選擇乙個起始值(起點)。起點並不重要;因此很多演算法就直接將
w1 設為 0 或隨機選擇乙個值。下圖顯示的是我們選擇了乙個稍大於 0 的起點:
圖 3. 梯度下降法的起點。
然後,梯度下降法演算法會計算損失曲線在起點處的梯度。簡而言之,梯度是偏導數的向量;它可以讓您了解哪個方向距離目標「更近」或「更遠」。請注意,損失相對於單個權重的梯度(如圖 3 所示)就等於導數。
▸詳細了解偏導數和梯度。
請注意,梯度是乙個向量,因此具有以下兩個特徵:
梯度始終指向損失函式中增長最為迅猛的方向。梯度下降法演算法會沿著負梯度的方向走一步,以便盡快降低損失。
圖 4. 梯度下降法依賴於負梯度。
為了確定損失函式曲線上的下乙個點,梯度下降法演算法會將梯度大小的一部分與起點相加,如下圖所示:
圖 5. 乙個梯度步長將我們移動到損失曲線上的下乙個點。
然後,梯度下降法會重複此過程,逐漸接近最低點。
機器學習速成課程MLCC(3) 如何降低損失
迭代方法 預計用時 10 分鐘 在本單元中,您將了解機器學習模型如何以迭代方式降低損失。迭代學習可能會讓您想到 hot and cold 這種尋找隱藏物品 如頂針 的兒童遊戲。在我們的遊戲中,隱藏的物品 就是最佳模型。剛開始,您會胡亂猜測 w1 的值為 0。等待系統告訴您損失是多少。然後,您再嘗試另...
谷歌機器學習速成課程 3降低損失 迭代方法
迭代學習可能會讓您想到 hot and cold 這種尋找隱藏物品 如頂針 的兒童遊戲。在我們的遊戲中,隱藏的物品 就是最佳模型。剛開始,您會胡亂猜測 w 1 w1 的值為 0。等待系統告訴您損失是多少。然後,您再嘗試另一種猜測 w 1 w1 的值為 0.5。看看損失是多少。哎呀,這次更接近目標了。...
Google機器學習課程 機器學習術語
監督式 機器學習定義 機器學習系統通過學習如何組合輸入資訊來對從未見過的資料做出有用的 標籤是我們要 的事物,即簡單線性回歸中的 y 變數。特徵是輸入變數,即簡單線性回歸中的 x 變數。樣本是指資料的特定例項 x 模型定義了特徵與標籤之間的關係。訓練是指建立或學習模型。也就是說,向模型展示有標籤樣本...