機器學習詞彙表:機器學習基礎知識

本頁面包含機器學習基礎知識的詞彙表。如要查看所有詞彙表術語,請按這裡

A

精確度

#fundamentals

正確分類預測次數除以總預測次數。也就是:

$$\text{Accuracy} = \frac{\text{correct predictions}} {\text{correct predictions + incorrect predictions }}$$

舉例來說,如果模型正確預測 40 次,錯誤預測 10 次,則準確率為:

$$\text{Accuracy} = \frac{\text{40}} {\text{40 + 10}} = \text{80%}$$

二元分類會為正確預測錯誤預測的不同類別提供特定名稱。因此,二元分類的準確度公式如下:

$$\text{Accuracy} = \frac{\text{TP} + \text{TN}} {\text{TP} + \text{TN} + \text{FP} + \text{FN}}$$

其中:

比較並對照準確率、查準率查全率

如需更多資訊,請參閱機器學習速成課程中的「分類:準確度、喚回率、精確度和相關指標」一文。

激活函式

#fundamentals

這個函式可讓神經網路學習特徵和標籤之間的非線性 (複雜) 關係。

常見的啟用函式包括:

激活函式的圖表絕不會是單一直線。舉例來說,ReLU 活化函式的圖表由兩條直線組成:

兩條線的笛卡爾圖表。第一行具有 0 的常數 y 值,沿著 x 軸從 -infinity,0 到 0,-0 執行。第二行則從 0,0 開始。此線條的斜率為 +1,因此會從 0,0 到 +infinity,+infinity。

以下是對數函數的活化函數圖表:

這張兩維曲線圖的 x 值範圍從 -infinity 到 +positive,y 值範圍則從 0 到 1。當 x 為 0 時,y 為 0.5。曲線的斜率一律為正值,最高斜率為 0.0.5,且隨著 x 的絕對值增加,斜率會逐漸降低。

如需更多資訊,請參閱機器學習速成課程中的「類神經網路:啟用函式」。

人工智慧

#fundamentals

可以解決複雜任務的非人類程式或模型。舉例來說,翻譯文字的程式或模型,以及從放射影像中識別疾病的程式或模型,都屬於人工智慧。

正式來說,機器學習是人工智慧的子領域。不過,近年來,部分機構已開始將「人工智慧」和「機器學習」這兩個詞互換使用。

AUC (ROC 曲線下的面積)

#fundamentals

介於 0.0 和 1.0 之間的數字,代表二元分類模型分離正類負類的能力。AUC 越接近 1.0,模型分類能力就越好。

舉例來說,下圖所示的分類器模型可完美區分正類 (綠色橢圓形) 和負類 (紫色矩形)。這個不切實際的完美模型 AUC 為 1.0:

數值線,一側有 8 個正面示例,另一側有 9 個負面示例。

相反地,下圖顯示的是產生隨機結果的分類器模型結果。這個模型的 AUC 為 0.5:

數軸上有 6 個正例和 6 個負例。示例的順序為正面、負面、正面、負面、正面、負面、正面、負面、正面、負面、正面、負面。

是的,先前的模型 AUC 為 0.5,而非 0.0。

大多數模型介於這兩種極端之間。舉例來說,下列模型可將正面和負面結果分開,因此 AUC 值介於 0.5 和 1.0 之間:

數軸上有 6 個正例和 6 個負例。示例的順序為負面、負面、負面、負面、正面、負面、正面、正面、負面、正面、正面、正面。

AUC 會忽略您為分類閾值設定的任何值。相反地,AUC 會考量所有可能的分類門檻。

詳情請參閱機器學習速成課程中的「分類:ROC 和 AUC」一文。

B

反向傳播

#fundamentals

類神經網路中實作梯度下降的演算法。

訓練類神經網路時,需要多次iterations以下兩次循環:

  1. 正向傳遞期間,系統會處理示例批次,產生預測結果。系統會將每個預測結果與每個標籤值進行比較。預測值與標籤值之間的差異就是該例子的損失。系統會匯總所有範例的損失,以便計算目前批次的總損失。
  2. 反向傳播 (反向傳播) 期間,系統會調整所有隱藏層中所有神經元的權重,以減少損失。

類神經網路通常包含許多隱藏層中的神經元。每個神經元都以不同方式影響整體損失。反向傳播會判斷是否要增加或減少套用至特定神經元的權重。

學習率是調節係數,可控制每次反向傳播時,增加或減少各權重值的程度。較高的學習率會比較低的學習率,更大幅地增加或減少各個權重。

在微積分術語中,反向傳播會實作微積分中的鏈式法則。也就是說,反向傳播會計算錯誤相對於每個參數的偏微分

多年前,機器學習研究人員必須編寫程式碼來實作反向傳播。現今的機器學習 API (例如 Keras) 會為您實作回傳。呼!

如需詳細資訊,請參閱機器學習速成課程中的「類神經網路」一文。

Batch

#fundamentals

在單一訓練疊代中使用的範例集。批次大小會決定批次中的樣本數量。

如要瞭解批次與 epoch 的關聯方式,請參閱「epoch」。

詳情請參閱機器學習速成課程中的「線性迴歸:超參數」一文。

批量

#fundamentals

批次中的示例數量。舉例來說,如果批量大小為 100,則模型會在每個疊代中處理 100 個範例。

以下是常見的批次大小策略:

  • 隨機梯度下降 (SGD),其中批次大小為 1。
  • 完整批次,其中批量是整個訓練集中的範例數量。舉例來說,如果訓練集包含一百萬個範例,則批量大小就是一百萬個範例。全批處理通常是效率不彰的策略。
  • 微批次,其中批次大小通常介於 10 到 1000 之間。小批次通常是最有效率的策略。

詳情請參閱下列說明文章:

偏見 (道德/公平性)

#fairness
#fundamentals

1. 對某些事物、人或族群持有刻板印象、偏見或偏袒心態。這些偏誤可能會影響資料的收集和解讀方式、系統設計,以及使用者與系統的互動方式。這類偏誤的形式包括:

2. 系統性錯誤:這類偏誤的形式包括:

請勿與機器學習模型中的偏差項預測偏差混淆。

詳情請參閱機器學習速成課程中的「公平性:偏見類型」一文。

偏差 (數學) 或偏差項

#fundamentals

從原點的截距或偏移量。偏差是機器學習模型中的參數,可用下列任一符號表示:

  • b
  • w0

例如,偏差是以下公式中的 b

$$y' = b + w_1x_1 + w_2x_2 + … w_nx_n$$

在簡單的二維線條中,偏差就是「y 軸截距」。例如,下圖中線條的偏差為 2。

斜率為 0.5、偏差 (y 截距) 為 2 的線圖。

偏差的存在是因為並非所有模型都從原點 (0,0) 開始。舉例來說,假設遊樂園的入園費為 2 歐元,每小時額外收取 0.5 歐元,因此,映射總費用的模型偏差為 2,因為最低費用為 2 歐元。

偏誤與倫理和公平性偏誤預測偏誤不同。

詳情請參閱機器學習速成課程中的「線性迴歸」一文。

二元分類

#fundamentals

一種分類任務,可預測兩個互斥類別中的一個:

舉例來說,下列兩個機器學習模型各自執行二元分類:

  • 這個模型會判斷電子郵件是否為垃圾郵件 (正類) 或非垃圾郵件 (負類)。
  • 評估醫療症狀的模型,用於判斷某人是否患有特定疾病 (正類別),或沒有該疾病 (負類別)。

請參閱多元分類

另請參閱邏輯迴歸分類閾值

詳情請參閱機器學習速成課程中的「分類」一文。

資料分組

#fundamentals

將單一特徵轉換為多個稱為值區值區的二元特徵,通常是根據值範圍進行轉換。切割特徵通常是連續性特徵

舉例來說,您可以將溫度範圍切割成不連續的值區,而非將溫度表示為單一連續浮點功能,例如:

  • 攝氏 <= 10 度則是「冷」桶。
  • 11 到 24 攝氏度屬於「溫和」區間。
  • 攝氏 25 度以上則屬於「溫暖」區間。

模型會將相同值區中的每個值視為相同。舉例來說,1322 這兩個值都屬於溫帶值區,因此模型會以相同方式處理這兩個值。

