1. 程式人生 > >AI - MLCC - 02 - 深入瞭解機器學習 (Descending into ML)

AI - MLCC - 02 - 深入瞭解機器學習 (Descending into ML)

線性迴歸

人們早就知曉,相比涼爽的天氣,蟋蟀在較為炎熱的天氣裡鳴叫更為頻繁。

數十年來,專業和業餘昆蟲學者已將每分鐘的鳴叫聲和溫度方面的資料編入目錄。

Ruth 阿姨將她喜愛的蟋蟀資料庫作為生日禮物送給您,並邀請您自己利用該資料庫訓練一個模型,從而預測鳴叫聲與溫度的關係。

首先建議您將資料繪製成圖表,瞭解下資料的分佈情況:

每分鐘啁啾(x軸)與溫度(y軸)的原始資料。

圖 1. 每分鐘的鳴叫聲與溫度(攝氏度)的關係。

毫無疑問,此曲線圖表明溫度隨著鳴叫聲次數的增加而上升。鳴叫聲與溫度之間的關係是線性關係嗎?

是的,您可以繪製一條直線來近似地表示這種關係,如下所示:

建立每分鐘啁啾(x軸)與溫度(y軸)關係的最佳線。

圖 2. 線性關係。

事實上,雖然該直線並未精確無誤地經過每個點,但針對我們擁有的資料,清楚地顯示了鳴叫聲與溫度之間的關係。

只需運用一點代數知識,您就可以將這種關係寫下來,如下所示:

按照機器學習的慣例,您需要寫一個存在細微差別的模型方程式:

訓練與損失

簡單來說,訓練模型表示通過有標籤樣本來學習(確定)所有權重和偏差的理想值。
在監督式學習中,機器學習演算法通過以下方式構建模型:檢查多個樣本並嘗試找出可最大限度地減少損失的模型;這一過程稱為經驗風險最小化。

損失是對糟糕預測的懲罰。
也就是說,損失是一個數值,表示對於單個樣本而言模型預測的準確程度。
如果模型的預測完全準確,則損失為零,否則損失會較大。
訓練模型的目標是從所有樣本中找到一組平均損失“較小”的權重和偏差。
例如,圖 3 左側顯示的是損失較大的模型,右側顯示的是損失較小的模型(紅色箭頭表示損失。藍線表示預測)。

圖 3. 左側模型的損失較大;右側模型的損失較小。

請注意,左側曲線圖中的紅色箭頭比右側曲線圖中的對應紅色箭頭長得多。
顯然,相較於左側曲線圖中的藍線,右側曲線圖中的藍線代表的是預測效果更好的模型。

您可能想知道自己能否建立一個數學函式(損失函式),以有意義的方式彙總各個損失。

平方損失:一種常見的損失函式

 

涉及的關鍵字詞

偏差 (bias)
距離原點的截距或偏移。偏差(也稱為偏差項)在機器學習模型中用 b 或 w0 表示。
例如,在下面的公式中,偏差為 b:


請勿與預測偏差混淆。


權重 (weight)
線性模型中特徵的係數,或深度網路中的邊。
訓練線性模型的目標是確定每個特徵的理想權重。
如果權重為 0,則相應的特徵對模型來說沒有任何貢獻。

線性迴歸 (linear regression)


一種迴歸模型,通過將輸入特徵進行線性組合輸出連續值。

推斷 (inference)
在機器學習中,推斷通常指以下過程:通過將訓練過的模型應用於無標籤樣本來做出預測。
在統計學中,推斷是指在某些觀測資料條件下擬合分佈引數的過程。(請參閱維基百科中有關統計學推斷的文章。)

經驗風險最小化 (ERM, empirical risk minimization)
用於選擇可以將基於訓練集的損失降至最低的函式。與結構風險最小化相對。

損失 (Loss)
一種衡量指標,用於衡量模型的預測偏離其標籤的程度。或者更悲觀地說是衡量模型有多差。
要確定此值,模型必須定義損失函式。
例如,線性迴歸模型通常將均方誤差用作損失函式,而邏輯迴歸模型則使用對數損失函式。

均方誤差 (MSE, Mean Squared Error)
每個樣本的平均平方損失。MSE 的計算方法是平方損失除以樣本數。
TensorFlow Playground 顯示的“訓練損失”值和“測試損失”值都是 MSE。

平方損失函式 (squared loss)
線上性迴歸中使用的損失函式(也稱為 L2 損失函式)。
該函式可計算模型為有標籤樣本預測的值和標籤的實際值之差的平方。
由於取平方值,因此該損失函式會放大不佳預測的影響。
也就是說,與 L1 損失函式相比,平方損失函式對離群值的反應更強烈。

訓練 (training)
確定構成模型的理想引數的過程。

 

檢查理解情況

問題

對於以下曲線圖中顯示的兩個資料集,哪個資料集的均方誤差 (MSE) 較高

解答