監督式學習的工作定義明確,適用於各種情況,例如識別垃圾內容或預測降水事件。
基礎監督式學習概念
監督式機器學習是以下列核心概念為基礎:
- 資料
- 模型
- 訓練
- 評估中
- 推論
資料
資料是推動機器學習技術的驅動力。資料會透過儲存在資料表中的字詞和數字的形式,或是從圖片和音訊檔案中擷取的像素和波形值。我們會在資料集中儲存相關資料。例如,我們可能擁有下列資料集:
- 貓的圖片
- 住宅價格
- 天氣資訊
資料集由包含特徵和標籤的個別範例組成。您可以將範例想像成試算表中的某一列。特徵是受監督模型用來預測標籤的值。標籤是「答案」或我們希望模型預測的值。在預測下雨的天氣模型中,特徵可以是「緯度」、「經度」、「溫度」、「濕度」、「雲層範圍」、「風向度」和「大氣壓力」。而這個標籤就是「降雨量金額」。
包含功能和標籤的範例稱為加上標籤的範例。
兩個有標籤的範例
相反地,未加上標籤的樣本會包含特徵,但沒有標籤。建立模型後,模型會從特徵預測標籤。
兩個未加上標籤的範例
資料集特性
資料集的特性和多樣性都不盡相同,大小代表範例的數量。多元性是指這些樣本涵蓋的範圍。好的資料集既龐大又多元,
有些資料集既龐大又多元。但是,有些資料集較大,但多元性低,有些則雖然規模較小,卻相當多元。換句話說,大型資料集並不保證具有足夠的多樣性,而且高度多樣化的資料集無法保證能擁有足夠的樣本。
例如,資料集可能包含 100 年的資料,但只有 7 月的資料。使用這個資料集預測 1 月份的降雨量可能會產生品質不佳的預測結果。相反地,資料集可能僅涵蓋幾年,但包含每個月。這個資料集包含的年數不足以計算變異數,因此可能會產生不良的預測。
測驗您的瞭解程度
資料集的特徵數目也可以是資料集的特性。例如,有些天氣資料集可能包含數百個特徵,從衛星圖像到雲層涵蓋範圍值等等。其他資料集可能只包含三或四個特徵,例如濕度、大氣壓力和溫度。包含更多特徵的資料集可協助模型探索其他模式,並進行更準確的預測。但是,內含更多特徵的資料集不一定可以產生更準確的預測模型,因為某些特徵可能與標籤沒有因果關係。
模型
在監督式學習中,模型是一組複雜的數字集合,定義從特定輸入特徵模式到特定輸出標籤值的數學關係。模型會透過訓練找出這些模式。
訓練
受監督模型必須先經過訓練,才能進行預測。為了訓練模型,我們會為模型提供有加上標籤的範例的資料集。此模型的目標是找出從特徵預測標籤的最佳解決方案。模型會將預測值與標籤的實際值進行比較,以找出最合適的解決方案。根據預測值與實際值 (定義為損失) 之間的差異,模型會逐步更新解決方案。換句話說,模型會學習特徵和標籤之間的數學關係,進而針對未顯示的資料進行最佳預測。
舉例來說,如果模型預測出雨量為 1.15 inches
,但實際值為 .75 inches
,模型就會修改解決方案,讓預測結果更接近 .75 inches
。模型檢視資料集中的每個範例後 (有時會多次),就發現每個樣本的平均預測結果平均而言是最佳的解決方案。
以下示範如何訓練模型:
這個模型會採用一個加上標籤的範例,並提供預測結果。
圖 1. 利用已加上標籤的範例進行預測的機器學習模型。
模型會比較預測值與實際值,並更新其解決方案。
圖 2:更新預測值的機器學習模型。
針對資料集中的每個加上標籤範例,模型都會重複執行這項程序。
圖 3. 機器學習模型,為訓練資料集中的每個加上標籤範例更新預測結果。
這樣一來,模型就能逐漸學習特徵和標籤之間的正確關係。這種逐步理解也是為什麼大型和多樣化的資料集會產生更好的模型。這個模型對值的範圍更廣泛,並已進一步理解特徵與標籤之間的關係。
在訓練期間,機器學習從業人員可以微調模型用於進行預測的設定和特徵。例如,某些特徵的預測能力比其他功能更高。因此,機器學習從業人員可以選取模型在訓練期間使用的功能。舉例來說,假設天氣資料集包含 time_of_day
做為功能。在此情況下,機器學習從業人員可以在訓練期間新增或移除 time_of_day
,以瞭解模型是否會在訓練過程中做出更準確的預測。
評估中
我們會評估經過訓練的模型,藉此判斷模型的學習成效。評估模型時,我們會使用加上標籤的資料集,但只會提供模型的特徵。然後將模型的預測結果與標籤的真正值進行比較。
圖 4. 將預測結果與實際值進行比較,以評估機器學習模型。
視模型的預測結果而定,在實際應用程式中部署模型之前,我們可能需要執行更多訓練和評估作業。
測驗您的瞭解程度
推論
當您對模型評估結果感到滿意後,我們即可使用模型針對未加上標籤的樣本進行預測,稱為「推論」。在天氣應用程式範例中,我們會向模型提供目前的天氣狀況 (例如溫度、大氣壓力和相對濕度),然後預測降雨量。