詳情請參閱機器學習速成課程中的「數值資料:分箱」一文。

C

類別型資料

#fundamentals

特徵具有特定的可能值組合。舉例來說,請考慮名為 traffic-light-state 的類別特徵,該特徵只能採用下列三個可能值之一:

  • red
  • yellow
  • green

traffic-light-state 表示為分類特徵,模型就能瞭解 redgreenyellow 對駕駛行為的不同影響。

類別特徵有時也稱為離散特徵

請參閱數值資料

詳情請參閱機器學習速成課程中的「處理分類資料」一節。

類別

#fundamentals

標籤可屬於的類別。例如:

  • 在用於偵測垃圾郵件的二元分類模型中,這兩個類別可能是「垃圾郵件」和「非垃圾郵件」
  • 在用於識別狗種的多元分類模型中,類別可能包括貴賓犬比利時獵狐梗巴哥犬等。

分類模型可預測類別。相反地,迴歸模型會預測數字,而非類別。

詳情請參閱機器學習速成課程中的「分類」一文。

分類模型

#fundamentals

預測結果為類別模型。舉例來說,以下所有模型都是分類模型:

  • 預測輸入句子的語言 (法文?西班牙文?義大利文?)。
  • 預測樹種的模型 (楓樹?Oak?猴麵包樹?)。
  • 預測特定醫療狀況的正類或負類模型。

相較之下,迴歸模型會預測數字,而非類別。

常見的兩種分類模型如下:

分類門檻

#fundamentals

二元分類中,這個介於 0 和 1 之間的數字,可將 邏輯迴歸模型的原始輸出內容轉換為 正類別負類別的預測結果。請注意,分類門檻是人為選擇的值,而非模型訓練所選擇的值。

邏輯迴歸模型會輸出介於 0 和 1 之間的原始值。然後執行下列步驟:

  • 如果這個原始值「大於」分類門檻,系統就會預測正類。
  • 如果這個原始值「小於」分類門檻,系統就會預測負向類別。

舉例來說,假設分類閾值為 0.8。如果原始值為 0.9,則模型會預測正類。如果原始值為 0.7,則模型會預測負類。

選擇的分類閾值會極大地影響偽陽性偽陰性的數量。

詳情請參閱機器學習速成課程中的「閾值和混淆矩陣」。

不平衡資料集

#fundamentals

分類問題的資料集,其中各類別的標籤總數差異極大。舉例來說,假設有一個二元分類資料集,其中兩個標籤的劃分方式如下:

  • 1,000,000 個排除標籤
  • 10 個正面標籤

負面標籤與正面標籤的比例為 100,000 比 1,因此這是類別不平衡的資料集。

相反地,由於負向標籤與正向標籤的比率相對接近 1,因此下列資料集「沒有」類別失衡的問題:

  • 517 個負面標籤
  • 483 個正面標籤

多類別資料集也可能出現類別不平衡的情況。舉例來說,下列多元分類資料集也存在類別不平衡的問題,因為其中一個標籤的範例遠多於其他兩個標籤:

  • 1,000,000 個標籤,類別為「green」
  • 200 個屬於「purple」類別的標籤
  • 350 個標籤,類別為「orange」

另請參閱多數類別少數類別

剪輯

#fundamentals

處理離群值的一種技巧,可執行下列任一或兩項操作:

  • 將大於上限值的特徵值降至上限值。
  • 將低於最低閾值的特徵值提高至該閾值。

舉例來說,假設特定特徵的值有 0.5% 落在 40 到 60 以外的範圍,在這種情況下,您可以採取以下行動:

  • 將所有超過 60 的值 (最大值門檻) 裁減為 60。
  • 將所有低於 40 (最低門檻) 的值裁剪為 40。

異常值可能會損壞模型,有時會導致權重在訓練期間溢位。某些異常值也會大幅影響準確度等指標。裁剪是限制損害的常見技巧。

梯度裁剪會在訓練期間將梯度值強制設為指定範圍。

詳情請參閱機器學習速成課程中的「數值資料:正規化」一文。

混淆矩陣

#fundamentals

這張 N x N 的表格會匯總分類模型的正確和錯誤預測數量。舉例來說,請參考下列 二元分類模型的混淆矩陣:

腫瘤 (預測) 非腫瘤 (預測)
腫瘤 (真值) 18 (TP) 1 (FN)
非腫瘤 (真值) 6 (FP) 452 (TN)

上方的混淆矩陣顯示以下資訊:

  • 在 19 個預測中,基準真相為腫瘤的預測結果中,模型正確分類 18 個,錯誤分類 1 個。
  • 在基準真相為非腫瘤的 458 個預測結果中,模型正確分類 452 個,錯誤分類 6 個。

多類別分類問題的混淆矩陣可協助您找出錯誤模式。舉例來說,請參考下列 3 類多類型分類模型的混淆矩陣,該模型將三種不同的鳶尾花類型 (Virginica、Versicolor 和 Setosa) 分類。當真值為 Virginica 時,混淆矩陣顯示模型比起 Setosa 更有可能誤判為 Versicolor:

  Setosa (預測) Versicolor (預測) Virginica (預測)
Setosa (真值) 88 12 0
Versicolor (真值) 6 141 7
Virginica (真值) 2 27 109

舉另一個例子來說,混淆矩陣可能會顯示訓練辨識手寫數字的模型,傾向於誤判為 9 而非 4,或誤判為 1 而非 7。

混淆矩陣包含足夠的資訊,可用來計算各種成效指標,包括精確度喚回率

連續性特徵

#fundamentals

浮點 特徵,可能的值範圍無限,例如溫度或重量。

請參閱「離散特徵」一節。

收斂

#fundamentals

在每個疊代中,損失值幾乎沒有變動或完全沒有變動時,就會達到這個狀態。舉例來說,下列損失曲線顯示,在約 700 次迭代後會達到收斂:

笛卡爾圖表。X 軸是損失。Y 軸是訓練疊代次數。在前幾次迭代期間,損失非常高,但之後會大幅下降。大約 100 次迭代後,損失仍在下降,但速度會緩慢許多。經過約 700 次疊代後,損失值會維持不變。

如果額外訓練無法改善模型,則模型會收斂

深度學習中,損失值有時會在多次疊代後維持不變或幾乎不變,最後才開始下降。在長期的常數損失值期間,您可能會暫時產生錯誤的收斂感。

另請參閱提早中止訓練

如需更多資訊,請參閱機器學習速成課程中的「模型收斂和損失曲線」。

D

DataFrame

#fundamentals

熱門的 pandas 資料類型,用於在記憶體中表示資料集

DataFrame 類似於資料表或試算表。DataFrame 的每個資料欄都有名稱 (標頭),每個資料列則由專屬號碼標示。

DataFrame 中的每個資料欄結構都類似 2D 陣列,但每個資料欄都可以指派自己的資料類型。

另請參閱官方 pandas.DataFrame 參考頁面

資料集

#fundamentals

一組原始資料,通常 (但不限於) 以下列格式排序:

  • 試算表
  • 採用 CSV (半形逗號分隔值) 格式的檔案

深度模型

#fundamentals

包含多個隱藏層神經網路

深度模型也稱為深層類神經網路

寬廣模型形成對比。

稠密特徵

#fundamentals

特徵,其中大多數或所有值均非零,通常是浮點值的 張量。舉例來說,下列 10 個元素的張量是密集的,因為其中 9 個值皆非零值:

8 3 7 5 2 4 0 4 9 6

請參閱「稀疏特徵」一文,瞭解這兩者有何不同。

深度

#fundamentals

類神經網路中,以下項目的總和:

舉例來說,如果類神經網路有五個隱藏層和一個輸出層,則深度為 6。

請注意,輸入圖層不會影響深度。

離散特徵

#fundamentals

特徵,包含有限的可能值。舉例來說,如果特徵的值只能是「動物」、「蔬菜」或「礦物」,就是離散 (或類別) 特徵。

請參閱連續性特徵

動態

#fundamentals

