監督式學習

監督式學習的工作定義明確,適用於各種情況,例如識別垃圾內容或預測降水事件。

基礎監督式學習概念

監督式機器學習是以下列核心概念為基礎:

  • 資料
  • 模型
  • 訓練
  • 評估中
  • 推論

資料

資料是推動機器學習技術的驅動力。資料會透過儲存在資料表中的字詞和數字的形式,或是從圖片和音訊檔案中擷取的像素和波形值。我們會在資料集中儲存相關資料。例如,我們可能擁有下列資料集:

  • 貓的圖片
  • 住宅價格
  • 天氣資訊

資料集由包含特徵標籤的個別範例組成。您可以將範例想像成試算表中的某一列。特徵是受監督模型用來預測標籤的值。標籤是「答案」或我們希望模型預測的值。在預測下雨的天氣模型中,特徵可以是「緯度」、「經度」、「溫度」、「濕度」、「雲層範圍」、「風向度」和「大氣壓力」。而這個標籤就是「降雨量金額」

包含功能和標籤的範例稱為加上標籤的範例

兩個有標籤的範例

預留位置圖片。

相反地,未加上標籤的樣本會包含特徵,但沒有標籤。建立模型後,模型會從特徵預測標籤。

兩個未加上標籤的範例

預留位置圖片。

資料集特性

資料集的特性和多樣性都不盡相同,大小代表範例的數量。多元性是指這些樣本涵蓋的範圍。好的資料集既龐大又多元,

有些資料集既龐大又多元。但是,有些資料集較大,但多元性低,有些則雖然規模較小,卻相當多元。換句話說,大型資料集並不保證具有足夠的多樣性,而且高度多樣化的資料集無法保證能擁有足夠的樣本。

例如,資料集可能包含 100 年的資料,但只有 7 月的資料。使用這個資料集預測 1 月份的降雨量可能會產生品質不佳的預測結果。相反地,資料集可能僅涵蓋幾年,但包含每個月。這個資料集包含的年數不足以計算變異數,因此可能會產生不良的預測。

測驗您的瞭解程度

資料集的哪些屬性適合用於機器學習?
大型 / 高多元性
要讓機器學習系統瞭解資料中的基礎模式,就必須具備大量涵蓋各種用途的範例。以這類資料集訓練的模型較有可能針對新資料做出準確的預測。
大型 / 低多元性
機器學習模型的成效取決於用於訓練模型的範例。模型如果未用來訓練的新資料,會產生較差的預測結果。
小型 / 高多元性
大多數模型在小型資料集中找不到可靠的模式。預測時,無法放心提供較大的資料集。
小型 / 低多元性
如果資料集規模較小,且差異不大,您可能就無法受惠於機器學習技術。

資料集的特徵數目也可以是資料集的特性。例如,有些天氣資料集可能包含數百個特徵,從衛星圖像到雲層涵蓋範圍值等等。其他資料集可能只包含三或四個特徵,例如濕度、大氣壓力和溫度。包含更多特徵的資料集可協助模型探索其他模式,並進行更準確的預測。但是,內含更多特徵的資料集不一定可以產生更準確的預測模型,因為某些特徵可能與標籤沒有因果關係。

模型

在監督式學習中,模型是一組複雜的數字集合,定義從特定輸入特徵模式到特定輸出標籤值的數學關係。模型會透過訓練找出這些模式。

訓練

受監督模型必須先經過訓練,才能進行預測。為了訓練模型,我們會為模型提供有加上標籤的範例的資料集。此模型的目標是找出從特徵預測標籤的最佳解決方案。模型會將預測值與標籤的實際值進行比較,以找出最合適的解決方案。根據預測值與實際值 (定義為損失) 之間的差異,模型會逐步更新解決方案。換句話說,模型會學習特徵和標籤之間的數學關係,進而針對未顯示的資料進行最佳預測。

舉例來說,如果模型預測出雨量為 1.15 inches,但實際值為 .75 inches,模型就會修改解決方案,讓預測結果更接近 .75 inches。模型檢視資料集中的每個範例後 (有時會多次),就發現每個樣本的平均預測結果平均而言是最佳的解決方案。

以下示範如何訓練模型:

  1. 這個模型會採用一個加上標籤的範例,並提供預測結果。

    進行預測的模型圖片。

    圖 1. 利用已加上標籤的範例進行預測的機器學習模型。

     

  2. 模型會比較預測值與實際值,並更新其解決方案。

    模型圖片,用於比較預測結果與實際值。

    圖 2:更新預測值的機器學習模型。

     

  3. 針對資料集中的每個加上標籤範例,模型都會重複執行這項程序。

    模型圖片,用於重複預測程序與實際值。

    圖 3. 機器學習模型,為訓練資料集中的每個加上標籤範例更新預測結果。

     

這樣一來,模型就能逐漸學習特徵和標籤之間的正確關係。這種逐步理解也是為什麼大型和多樣化的資料集會產生更好的模型。這個模型對值的範圍更廣泛,並已進一步理解特徵與標籤之間的關係。

在訓練期間,機器學習從業人員可以微調模型用於進行預測的設定和特徵。例如,某些特徵的預測能力比其他功能更高。因此,機器學習從業人員可以選取模型在訓練期間使用的功能。舉例來說,假設天氣資料集包含 time_of_day 做為功能。在此情況下,機器學習從業人員可以在訓練期間新增或移除 time_of_day,以瞭解模型是否會在訓練過程中做出更準確的預測。

評估中

我們會評估經過訓練的模型,藉此判斷模型的學習成效。評估模型時,我們會使用加上標籤的資料集,但只會提供模型的特徵。然後將模型的預測結果與標籤的真正值進行比較。

顯示訓練模型的預測結果與實際值比較的圖片。

圖 4. 將預測結果與實際值進行比較,以評估機器學習模型。

 

視模型的預測結果而定,在實際應用程式中部署模型之前,我們可能需要執行更多訓練和評估作業。

測驗您的瞭解程度

為什麼必須先訓練模型才能進行預測?
模型必須經過訓練,才能學習特徵與資料集標籤之間的數學關係。
模型不一定要訓練。大多數的電腦都支援這些型號。
模型必須經過訓練,因此不需要資料就能進行預測。

推論

當您對模型評估結果感到滿意後,我們即可使用模型針對未加上標籤的樣本進行預測,稱為「推論」。在天氣應用程式範例中,我們會向模型提供目前的天氣狀況 (例如溫度、大氣壓力和相對濕度),然後預測降雨量。