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

本頁面提供機器學習基礎知識詞彙表詞彙。如需所有詞彙表字詞,請按這裡

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}}$$

其中:

  • TP 是指真陽性的數量 (準確的預測結果)。
  • TN 則是真陰性 (正確的預測結果) 的數量。
  • FP 是偽陽性數量 (預測結果不正確) 的數量。
  • FN 則是偽陰性 (預測結果不正確) 的數量。

比較準確率與精確度喚回度

活化函數

#fundamentals

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

常見的活化函式包括:

活化函式的圖形並非只有一條直線。舉例來說,ReLU 活化函式的圖包含兩條直線:

有兩條線的笛卡兒圖。第一行的常數 y 值為 0,沿著 X 軸由 -infinity 和 0、-0 排列。第二行從 0,0 開始。這條線的斜率為 +1,因此範圍介於 0,0 到 +infinity 和+infinity 之間。

S 函數活化函數圖如下所示:

有 x 值的二維曲線圖,y 值橫跨網域 -infinity 和 + 負數,y 值則涵蓋將近 0 至近 1。當 x 為 0 時,y 為 0.5。曲線的斜率一律為正數,最高斜率為 0,0.5,並在 x 絕對值增加時逐漸減少斜率。

也就是

#fundamentals

非人類程式或model,可處理複雜工作。舉例來說,翻譯文字的程式或模型,或是能辨識放射性圖片中疾病的程式或模型,都具備人工智慧。

基本上,機器學習是人工智慧的子領域。不過近年來,部分機構已開始交替使用「人工智慧」和「機器學習」這兩個詞彙。

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。

多數模型通常在兩個極端之間。舉例來說,下列模型會將正數與負數區分開來,因此有一個介於 0.5 和 1.0 之間的 AUC:

含有 6 個正樣本和 6 個負例的數行。示例中的順序為負、負面、負面、負面、正、負面、正向、負面、正面、正向、正數。

AUC 會忽略您為分類門檻設定的任何值。而是會考慮「所有」可能的分類門檻。

B

反向傳播

#fundamentals

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

訓練類神經網路涉及以下兩道循環的許多「疊代」

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

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

「學習率」是一個調節係數,可控制每次向後傳遞的增加或減少每個權重的程度。高學習率會為每個權重增加或減少,而不是單一學習率。

在微積分方面,反向傳播會實作來自微積分的鏈結規則。也就是說,反向傳播會計算每個參數的錯誤部分導數

多年前,機器學習從業人員必須撰寫程式碼才能實作反向傳播。TensorFlow 等現代化機器學習 API 現已為您實作反向傳播。呼!

Batch

#fundamentals

一項訓練「疊代」中使用的「範例」組合。「批次大小」會決定批次中的樣本數量。

如要瞭解批次與訓練週期之間的關係,請參閱「訓練週期」。

批量

#fundamentals

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

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

  • Stochastic Gradient Descent (SGD),其中批量為 1。
  • 完整批次,其中批量是整個訓練集中的範例數量。舉例來說,如果訓練集含有百萬個樣本,批次大小就會是百萬個範例。完整批次通常是效率不佳的策略。
  • 迷你批次,通常批次大小通常介於 10 至 1000 之間。迷你批次通常是最有效率的策略。

偏誤 (倫理/公平性)

#fairness
#fundamentals

1. 對某些事物、人或群體發出刻板、偏見或好感。這些偏誤會影響資料的收集和解讀、系統設計,以及使用者與系統互動的方式。這類偏誤類型包括:

2. 取樣或回報程序造成的系統錯誤。這類偏誤類型包括:

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

偏誤 (數學) 或偏誤字詞

#fundamentals

從來源攔截或偏移。偏誤是機器學習模型中的參數,以下列任一方式表示:

  • b

舉例來說,自訂調整是下列公式中的 b

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

在簡單的 2D 線條中,偏誤代表「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

標籤所屬的類別。 例如:

  • 在偵測到垃圾內容的「二進位分類」模型中,這兩個類別可能是「垃圾內容」,而不是「垃圾內容」
  • 在可識別犬種的多元分類模型中,類別可能是 poodlebeaglepug 等。

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

分類模型

#fundamentals

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

  • 可預測輸入語句語言的模型 (法文?西班牙文? 義大利文?)。
  • 可預測樹種的模型 (楓樹?橡木?阿嘉?)。
  • 模型可預測特定醫療狀況的正面或負面類別。

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

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

分類門檻

#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 個包含「綠色」類別的標籤
  • 200 個標籤與「purple」類別的標籤
  • 350 個標籤搭配「橘色」類別

另請參閱主要類別次要類別

裁剪

#fundamentals

處理「離群值」的技術,可執行下列其中一項操作,或同時執行兩者:

  • 將大於最高門檻的 feature 值降至該上限。
  • 調高低於最低門檻的特徵值,直到達到該最低門檻。