經常或持續執行的動作。「動態」和「線上」在機器學習中是同義詞。以下是機器學習中常見的動態線上用途:

  • 動態模型 (或稱線上模型) 是指經常或持續重新訓練的模型。
  • 動態訓練 (或稱線上訓練) 是指經常或持續訓練的過程。
  • 動態推論 (或稱線上推論) 是指按需產生預測結果的程序。

動態模型

#fundamentals

經常 (甚至持續) 重新訓練的模型。動態模型是一種「終身學習者」,會持續調整以因應不斷變化的資料。動態模型也稱為線上模型

請參閱靜態模型

E

提早中止訓練

#fundamentals

正規化方法,涉及在訓練損失完成下降前訓練結束。在提早中止訓練功能中,您會在驗證資料集的損失開始增加時,刻意停止訓練模型,也就是一般化效能惡化時。

嵌入層

#language
#fundamentals

特殊的隱藏層,可針對高維度類別特徵進行訓練,逐步學習較低維度的嵌入向量。嵌入層可讓類神經網路以更有效率的方式進行訓練,而非只訓練高維類別特徵。

舉例來說,地球目前支援約 73,000 種樹木。假設樹種是模型中的特徵,因此模型的輸入層會包含長度為 73,000 個元素的一熱向量。舉例來說,baobab 可能會以以下方式表示:

陣列包含 73,000 個元素。前 6,232 個元素會保留 0 的值。下一個元素則會保留 1 的值。最後的 66,767 個元素會保留零值。

73,000 個元素的陣列非常長。如果您未在模型中加入嵌入層,由於要乘以 72,999 個零,訓練作業會非常耗時。假設您選擇的嵌入層包含 12 個維度,因此,嵌入層會逐漸學習每種樹木的新嵌入向量。

在某些情況下,雜湊是嵌入層的合理替代方案。

詳情請參閱機器學習速成課程中的「嵌入」一節。

Epoch 紀元時間

#fundamentals

完整的訓練會遍歷整個訓練集,因此每個範例都會處理一次。

一個 epoch 代表 N/批次大小 訓練疊代,其中 N 是樣本總數。

舉例來說,假設以下情況:

  • 資料集包含 1,000 個範例。
  • 批量大小為 50 個範例。

因此,單一 epoch 需要 20 次迭代:

1 epoch = (N/batch size) = (1,000 / 50) = 20 iterations

詳情請參閱機器學習速成課程中的「線性迴歸:超參數」一文。

範例

#fundamentals

一列特徵的值,以及可能的標籤監督式學習的範例可分為兩大類:

  • 標記示例包含一或多個特徵和標籤。在訓練期間使用標記範例。
  • 未標示的示例包含一或多個特徵,但沒有標籤。系統會在推論期間使用未標籤的示例。

舉例來說,假設您要訓練模型,以判斷天氣狀況對學生考試成績的影響。以下是三個標記的示例:

功能 標籤
溫度 溼度 氣壓 測試分數
15 47 998 不錯
19 34 1020 極佳
18 92 1012 不佳

以下是三個未標示的範例:

溫度 溼度 氣壓  
12 62 1014  
21 47 1017  
19 41 1021  

資料集的一列通常是示例的原始來源。也就是說,範例通常包含資料集中的部分資料欄。此外,範例中的特徵也可以包含合成特徵,例如特徵交叉點

如需更多資訊,請參閱「機器學習簡介」課程中的「監督式學習」一節。

F

偽陰性 (FN)

#fundamentals

模型誤判為負類的示例。舉例來說,模型預測某封電子郵件「不是垃圾郵件」(負向類別),但該郵件「其實是垃圾郵件」

偽陽性 (FP)

#fundamentals

模型誤判為正類的示例。舉例來說,模型預測特定電子郵件為「垃圾郵件」 (正類),但該郵件「實際上並非垃圾郵件」

詳情請參閱機器學習速成課程中的「閾值和混淆矩陣」。

偽陽率 (FPR)

#fundamentals

模型誤預測為正類的實際負面例子比例。以下公式可計算偽陽性比率:

$$\text{false positive rate} = \frac{\text{false positives}}{\text{false positives} + \text{true negatives}}$$

偽陽率是ROC 曲線的 x 軸。

詳情請參閱機器學習速成課程中的「分類:ROC 和 AUC」一文。

功能

#fundamentals

機器學習模型的輸入變數。示例包含一或多個特徵。舉例來說,假設您要訓練模型,以判斷天氣狀況對學生考試成績的影響。下表列出三個範例,每個範例都包含三個特徵和一個標籤:

功能 標籤
溫度 溼度 氣壓 測試分數
15 47 998 92
19 34 1020 84
18 92 1012 87

請參閱label

如需更多資訊,請參閱「機器學習簡介」課程中的「監督式學習」一節。

交錯組合特徵

#fundamentals

透過「交叉組合」類別值區特徵所形成的合成特徵

舉例來說,假設有一個「情緒預測」模型,用來代表下列四個桶中的溫度:

  • freezing
  • chilly
  • temperate
  • warm

代表下列三個值區中的風速:

  • still
  • light
  • windy

如果沒有交叉特徵,線性模型會針對上述七個不同的桶分別進行訓練。因此,模型會獨立訓練 freezing,而不會影響 windy 的訓練。

或者,您也可以建立溫度和風速的交叉特徵。這個綜合地圖項目的可能值有以下 12 個:

  • freezing-still
  • freezing-light
  • freezing-windy
  • chilly-still
  • chilly-light
  • chilly-windy
  • temperate-still
  • temperate-light
  • temperate-windy
  • warm-still
  • warm-light
  • warm-windy

由於有特徵交叉,模型可以學習 freezing-windy 天和 freezing-still 天之間的情緒差異。

如果您從兩個特徵建立綜合特徵,而每個特徵都有許多不同的分層,則產生的特徵交叉會有大量可能的組合。舉例來說,如果一個地圖項目有 1,000 個值區,另一個地圖項目有 2,000 個值區,則產生的地圖項目交叉運算結果會有 2,000,000 個值區。

正式來說,交叉是笛卡兒乘積

功能交叉通常用於線性模型,很少用於神經網路。

詳情請參閱機器學習速成課程中的「分類資料:特徵交叉」一節。

特徵工程

#fundamentals
#TensorFlow

這項程序包含下列步驟:

  1. 判斷哪些特徵可能對訓練模型有所助益。
  2. 將資料集的原始資料轉換為這些特徵的效能版本。

舉例來說,您可能會判斷 temperature 可能是實用的功能。接著,您可以嘗試使用分桶,以便針對模型可從不同 temperature 範圍學習的內容進行最佳化。

特徵工程有時也稱為特徵擷取特徵化

如需更多資訊,請參閱機器學習速成課程中的「數值資料:模型如何使用特徵向量擷取資料」。

功能組合

#fundamentals

機器學習模型訓練的特徵群組。舉例來說,郵遞區號、房屋大小和房屋狀況可能會組成簡單的特徵集,用於預測房價的模型。

特徵向量

#fundamentals

feature 值陣列,包含示例。特徵向量會在訓練推論期間輸入。舉例來說,如果模型有兩個離散特徵,其特徵向量可能會是:

[0.92, 0.56]

四個層:輸入層、兩個隱藏層和一個輸出層。輸入層包含兩個節點,一個包含值 0.92,另一個包含值 0.56。

每個示例都會為特徵向量提供不同的值,因此下一個示例的特徵向量可能會是:

[0.73, 0.49]

特徵工程可決定如何在特徵向量中表示特徵。舉例來說,如果有五個可能值的二元類別特徵,可能會以one-hot 編碼表示。在這種情況下,特定示例的特徵向量部分將包含四個零,以及第三個位置的單一 1.0,如下所示:

[0.0, 0.0, 1.0, 0.0, 0.0]

舉另一個例子來說,假設您的模型包含三個特徵:

  • 二進位類別特徵,包含個可能值,以 one-hot 編碼表示,例如:[0.0, 1.0, 0.0, 0.0, 0.0]
  • 另一個二元類別特徵,其中個可能值以 one-hot 編碼表示,例如:[0.0, 0.0, 1.0]
  • 浮點功能,例如:8.3

在這種情況下,每個範例的特徵向量會以 九個值表示。根據上述清單中的範例值,特徵向量會是:

0.0
1.0
0.0
0.0
0.0
0.0
0.0
1.0
8.3

如需更多資訊,請參閱機器學習速成課程中的「數值資料:模型如何使用特徵向量擷取資料」。

意見回饋循環

#fundamentals

在機器學習中,指的是模型的預測結果會影響相同模型或其他模型的訓練資料。舉例來說,推薦電影的模型會影響使用者觀看的電影,進而影響後續的電影推薦模型。

詳情請參閱機器學習速成課程中的「正式環境 ML 系統:應問的問題」。

G

一般化

#fundamentals

模型對先前未知的新資料做出正確預測的能力。可推廣的模型與過度配適的模型相反。

詳情請參閱機器學習速成課程中的「泛化」一節。

泛化曲線

#fundamentals

這張圖表顯示訓練損失驗證損失的函式,以迭代次數為變數。

一般來說,一般化曲線可協助您偵測可能的過度擬合。舉例來說,下列泛化曲線顯示過度擬合,因為驗證損失最終會大幅高於訓練損失。

此為笛卡兒平面圖,其中 Y 軸標示為 loss,X 軸標示為迭代次數。畫面上會顯示兩個區塊。一張圖表顯示訓練損失,另一張則顯示驗證損失。兩個圖表的起始點相似,但訓練損失最終會降至遠低於驗證損失的程度。

詳情請參閱機器學習速成課程中的「泛化」一節。

梯度下降法

#fundamentals

一種用於盡量減少損失的數學技巧。梯度下降會逐次調整權重偏差,逐步找出最佳組合來盡量減少損失。

梯度下降法比機器學習更早出現,而且歷史悠久。

詳情請參閱機器學習速成課程中的「線性迴歸:梯度下降」一文。

真值

#fundamentals

現實。

實際發生的情況。

舉例來說,假設有一個二元分類模型,可預測大一學生是否會在六年內畢業。這個模型的真值是學生是否在六年內畢業。

H

隱藏層

#fundamentals

神經網路中的一層,位於輸入層 (特徵) 和輸出層 (預測) 之間。每個隱藏層都包含一或多個神經元。例如,下列神經網路包含兩個隱藏層,第一個有三個神經元,第二個有兩個神經元:

四個層級。第一個層是輸入層,其中包含兩個特徵。第二層是包含三個神經元的隱藏層。第三層是包含兩個神經元的隱藏層。第四層是輸出層,每個特徵都包含三個邊緣,每個邊緣都會指向第二層中的不同神經元。第二層中的每個神經元都包含兩個邊緣,每個邊緣都會指向第三層中的不同神經元。第三層中的每個神經元都包含一個邊,每個邊都指向輸出層。

深層類神經網路包含多個隱藏層。舉例來說,上圖所示為深度神經網路,因為模型包含兩個隱藏層。

如需更多資訊,請參閱機器學習速成課程中的「類神經網路:節點和隱藏層」。

超參數

#fundamentals

您或超參數調整服務舉例來說,學習率就是超參數。您可以在訓練課程前將學習率設為 0.01。如果您判斷 0.01 太高,可以將下一個訓練階段的學習率設為 0.003。

相較之下,參數是模型在訓練期間學習的各種權重偏差

詳情請參閱機器學習速成課程中的「線性迴歸:超參數」一文。

I

獨立同分布 (i.i.d)

#fundamentals

從不會變更的分布圖中擷取的資料,且每個擷取的值都不依賴先前擷取的值。機器學習的 i.i.d. 是理想氣體,雖然是實用的數學結構,但在現實世界中幾乎不存在。舉例來說,網頁訪客的分布可能在短時間內保持不變,也就是說,分布在短時間內不會改變,且某人造訪網頁與其他人造訪網頁通常是獨立的。不過,如果您擴大時間範圍,網頁訪客可能會出現季節性差異。

另請參閱非平穩性

推論

#fundamentals

在機器學習中,將訓練好的模型套用至未標示的範例,以進行預測的過程。

在統計學中,推論的意思稍有不同。詳情請參閱 維基百科上有關統計推論的文章

請參閱機器學習概論課程中的「監督式學習」,瞭解推論在監督式學習系統中的角色。

輸入層

#fundamentals

神經網路,可儲存特徵向量。也就是說,輸入層會提供示例,用於訓練推論。例如,下列神經網路中的輸入層包含兩個特徵:

四個層:輸入層、兩個隱藏層和輸出層。

可解釋性

#fundamentals

以人類可理解的方式,解釋或呈現機器學習模型的推理結果。

舉例來說,大多數線性迴歸模型都非常容易解讀。(您只需查看每個特徵的訓練權重)。決策樹也非常容易解讀。不過,部分模型需要轉繪成複雜的圖表,才具有可解釋性。

您可以使用學習技術可解釋性工具 (LIT) 解讀機器學習模型。

疊代

#fundamentals

訓練期間,模型參數 (模型的權重偏差) 的單一更新。批次大小決定模型在單一疊代中處理的樣本數量。舉例來說,如果批量大小為 20,則模型會先處理 20 個範例,再調整參數。

訓練類神經網路時,單一迭代會涉及以下兩個階段:

  1. 前向傳遞,用於評估單一批次的損失。
  2. 反向傳遞 (反向傳播),根據損失和學習率調整模型參數。

L

L0 正則化

#fundamentals

一種正則化,會對模型中非零權重總數進行處罰。舉例來說,如果模型有 11 個非零權重,會比有 10 個非零權重的類似模型受到更嚴重的懲罰。

L0 正則化有時也稱為 L0 正則化

L1 損失

#fundamentals

損失函式:計算實際 標籤值與 模型預測的值之間差異的絕對值。舉例來說,以下是五個範例批次計算 L1 損失:

範例的實際值 模型的預測值 差異值的絕對值
7 6 1
5 4 1
8 11 3
4 6 2
9 8 1
  8 = L1 損失

相較於 L2 損失,L1 損失對離群值的敏感度較低。

平均絕對誤差是每個範例的平均 L1 損失。

L1 正則化

#fundamentals

一種正則化,會根據權重絕對值的總和,按比例處罰權重。L1 正則化可將不相關或幾乎不相關的特徵權重設為 確切 0。權重為 0 的特徵會從模型中有效移除。

請比較L2 正則化

L2 損失

#fundamentals

損失函式:計算實際標籤值與模型預測的值之間差異的平方。舉例來說,以下是五個範例批次計算 L2 損失:

範例的實際值 模型的預測值 差異平方
7 6 1
5 4 1
8 11 9
4 6 4
9 8 1
  16 = L2 損失

由於平方運算,L2 損失會放大異常值的影響。也就是說,L2 損失函式對錯誤預測的反應比 L1 損失函式更為強烈。舉例來說,前述批次的 L1 損失為 8,而非 16。請注意,單一異常值就占了 16 個變數中的 9 個。

迴歸模型通常會使用 L2 損失函式做為損失函式。

均方誤差是每個範例的平均 L2 損失。平方損失是 L2 損失的另一個名稱。

L2 正則化

#fundamentals

一種正則化,會根據權重平方的總和,按比例加權權重。L2 正則化可讓異常值的權重 (高正值或低負值) 更接近 0,但不會完全等於 0。值非常接近 0 的特徵會保留在模型中,但不會對模型的預測結果造成太大影響。

L2 正則化一律會改善線性模型的一般化。

請比較 L1 正則化

標籤

#fundamentals

監督式機器學習中,示例的「答案」或「結果」部分。

每個標記範例都包含一或多個特徵和標記。舉例來說,在垃圾內容偵測資料集中,標籤可能會是「垃圾內容」或「非垃圾內容」。在降雨資料集中,標籤可能是某個期間內降雨量。

有標籤的範例

#fundamentals

範例包含一或多個特徵標籤。舉例來說,下表顯示房屋估價模型的三個已標註範例,每個範例都有三個特徵和一個標籤:

臥室數量 浴室數量 房屋年齡 房價 (標籤)
3 2 15 $345,000
2 1 72 $179,000
4 2 34 $392,000

監督式機器學習中,模型會使用已加上標籤的範例進行訓練,並針對未標示的範例做出預測。

比較有標籤和無標籤的示例。

