機器學習簡介(2)

監督學習
在本章節中,我們將學習監督學習,並討論一些成本函數和梯度下降。 我們還將學習2種簡單算法:
線性迴歸(用於迴歸)、Logistic迴歸(用於分類)。瞭解監督學習的第一件事是每個樣本數據點x都有預期的輸出或標籤y,換句話說,您的訓練由x(i),y(i)對組成。

例如,考慮下表:
在這裏插入圖片描述
該表(或培訓集)顯示了房屋的大小及其價格。 因此,大小爲2104英尺的房屋價格爲460。想法是我們可以使用這樣的數據來創建模型,這些模型可以預測來自不同輸入(例如:英尺的大小)的某些結果(即:價格)。

線性迴歸
迴歸是關於從某些輸入返回連續的標量數。 我們將學習的模型或假設將根據線性規則預測值。 但是,有時線性模型不足以捕獲數據的基本性質。

在這裏插入圖片描述

基本上,線性迴歸會嘗試創建一條適合訓練數據的直線,例如:
在這裏插入圖片描述

監督學習的全部思想是我們嘗試從訓練集中學習最佳參數(在這種情況下爲theta)。
成本函數
在討論如何學習假設的參數(也稱爲權重)之前,我們需要知道如何評估當前的權重集是否已經做好。 完成這項工作的功能稱爲損失或成本功能。 基本上,它將返回介於0(無錯誤)和無窮大(真的很差)之間的標量值。
下面給出了此類功能的示例:
在這裏插入圖片描述

這個特定的成本函數稱爲均方誤差損失,實際上對於迴歸問題非常有用。
在訓練過程中,我們希望通過不斷更改theta參數來最大程度地減少損失。 此曲面函數的另一個不錯的功能是它是一個凸函數,因此可以保證不超過一個最小值,這也是全局最小值。 這使我們更容易進行優化。

梯度下降
梯度下降是一種簡單的算法,它將嘗試查找函數的局部最小值。 我們使用梯度下降來最小化損失函數。 在梯度下降時要觀察的一個重要特徵是,它經常會陷於遇到的第一個局部最小值中。 但是,不能保證它找到的局部最小值是最佳的(全局)最小值。
在這裏插入圖片描述
梯度下降需要您要最小化的函數的一階導數。 因此,如果我們想通過更改參數來最小化某些功能,則需要針對這些參數派生此功能。
需要注意的一件事是,該算法將在訓練集中的所有樣本上執行,因此對於較大的數據集無法很好地擴展。

正則化
這是一種方法,它可以通過強制您的假設參數具有很小的值並強制模型使用所有可用參數來幫助進行過度擬合。 要使用正則化,您只需要在培訓期間在成本/損失功能中添加一個額外的術語即可。 下面是一個帶有附加正則項的均方誤差損失函數示例。
在這裏插入圖片描述
也是交叉熵損失函數的正規化版本:
在這裏插入圖片描述
非線性假設
有時我們的假設需要具有非線性項才能預測更復雜的分類/迴歸問題。 例如,我們可以將Logistic迴歸與二次項結合使用來捕獲這種複雜性。 如前所述,這不適用於大量功能。
在這裏插入圖片描述
例如,如果我們想使用邏輯迴歸對100x100灰度圖像進行分類,則需要5000萬個參數來包含二次項。 要進行如此數量的功能訓練,至少需要多出10倍的圖像(5億張),以避免過擬合。 而且計算成本將非常高。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章