舉例來說,假設特定特徵的值不到 0.5%,落在 40 到 60 的範圍內。在此情況下,您可以執行以下操作:

  • 將超過 60 (最高閾值) 的所有值剪輯成 60 分。
  • 將低於 40 (最低閾值) 的值一律裁剪為 40。

離群值可能會損壞模型,有時會導致訓練期間的權重溢位。部分離群值也可能會大幅降低準確率等指標。裁剪是一種減少損害的常見技術。

漸層裁剪會在訓練期間強制指定範圍內的梯度值。

混淆矩陣

#fundamentals

NxN 資料表,概略說明分類模型做出的正確和不正確預測數量。舉例來說,請考慮以下為二元分類模型的混淆矩陣:

腫瘤 (預測) 非腫瘤 (預測)
腫瘤 (真值) 18 (密碼) 1 (FN)
非腫瘤 (真值) 6 (FP) 452 (田納西州)

上述混淆矩陣顯示以下內容:

  • 真值為 Tumor 的 19 個預測中,模型正確地將 18 分類,而誤將 1 分類。
  • 在 458 個真值預測中,模型正確地將 452 分類,誤將 6 分類。

多元分類問題的混淆矩陣可協助您找出錯誤的模式。舉例來說,假設有下列三類多元分類模型的混淆矩陣,該模型將三種不同的鳶尾花類型 (維吉尼亞州、Versicolor 和 Setosa) 加以分類。當真值是維吉尼亞州時,混淆矩陣顯示模型比 Setosa 更可能誤預測 Versicolor:

  Setosa (預測) Versicolor (預測值) 維吉尼亞州 (預測)
Setosa (真值) 88 12 0
Versicolor (真值) 6 141 7
維吉尼亞州 (真值) 2 27 109

再舉一個例子,混淆矩陣可能就顯示經過訓練辨識手寫數字的模型,往往會誤預測 9,而非 4,或誤將 1 誤預測為 1 而非 7。

混淆矩陣包含充足資訊,可以計算各種成效指標,包括精確度喚回度

連續功能

#fundamentals

具有無限可能值範圍 (例如溫度或體重) 的浮點功能

離散功能之間的對比。

收斂

#fundamentals

每次疊代loss 值極少或完全沒有變更時達到的狀態。舉例來說,下列損失曲線建議在大約 700 次疊代時收斂:

笛卡兒圖。X 軸損失。Y 軸是訓練疊代次數。在最初幾次的疊代中,損失非常高,但驟降的情況會急遽下降。大約 100 次疊代後,損失仍在遞減,但愈來愈久。大約 700 次疊代後,損失會持平。

當其他訓練無法改善模型時,模型「融合」

深度學習中,損失值有時會在許多疊代作業中保持不變或接近,最後再遞減。在較長的持續損失值期間,您可能會暫時收到假的收斂感。

另請參閱提前停止

D

DataFrame

#fundamentals

一種熱門的 pandas 資料類型,用於代表記憶體中的資料集

DataFrame 就如同資料表或試算表。DataFrame 的每個資料欄都有名稱 (標頭),每個資料列都是透過一組不重複的數字識別。

DataFrame 中的每個資料欄的結構都與 2D 陣列類似,但各欄皆可為各欄指派專屬的資料類型。

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

資料集或資料集

#fundamentals

原始資料集合,通常 (但非完全) 採用下列其中一種格式:

  • 試算表
  • 一個 CSV (逗號分隔值) 格式的檔案

深度模型

#fundamentals

「類神經網路」包含多個隱藏層

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

寬模型之間的對比。

稠密特徵

#fundamentals

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

8 3 7 5 2 4 0 4 9 6

對比稀疏功能

深度

#fundamentals

類神經網路中的下列各項總和:

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

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

離散功能

#fundamentals

具有一組可能值的地圖項目。例如,值可能僅為「動物」、「蔬菜」或「礦產」的特徵是離散 (或類別) 的特徵。

對比連續功能

動態

#fundamentals

經常或持續完成。 「動態」和「線上」這兩個詞彙在機器學習中的同義詞。以下是「動態」和「線上」在機器學習中的常見用途:

  • 動態模型 (或稱「線上模型」) 是指會經常或持續重新訓練的模型。
  • 動態訓練 (或「線上訓練」) 是指頻繁或持續的訓練程序。
  • 「動態推論」 (或「線上推論」) 是指按需求產生預測的程序。

動態模型

#fundamentals

頻繁 (甚至持續) 重新訓練的model。動態模型是一種「終身學習」,可持續適應不斷演變的資料。動態模型又稱為「線上模型」

這是與靜態模型之間的對比。

E

提早中止訓練

#fundamentals

用於正則化的方法,也就是在訓練損失完成減少「之前」結束「訓練」。在早期中止時,當驗證資料集的損失開始增加時 (也就是一般化效能降低時),您刻意停止訓練模型。

嵌入層

#language
#fundamentals

一種特殊的「隱藏層」,可在高維度的類別地圖項目上進行訓練,以便逐步學習較低維度嵌入向量。嵌入層可讓類神經網路的訓練更有效率,遠比僅針對高維度類別特徵進行訓練。

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