lambda

#fundamentals

與「正規化率」同義。

Lambda 是過載的字詞。我們在這裡著重於 規則化一詞的定義。

圖層

#fundamentals

類神經網路中的一組神經元。三種常見的圖層類型如下:

舉例來說,下圖顯示的神經網路有一個輸入層、兩個隱藏層和一個輸出層:

神經網路包含一個輸入層、兩個隱藏層和一個輸出層。輸入層包含兩個地圖項目。第一個隱藏層由三個神經元組成,第二個隱藏層則由兩個神經元組成。輸出層包含單一節點。

TensorFlow 中,也是 Python 函式,可將 張量和設定選項做為輸入內容,並產生其他張量做為輸出內容。

學習率

#fundamentals

浮點數,可告知梯度下降演算法,如何調整每個迭代的權重和偏差。舉例來說,學習率為 0.3 的調整權重和偏差的強度,是學習率為 0.1 的三倍。

學習率是重要的超參數。如果您將學習率設得太低,訓練時間就會過長。如果設定的學習率過高,梯度下降通常會難以達到收斂

線性

#fundamentals

兩個或多個變數之間的關係,只能透過加法和乘法表示。

線性關係的圖表為直線。

非線性相反。

線性模型

#fundamentals

模型會為每個特徵指派一個權重,以進行預測。(線性模型也會納入偏差)。相反地,在深度模型中,特徵與預測的關係通常是非線性

線性模型通常比深度模型更容易訓練,且更容易解讀。不過,深度模型可以學習特徵之間的複雜關係。

線性迴歸邏輯迴歸是兩種線性模型。

線性迴歸

#fundamentals

一種機器學習模型,符合下列兩個條件:

  • 該模型為線性模型
  • 預測值為浮點值。(這是線性迴歸迴歸部分)。

比較線性迴歸和邏輯迴歸。此外,請比較迴歸與分類

邏輯迴歸

#fundamentals

一種可預測機率的 迴歸模型。邏輯迴歸模型具有下列特性:

  • 標籤為「categorical」。邏輯迴歸一詞通常是指二元邏輯迴歸,也就是計算標籤機率的模型,而標籤有兩個可能的值。較不常見的變化版本是多項式邏輯迴歸,可計算標籤的機率,其中標籤的值可能超過兩個。
  • 訓練期間的損失函式為Log Loss。(如果標籤的可能值超過兩個,則可以並行放置多個 Log Loss 單位)。
  • 該模型採用線性架構,而非深層類神經網路。不過,此定義的其餘部分也適用於預測類別標籤機率的深度模型

舉例來說,邏輯迴歸模型會計算輸入電子郵件為垃圾郵件或非垃圾郵件的機率。假設在推論期間,模型預測值為 0.72。因此,模型會估算:

  • 電子郵件有 72% 的機率是垃圾郵件。
  • 電子郵件不是垃圾郵件的機率為 28%。

