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

本頁提供機器學習基礎知識的詞彙表詞彙。如要查看所有詞彙解釋,請按這裡

A

accuracy

#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,從 -infinity、0 到 0,-0 的 x 軸延伸。第二行的開頭為 0,0。這條線的斜率為 +1,因此介於 0,0 到 +infinity 或 +infinity 之間。

Sigmoid 啟用函式的示意圖如下:

2 維曲線圖,x 值涵蓋網域 -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,模型就越能將類別彼此區隔開來。

例如,下圖中的分類器模型完美區隔正面類別 (綠色橢圓形) 與負類別 (紫色矩形)。這個不真實完美的模型具有 1.0 的 AUC:

數字行,一端包含 8 個正例,另一邊有 9 個負例。

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

包含 6 個正例和 6 個負例的數字行。樣本序列為正、負面、正面、負面、正面、負面、正面、負面、負面、正面、負面。

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

大部分模型都位於兩種極端之間。舉例來說,下列模型與正數之間有些微區隔,因此 AUC 在 0.5 和 1.0 之間:

包含 6 個正例和 6 個負例的數字行。範例的順序為負值、負面、負面、負面、正面、負面、正面、正面、負面、正面、正面、正面。

AUC 會忽略您為「分類門檻」設定的任何值。因此,AUC 會考量「所有」可能的分類門檻。

B

反向傳播

#fundamentals

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

訓練類神經網路涉及下列兩段傳遞循環的許多「疊代」

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

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

「學習率」是一個係數,可控制每次反向傳遞的增減程度。如果學習率偏高,每個權重的增減幅度就會大於小型的學習率。

在微積分中,反向傳播會實作微積分的連鎖規則。也就是說,反向傳播會依據每個參數計算錯誤的部分導數。詳情請參閱這個機器學習密集課程教學課程

幾年前,機器學習從業人員必須編寫程式碼來實作反向傳播。TensorFlow 等現代化機器學習 API 現在會為您實作反向傳播。好啊!

Batch

#fundamentals

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

如要瞭解批次與週期之間的關聯,請參閱週期

批量