由 73,000 個元素的陣列。前 6,232 個元素的值為 0。下一個元素包含的值 1。最後一個 66,767 元素的值為 0。

73,000 個元素陣列過長。如果沒有為模型新增嵌入層,由於 72, 999 個零乘以 72,999,因此訓練作業會非常耗時。也許您挑選嵌入層包含 12 個維度因此,嵌入層會逐漸學習每個樹種的新嵌入向量。

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

Epoch 紀元時間

#fundamentals

完整的訓練通過整個訓練集,因此每個範例都已完成一次處理。

週期代表 N/批次大小訓練的「疊代」,其中 N 是樣本總數。

例如,假設:

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

因此,一個訓練週期需要 20 次疊代:

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

例子

#fundamentals

一列 features 的值,也可能是標籤監督式學習中的範例可分為以下兩種一般類別:

舉例來說,假設您正在訓練模型,藉此判斷天氣條件對學生測驗分數的影響。以下提供三個加上標籤的範例:

功能 唱片公司
隨機性參數 濕度 氣壓 測試分數
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 軸。

功能

#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 編碼表示。在這種情況下,特定範例的特徵向量部分會包含第三個位置的 4 個零和一個 1.0,如下所示:

[0.0, 0.0, 1.0, 0.0, 0.0]

再舉一個例子,假設您的模型包含三種特徵:

  • 一個二進位類別特徵,有 五個可能的值,以 one-hot 編碼表示;例如:[0.0, 1.0, 0.0, 0.0, 0.0]
  • 另一個二進位類別特徵,有 3 個可能的值,以 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

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

G

一般化

#fundamentals

「模型」對之前未曾看過的新資料進行正確預測的能力。可一般化的模型與過度配適的模型相反。

一般化曲線

#fundamentals

「訓練損失」和「驗證損失」的圖表,以「疊代」的數量呈現。

一般化曲線有助於偵測可能的過度配適。舉例來說,以下一般化曲線建議過度配適,因為驗證損失最終遠高於訓練損失。

笛卡兒圖表中,Y 軸標示為損失,X 軸標示為疊代。畫面上會出現兩個圖。其中一個圖表顯示訓練損失,另一則顯示驗證損失。這兩圖的起始點類似,但訓練損失最終遠低於驗證損失。

梯度下降法

#fundamentals

盡可能減少損失的數學技巧。梯度下降法會疊代調整權重偏誤,並逐步找出最佳組合,盡可能減少損失。

梯度下降法比機器學習更古老,更年紀更大。

基準真相

#fundamentals

Reality (實境秀)。

實際上發生的情況。

舉例來說,假設有二元分類模型,以預測進大學第一年的學生會在六年內畢業。此模型的真值在於學生是否在六年內實際畢業。

H

隱藏層

#fundamentals

位於輸入層 (特徵) 和「輸出層」 (預測) 之間的類神經網路層。每個隱藏層包含一或多個「神經元」。舉例來說,以下類神經網路包含兩個隱藏層,第一個有三個神經元,第二個有兩個神經元:

四層第一層是包含兩個地圖項目的輸入層。第二層是隱藏層,含有三個神經元第三層是包含兩個神經元的隱藏層。第四層是輸出層每個地圖項目都有三個邊緣,每個邊緣分別指向第二層的不同神經元。第二層中的每個神經元都包含兩條邊緣,每個邊緣會指向第三層中的不同神經元。第三層中的每個神經元都包含一個邊緣,每個神經元都指向輸出層。

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

超參數

#fundamentals

您或超參數調整服務的變數,會在連續執行模型訓練模型期間進行調整。舉例來說,學習率是一種超參數。在一個訓練課程開始前,您可以將學習率設為 0.01。如果您認為 0.01 過高,可以將下一個訓練課程的學習率設為 0.003。

相反地,參數是指模型在訓練期間學習的各種權重偏誤

I

獨立且相同分佈 (i.d)

#fundamentals

取自不會變更的分佈資料,且每個繪製值都不是依據先前已繪製的值計算。i.i.d. 是機器學習的理想氣體,這是一種實用的數學結構,但幾乎從未在現實世界中找到。舉例來說,網頁的訪客在短時間內的分佈情形可能是 i.i.d。也就是說,訪客在短暫的時間範圍內不會改變,使用者造訪通常也無關緊要。但是,如果您延長這段時間,網頁訪客就會看到季節性差異。

另請參閱 nonstationarity

推論

#fundamentals

在機器學習中,將經過訓練的模型套用至未加上標籤的範例,進行預測的程序。

推論在統計資料中的意義略有不同。 詳情請參閱 有關統計推論的維基百科文章

輸入層

#fundamentals

保存特徵向量「類神經網路」。也就是說,輸入層提供 「訓練」或「推論」範例。例如,下列類神經網路中的輸入層包含兩個特徵:

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

可解釋性

#fundamentals