邏輯迴歸模型採用以下兩步驟架構:

  1. 模型會套用輸入特徵的線性函式,產生原始預測值 (y')。
  2. 模型會將原始預測結果做為 S 函數的輸入值,將原始預測結果轉換為介於 0 和 1 之間的值 (不含兩端值)。

和其他迴歸模型一樣,邏輯迴歸模型會預測數字。不過,這個數字通常會成為二元分類模型的一部分,如下所示:

  • 如果預測數字大於分類門檻,二元分類模型會預測正類。
  • 如果預測數字小於分類門檻,二元分類模型會預測負類。

對數損失

#fundamentals

在二元邏輯迴歸中使用的損失函式

對數勝算比

#fundamentals

某個事件的對數機率。

損失

#fundamentals

監督式模型訓練期間,可衡量模型的預測結果標籤之間的差距。

損失函式會計算損失。

損失曲線

#fundamentals

損失與訓練疊代次數的關係圖。下圖顯示典型的損失曲線:

損失與訓練疊代作業的笛卡爾圖表,顯示初始疊代損失快速下降,接著逐漸下降,最後在疊代作業期間保持平坦。

損失曲線可協助您判斷模型何時收斂過度擬合

損失曲線可繪製下列所有損失類型:

另請參閱泛化曲線

損失函數

#fundamentals

訓練或測試期間,數學函式會計算批次樣本的損失。損失函式會針對預測正確的模型傳回較低的損失,而非預測不正確的模型。

訓練的目標通常是盡量減少損失函式傳回的損失。

損失函數的類型有很多種,請針對您要建構的模型類型,選擇合適的損失函式。例如:

M

機器學習

#fundamentals

指的是會根據輸入資料訓練模型的程式或系統。訓練好的模型能根據全新或未知資料進行實用預測,這些資料的發布方式與用於訓練模型的資料相同。

機器學習也指與這些程式或系統相關的研究領域。

多數類

#fundamentals

不平衡資料集中較常見的標籤。舉例來說,如果資料集包含 99% 的負面標籤和 1% 的正面標籤,則負面標籤是多數類別。

請參閱「少數類別」一節。

小批

#fundamentals

在一個迭代中處理的批次隨機選取的子集。迷你批次的批次大小通常介於 10 到 1,000 個示例之間。

舉例來說,假設整個訓練集 (完整批次) 包含 1,000 個範例。再假設您將每個迷你批次的批次大小設為 20。因此,每次迭代都會在 1,000 個隨機示例中判斷損失,然後據此調整權重偏差

計算迷你批次的損失比計算完整批次中所有範例的損失更有效率。

少數族群

#fundamentals

類別不平衡資料集中較不常見的標籤。舉例來說,如果資料集包含 99% 的負面標籤和 1% 的正面標籤,則正面標籤屬於少數類別。

請參閱「多數類別」一節。

模型

#fundamentals

一般來說,任何處理輸入資料並傳回輸出的數學結構。換句話說,模型是系統進行預測所需的參數和結構組合。在監督式機器學習中,模型會將範例做為輸入內容,並推斷預測結果做為輸出內容。在監督式機器學習中,模型會有一定程度的差異。例如:

  • 線性迴歸模型由一組權重偏差組成。
  • 類神經網路模型包含:
    • 一組隱藏層,每個層都包含一或多個神經元
    • 與每個神經元相關的權重和偏差。
  • 決策樹模型包含以下項目:
    • 樹狀圖的形狀,也就是條件和葉節點連結的模式。
    • 條件和葉子。

您可以儲存、還原或複製模型。

非監督式機器學習也會產生模型,通常是可將輸入範例對應至最適當的叢集的函式。

多元分類

#fundamentals

在監督式學習中,分類問題,資料集包含兩個以上 類別標籤。舉例來說,Iris 資料集中的標籤必須是下列三個類別之一:

  • Iris setosa
  • Iris virginica
  • Iris versicolor

以 Iris 資料集訓練的模型,可在新的範例中預測 Iris 類型,這就是多元分類。

相反地,分類問題如果只區分兩個類別,就是二元分類模型。舉例來說,預測電子郵件是否為「垃圾郵件」或「非垃圾郵件」的模型就是二元分類模型。

在叢集問題中,多元分類是指兩個以上的叢集。

負類

#fundamentals

二元分類中,一個類別稱為「正面」,另一個則稱為「負面」。正類是模型要測試的事物或事件,而負類則是其他可能性。例如:

  • 醫學檢驗中的負向類別可能是「沒有腫瘤」。
  • 電子郵件分類器中的負面類別可能是「非垃圾郵件」。

正類形成對比。

輸出內容

#fundamentals

模型,其中至少包含一個隱藏層深度類神經網路是一種包含多個隱藏層的類神經網路。例如,下圖顯示包含兩個隱藏層的深度神經網路。

神經網路包含輸入層、兩個隱藏層和輸出層。

類神經網路中的每個神經元都會連結至下一層的所有節點。舉例來說,在前述圖表中,請注意第一個隱藏層中的三個神經元各自連結至第二個隱藏層中的兩個神經元。

在電腦上實作的類神經網路有時稱為人工類神經網路,以便與大腦和其他神經系統中的類神經網路有所區別。

部分類神經網路可模擬不同特徵和標籤之間極為複雜的非線性關係。

另請參閱卷積類神經網路循環類神經網路

神經元

#fundamentals

在機器學習中,類神經網路隱藏層內的獨立單元。每個神經元都會執行下列兩步驟動作:

  1. 計算加權總和,即將輸入值乘以相應權重。
  2. 將加權後的加總值做為輸入內容,傳遞至啟用函式

第一個隱藏層中的神經元會接受來自輸入層的特徵值輸入。第一個隱藏層以外的任何隱藏層中的神經元,都會接受來自前一隱藏層神經元的輸入內容。舉例來說,第二個隱藏層中的神經元會接受第一個隱藏層中神經元的輸入內容。

下圖標示出兩個神經元及其輸入內容。

神經網路包含輸入層、兩個隱藏層和輸出層。兩個神經元皆已醒目顯示:一個位於第一個隱藏層,另一個位於第二個隱藏層。第一個隱藏層中醒目的神經元會接收輸入層中兩個特徵的輸入內容。第二個隱藏層中醒目的神經元會接收第一個隱藏層中三個神經元中的每個神經元輸入內容。

類神經網路中的神經元模仿大腦和神經系統其他部分的神經元行為。

節點 (神經網路)

#fundamentals

隱藏層中的神經元

非線性

#fundamentals

兩個或多個變數之間的關係,無法單靠加法和乘法表示。線性關係可用線條表示;非線性關係則無法用線條表示。舉例來說,假設有兩個模型,每個模型都將單一功能與單一標籤建立關聯。左側的模型為線性,右側的模型為非線性:

兩個區塊。其中一個圖表是直線,因此這是線性關係。另一個圖表是曲線,因此這是非線性關係。

非穩定性

#fundamentals

特徵的值會隨著一或多個維度 (通常是時間) 而變動。舉例來說,請看以下非平穩的例子:

  • 特定商店販售的泳衣數量會因季節而異。
  • 某個地區收成的特定水果數量在大部分時間為零,但在短暫期間內會大量收成。
  • 由於氣候變遷,每年的平均溫度也隨之改變。

平穩性形成對比。

正規化

#fundamentals

廣義來說,這個程序是將變數的實際值範圍轉換為標準值範圍,例如:

  • -1 到 +1
  • 0 至 1
  • Z 分數 (大約 -3 到 +3)

舉例來說,假設某個特徵的實際值範圍為 800 到 2,400,您可以透過特徵工程,將實際值正規化為標準範圍,例如 -1 到 +1。

標準化是特徵工程中常見的工作。如果特徵向量中的每個數值特徵大致相同,模型通常會訓練得更快 (並產生更準確的預測結果)。

詳情請參閱機器學習速成課程的「使用數值資料」單元。另請參閱Z 分數正規化

數值資料

#fundamentals

特徵以整數或實數表示。舉例來說,房屋估價模型可能會以數值資料表示房屋的大小 (以平方英尺或平方公尺為單位)。以數值資料表示特徵,表示特徵值與標籤有數學關係。也就是說,房子的平方公尺數量可能與房價有某種數學關係。

並非所有整數資料都應以數值資料呈現。舉例來說,部分國家/地區的郵遞區號為整數,但整數郵遞區號不應在模型中以數值資料表示。這是因為郵遞區號 20000 的權重並非郵遞區號 10000 的兩倍 (或一半)。此外,雖然不同郵遞區號確實與不同的房地產價值相關聯,但我們無法假設郵遞區號 20000 的房地產價值是郵遞區號 10000 的兩倍。郵遞區號應改為以分類資料呈現。

數值特徵有時也稱為連續特徵

O

離線

#fundamentals

static 同義。

離線推論

#fundamentals

模型產生一批預測結果,然後將這些預測結果快取 (儲存) 的程序。應用程式就能從快取中存取推論預測結果,而非重新執行模型。

舉例來說,假設有個模型每四小時產生一次當地天氣預報 (預測),每個模型執行完畢後,系統會快取所有本機天氣預報。天氣應用程式會從快取中擷取預報。

離線推論也稱為「靜態推論」

請參閱線上推論

one-hot 編碼

#fundamentals

將類別資料表示為向量,其中:

  • 一個元素設為 1。
  • 所有其他元素都設為 0。

一對一編碼通常用於表示具有有限可能值集合的字串或 ID。舉例來說,假設名為 Scandinavia 的某個類別特徵有五個可能值:

  • 「Denmark」
  • 「Sweden」
  • 「Norway」
  • 「芬蘭」
  • 「冰島」

單熱編碼可代表下列五個值:

country 向量
「Denmark」 1 0 0 0 0
「Sweden」 0 1 0 0 0
「Norway」 0 0 1 0 0
「芬蘭」 0 0 0 1 0
「冰島」 0 0 0 0 1

由於採用單熱編碼,模型可以根據五個國家/地區學習不同的連結。

將特徵以 數值資料表示,是 one-hot 編碼的替代方案。很抱歉,以數字表示斯堪地那維亞國家/地區並不是一個好選擇。舉例來說,請參考以下數值表示法:

  • 「Denmark」為 0
  • 「Sweden」為 1
  • 「Norway」為 2
  • 「芬蘭」是 3
  • 「冰島」是 4

使用數值編碼時,模型會以數學方式解讀原始數字,並嘗試以這些數字進行訓練。不過,冰島的人口並非挪威的兩倍 (或一半),因此模型會得出一些奇怪的結論。

one-vs.-all

#fundamentals

假設分類問題有 N 個類別,解決方案則包含 N 個獨立的二元分類器,每個可能結果對應一個二元分類器。舉例來說,假設模型將示例分類為動物、蔬菜或礦物,一對多解決方案會提供下列三個獨立的二元分類器:

  • 動物與非動物
  • 蔬菜與非蔬菜
  • 礦物與非礦物

線上

#fundamentals

dynamic 同義。

線上推論

#fundamentals

依需求產生預測。舉例來說,假設應用程式將輸入內容傳遞至模型,並發出預測要求。使用線上推論的系統會執行模型 (並將預測結果傳回給應用程式),以回應要求。

請參閱離線推論

輸出層

#fundamentals

類神經網路的「最終」層。輸出層包含預測結果。

下圖顯示小型深度神經網路,其中包含輸入層、兩個隱藏層和輸出層:

神經網路包含一個輸入層、兩個隱藏層和一個輸出層。輸入層包含兩個地圖項目。第一個隱藏層由三個神經元組成,第二個隱藏層則由兩個神經元組成。輸出層包含單一節點。

過度配適

#fundamentals

建立的模型訓練資料過於相符,導致模型無法針對新資料做出正確預測。

正則化可減少過度擬合。使用大量且多元的訓練資料集進行訓練,也可以減少過度配適的情形。

P

pandas

#fundamentals

這是以 numpy 為基礎的資料分析 API,以列為導向。許多機器學習架構 (包括 TensorFlow) 都支援使用 pandas 資料結構做為輸入內容。詳情請參閱 pandas 說明文件

參數

#fundamentals

模型在訓練期間學習的權重偏誤。舉例來說,在線性迴歸模型中,參數包含偏差 (b) 和以下公式中的所有權重 (w1w2 等):

$$y' = b + w_1x_1 + w_2x_2 + … w_nx_n$$

相較之下,超參數 (或超參數調整服務) 提供給模型的值。舉例來說,學習率就是超參數。

正類

#fundamentals

您要測試的類別。

舉例來說,癌症模型中的正向類別可能是「腫瘤」。電子郵件分類器中的正類別可能是「垃圾郵件」。

請參閱「負類」一節。

後置處理

#fairness
#fundamentals

在模型運行「後」調整模型輸出內容。您可以使用後置處理功能強制執行公平性限制,而無須修改模型本身。

舉例來說,您可以為二元分類器套用後置處理,方法是設定分類閾值,以便針對某些屬性維持機會均等,方法是檢查該屬性的所有值的真實正確率是否相同。

預測

#fundamentals

模型的輸出內容。例如:

  • 二元分類模型的預測結果是正類或負類。
  • 多元分類模型的預測結果是一種類別。
  • 線性迴歸模型的預測值是數字。

代理標籤

#fundamentals

用於估算資料集中未直接提供的標籤資料。

舉例來說,假設您必須訓練模型來預測員工的壓力程度,您的資料集包含許多預測特徵,但不含名為「stress level」的標籤。您可以選擇「工作場所意外」做為壓力等級的代理標籤。畢竟,相較於心平氣和的員工,處於高壓環境的員工發生意外的機率更高。還是說也許工作場所意外的發生率確實會因多種因素而上升或下降。

舉第二個例子來說,假設您希望「是否下雨?」做為資料集的布林值標籤,但資料集不含雨量資料。如果有相片,您可以將人物手持雨傘的相片設為「是否下雨?」的代理標籤。這是個好的代理標籤嗎?有可能,但某些文化的人可能會更常攜帶雨傘來防曬,而不是防雨。

代理標籤通常不夠完美。盡可能選擇實際標籤,而非代理標籤。不過,如果沒有實際標籤,請務必謹慎選擇代理標籤,選擇最不錯的代理標籤候選項。

R

RAG

#fundamentals

檢索增強生成的簡稱。

評分人員

#fundamentals

範例提供標籤的人。「Annotator」是評分者的另一個名稱。

線性整流函數 (ReLU)

#fundamentals

啟用函式,其行為如下:

  • 如果輸入值為負數或零,則輸出值為 0。
  • 如果輸入值為正值,輸出值就會等於輸入值。

例如:

  • 如果輸入值為 -3,則輸出值為 0。
  • 如果輸入值為 +3,則輸出值為 3.0。

以下是 ReLU 的圖表:

兩條線的笛卡爾圖表。第一行具有 0 的常數 y 值,沿著 x 軸從 -infinity,0 到 0,-0 執行。第二行則從 0,0 開始。此線條的斜率為 +1,因此會從 0,0 到 +infinity,+infinity。

ReLU 是相當熱門的活化函式。雖然 ReLU 的運作方式很簡單,但仍可讓類神經網路學習非線性關係,也就是 特徵標籤之間的關係。

迴歸模型

#fundamentals

非正式定義:產生數值預測結果的模型。(相較之下,分類模型會產生類別預測結果)。舉例來說,以下都是迴歸模型:

  • 預測某棟房屋價值的模型,例如 423,000 歐元。
  • 預測某棵樹的壽命 (以年為單位) 的模型,例如 23.2 年。
  • 模型會預測特定城市在未來六小時內的降雨量 (以英寸為單位),例如 0.18。

兩種常見的迴歸模型如下:

  • 線性迴歸:找出最適合特徵的標籤值線。
  • 邏輯迴歸:產生介於 0.0 和 1.0 之間的機率,系統通常會將該機率對應至類別預測結果。

並非所有輸出數值預測的模型都是迴歸模型。在某些情況下,數值預測其實只是分類模型,只是剛好有數值類別名稱。舉例來說,預測數字郵遞區號的模型是分類模型,而非迴歸模型。

正則化

#fundamentals

任何可減少過度擬合的機制。常見的正則化類型包括:

規則化也可以定義為對模型複雜度施加的懲罰。

正規化率

#fundamentals

這個數字會指定在訓練期間,正則化的相對重要性。提高正規化率可減少過度擬合,但可能會降低模型的預測能力。相反地,減少或省略正則化率會導致過度擬合。

ReLU

#fundamentals

線性整流函數的縮寫。

檢索增強生成 (RAG)

#fundamentals

一種技術,可透過與模型訓練後擷取的知識來源建立關聯,改善大型語言模型 (LLM) 輸出的品質。RAG 會為已訓練的 LLM 提供存取權,讓系統從可信賴的知識庫或文件中擷取資訊,進而提升 LLM 回覆的準確度。

使用檢索增強生成技術的常見動機包括:

  • 提高模型產生回覆的事實準確度。
  • 讓模型存取未經訓練的知識。
  • 變更模型使用的知識。
  • 啟用模型引用來源。

舉例來說,假設化學應用程式使用 PaLM API 產生與使用者查詢相關的摘要。當應用程式後端收到查詢時,後端會執行以下操作:

  1. 搜尋 (「擷取」) 與使用者查詢內容相關的資料。
  2. 將相關化學資料附加至使用者的查詢 (「擴充」)。
  3. 指示 LLM 根據附加的資料建立摘要。

ROC 曲線

#fundamentals

在二元分類中,針對不同的分類閾值,繪製真陽率偽陽率的圖表。

ROC 曲線的形狀可顯示二元分類模型分離正類和負類的能力。舉例來說,假設二元分類模型可完美區分所有負類和正類:

數值線,右側有 8 個正面示例,左側有 7 個負面示例。

上述模型的 ROC 曲線如下所示:

ROC 曲線。x 軸為偽陽率,y 軸為真陽率。曲線呈倒 L 形。曲線從 (0.0,0.0) 開始,直線向上到 (0.0,1.0)。然後曲線會從 (0.0,1.0) 變成 (1.0,1.0)。

相較之下,下圖呈現原始邏輯迴歸值,這類模型完全無法將負向類別與正向類別區分開:

數值線,其中正面和負面類別完全混合。

這個模型的 ROC 曲線如下所示:

ROC 曲線,實際上是從 (0.0,0.0) 到 (1.0,1.0) 的直線。

在現實世界中,大多數二元分類模型會在某種程度上將正類和負類分開,但通常不會完全分開。因此,典型的 ROC 曲線會落在兩個極端之間:

ROC 曲線。x 軸為偽陽率,y 軸為真陽率。ROC 曲線大致上是從西到北,沿著指南針點劃出一個搖擺的弧形。

理論上,ROC 曲線上最接近 (0.0,1.0) 的點會標示出理想的分類閾值。不過,其他幾個實際問題也會影響理想分類門檻的選取。舉例來說,偽陰性可能會比偽陽性造成更大的痛苦。

數值指標 AUC 會將 ROC 曲線濃縮為單一浮點值。

均方根誤差 (RMSE)

#fundamentals

均方誤差的平方根。

S

sigmoid 函數

#fundamentals

這個數學函式會將輸入值「擠壓」至受限的範圍,通常是 0 到 1 或 -1 到 +1。也就是說,您可以將任何數字 (兩、百萬、負十億等) 傳遞至 S 函數,輸出結果仍會在受限範圍內。以下是對數函數的活化函數圖表:

這張兩維曲線圖的 x 值範圍從 -infinity 到 +positive,y 值範圍則從 0 到 1。當 x 為 0 時,y 為 0.5。曲線的斜率一律為正值,最高斜率為 0.0.5,且隨著 x 的絕對值增加,斜率會逐漸降低。

在機器學習中,S 函數有幾種用途,包括:

softmax

#fundamentals

這個函式可決定多元分類模型中每個可能類別的機率。這些機率相加後的總和必須精確為 1.0。舉例來說,下表顯示 softmax 如何分配各種機率:

圖片為 機率
.85
cat .13
.02

Softmax 也稱為「完整 Softmax」

請參閱候選抽樣

稀疏特徵

#language
#fundamentals

特徵的值大多為零或空白。舉例來說,如果特徵包含單一 1 值和百萬個 0 值,就屬於稀疏特徵。相反地,密集特徵的值通常不會是零或空白。

在機器學習中,有許多特徵是稀疏特徵。類別特徵通常是稀疏特徵。舉例來說,在森林中可能有 300 種樹木,但單一示例可能只會識別出楓樹。或者,在影片庫中,有數百萬部影片可供選擇,但單一示例可能只會標示「Casablanca」。

在模型中,您通常會使用one-hot 編碼來表示稀疏特徵。如果 one-hot 編碼很大,您可以將嵌入層置於 one-hot 編碼之上,以提高效率。

稀疏表示法

#language
#fundamentals

在稀疏特徵中,只儲存非零元素的位置

舉例來說,假設名為 species 的類別特徵會識別特定森林中的 36 種樹木。再假設每個示例只識別單一物種。

您可以使用一維向量來代表每個示例中的樹種。單熱向量會包含單一 1 (代表該例中的特定樹種) 和 35 個 0 (代表該例中「不是」的 35 種樹木)。因此,maple 的 one-hot 表示法可能會像以下這樣:

向量中,位置 0 到 23 的值為 0,位置 24 的值為 1,位置 25 到 35 的值為 0。

或者,稀疏表示法只會指出特定物種的位置。如果 maple 位於第 24 個位置,maple 的稀疏表示法就會變成:

24

請注意,稀疏表示法比一熱表示法精簡許多。

稀疏向量

#fundamentals

值大多為 0 的向量。另請參閱「稀疏功能」和「稀疏」。

平方損失

#fundamentals

L2 損失的同義詞。

靜態

#fundamentals

一次性動作,而非持續性動作。「靜態」和「離線」是同義詞。以下是機器學習中常見的靜態離線用途:

  • 靜態模型 (或稱離線模型) 是指訓練一次後,就會持續使用的模型。
  • 靜態訓練 (或稱離線訓練) 是訓練靜態模型的過程。
  • 靜態推論 (或離線推論) 是指模型一次產生一批預測結果的程序。

請參閱「動態」一節。

靜態推論

#fundamentals

與「離線推論」同義。

穩定性

#fundamentals

在一個或多個維度 (通常是時間) 中,值不會變更的特徵。舉例來說,如果特徵在 2021 年和 2023 年的值大致相同,就表示該特徵具有平穩性。

在現實世界中,很少有特徵會呈現平穩性。就算是穩定的環境 (例如海平面),也會隨時間變化。

請參閱「非平穩性」一節。

隨機梯度下降 (SGD)

#fundamentals

梯度下降演算法,其中批次大小為 1。換句話說,SGD 會在訓練集中隨機選取單一示例進行訓練。

監督式機器學習

#fundamentals

根據特徵和相應的標籤訓練模型。監督式機器學習就像是透過研究一組問題及其對應答案來學習某個主題。學生熟悉問題和答案之間的對應關係後,就能針對相同主題的新問題 (從未見過的) 提供答案。

請參閱非監督式機器學習

合成特徵

#fundamentals

特徵不在輸入特徵中,但由一或多個特徵組合而成。建立合成特徵的方法包括:

  • 將連續特徵區隔至值範圍值區。
  • 建立特徵交叉
  • 將一個特徵值乘以其他特徵值或自身。舉例來說,如果 ab 是輸入特徵,則下列為合成特徵的範例:
    • ab
    • a2
  • 將超越函式套用至地圖項目值。舉例來說,如果 c 是輸入特徵,則下列為合成特徵的範例:
    • sin(c)
    • ln(c)

僅透過正規化縮放建立的特徵,不視為合成特徵。

T

測試損失

#fundamentals

指標:代表模型與測試集損失。建構模型時,您通常會盡量減少測試損失。這是因為低測試損失比低訓練損失或低驗證損失更能顯示品質信號。

測試損失與訓練損失或驗證損失之間的差距很大,有時表示您需要提高正規化率

訓練

#fundamentals

決定模型的理想參數 (權重和偏差) 的程序。在訓練期間,系統會讀取示例,並逐步調整參數。訓練會使用每個範例幾次到數十億次不等。

訓練損失

#fundamentals

指標:代表模型在特定訓練疊代期間的損失。舉例來說,假設損失函式為「Mean Squared Error」。也許第 10 次疊代的訓練損失 (均方誤差) 為 2.2,而第 100 次疊代的訓練損失為 1.9。

損失曲線會將訓練損失與疊代次數繪製成圖。損失曲線會提供下列訓練相關提示:

  • 向下傾斜表示模型正在改善。
  • 向上傾斜的斜率表示模型的品質會越來越差。
  • 平坦的斜率表示模型已達到收斂

舉例來說,下列略為理想化的損失曲線顯示:

  • 在初始反覆執行階段中,呈現陡峭的向下斜坡,表示模型快速改善。
  • 曲線會逐漸變平 (但仍向下),直到訓練接近尾聲,這表示模型會以比初始反覆執行階段稍慢的速度持續改善。
  • 訓練結束時的斜率平坦,表示已收斂。

訓練損失與疊代次數的圖表。這個損失曲線一開始會以陡峭的斜率向下傾斜。斜率會逐漸變平,直到斜率變為零為止。

雖然訓練損失很重要,但也請參閱泛化

訓練/應用偏差

#fundamentals

模型在訓練期間和提供期間的效能差異。

訓練集

#fundamentals

用於訓練模型資料集子集。

傳統上,資料集中的示例會分為下列三個不同的子集:

在理想情況下,資料集中的每個範例都應只屬於上述子集之一。舉例來說,單一示例不應同時屬於訓練集和驗證集。

真陰性 (TN)

#fundamentals

以下範例說明模型正確預測負類。舉例來說,模型推斷某封電子郵件「不是垃圾郵件」,而該郵件確實「不是垃圾郵件」

真陽性 (TP)

#fundamentals

以下是模型正確預測正類的範例。舉例來說,模型推斷特定電子郵件為垃圾郵件,而該郵件確實是垃圾郵件。

真陽率 (TPR)

#fundamentals

recall 的同義詞。也就是:

$$\text{true positive rate} = \frac{\text{true positives}} {\text{true positives} + \text{false negatives}}$$

真陽率是 ROC 曲線的 y 軸。

U

欠佳

#fundamentals

產生預測能力不佳的模型,因為模型未能完全掌握訓練資料的複雜度。許多問題都可能導致模型欠佳,包括:

無標籤示例

#fundamentals

範例包含特徵,但沒有標籤。舉例來說,下表顯示房屋估價模型中三個未標記的範例,每個範例都有三個特徵,但沒有房屋價值:

臥室數量 浴室數量 房屋年齡
3 2 15
2 1 72
4 2 34

監督式機器學習中,模型會使用已加上標籤的範例進行訓練,並針對未標示的範例做出預測。

半監督式非監督式學習中,訓練期間會使用未標記的範例。

比較無標籤樣本與有標籤樣本

非監督式機器學習

#clustering
#fundamentals

訓練模型,以便在資料集中 (通常是未標記的資料集) 找出模式。

非監督式機器學習最常見的用途,就是將群組資料分組為類似的範例。舉例來說,無監督機器學習演算法可根據音樂的各種屬性,將歌曲分為不同的群組。產生的叢集可做為其他機器學習演算法 (例如音樂推薦服務) 的輸入內容。當有用的標籤很少或不存在時,分群法就很有幫助。舉例來說,在反濫用和防詐騙等領域,叢集可協助人類更瞭解資料。

請參閱監督式機器學習

V

驗證

#fundamentals

初步評估模型品質。驗證功能會根據驗證集,檢查模型預測結果的品質。

由於驗證集與訓練集不同,驗證有助於防範過度擬合

您可以將針對驗證集評估模型視為第一輪測試,而針對測試集評估模型視為第二輪測試。

驗證損失

#fundamentals

指標:代表模型在特定疊代��訓練期間,在驗證集上顯示的損失

另請參閱泛化曲線

驗證集

#fundamentals

針對已訓練的模型進行初始評估的資料集子集。通常,您會先針對驗證集評估經過訓練的模型,然後再針對測試集評估模型。

傳統上,您會將資料集中的範例分成下列三個不同的子集:

在理想情況下,資料集中的每個範例都應只屬於上述子集之一。舉例來說,單一示例不應同時屬於訓練集和驗證集。

W

重量

#fundamentals

模型乘以另一個值的值。訓練是指決定模型的理想權重;推論是指使用學習到的權重進行預測。

加權和

#fundamentals

所有相關輸入值相乘以對應權重所得的總和。舉例來說,假設相關輸入內容包含以下內容:

輸入值 輸入權重
2 -1.3
-1 0.6
3 0.4

因此,加權後的加總值為:

weighted sum = (2)(-1.3) + (-1)(0.6) + (3)(0.4) = -2.0

加權後的加總值是激活函式的輸入引數。

Z

標準分數正規化

#fundamentals

縮放技巧,可將原始 特徵值替換為浮點值,代表該特徵與平均值之間的標準差數。舉例來說,假設某特徵的平均值為 800,標準差為 100。下表說明 Z 分數規格化會如何將原始值對應至 Z 分數:

原始值 Z 分數
800 0
950 +1.5
575 -2.25

接著,機器學習模型會根據該特徵的 Z 分訓練,而非原始值。