#fundamentals

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

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

  • Stochastic Gradient Descent (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 度,「冷」色區間就會是 10 度。
  • 11 - 24 度以攝氏為單位,
  • >= 25 度代表「暖色」值區。

模型會以完全相同的方式處理同一值區中的所有值。例如,1322 兩個值都位於臨時值區中,因此模型會以相同方式處理兩個值。

C

類別資料

#fundamentals

特徵具有一組特定的可能值。例如,假設有一個名為 traffic-light-state 的類別特徵,該功能只能有以下三種可能值的其中之一:

  • red
  • yellow
  • green

traffic-light-state 表示為類別特徵,模型即可瞭解 redgreenyellow 對駕駛行為造成的不同影響。

類別特徵有時稱為「離散功能」

數值資料對比。

類別

#fundamentals

標籤可以所屬的類別。例如:

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

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

分類模型

#fundamentals

預測屬於modelmodel模型。 例如,以下都是所有分類模型:

  • 這個模型可預測輸入語句的語言 (法文?西班牙文? 義大利文)。
  • 預測樹種的模型 (Maple?橡木色?「Bobab?」)。
  • 此模型可預測特定醫療狀況的正面或負面類別。

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

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

分類門檻

#fundamentals

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

邏輯迴歸模型會輸出介於 0 到 1 之間的原始值。接著:

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

舉例來說,假設分類門檻為 0.8。如果原始值為 0.9,模型就會預測正數類別。如果原始值為 0.7,模型會預測負類。

選擇分類門檻會大幅影響偽陽性偽陰性的數量。

Class-imbalanced 資料集

#fundamentals

一個用於分類問題的資料集,其中每個類別的標籤總數有顯著差異。例如,假設一個二元分類資料集的兩個標籤劃分如下:

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

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

相反地,下列資料集「不」進行類別不平衡,因為負標籤與正標籤的比率相對接近 1:

  • 517 個排除標籤
  • 483 個正面標籤

多類別資料集也能達到類別平衡。例如,下列多類別分類資料集也具有分類無平衡,因為其中一個標籤的範例比其他標籤多了:

  • 1,000,000 個含有「green」類別的標籤
  • 200 個含有「紫色」類別的標籤
  • 含有「橘色」類別的 350 個標籤

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

剪輯

#fundamentals

處理離群值的技巧,可執行下列其中一項或同時進行:

  • feature 值減少至最低門檻限制。
  • 將低於最低門檻的特徵值增加至該最低門檻。

例如,假設特定地圖項目的值小於 0.5%,落在 40 到 60 個範圍外。在這種情況下,您可以執行以下操作:

  • 請將超過 60 (門檻值) 的所有值裁剪為正好 60 個值。
  • 請將低於 40 (最低門檻) 的所有值裁剪為 40 以下。

離群值可能會損害模型,有時會導致「權重」在訓練期間溢位。某些離群值也可能會大幅降低指標,例如準確度。裁剪是限制損害的常見技術。

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

混淆矩陣

#fundamentals

NxN 資料表,摘要說明分類模型進行的正確和錯誤預測結果數量。舉例來說,假設以下「二元分類」模型採用下列混淆矩陣:

腫瘤 (預測) 非熱帶 (預測)
杜摩 (真值) 18 (TP) 1 (FN)
非流星 (真值) 6 (FP) 452 (臺灣)

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

  • 在 19 個真值預測為 Tumor 的預測中,模型正確地將 18 組正確分類,並歸類為 1。
  • 在 458 個預測模型中,真值非兒子的預測值中,該模型已正確分類為 452,並錯誤分類為 6。

多類別分類問題的混淆矩陣可協助您找出錯誤模式。例如,假設有 3 類多類別分類模型,卻將三種不同的圓形類型 (維吉尼亞州、維西 color 和 Setosa) 分類,請參考下列混淆矩陣。當真值是 Virginica,這個混淆矩陣顯示模型很有可能誤以為比「Setosa」的 Versicolor:

  塞托薩 (預測) Versicolor (預測) 維吉尼亞州 (預測)
塞托薩 (真值) 88 12 0
維西彩 (真值) 6 141 7
維吉尼亞州 (真值) 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

這個特徵包含大部分或所有值都不是零,通常是浮點值的 Tensor。舉例來說,下列 10 個元素 Tensor 變得密集,因為其中 9 個值不是零:

8 3 7 5 2 4 0 4 9 6

稀疏功能的對比。

depth

#fundamentals

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

舉例來說,假設類神經網路包含五個隱藏層,一個輸出層深度為 6。

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

離散功能

#fundamentals

具有一組有限值的功能。例如,其值可能為「動物」、「蔬菜」或「礦物」的特徵是離散 (或類別) 特徵。

連續特徵對比。

動態

#fundamentals

經常或持續進行。在機器學習中,「動態」和「線上」這兩個詞彙是同義詞。以下列舉在機器學習中常見的「動態」和「線上」用法:

  • 「動態模型」 (或「線上模型」) 是一種經常或持續重新訓練的模型。
  • 「動態訓練」 (或「線上訓練」) 是經常或持續進行訓練的程序。
  • 「動態推論」 (或「線上推論」) 是指按照需求產生預測的程序。

動態模型

#fundamentals

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

靜態模型對比。

E

提早中止訓練

#fundamentals

一種正規化方法,涉及在訓練損失完成降低「之前」結束訓練。在提早中止訓練的過程中,驗證資料集的損失開始增加時,刻意停止訓練模型,也就是當一般化效能降低時。

嵌入層

#language
#fundamentals

特殊的隱藏層,可在高維度的類別功能上進行訓練,逐漸學習尺寸較低的嵌入向量。嵌入層可讓類神經網路的訓練效率,遠比只針對高維度類別特徵進行訓練。

舉例來說,Google 地球目前支援約 73,000 種樹木。假設樹種是模型中的「地圖項目」,因此模型的輸入層包含長度為 73,000 個元素的「one-hot 向量」元素。舉例來說,可能 baobab 的表示方式如下:

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

73,000 元素的陣列很長。如果您未在模型中加入嵌入層,則訓練會因為乘以 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

標籤的對比。

交叉特徵

#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]

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

  • 具有 5 個可能值的二元類別特徵,以 one-hot 編碼表示,例如:[0.0, 1.0, 0.0, 0.0, 0.0]
  • 另一個二元類別特徵,有三個可能的值,以 one-hot 編碼表示,例如:[0.0, 0.0, 1.0]
  • 浮點地圖項目,例如 8.3

在這種情況下,每個範例的特徵向量都會以 9 個值表示。就上述清單中的範例值而言,地圖項目向量會是:

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

您或超參數調整服務在連續訓練模型期間調整的變數。舉例來說,「學習率」就是超參數。您可以將學習率設為 1 次訓練之前的 0.01。如果你認為 0.01 太高,也可以將下一個訓練課程的學習率設為 0.003。

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

I

獨立且相同發布 (即

#fundamentals

從不會改變的分佈情況中繪製的資料,且每個繪製的值都不需要依賴先前繪製的值。i.i.d. 是機器學習的「理想氣體」,這是很實用的數學建構,但幾乎完全找不到。舉例來說,某個網頁的訪客在一小段時間內的分佈情形可能是 i.d.;也就是說,在短時間內,分佈方式不會改變,某位使用者的造訪通常與另一位使用者的造訪無關。但是,如果您擴大該時間範圍,可能會出現網頁訪客的季節性差異。

另請參閱非預期性

推論

#fundamentals

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

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

輸入層

#fundamentals

擁有特徵向量類神經網路。也就是說,輸入層會提供訓練推論範例。例如,下列類神經網路中的輸入層由兩個特徵組成:

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

可解釋性

#fundamentals

能以能夠理解的用語向人類說明或呈現機器學習「模型」的原因。

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

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

疊代

#fundamentals

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

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

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

L

L0 正則化

#fundamentals

一種正則化,會對模型中非零權重總數進行懲罰。舉例來說,相較於具有 10 個非零權重的類似模型,系統會對 11 個非零權重的模型受到懲罰。

L0 正則化有時稱為「L0-norm 正則化」

1

#fundamentals

一項損失函式,用於計算實際標籤值與模型預測結果之間差異的絕對值。舉例來說,以下是五個範例批次的 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

一個損失函式,用於計算實際標籤值與模型預測結果之間的差異平方值。舉例來說,以下是五個範例批次的 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 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。(如果標籤含有超過兩個可能的值,則可同時放置多個 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 資料集中的標籤必須為以下三個類別之一:

  • 伊莉絲.賽托薩 (Iris setosa)
  • 艾里斯維吉尼卡
  • 圓形禮拜堂

模型以 Iris 資料集訓練,以對新範例預測 Iris 類型,就會執行多類別分類。

相反地,區分這兩個類別的分類問題就是「二元分類模型」。舉例來說,預測垃圾郵件非垃圾郵件的電子郵件模型是一種二元分類模型。

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

N

負類

#fundamentals

在「二元分類」中,一個類別字詞為「陽性」,另一個類別則歸類為「負數」。正類是模型要測試的項目或事件,而負類別則為其他可能。例如:

  • 醫療檢測的陰性類別可能是「非腫瘤」。
  • 電子郵件分類器中的排除類別可能是「非垃圾郵件」。

正向類別相反。

輸出內容

#fundamentals

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

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

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

在電腦中實作的類神經網路有時也稱為「人工類神經網路」,以便與大腦和其他神經系統中的類神經網路區分開來。

有些類神經網路可模仿不同特徵與標籤之間極度複雜的非線性關係。

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

神經元

#fundamentals

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

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

第一個隱藏層中的神經元會接受輸入層中特徵值的輸入內容。除了第一個隱藏層,任何隱藏層中的神經元都會接受前一個隱藏層中神經元的輸入內容。例如,第二個隱藏層中的神經元會接受第一個隱藏層中神經元的輸入內容。

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

一個包含輸入層、兩個隱藏層和輸出層的類神經網路。兩個神經元會醒目顯示:一個在第一個隱藏層,另一個位於第二個隱藏層。第一個隱藏層中,醒目顯示的神經元會接收輸入層中兩個地圖項目的輸入內容。在第二個隱藏層中,醒目顯示的神經元會接收第一個隱藏層中三個神經元的輸入內容。

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

節點 (類神經網路)

#fundamentals

神經元位於隱藏圖層

非線性

#fundamentals

兩個或多個變數之間的關係,這些變數無法只透過加法和乘法表示。線性關係可以用線條表示,非線性關係無法以線條表示。例如,假設兩個模型各自與單一標籤產生關聯。左側的模型為線性模型,而右側的模型是非線性:

兩個立場。是一個線條,因此這是線性關係。另一個圖形則是曲線,因此這是非線性關係。

非終極

#fundamentals

一個特徵的值會跨一或多個維度變更,通常是時間。例如,請看以下非不雅用語的例子:

  • 特定商店販售的泳裝數量因季節而異。
  • 特定區域中採收的特定水果數量在一年之中大部分為零,但在短時間內卻十分龐大。
  • 由於氣候變遷,每年的平均溫度正在改變。

stationarity對比。

正規化

#fundamentals

概括而言,這是指將變數的實際值範圍轉換為標準值範圍的程序,例如:

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

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

正規化是特徵工程中的常見工作。如果特徵向量中每個數值特徵的範圍大致相同,模型通常可以加快訓練速度 (並產生更好的預測結果)。

數值資料

#fundamentals

特徵,以整數或實值表示。舉例來說,房屋評估模型可能會將房屋的大小 (以平方英尺或平方公尺) 表示。以數值資料表示特徵代表特徵的值與標籤具有「數學」關係。也就是說,房屋的平方公尺數可能會與房屋值之間有一些數學關係。

並非所有整數資料都應以數值資料表示。例如,世界某些地區的郵遞區號是整數;然而,模型不應以數字資料表示整數郵遞區號。這是因為 20000 的郵遞區號並未是被認為 10000 的郵遞區號的兩倍 (或一半)。此外,雖然不同的郵遞區號「確實」與不同的房地產值相關,但是我們無法假設郵遞區號 20000 的房地產價值,其價值是郵遞區號 10000 的兩倍。郵遞區號應改以類別資料表示。

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

O

離線

#fundamentals

static 的同義詞。

離線推論

#fundamentals

模型產生批次「預測」,然後快取 (儲存) 預測的程序。這樣應用程式就可以從快取存取需要的預測結果,不必重新執行模型。

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

離線推論也稱為靜態推論

線上推論相反。

one-hot 編碼

#fundamentals

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

  • 一個元素設為 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

資料集內無法直接取得的近似標籤資料。

舉例來說,假設您必須訓練模型來預測員工的壓力等級。您的資料集含有許多預測特徵,但並未包含名為「stress level」的標籤。您並沒有困難,您選擇「工作場所事故」做為壓力等級的替代標籤。畢竟,壓力高的員工會遭遇比平靜的員工更多的事故。或者比這些公司也能看到?也許職場事故實際上會因為多種原因而起伏

第二個範例,假設您要將「該下雨嗎?」為資料集的布林值標籤,但資料集未包含雨量資料。如果有可用的相片,您可以拍攝伴隨雨傘的人物相片做為「它在下雨嗎?」標籤。請問這是合適的 Proxy 標籤嗎?可以,但是某些文化的人相較於雨天,更有可能攜帶陽傘來防止太陽。

Proxy 標籤通常不完整。如果可以,請選擇實際標籤而非 Proxy 標籤。也就是說,如果沒有實際標籤,請謹慎挑選 Proxy 標籤,選擇最不嚴重的 Proxy 標籤。

R

評分者

#fundamentals

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

變形線性單元 (ReLU)

#fundamentals

啟用函式包含下列行為:

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

例如:

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

以下是 ReLU 的示意圖:

雙線圖第一行的常數 y 值為 0,從 -infinity、0 到 0,-0 的 x 軸延伸。第二行的開頭為 0,0。這條線的斜率為 +1,因此介於 0,0 到 +infinity 或 +infinity 之間。

ReLU 是非常熱門的啟用函式。儘管 ReLU 具有簡單的行為,但 ReLU 仍可讓類神經網路學習特徵標籤之間的非線性關係。

迴歸模型

#fundamentals

簡單來說,模型會產生數值預測。相較之下,「分類模型」會產生類別預測結果。例如,以下是所有迴歸模型:

  • 預測特定房屋價值的模型,例如 423,000 歐元。
  • 預測特定樹木壽命的模型,例如 23.2 年。
  • 此模型可預測特定城市未來 6 小時內的降雨量,例如 0.18 英寸。

兩種常見的迴歸模型類型為:

  • 線性迴歸:尋找最適合特徵的標籤值與特徵的行。
  • 邏輯迴歸:產生介於 0.0 到 1.0 之間的機率,然後系統通常會對應到類別預測。

並非所有輸出數值預測的模型都屬於迴歸模型。 在某些情況下,數字預測實際上只是會出現數字類別名稱的分類模型。舉例來說,預測數字郵遞區號的模型是一種分類模型,而非迴歸模型。

正則化

#fundamentals

任何可降低過度配適的機制。 常見的正則類型包括:

正規化也可以定義為模型複雜度的懲罰。

正則化率

#fundamentals

一個數字,用於指定訓練期間正規化的相對重要性。提高正規率可降低過度配適,但可能會降低模型的預測能力。相反地,減少或省略正規化率就會增加過度配適。

ReLU

#fundamentals

經過調整的線性單位的縮寫。

擴增生成世代

#fundamentals

一種常用在大型語言模型 (LLM) 應用程式的軟體架構。 使用擷取後產生作業的常見動機包括:

  • 提高模型產生的回應的真實準確性
  • 為模型提供未受訓練的知識
  • 變更模型使用的知識
  • 啟用模型引用來源功能

舉例來說,假設化學應用程式使用 PaLM API 產生與使用者查詢相關的摘要。當應用程式的後端收到查詢時,後端會先搜尋與使用者查詢相關的 (「擷取」) 資料,在使用者的查詢中附加 (「擴增」) 相關化學資料,並指示 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 曲線可近似有一條晃動的弧形,在指南針點從西到北行經。

在理論上,最接近 (0.0,1.0) 的 ROC 曲線上的點會按理論識別理想分類門檻。不過,在現實世界中還有一些其他問題會影響選擇理想的分類門檻。例如,偽陰性可能會造成遠離偽陽性的影響很大。

名為 AUC 的數值指標會將 ROC 曲線總結為單一浮點值。

均方根誤差 (RMSE)

#fundamentals

Mean Squared Error 的平方根。

S 形函式

#fundamentals

一種數學函式,可將輸入值「減去」受限範圍,通常為 0 至 1 或 -1 至 +1。也就是說,您可以將任意數字 (二、一百萬、負十億、任何數字) 傳遞至 S ,且輸出仍位於受限範圍內。 Sigmoid 啟用函式的示意圖如下:

2 維曲線圖,x 值涵蓋網域 -infinity 到 + 正數,y 值則涵蓋將近 0 到近 1 的範圍。當 x 為 0 時,y 為 0.5。曲線的斜率一律為正數,最高斜率為 0,0.5,會隨著 x 的絕對值增加而逐漸降低斜率。

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

柔化

#fundamentals

判斷多類別分類模型中每個可能類別機率的函式。機率加起來就是 1.0例如,下表顯示 softmax 如何分配各種機率:

圖片是... 機率
.85
cat .13
0.02

Softmax 也稱為完整 softmax

候選樣本相反。

稀疏功能

#language
#fundamentals

feature,其值主要為零或空白。舉例來說,包含 1 個值和 100 萬個值的特徵會稀疏。相反地,密集特徵中的值通常不是零或空白。

令人驚訝的事物在機器學習領域是稀疏特徵。類別特徵通常為稀疏特徵。舉例來說,森林中 300 種可能的樹種,一個範例可能只標示一個楓樹。或者,如果一個影片庫中的數百萬部影片 一個範例可能會只標示「卡薩布蘭卡」

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

稀疏表示法

#language
#fundamentals

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

舉例來說,假設名為 species 的類別特徵識別了特定森林中的 36 種樹種。另假設每個 範例 都只會識別一個物種。

您可以使用一次性向量來表示每個範例中的樹木物種。一次性向量會包含一個 1 (代表該範例中特定樹種) 和 35 個 0 (代表該例子「不」有 35 種樹木)。因此,maple 的一次性表示法可能如下所示:

這個向量如果位置 0 到 23 保留值 0,位置 24 保留值 1,而位置 25 到 35 則保留值 0。

此外,稀疏表示法只會識別特定物種的位置。如果 maple 在位置 24,則 maple 的稀疏表示法只會是:

24

請注意,稀疏表示法比一次性表示法更精簡。

稀疏向量

#fundamentals

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

平方損失

#fundamentals

L2 損失的同義詞。

靜態

#fundamentals

這樣就不用持續進行。「static」和「離線」這兩個詞為同義詞。 以下列舉在機器學習中常見的「靜態」和「離線」用法:

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

動態對比。

靜態推論

#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

「指標」,代表模型在特定訓練疊代期間的「損失」。舉例來說,假設損失函式是 Mean Squared Error (平均平方錯誤)。舉例來說,第 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

範例:包含地圖項目,但沒有標籤。例如,下表顯示一個房屋評估模型中三個未加上標籤的範例,每個範例都有三個特徵,但沒有任何房屋值:

臥室數量 浴室數量 房屋年齡
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 分數進行訓練,而非以原始值進行訓練。