以淺顯易懂的術語解釋或呈現機器學習「模型」的理由。

例如,大部分的線性迴歸模型都是容易解讀的。(您只需查看每個特徵的訓練權重)。決策樹也非常容易理解。但部分模型需要精密的視覺化功能才能解釋。

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

疊代

#fundamentals

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

訓練類神經網路時,單一疊代涉及以下兩項傳遞:

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

L

L0 正則化

#fundamentals

正規化類型,可對模型中非零權重總數進行處分。舉例來說,相較於具有 10 個非零權重的類似模型,模型在權重為 11 的情況下會遭到懲罰。

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

L1 損失

#fundamentals

這個「損失函式」會計算實際 label 值與「模型」預測值之間的差異絕對值。例如,以下計算了五個範例批次的 L1 損失:

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

L1 損失對離群值不比 L2 損失更敏感。

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

L1 正則化

#fundamentals

一種正則化,會根據權重絕對值的總和,按比例降低權重。L1 正則化有助於將不相關或幾乎不相關的特徵權重提高至「等於 0」。權重為 0 的特徵會從模型中有效移除。

L2 正則化之間的對比。

L2 損失

#fundamentals

這個損失函式:計算實際 label 值與模型預測值之間的差異平方值。例如,以下計算了五個範例批次的 L2 損失:

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

由於進行正方形,L2 失去會放大離群值的影響。也就是說,相較於 L1 損失,L2 損失對錯誤預測的反應更為強烈。舉例來說,前批次的 L1 損失會是 8,而非 16。請注意,一個離群值是 16 個中的 9 個。

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

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

L2 正則化

#fundamentals

一種正則化,會根據權重的平方總和,按比例降低權重L2 正則化有助於將離群值權重 (高正或負值的權重) 提高至更接近 0,但不完全等於 0。值非常接近 0 的特徵會保留在模型中,但對模型的預測結果幾乎沒有影響。

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

L1 正則化之間的對比。

標籤

#fundamentals

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

每個「已加上標籤的範例都包含一或多個「功能」和一個標籤。例如,在垃圾內容偵測資料集中,標籤可能是「垃圾內容」或「非垃圾內容」。在降雨資料集中,標籤可能是特定時段的降雨量。

有標籤樣本

#fundamentals

包含一或多個「地圖項目」和一個標籤的範例。例如,下表顯示房屋評估模型的三個已加上標籤的範例,每個樣本都有 3 個特徵和一個標籤:

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

監督式機器學習中,模型會以有標籤的樣本進行訓練,並根據未加上標籤的範例進行預測。

與有標籤的範例對比未加標籤的範例。

lambda

#fundamentals

正規化率的同義詞。

Lambda 是一種超載現象。以下將著重說明字詞的定義在正規化中的定義。

圖層

#fundamentals

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

例如,下圖顯示了一個類神經網路,其中包含一個輸入層、兩個隱藏層和一個輸出層:

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

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

學習率

#fundamentals

這個浮點數會指示梯度下降法演算法在每次疊代時調整權重和偏誤的強度。舉例來說,學習率為 0.3 時,調整權重和偏誤的效果比學習率 0.1 高出三倍。

學習率是一項關鍵超參數,如果設定的學習率過低,訓練時間就會過長。如果您將學習率設為過高,梯度下降法通常會無法達到收斂

線性

#fundamentals

兩個以上變數之間的關聯,可透過加法和乘法表示。

線性關係圖為一條線。

對比非線性

線性模型

#fundamentals

這個model會為每個model指派一個model,以便進行model。(線性模型也包含偏誤)。相對地,特徵與深度模型中的預測關係通常為「非線性」

與深度模型相比,線性模型通常較容易訓練,且可解釋性也更高。不過,深度模型可以學習特徵「之間」的複雜關係。

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

線性迴歸

#fundamentals

符合下列兩項條件的機器學習模型:

  • 模型為「線性模型
  • 預測為浮點值。(此為線性迴歸迴歸部分)。

使用邏輯迴歸對線性迴歸的對比。此外,迴歸與分類的差別在於

邏輯迴歸

#fundamentals

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

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

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

  • 電子郵件被歸類為垃圾郵件的機率為 72%。
  • 電子郵件遭非垃圾郵件的機率為 28%。

邏輯迴歸模型使用下列兩步驟架構:

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

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

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

對數損失

#fundamentals

用於二元邏輯迴歸損失函式

對數勝數

#fundamentals

某些事件發生機率的對數。

損失

#fundamentals

受監督模型「訓練」期間,用於測量模型預測結果與其標籤之間的距離。

損失函式會計算損失。

損失曲線

#fundamentals

損失圖,做為訓練「疊代」數量的函式。下圖顯示典型的損失曲線:

笛卡兒的損失與訓練疊代圖,顯示初始疊代的損失快速下滑,接著是逐漸下降,最終疊代期間則平緩下降。

損失曲線可協助您判斷模型處於融合過度配適的時機。

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

另請參閱一般化曲線

