所謂監督學習,就是先利用有標簽的訓練數據學習得到一個模型,然後使用這個模型對新樣本進行預測。在本質上,監督學習的目標在於,構建一個由輸入到輸出的映射,該映射用模型來表示。
模型屬於由輸入空間到輸出空間的映射集合,這個集合就是假設空間(hypothesis space)。假設空間的確定,就意味著學習范圍的確定。而如何在假設空間中找到最好的映射,這就是監督學習的最大動機所在。
對於監督學習來說,所構建的模型通常在訓練集中學習,調整模型參數,而在測試數據集中進行預測驗證。因此,訓練集通常用如下公式的方式進行描述:
T ={(x1, y1),(x2, y2),...,(xj, yj),...(xm, ym)}
在學習過程中需要使用訓練數據,而訓練數據往往是人為給出的。在這個訓練集中,系統的預期輸出(即標簽信息)已經事先給定,如果模型的實際輸出與預期不符(二者有差距),那麼模型就有責任“監督”學習系統重新調整模型參數,直至二者的誤差在可容忍的范圍之內。因此,預期輸出(標簽信息)也被稱為“教師信號”。
監督學習的流程框架大致分為兩個部分—學習和預測,如圖 1 所示。具體來說:
圖 1:監督學習的流程框架
【絕對有效】免費領取Python學習資源
前面講過,如果輸入變量和輸出變量是不同的類型(既可以是連續的,也可以是離散的),那麼人們通常會根據輸入和輸出變量的不同類型,給預測任務賦予不同的名稱,如分類、回歸、標註。
舉例來說,詩仙李白的那首《夢遊天姥吟留別》中有一句“雲青青兮欲雨”,如果我們用機器學習的角度來解析它,這個“雲青青”就是輸入,“青青”就是雲的特征,而“雨”就是我們的預測結果。在這個問題中,我們想得到的輸出是天氣狀態,它可能是晴朗、陰或雨等,這些狀態是離散值,非此即彼,所以這就是一個典型的分類問題。
我們還拿詩仙李白的詩歌來說事。他有一首《秋浦歌》,裡面有一句“白發三千丈,緣愁似個長”,假設這個“白發”是我們提取的特征,“三千丈”就是特征值,而“愁”是我們要預測的輸出。那麼到底有多愁呢?有一絲絲愁?有點愁?比較愁?深愁?其實它們之間並沒有明顯的界限,我們把這類輸出變量看作連續的。對於輸出變量連續的監督學習,我們將這類問題稱為回歸問題。
回歸的主要功能在於,預測輸入變量 X(自變量,即特征向量)和輸出變量 Y(連續的因變量,即標簽)之間的關系。這個關系的表現形式通常是一個函數解析式。在函數中,每個輸入變量都有一個權值,也稱為“系數”,對於特定的訓練集而言,輸入變量 X 可視為已知量,訓練的目的在於,找到合適的系數,讓 Y 和 X 在學習得到的系數框架下得到很好的擬合,即給定 X 就能很好地預測 Y。
因此,對回歸問題的學習,在某種程度上等價於函數的擬合,即選擇一條函數曲線,使其能很好地擬合已知數據,並較好地預測未知數據。
類似地,回歸問題也分為學習和預測兩部分。學習系統基於訓練數據構建出一個模型,即函數 Y:
Y ≈f(x, β)
其中,β 表示未知參數,它可以是一個標量,也可以是一個向量。通過回歸模型就可以把 Y 與 X 和 β 關聯起來。然後,給定某個新的輸入,預測系統就會根據所學的模型給出相應的輸出。
下一篇