損失函式

#fundamentals

「訓練」或測試期間,這是根據批次計算損失的數學函式。相較於製作錯誤預測的模型,損失函式會傳回對模型具有良好預測的損失。

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

現在有許多不同類型的損失函式。請針對要建構的模型種類挑選適當的損失函式。例如:

M

機器學習

#fundamentals

從輸入資料中「訓練」模型的程式或系統。已訓練模型,可利用與訓練模型相同的分佈資料 (擷取前未曾見過的) 資料進行有用的預測。

機器學習是指研究相關計畫 或系統的相關研究領域

多數類別

#fundamentals

class-imbalanced 資料集中較常見的標籤。舉例來說,假設資料集中包含 99% 的負數標籤和 1% 正面標籤,負數標籤即為主要類別。

對比次要類別

小批

#fundamentals

隨機選取一小部分批次中處理的批次部分。小批次的「批次大小」通常介於 10 至 1,000 個範例之間。

舉例來說,假設整個訓練集 (完整批次) 含有 1,000 個範例。另假設您將每個迷你批次的「批次大小」設為 20。因此,每次疊代判斷從 1,000 個樣本中隨機 20 個樣本得出的損失,並據此調整權重偏誤

計算小批次損失的損失,會比整批次中所有範例的損失更有效率。

少數類別

#fundamentals

class-imbalanced 資料集中較不常見的標籤。舉例來說,假設資料集中包含 99% 的負數標籤和 1% 正向標籤,陽性標籤就是少數類別。

對比主要類別

model

#fundamentals

一般來說,處理輸入資料並傳回輸出內容的任何數學結構。詞組不同,模型是指系統進行預測所需的參數和結構組合。在監督式機器學習中,模型會以範例做為輸入,並推論出預測結果做為輸出內容。在監督式機器學習中,模型會略有不同例如:

您可以儲存、還原模型,或是建立模型副本。

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

多元分類

#fundamentals

在監督式學習中,這是「分類問題,其中資料集含有超過兩個 類別的標籤。例如,Iris 資料集的標籤必須是以下三個類別之一:

  • 伊里斯 (Setosa)
  • 艾里斯 (Iris virginica)
  • 虹彩

以 Iris 資料集訓練而成的模型 (以新樣本預測 Iris 類型),正在執行多類別分類。

相反地,用於區分剛兩個類別的分類問題則是「二進位分類模型。例如,可預測「垃圾郵件」或「非垃圾郵件」的電子郵件模型就是一種二元分類模型。

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

N

負類

#fundamentals

在「二元分類中,其中一個類別會標示為「陽性」,另一個類別則為「負數」。正類別代表模型正在測試的事物或事件,而負類別是另一種可能性。例如:

  • 醫療檢測中的負類作用可能是「不是腫瘤」。
  • 電子郵件分類器中的負面類別可能是「非垃圾郵件」。

正類別對比。

輸出內容

#fundamentals

model包含至少一個隱藏層model深層類神經網路是一種類神經網路,內含超過一個隱藏層。例如,下圖顯示包含兩個隱藏層的深層類神經網路。

具有輸入層、兩個隱藏層和輸出層的類神經網路。

類神經網路中的每個神經元會連線至下一層的所有節點。例如,在上圖中,請注意第一個隱藏層中的三個神經元分別會分別連線至第二個隱藏層中的兩個神經元。

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

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

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

神經元

#fundamentals

機器學習是在類神經網路隱藏層中使用不同的單位。每個神經元會執行下列兩步驟操作:

  1. 計算輸入值的加權總和乘以對應的權重。
  2. 將加權後的加總做為輸入值傳送至啟用函式

第一個隱藏層中的神經元會接受「輸入層」中的特徵值的輸入內容。在第一個隱藏層以外的任何隱藏層中,神經元會接受來自前述隱藏層的神經元輸入內容。例如,第二個隱藏層中的神經元會接受從第一個隱藏層中神經元的輸入內容。

下圖醒目顯示兩個神經元及其輸入內容。

具有輸入層、兩個隱藏層和輸出層的類神經網路。系統會醒目顯示兩個神經元:一個神經元是第一個隱藏層,另一個是第二個隱藏層。第一個隱藏層中醒目顯示的神經元會接收從輸入層中兩個特徵的輸入內容。第二個隱藏層中醒目顯示的神經元會接收來自第一個隱藏層中三個神經元的輸入內容。

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

節點 (類神經網路)

#fundamentals

隱藏層中的神經元

非線性

#fundamentals

兩個以上變數之間的關係,且這些變數無法僅透過加法和乘法表示。線性關係可以以線條表示;非線性關係無法以線條表示。舉例來說,假設有兩個模型 每個模型都與單一特徵相關左邊的模型是線性 而右邊模型則是非線性模型

兩個圖。其中一個圖表為線條,因此這是線性關係。另一個圖形為曲線,因此是非線性關係。

非車站

#fundamentals

一項或多個維度的值都會改變的特徵,通常是時間。舉例來說,請考慮以下非車站示例:

  • 特定商店的泳裝數量因季節而異。
  • 在特定地區所採收的特定水果量在一年內大部分都是 0,但有很短的時間。
  • 由於氣候變遷,每年平均溫度正在改變。

stationarity

正規化

#fundamentals

大致來說,將變數的實際值範圍轉換為標準值範圍的過程,例如:

  • -1 到 +1
  • 0 至 1
  • 常態分佈

舉例來說,假設特定特徵的實際值範圍是 800 至 2,400。在特徵工程過程中,您可以將實際值正規化為標準範圍 (例如 -1 到 +1)。

正規化是「特徵工程」中的常見工作。如果特徵向量中的每個數值特徵大致相同,模型的訓練速度通常都會加快,並產生更準確的預測結果。

數值資料

#fundamentals

特徵:以整數或實值表示。 例如,房屋評估模型可能將房屋的大小 (以平方公尺或平方公尺為單位) 表示為數值資料。以數值資料表示特徵,代表該地圖項目的值與標籤具有數學關係。也就是說,房屋的平方公尺可能與房屋的價值有某種數學關係。

並非所有整數資料都應以數值資料表示。舉例來說,世界上某些地區的郵遞區號是整數,但模型中的整數郵遞區號不應以數值資料表示。這是因為 20000 的郵遞區號不是 10000 的兩倍 (或一半)。此外,雖然不同的郵遞區號確實與不同的房地產值相關,但我們無法假設郵遞區號 20000 的房地產值比郵遞區號 10000 的房地產價值高出兩倍。郵遞區號應改以類別資料表示。

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

O

離線

#fundamentals

static 的同義詞。

離線推論

#fundamentals

模型產生一批預測結果,然後快取 (儲存) 這些預測的程序。然後,應用程式可以從快取存取推測的預測結果,而不必重新執行模型。

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

離線推論也稱為靜態推論

這是與線上推論之間的對比。

one-hot 編碼

#fundamentals

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

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

one-hot 編碼常用來代表具有一組有限可能值的字串或 ID。舉例來說,假設名為 Scandinavia 的特定類別特徵有五個可能的值:

  • 「丹麥」
  • 「瑞典」
  • 「挪威」
  • 「芬蘭」
  • 「冰島」

one-hot 編碼可能代表這五個值中的各個值,如下所示:

country 向量
「丹麥」 1 0 0 0 0
「瑞典」 0 1 0 0 0
「挪威」 0 0 1 0 0
「芬蘭」 0 0 0 1 0
「冰島」 0 0 0 0 1

借助 one-hot 編碼,模型可根據五個國家/地區學習不同的連線。

數值資料表示特徵是 one-hot 編碼的替代方法。遺憾的是,以數字形式呈現斯堪地那維亞國家/地區並不是理想選擇。例如,請參考以下數字表示法:

  • 「丹麥」為 0
  • 「瑞典」為 1
  • 「挪威」為 2
  • 「芬蘭」問世 3
  • 「冰島」為 4 歲

若為數字編碼,模型會以數學方式解讀原始數字,並試著根據這些數字進行訓練。然而,冰島實際上並不像挪威的兩倍 (或一半),因此模型會做出出奇怪的結論。

一對多

#fundamentals

如果遇到 N 類別的分類問題,這個解決方案包含 N 個單獨的「二進位檔分類器」,也就是一個二進位檔分類器,用於每個可能的結果。舉例來說,假設某個模型將範例分類為動物、蔬菜或礦物,一對一解決方案會提供下列三個不同的二進位分類器:

  • 動物還是非動物
  • 蔬菜與不吃菜的比較
  • 礦產而非礦石

線上

#fundamentals

動態的同義詞。

線上推論

#fundamentals

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

離線推論相比。

輸出層

#fundamentals

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

下圖顯示一個擁有輸入層、兩個隱藏層和輸出層的小型深層類神經網路:

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

過度配適

#fundamentals

建立與「訓練資料」model相符的model,密切確保模型無法依據新資料正確預測。

正規化可以減少過度配適。大規模且多元的訓練集也可以減少過度配適。

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

模型的輸出內容例如:

  • 二元分類模型的預測可以是正類別或負類別。
  • 多類別分類模型的預測是一個類別。
  • 線性迴歸模型的預測為數字。

Proxy 標籤

#fundamentals

用於近似標籤的資料,無法直接在資料集中取得。

舉例來說,假設您必須訓練模型來預測員工壓力等級,您的資料集包含許多預測特徵,但沒有名為「壓力等級」的標籤。您毫不猶豫地選擇「工作場所事故」做為壓力等級的代理標籤,畢竟,處於高壓力的員工會遭受比平靜的員工更多的意外事故。還是他們?職場事故實際上可能會因為多種原因而起伏

再舉一個例子,假設您希望值下雨?設為資料集的布林標籤,但資料集並未包含雨資料。如果有相片,您可以製作拍攝遮陽傘的人物相片,做為「在下雨嗎?」的替代標籤。這個 Proxy 標籤很合適嗎?可能,但某些文化的人比雨中更可能帶傘。

Proxy 標籤通常無法完美無缺。如有可能,請選擇實際標籤,而非 Proxy 標籤。也就是說,當缺少實際標籤時,請謹慎挑選 Proxy 標籤,並選擇最糟糕的 Proxy 標籤。

R

RAG

#fundamentals

擷取產生的新增結果的縮寫,

評分者

#fundamentals

範例提供標籤的人。「註解者」是評估者的另一個名稱。

線性整流單位 (ReLU)

#fundamentals

具有下列行為的啟用函式

  • 如果輸入內容為負數或零,則輸出結果為 0。
  • 如果輸入為正數,則輸出結果會等於輸入內容。

例如:

  • 如果輸入為 -3,則輸出結果為 0。
  • 如果輸入內容為 +3,則會輸出 3.0。

以下是 ReLU 的圖表:

有兩條線的笛卡兒圖。第一行的常數 y 值為 0,沿著 X 軸由 -infinity 和 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

Rectified Linear Unit 的縮寫。

擷取產生的生成世代 (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 函數

#fundamentals

這個數學函式可將輸入值「將」輸入受限範圍,通常為 0 至 1 或 -1 至 +1。也就是說,您可以將任何數字 (2,000 萬、負十億等等) 傳遞至 S 函數,且輸出內容仍位於受限範圍內。S 函數活化函數圖如下所示:

有 x 值的二維曲線圖,y 值橫跨網域 -infinity 和 + 負數,y 值則涵蓋將近 0 至近 1。當 x 為 0 時,y 為 0.5。曲線的斜率一律為正數,最高斜率為 0,0.5,並在 x 絕對值增加時逐漸減少斜率。

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

softmax

#fundamentals

這個函式會決定多類別分類模型中每個可能類別的機率。機率總和等於 1.0。例如,下表顯示 softmax 如何分配各種可能性:

圖片是... 機率
0.85
cat 0.13
0.02

Softmax 也稱為 full softmax

候選抽樣的差異。

稀疏特徵

#language
#fundamentals

一個功能,其值主要是零或空白。例如,一個包含單一 1 值和一百萬個 0 值的特徵是稀疏度。相對地,密集特徵的值主要並非零或空白。

在機器學習中,有許多出乎意料的特徵是稀疏的。類別特徵通常是稀疏的特徵。舉例來說,森林中有 300 種可能的樹種,一個例子或許只會辨識一顆楓樹。或者,影片庫中有數百萬部可能的影片 一個例子可以只識別「Casablanca」

在模型中,您通常會以 one-hot 編碼表示稀疏特徵。如果 one-hot 編碼較大,則可在 one-hot 編碼上方放置嵌入層,以提高效率。

稀疏表示法

#language
#fundamentals

稀疏功能中只儲存非零元素的位置

舉例來說,假設有一個名為 species 的類別地圖項目能識別特定森林中的 36 棵樹種。再假設每個範例都只能識別一個物種。

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

位置 0 到 23 的向量會保留值 0,位置 24 代表值 1,位置 25 至 35 則代表值 0。

或者,稀疏表示法只會識別特定物種的位置。如果 maple 位於位置 24,則 maple 的稀疏表示法為:

24

請注意,稀疏表示法比 one-hot 表示法更精簡。

稀疏向量

#fundamentals

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

平方損失

#fundamentals

L2 損失的同義詞。

靜態

#fundamentals

只完成一次,而非連續完成。「Static」和「Offline」這兩個字詞屬於同義詞。以下是機器學習中靜態離線的常見用途:

  • 「靜態模型」 (或「離線模型」) 是指訓練一次的模型,隨後使用一段時間。
  • 「靜態訓練」 (或「離線訓練」) 是指訓練靜態模型的程序。
  • 「靜態推論」(或「離線推論」) 是模型一次產生批次預測的程序。

對比動態

靜態推論

#fundamentals

離線推論的同義詞。

靜止

#fundamentals

某個地圖項目的值通常在一或多個維度中不會改變,通常是時間。例如,在 2021 年和 2023 年顯示相同的特徵,其值看起來都相同。

在現實世界中,很少有特色存在的特色。就連穩定性 (例如海平面) 的同義性功能也會隨著時間改變。

nonstationarity 進行比較。

隨機梯度下降 (SGD)

#fundamentals

梯度下降法演算法,其中批次大小為一種。也就是說,SGD 會從「訓練集」中隨機選擇的單一範例進行訓練。

監督式機器學習

#fundamentals

特徵model及其對應的model訓練model。監督式機器學習類似學習科目的 研究一組問題及其對應的答案掌握問題和答案之間的對應關係後,學生就能針對同一主題提出新問題 (前從未見) 的答案。

非監督式機器學習比較。

合成特徵

#fundamentals

由一或多個輸入特徵組合而成的功能。建立合成功能的方法包括:

  • 將連續功能「特徵分塊」為範圍特徵分塊。
  • 建立交錯組合特徵
  • 將某個特徵值與其他特徵值或本身相乘 (或除以)。例如,如果 ab 是輸入特徵,則合成特徵的範例如下:
    • ab
    • a2
  • 將暫時函式套用至特徵值。舉例來說,如果 c 是輸入特徵,則合成特徵的範例如下:
    • sin(c)
    • ln(c)

只透過正規化資源調度建立的功能,不視為合成功能。

T

測試損失

#fundamentals

一個指標,代表模型與測試集之間的損失。建構「模型」model時,通常會嘗試盡量減少測試損失。這是因為測試損失偏低,比訓練損失驗證損失偏低等信號的品質信號更有效。

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

訓練

#fundamentals

判斷組成模型適當參數 (權重和偏誤) 的程序。訓練期間,系統會讀取範例內容,並逐步調整參數。訓練會使用各個範例,從幾次到數十億次都有可能。

訓練損失

#fundamentals

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

損失曲線:繪製訓練損失和疊代次數的比較。損失曲線提供以下有關訓練的提示:

  • 下降斜率表示模型正在改善。
  • 向上斜坡表示模型的表現越來越差。
  • 平緩表示模型已達到「收斂」

舉例來說,以下是一些理想的損失曲線

  • 在初始疊代期間,呈陡峭的斜坡,代表模型改善率高。
  • 在接近訓練結束時逐漸平坦 (但仍然下降) 的斜坡,意味著在初始疊代期間,模型能以略低的速度持續改善。
  • 在訓練結束時有平緩的斜坡表示收斂。

訓練損失與疊代的圖。這種損失曲線從陡降的斜坡開始。會逐漸平穩,直到斜坡變成零。

雖然訓練損失很重要,但請參閱一般化一節。

訓練/應用偏差

#fundamentals

模型在「訓練」期間的成效與同一模型在提供期間的效能差異。

訓練集

#fundamentals

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

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

在理想情況下,資料集中的每個範例都應只屬於前述子集的其中一個。例如,單一範例不應同時屬於訓練集和驗證集。

真陰性 (TN)

#fundamentals

此範例可讓模型「正確」預測負類。例如,模型會推論特定電子郵件「不是垃圾郵件」,且該電子郵件確實「不是垃圾郵件」

真陽性 (TP)

#fundamentals

此範例可讓模型「正確」預測正面類別。舉例來說,模型會推論特定電子郵件是垃圾郵件,而該電子郵件確實是垃圾郵件。

真陽率 (TPR)

#fundamentals

召回的同義詞。也就是:

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

真陽率是指 ROC 曲線中的 Y 軸。

U

配適

#fundamentals

產生預測能力不佳的model,因為模型並未完整擷取訓練資料中的複雜度。很多問題可能會導致缺乏配適,包括:

未加上標籤的範例

#fundamentals

包含 features 但不含 label 的範例。例如,下表顯示了三個房屋評估模型中未加上標籤的範例,每個樣本都有三個特徵,但沒有房子值:

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

監督式機器學習中,模型會以有標籤的樣本進行訓練,並根據未加上標籤的範例進行預測。

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

與未加上標籤的範例對比已加上標籤的範例

非監督式機器學習

#clustering
#fundamentals

訓練model找出資料集中模式 (通常是未加上標籤的資料集)。

非監督式機器學習最常見的用途是將資料分群為相似的範例群組。舉例來說,非監督式機器學習演算法可以根據音樂的各種屬性建立歌曲叢集。產生的叢集可以成為其他機器學習演算法的輸入內容 (例如音樂推薦服務)。稀缺或缺少有用的標籤時,分群就能派上用場。舉例來說,在反濫用和詐欺等領域,叢集可協助人類進一步瞭解資料。

對比監督式機器學習技術

V

validation

#fundamentals

初步評估模型品質。 驗證會依據驗證集來檢查模型預測的品質。

由於驗證集與訓練集不同,驗證可以防範過度配適

您可以考慮根據驗證集評估模型,做為第一輪測試,並根據「測試集」評估模型,做為第二輪測試。

驗證損失

#fundamentals

這個指標代表模型在特定疊代期間的驗證集「損失」。

另請參閱一般化曲線

驗證集

#fundamentals

資料集的一部分,用來根據訓練的模型執行初始評估。一般而言,您會先針對驗證集評估已訓練的模型,然後再根據測試集評估模型。

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

在理想情況下,資料集中的每個範例都應只屬於前述子集的其中一個。例如,單一範例不應同時屬於訓練集和驗證集。

重量

#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

Z 分數正規化

#fundamentals

「縮放」技巧,以浮點值取代原始功能值,代表相對於該特徵平均值的標準差次數。例如,假設某個特徵的平均值為 800,且標準差為 100,下表顯示 Z 分數正規化如何將原始值對應至其 Z 分數:

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

然後,機器學習模型會使用該特徵的 Z 分數進行訓練,而非使用原始值。