Google 工程教育團隊已經發布了多語種的 Google 機器學習術語表,該術語表中列出了一般的Machine Learning術語和 TensorFlow 專用術語的定義。語言版本包括西班牙語,法語,韓語和簡體中文。
A
A/B 測試 (A/B testing)
一種統計方法,用于將兩種或多種技術進行比較,通常是將當前采用的技術與新技術進行比較。A/B 測試不僅旨在確定哪種技術的效果更好,而且還有助于了解相應差異是否具有顯著的統計意義。A/B 測試通常是采用一種衡量方式對兩種技術進行比較,但也適用于任意有限數量的技術和衡量方式。
準確率 (accuracy)
分類模型的正確預測所占的比例。在多類別分類中,準確率的定義如下:
準確率 =正確的預測數樣本總數準確率=正確的預測數樣本總數
在二元分類中,準確率的定義如下:
準確率 =真正例數 +真負例數樣本總數準確率=真正例數+真負例數樣本總數
請參閱真正例和真負例。
激活函數 (activation function)
一種函數(例如ReLU或S 型函數),用于對上一層的所有輸入求加權和,然后生成一個輸出值(通常為非線性值),并將其傳遞給下一層。
AdaGrad
一種先進的梯度下降法,用于重新調整每個參數的梯度,以便有效地為每個參數指定獨立的學習速率。如需查看完整的解釋,請參閱如下論文.(http://www.jmlr.org/papers/volume12/duchi11a/duchi11a.pdf)
ROC 曲線下面積 (AUC, Area under the ROC Curve)
一種會考慮所有可能分類閾值的評估指標。
ROC 曲線下面積是,對于隨機選擇的正類別樣本確實為正類別,以及隨機選擇的負類別樣本為正類別,分類器更確信前者的概率。
B
反向傳播算法 (backpropagation)
在神經網絡上執行梯度下降法的主要算法。該算法會先按前向傳播方式計算(并緩存)每個節點的輸出值,然后再按反向傳播遍歷圖的方式計算損失函數值相對于每個參數的偏導數。
基準 (baseline)
一種簡單的模型或啟發法,用作比較模型效果時的參考點。基準有助于模型開發者針對特定問題量化最低預期效果。
批次 (batch)
模型訓練的一次迭代(即一次梯度更新)中使用的樣本集。
另請參閱批次規模。
批次規模 (batch size)
一個批次中的樣本數。例如,SGD的批次規模為 1,而小批次的規模通常介于 10 到 1000 之間。批次規模在訓練和推斷期間通常是固定的;不過,TensorFlow 允許使用動態批次規模。
偏差 (bias)
距離原點的截距或偏移。偏差(也稱為偏差項)在機器學習模型中以 b 或 w0表示。例如,在下面的公式中,偏差為 :
請勿與預測偏差混淆。
二元分類 (binary classification)
一種分類任務,可輸出兩種互斥類別之一。例如,對電子郵件進行評估并輸出 “垃圾郵件” 或“非垃圾郵件”的機器學習模型就是一個二元分類器。
分箱 (binning)
請參閱分桶。
分桶 (bucketing)
將一個特征(通常是連續特征)轉換成多個二元特征(稱為桶或箱),通常是根據值區間進行轉換。例如,您可以將溫度區間分割為離散分箱,而不是將溫度表示成單個連續的浮點特征。假設溫度數據可精確到小數點后一位,則可以將介于 0.0 到 15.0 度之間的所有溫度都歸入一個分箱,將介于 15.1 到 30.0 度之間的所有溫度歸入第二個分箱,并將介于 30.1 到 50.0 度之間的所有溫度歸入第三個分箱。
C
校準層 (calibration layer)
一種預測后調整,通常是為了降低預測偏差。調整后的預測和概率應與觀察到的標簽集的分布一致。
候選采樣 (candidate sampling)
一種訓練時進行的優化,會使用某種函數(例如 softmax)針對所有正類別標簽計算概率,但對于負類別標簽,則僅針對其隨機樣本計算概率。例如,如果某個樣本的標簽為 “小獵犬” 和“狗”,則候選采樣將針對 “小獵犬” 和“狗”類別輸出以及其他類別(貓、棒棒糖、柵欄)的隨機子集計算預測概率和相應的損失項。這種采樣基于的想法是,只要正類別始終得到適當的正增強,負類別就可以從頻率較低的負增強中進行學習,這確實是在實際中觀察到的情況。候選采樣的目的是,通過不針對所有負類別計算預測結果來提高計算效率。
分類數據 (categorical data)
一種特征,擁有一組離散的可能值。以某個名為house style的分類特征為例,該特征擁有一組離散的可能值(共三個),即Tudor, ranch, colonial。通過將house style表示成分類數據,相應模型可以學習Tudor、ranch和colonial分別對房價的影響。
有時,離散集中的值是互斥的,只能將其中一個值應用于指定樣本。例如,car maker分類特征可能只允許一個樣本有一個值 (Toyota)。在其他情況下,則可以應用多個值。一輛車可能會被噴涂多種不同的顏色,因此,car color分類特征可能會允許單個樣本具有多個值(例如red和white)。
分類特征有時稱為離散特征。
與數值數據相對。
檢查點 (checkpoint)
一種數據,用于捕獲模型變量在特定時間的狀態。借助檢查點,可以導出模型權重,跨多個會話執行訓練,以及使訓練在發生錯誤之后得以繼續(例如作業搶占)。請注意,圖本身不包含在檢查點中。
類別 (class)
為標簽枚舉的一組目標值中的一個。例如,在檢測垃圾郵件的二元分類模型中,兩種類別分別是 “垃圾郵件” 和“非垃圾郵件”。在識別狗品種的多類別分類模型中,類別可以是 “貴賓犬”、“小獵犬”、“哈巴犬” 等等。
分類不平衡的數據集 (class-imbalanced data set)
一種二元分類問題,在此類問題中,兩種類別的標簽在出現頻率方面具有很大的差距。例如,在某個疾病數據集中,0.0001 的樣本具有正類別標簽,0.9999 的樣本具有負類別標簽,這就屬于分類不平衡問題;但在某個足球比賽預測器中,0.51 的樣本的標簽為其中一個球隊贏,0.49 的樣本的標簽為另一個球隊贏,這就不屬于分類不平衡問題。
分類模型 (classification model)
一種機器學習模型,用于區分兩種或多種離散類別。例如,某個自然語言處理分類模型可以確定輸入的句子是法語、西班牙語還是意大利語。請與回歸模型進行比較。
分類閾值 (classification threshold)
一種標量值條件,應用于模型預測的得分,旨在將正類別與負類別區分開。將邏輯回歸結果映射到二元分類時使用。以某個邏輯回歸模型為例,該模型用于確定指定電子郵件是垃圾郵件的概率。如果分類閾值為 0.9,那么邏輯回歸值高于 0.9 的電子郵件將被歸類為 “垃圾郵件”,低于 0.9 的則被歸類為 “非垃圾郵件”。
協同過濾 (collaborative filtering)
根據很多其他用戶的興趣來預測某位用戶的興趣。協同過濾通常用在推薦系統中。
混淆矩陣 (confusion matrix)
一種 NxN 表格,用于總結分類模型的預測成效;即標簽和模型預測的分類之間的關聯。在混淆矩陣中,一個軸表示模型預測的標簽,另一個軸表示實際標簽。N 表示類別個數。在二元分類問題中,N=2。例如,下面顯示了一個二元分類問題的混淆矩陣示例:
多類別分類問題的混淆矩陣有助于確定出錯模式。例如,某個混淆矩陣可以揭示,某個經過訓練以識別手寫數字的模型往往會將 4 錯誤地預測為 9,將 7 錯誤地預測為 1。混淆矩陣包含計算各種效果指標(包括精確率和召回率)所需的充足信息。上面的混淆矩陣顯示,在 19 個實際有腫瘤的樣本中,該模型正確地將 18 個歸類為有腫瘤(18 個真正例),錯誤地將 1 個歸類為沒有腫瘤(1 個假負例)。同樣,在 458 個實際沒有腫瘤的樣本中,模型歸類正確的有 452 個(452 個真負例),歸類錯誤的有 6 個(6 個假正例)。
連續特征 (continuous feature)
一種浮點特征,可能值的區間不受限制。與離散特征相對。
收斂 (convergence)
通俗來說,收斂通常是指在訓練期間達到的一種狀態,即經過一定次數的迭代之后,訓練損失和驗證損失在每次迭代中的變化都非常小或根本沒有變化。也就是說,如果采用當前數據進行額外的訓練將無法改進模型,模型即達到收斂狀態。在深度學習中,損失值有時會在最終下降之前的多次迭代中保持不變或幾乎保持不變,暫時形成收斂的假象。
另請參閱早停法。
另請參閱 Boyd 和 Vandenberghe 合著的Convex Optimization(《凸優化》)。
凸函數 (convex function)
一種函數,函數圖像以上的區域為凸集。典型凸函數的形狀類似于字母U。例如,以下都是凸函數:
相反,以下函數則不是凸函數。請注意圖像上方的區域如何不是凸集:
局部最低點局部最低點全局最低點
嚴格凸函數只有一個局部最低點,該點也是全局最低點。經典的 U 形函數都是嚴格凸函數。不過,有些凸函數(例如直線)則不是這樣。
很多常見的損失函數(包括下列函數)都是凸函數:
L2損失函數
對數損失函數
L1正則化
L2正則化
梯度下降法的很多變體都一定能找到一個接近嚴格凸函數最小值的點。同樣,隨機梯度下降法的很多變體都有很高的可能性能夠找到接近嚴格凸函數最小值的點(但并非一定能找到)。
兩個凸函數的和(例如 L2損失函數 + L1正則化)也是凸函數。
深度模型絕不會是凸函數。值得注意的是,專門針對凸優化設計的算法往往總能在深度網絡上找到非常好的解決方案,雖然這些解決方案并不一定對應于全局最小值。
凸優化 (convex optimization)
使用數學方法(例如梯度下降法)尋找凸函數最小值的過程。機器學習方面的大量研究都是專注于如何通過公式將各種問題表示成凸優化問題,以及如何更高效地解決這些問題。
如需完整的詳細信息,請參閱 Boyd 和 Vandenberghe 合著的Convex Optimization(《凸優化》)。
凸集 (convex set)
歐幾里得空間的一個子集,其中任意兩點之間的連線仍完全落在該子集內。例如,下面的兩個圖形都是凸集:
相反,下面的兩個圖形都不是凸集:
成本 (cost)
是損失的同義詞。
交叉熵 (cross-entropy)
對數損失函數向多類別分類問題進行的一種泛化。交叉熵可以量化兩種概率分布之間的差異。另請參閱困惑度。
自定義 Estimator (custom Estimator)
您按照這些說明自行編寫的Estimator。
與預創建的 Estimator相對。
D
數據集 (data set)
一組樣本的集合。
一種高級別的 TensorFlow API,用于讀取數據并將其轉換為機器學習算法所需的格式。tf.data.Dataset對象表示一系列元素,其中每個元素都包含一個或多個張量。tf.data.Iterator對象可獲取Dataset中的元素。
如需詳細了解 Dataset API,請參閱《TensorFlow 編程人員指南》中的導入數據。
決策邊界 (decision boundary)
在二元分類或多類別分類問題中,模型學到的類別之間的分界線。例如,在以下表示某個二元分類問題的圖片中,決策邊界是橙色類別和藍色類別之間的分界線:
密集層 (dense layer)
是全連接層的同義詞。
深度模型 (deep model)
一種神經網絡,其中包含多個隱藏層。深度模型依賴于可訓練的非線性關系。
與寬度模型相對。
密集特征 (dense feature)
一種大部分數值是非零值的特征,通常是一個浮點值張量。參照稀疏特征。
衍生特征 (derived feature)
是合成特征的同義詞。
離散特征 (discrete feature)
一種特征,包含有限個可能值。例如,某個值只能是 “動物”、“蔬菜” 或“礦物”的特征便是一個離散特征(或分類特征)。與連續特征相對。
丟棄正則化 (dropout regularization)
一種形式的正則化,在訓練神經網絡方面非常有用。丟棄正則化的運作機制是,在神經網絡層的一個梯度步長中移除隨機選擇的固定數量的單元。丟棄的單元越多,正則化效果就越強。這類似于訓練神經網絡以模擬較小網絡的指數級規模集成學習。如需完整的詳細信息,請參閱Dropout: A Simple Way to Prevent Neural Networks from Overfitting(《丟棄:一種防止神經網絡過擬合的簡單方法》)。
動態模型 (dynamic model)
一種模型,以持續更新的方式在線接受訓練。也就是說,數據會源源不斷地進入這種模型。
E
早停法 (early stopping)
一種正則化方法,涉及在訓練損失仍可以繼續減少之前結束模型訓練。使用早停法時,您會在基于驗證數據集的損失開始增加(也就是泛化效果變差)時結束模型訓練。
嵌套 (embeddings)
一種分類特征,以連續值特征表示。通常,嵌套是指將高維度向量映射到低維度的空間。例如,您可以采用以下兩種方式之一來表示英文句子中的單詞:
表示成包含百萬個元素(高維度)的稀疏向量,其中所有元素都是整數。向量中的每個單元格都表示一個單獨的英文單詞,單元格中的值表示相應單詞在句子中出現的次數。由于單個英文句子包含的單詞不太可能超過 50 個,因此向量中幾乎每個單元格都包含 0。少數非 0 的單元格中將包含一個非常小的整數(通常為 1),該整數表示相應單詞在句子中出現的次數。
表示成包含數百個元素(低維度)的密集向量,其中每個元素都包含一個介于 0 到 1 之間的浮點值。這就是一種嵌套。
在 TensorFlow 中,會按反向傳播損失訓練嵌套,和訓練神經網絡中的任何其他參數時一樣。
經驗風險最小化 (ERM, empirical risk minimization)
用于選擇可以將基于訓練集的損失降至最低的模型函數。與結構風險最小化相對。
集成學習 (ensemble)
多個模型的預測結果的并集。您可以通過以下一項或多項來創建集成學習:
不同的初始化
不同的超參數
不同的整體結構
深度模型和寬度模型屬于一種集成學習。
周期 (epoch)
在訓練時,整個數據集的一次完整遍歷,以便不漏掉任何一個樣本。因此,一個周期表示(N/批次規模)次訓練迭代,其中N是樣本總數。
Estimator
tf.Estimator類的一個實例,用于封裝負責構建 TensorFlow 圖并運行 TensorFlow 會話的邏輯。您可以創建自己的自定義 Estimator(如需相關介紹,請點擊此處),也可以將其他人預創建的 Estimator實例化。
樣本 (example)
數據集的一行。一個樣本包含一個或多個特征,此外還可能包含一個標簽。另請參閱有標簽樣本和無標簽樣本。
F
假負例 (FN, false negative)
被模型錯誤地預測為負類別的樣本。例如,模型推斷出某封電子郵件不是垃圾郵件(負類別),但該電子郵件其實是垃圾郵件。
假正例 (FP, false positive)
被模型錯誤地預測為正類別的樣本。例如,模型推斷出某封電子郵件是垃圾郵件(正類別),但該電子郵件其實不是垃圾郵件。
假正例率(false positive rate, 簡稱 FP 率)
ROC 曲線中的 x 軸。FP 率的定義如下:
假正例率假正例數假正例數 +真負例數假正例率=假正例數假正例數+真負例數
特征 (feature)
在進行預測時使用的輸入變量。
特征列 (FeatureColumns)
一組相關特征,例如用戶可能居住的所有國家 / 地區的集合。樣本的特征列中可能包含一個或多個特征。
TensorFlow 中的特征列內還封裝了元數據,例如:
特征的數據類型
特征是固定長度還是應轉換為嵌套
特征列可以包含單個特征。
“特征列” 是 Google 專用的術語。特征列在 Yahoo/Microsoft 使用的VW系統中稱為 “命名空間”,也稱為場。
特征組合 (feature cross)
通過將單獨的特征進行組合(相乘或求笛卡爾積)而形成的合成特征。特征組合有助于表示非線性關系。
特征工程 (feature engineering)
指以下過程:確定哪些特征可能在訓練模型方面非常有用,然后將日志文件及其他來源的原始數據轉換為所需的特征。在 TensorFlow 中,特征工程通常是指將原始日志文件條目轉換為tf.Exampleproto buffer。另請參閱tf.Transform。
特征工程有時稱為特征提取。
特征集 (feature set)
訓練機器學習模型時采用的一組特征。例如,對于某個用于預測房價的模型,郵政編碼、房屋面積以及房屋狀況可以組成一個簡單的特征集。
特征規范 (feature spec)
用于描述如何從tf.Exampleproto buffer 提取特征數據。由于 tf.Example proto buffer 只是一個數據容器,因此您必須指定以下內容:
要提取的數據(即特征的鍵)
數據類型(例如 float 或 int)
長度(固定或可變)
Estimator API提供了一些可用來根據給定FeatureColumns列表生成特征規范的工具。
完整 softmax (full softmax)
請參閱softmax。與候選采樣相對。
全連接層 (fully connected layer)
一種隱藏層,其中的每個節點均與下一個隱藏層中的每個節點相連。
全連接層又稱為密集層。
G
泛化 (generalization)
指的是模型依據訓練時采用的數據,針對以前未見過的新數據做出正確預測的能力。
廣義線性模型 (generalized linear model)
最小二乘回歸模型(基于高斯噪聲)向其他類型的模型(基于其他類型的噪聲,例如泊松噪聲或分類噪聲)進行的一種泛化。廣義線性模型的示例包括:
邏輯回歸
多類別回歸
最小二乘回歸
可以通過凸優化找到廣義線性模型的參數。
廣義線性模型具有以下特性:
最優的最小二乘回歸模型的平均預測結果等于訓練數據的平均標簽。
最優的邏輯回歸模型預測的平均概率等于訓練數據的平均標簽。
廣義線性模型的功能受其特征的限制。與深度模型不同,廣義線性模型無法 “學習新特征”。
梯度 (gradient)
偏導數相對于所有自變量的向量。在機器學習中,梯度是模型函數偏導數的向量。梯度指向最速上升的方向。
梯度裁剪 (gradient clipping)
在應用梯度值之前先設置其上限。梯度裁剪有助于確保數值穩定性以及防止梯度爆炸。
梯度下降法 (gradient descent)
一種通過計算并且減小梯度將損失降至最低的技術,它以訓練數據為條件,來計算損失相對于模型參數的梯度。通俗來說,梯度下降法以迭代方式調整參數,逐漸找到權重和偏差的最佳組合,從而將損失降至最低。
圖 (graph)
TensorFlow 中的一種計算規范。圖中的節點表示操作。邊緣具有方向,表示將某項操作的結果(一個張量)作為一個操作數傳遞給另一項操作。可以使用TensorBoard直觀呈現圖。
H
啟發法 (heuristic)
一種非最優但實用的問題解決方案,足以用于進行改進或從中學習。
隱藏層 (hidden layer)
神經網絡中的合成層,介于輸入層(即特征)和輸出層(即預測)之間。神經網絡包含一個或多個隱藏層。
合頁損失函數 (hinge loss)
一系列用于分類的損失函數,旨在找到距離每個訓練樣本都盡可能遠的決策邊界,從而使樣本和邊界之間的裕度最大化。KSVM使用合頁損失函數(或相關函數,例如平方合頁損失函數)。對于二元分類,合頁損失函數的定義如下:
其中 “y'” 表示分類器模型的原始輸出:
y′=b+w1x1+w2x2+…wnxn
“y” 表示真標簽,值為 -1 或 +1。
因此,合頁損失與 (y * y') 的關系圖如下所示:
0-2-112312340合頁損失函數(y * y')
維持數據 (holdout data)
訓練期間故意不使用(“維持”)的樣本。驗證數據集和測試數據集都屬于維持數據。維持數據有助于評估模型向訓練時所用數據之外的數據進行泛化的能力。與基于訓練數據集的損失相比,基于維持數據集的損失有助于更好地估算基于未見過的數據集的損失。
超參數 (hyperparameter)
在模型訓練的連續過程中,您調節的 “旋鈕”。例如,學習速率就是一種超參數。
與參數相對。
超平面 (hyperplane)
將一個空間劃分為兩個子空間的邊界。例如,在二維空間中,直線就是一個超平面,在三維空間中,平面則是一個超平面。在機器學習中更典型的是:超平面是分隔高維度空間的邊界。核支持向量機利用超平面將正類別和負類別區分開來(通常是在極高維度空間中)。
I
獨立同分布 (i.i.d, independently and identically distributed)
從不會改變的分布中提取的數據,其中提取的每個值都不依賴于之前提取的值。i.i.d. 是機器學習的理想氣體- 一種實用的數學結構,但在現實世界中幾乎從未發現過。例如,某個網頁的訪問者在短時間內的分布可能為 i.i.d.,即分布在該短時間內沒有變化,且一位用戶的訪問行為通常與另一位用戶的訪問行為無關。不過,如果將時間窗口擴大,網頁訪問者的分布可能呈現出季節性變化。
推斷 (inference)
在機器學習中,推斷通常指以下過程:通過將訓練過的模型應用于無標簽樣本來做出預測。在統計學中,推斷是指在某些觀測數據條件下擬合分布參數的過程。(請參閱維基百科中有關統計學推斷的文章。)
輸入函數 (input function)
在 TensorFlow 中,用于將輸入數據返回到Estimator的訓練、評估或預測方法的函數。例如,訓練輸入函數用于返回訓練集中的批次特征和標簽。
輸入層 (input layer)
神經網絡中的第一層(接收輸入數據的層)。
實例 (instance)
是樣本的同義詞。
可解釋性 (interpretability)
模型的預測可解釋的難易程度。深度模型通常不可解釋,也就是說,很難對深度模型的不同層進行解釋。相比之下,線性回歸模型和寬度模型的可解釋性通常要好得多。
評分者間一致性信度 (inter-rater agreement)
一種衡量指標,用于衡量在執行某項任務時評分者達成一致的頻率。如果評分者未達成一致,則可能需要改進任務說明。有時也稱為注釋者間一致性信度或評分者間可靠性信度。另請參閱Cohen's kappa(最熱門的評分者間一致性信度衡量指標之一)。
迭代 (iteration)
模型的權重在訓練期間的一次更新。迭代包含計算參數在單個批量數據上的梯度損失。
K
Keras
一種熱門的 Python 機器學習API。Keras能夠在多種深度學習框架上運行,其中包括 TensorFlow(在該框架上,Keras 作為tf.keras提供)。
核支持向量機 (KSVM, Kernel Support Vector Machines)
一種分類算法,旨在通過將輸入數據向量映射到更高維度的空間,來最大化正類別和負類別之間的裕度。以某個輸入數據集包含一百個特征的分類問題為例。為了最大化正類別和負類別之間的裕度,KSVM 可以在內部將這些特征映射到百萬維度的空間。KSVM 使用合頁損失函數。
L
L1損失函數 (L? loss)
一種損失函數,基于模型預測的值與標簽的實際值之差的絕對值。與L2損失函數相比,L1損失函數對離群值的敏感性弱一些。
L1正則化 (L? regularization)
一種正則化,根據權重的絕對值的總和來懲罰權重。在依賴稀疏特征的模型中,L1正則化有助于使不相關或幾乎不相關的特征的權重正好為 0,從而將這些特征從模型中移除。與L2正則化相對。
L2損失函數 (L? loss)
請參閱平方損失函數。
L2正則化 (L? regularization)
一種正則化,根據權重的平方和來懲罰權重。L2正則化有助于使離群值(具有較大正值或較小負值)權重接近于 0,但又不正好為 0。(與L1 正則化相對。)在線性模型中,L2正則化始終可以改進泛化。
標簽 (label)
在監督式學習中,標簽指樣本的 “答案” 或“結果”部分。有標簽數據集中的每個樣本都包含一個或多個特征以及一個標簽。例如,在房屋數據集中,特征可以包括臥室數、衛生間數以及房齡,而標簽則可以是房價。在垃圾郵件檢測數據集中,特征可以包括主題行、發件人以及電子郵件本身,而標簽則可以是 “垃圾郵件” 或“非垃圾郵件”。
有標簽樣本 (labeled example)
包含特征和標簽的樣本。在監督式訓練中,模型從有標簽樣本中進行學習。
lambda
是正則化率的同義詞。
(多含義術語,我們在此關注的是該術語在正則化中的定義。)
層 (layer)
神經網絡中的一組神經元,處理一組輸入特征,或一組神經元的輸出。
此外還指 TensorFlow 中的抽象層。層是 Python 函數,以張量和配置選項作為輸入,然后生成其他張量作為輸出。當必要的張量組合起來,用戶便可以通過模型函數將結果轉換為Estimator。
Layers API (tf.layers)
一種 TensorFlow API,用于以層組合的方式構建深度神經網絡。通過 Layers API,您可以構建不同類型的層,例如:
通過tf.layers.Dense構建全連接層。
通過tf.layers.Conv2D構建卷積層。
在編寫自定義 Estimator時,您可以編寫 “層” 對象來定義所有隱藏層的特征。
Layers API 遵循 [Keras](#Keras) layers API 規范。也就是說,除了前綴不同以外,Layers API 中的所有函數均與 Keras layers API 中的對應函數具有相同的名稱和簽名。
學習速率 (learning rate)
在訓練模型時用于梯度下降的一個變量。在每次迭代期間,梯度下降法都會將學習速率與梯度相乘。得出的乘積稱為梯度步長。
學習速率是一個重要的超參數。
最小二乘回歸 (least squares regression)
一種通過最小化L2損失訓練出的線性回歸模型。
線性回歸 (linear regression)
一種回歸模型,通過將輸入特征進行線性組合,以連續值作為輸出。
邏輯回歸 (logistic regression)
一種模型,通過將S 型函數應用于線性預測,生成分類問題中每個可能的離散標簽值的概率。雖然邏輯回歸經常用于二元分類問題,但也可用于多類別分類問題(其叫法變為多類別邏輯回歸或多項回歸)。
對數損失函數 (Log Loss)
二元邏輯回歸中使用的損失函數。
損失 (Loss)
一種衡量指標,用于衡量模型的預測偏離其標簽的程度。或者更悲觀地說是衡量模型有多差。要確定此值,模型必須定義損失函數。例如,線性回歸模型通常將均方誤差用于損失函數,而邏輯回歸模型則使用對數損失函數。
M
機器學習 (machine learning)
一種程序或系統,用于根據輸入數據構建(訓練)預測模型。這種系統會利用學到的模型根據從分布(訓練該模型時使用的同一分布)中提取的新數據(以前從未見過的數據)進行實用的預測。機器學習還指與這些程序或系統相關的研究領域。
均方誤差 (MSE, Mean Squared Error)
每個樣本的平均平方損失。MSE 的計算方法是平方損失除以樣本數。TensorFlow Playground顯示的 “訓練損失” 值和 “測試損失” 值都是 MSE。
指標 (metric)
您關心的一個數值。可能可以也可能不可以直接在機器學習系統中得到優化。您的系統嘗試優化的指標稱為目標。
Metrics API (tf.metrics)
一種用于評估模型的 TensorFlow API。例如,tf.metrics.accuracy用于確定模型的預測與標簽匹配的頻率。在編寫自定義 Estimator時,您可以調用 Metrics API 函數來指定應如何評估您的模型。
小批次 (mini-batch)
從訓練或推斷過程的一次迭代中一起運行的整批樣本內隨機選擇的一小部分。小批次的規模通常介于 10 到 1000 之間。與基于完整的訓練數據計算損失相比,基于小批次數據計算損失要高效得多。
小批次隨機梯度下降法 (SGD, mini-batch stochastic gradient descent)
一種采用小批次樣本的梯度下降法。也就是說,小批次 SGD 會根據一小部分訓練數據來估算梯度。Vanilla SGD使用的小批次的規模為 1。
ML
機器學習的縮寫。
模型 (model)
機器學習系統從訓練數據學到的內容的表示形式。多含義術語,可以理解為下列兩種相關含義之一:
一種TensorFlow圖,用于表示預測計算結構。
該 TensorFlow 圖的特定權重和偏差,通過訓練決定。
模型訓練 (model training)
確定最佳模型的過程。
動量 (Momentum)
一種先進的梯度下降法,其中學習步長不僅取決于當前步長的導數,還取決于之前一步或多步的步長的導數。動量涉及計算梯度隨時間而變化的指數級加權移動平均值,與物理學中的動量類似。動量有時可以防止學習過程被卡在局部最小的情況。
多類別分類 (multi-class classification)
區分兩種以上類別的分類問題。例如,楓樹大約有 128 種,因此,確定楓樹種類的模型就屬于多類別模型。反之,僅將電子郵件分為兩類(“垃圾郵件” 和 “非垃圾郵件”)的模型屬于二元分類模型。
多項分類 (multinomial classification)
是多類別分類的同義詞。
N
NaN 陷阱 (NaN trap)
模型中的一個數字在訓練期間變成NaN,這會導致模型中的很多或所有其他數字最終也會變成 NaN。
NaN 是 “非數字” 的縮寫。
負類別 (negative class)
在二元分類中,一種類別稱為正類別,另一種類別稱為負類別。正類別是我們要尋找的類別,負類別則是另一種可能性。例如,在醫學檢查中,負類別可以是 “非腫瘤”。在電子郵件分類器中,負類別可以是 “非垃圾郵件”。另請參閱正類別。
神經網絡 (neural network)
一種模型,靈感來源于腦部結構,由多個層構成(至少有一個是隱藏層),每個層都包含簡單相連的單元或神經元(具有非線性關系)。
神經元 (neuron)
神經網絡中的節點,通常是接收多個輸入值并生成一個輸出值。神經元通過將激活函數(非線性轉換)應用于輸入值的加權和來計算輸出值。
節點 (node)
多含義術語,可以理解為下列兩種含義之一:
隱藏層中的神經元。
TensorFlow圖中的操作。
標準化 (normalization)
將實際的值區間轉換為標準的值區間(通常為 -1 到 +1 或 0 到 1)的過程。例如,假設某個特征的自然區間是 800 到 6000。通過減法和除法運算,您可以將這些值標準化為位于 -1 到 +1 區間內。
另請參閱縮放。
數值數據 (numerical data)
用整數或實數表示的特征。例如,在房地產模型中,您可能會用數值數據表示房子大小(以平方英尺或平方米為單位)。如果用數值數據表示特征,則可以表明特征的值相互之間具有數學關系,并且與標簽可能也有數學關系。例如,如果用數值數據表示房子大小,則可以表明面積為 200 平方米的房子是面積為 100 平方米的房子的兩倍。此外,房子面積的平方米數可能與房價存在一定的數學關系。
并非所有整數數據都應表示成數值數據。例如,世界上某些地區的郵政編碼是整數,但在模型中,不應將整數郵政編碼表示成數值數據。這是因為郵政編碼20000在效力上并不是郵政編碼 10000 的兩倍(或一半)。此外,雖然不同的郵政編碼確實與不同的房地產價值有關,但我們也不能假設郵政編碼為 20000 的房地產在價值上是郵政編碼為 10000 的房地產的兩倍。郵政編碼應表示成分類數據。
數值特征有時稱為連續特征。
Numpy
一個開放源代碼數學庫,在 Python 中提供高效的數組操作。Pandas就建立在 Numpy 之上。
O
目標 (objective)
算法嘗試優化的指標。
離線推斷 (offline inference)
生成一組預測,存儲這些預測,然后根據需求檢索這些預測。與在線推斷相對。
one-hot 編碼 (one-hot encoding)
一種稀疏向量,其中:
一個元素設為 1。
所有其他元素均設為 0。
one-hot 編碼常用于表示擁有有限個可能值的字符串或標識符。例如,假設某個指定的植物學數據集記錄了 15000 個不同的物種,其中每個物種都用獨一無二的字符串標識符來表示。在特征工程過程中,您可能需要將這些字符串標識符編碼為 one-hot 向量,向量的大小為 15000。
一對多 (one-vs.-all)
假設某個分類問題有 N 種可能的解決方案,一對多解決方案將包含 N 個單獨的二元分類器- 一個二元分類器對應一種可能的結果。例如,假設某個模型用于區分樣本屬于動物、蔬菜還是礦物,一對多解決方案將提供下列三個單獨的二元分類器:
動物和非動物
蔬菜和非蔬菜
礦物和非礦物
在線推斷 (online inference)
根據需求生成預測。與離線推斷相對。
操作 (op, Operation)
TensorFlow 圖中的節點。在 TensorFlow 中,任何創建、操縱或銷毀張量的過程都屬于操作。例如,矩陣相乘就是一種操作,該操作以兩個張量作為輸入,并生成一個張量作為輸出。
優化器 (optimizer)
梯度下降法的一種具體實現。TensorFlow 的優化器基類是tf.train.Optimizer。不同的優化器(tf.train.Optimizer的子類)會考慮如下概念:
動量(Momentum)
更新頻率 (AdaGrad= ADAptive GRADient descent;Adam= ADAptive with Momentum;RMSProp)
稀疏性 / 正則化 (Ftrl)
更復雜的計算方法 (Proximal, 等等)
甚至還包括NN 驅動的優化器。
離群值 (outlier)
與大多數其他值差別很大的值。在機器學習中,下列所有值都是離群值。
絕對值很高的權重。
與實際值相差很大的預測值。
值比平均值高大約 3 個標準偏差的輸入數據。
離群值常常會導致模型訓練出現問題。
輸出層 (output layer)
神經網絡的 “最后” 一層,也是包含答案的層。
過擬合 (overfitting)
創建的模型與訓練數據過于匹配,以致于模型無法根據新數據做出正確的預測。
P
Pandas
面向列的數據分析 API。很多機器學習框架(包括 TensorFlow)都支持將 Pandas 數據結構作為輸入。請參閱Pandas 文檔。
參數 (parameter)
機器學習系統自行訓練的模型的變量。例如,權重就是一種參數,它們的值是機器學習系統通過連續的訓練迭代逐漸學習到的。與超參數相對。
參數服務器 (PS, Parameter Server)
一種作業,負責在分布式設置中跟蹤模型參數。
參數更新 (parameter update)
在訓練期間(通常是在梯度下降法的單次迭代中)調整模型參數的操作。
偏導數 (partial derivative)
一種導數,除一個變量之外的所有變量都被視為常量。例如,f(x, y) 對 x 的偏導數就是 f(x) 的導數(即,使 y 保持恒定)。f 對 x 的偏導數僅關注 x 如何變化,而忽略公式中的所有其他變量。
分區策略 (partitioning strategy)
參數服務器中分割變量的算法。
性能 (performance)
多含義術語,具有以下含義:
在軟件工程中的傳統含義。即:相應軟件的運行速度有多快(或有多高效)?
在機器學習中的含義。在機器學習領域,性能旨在回答以下問題:相應模型的準確度有多高?即模型在預測方面的表現有多好?
困惑度 (perplexity)
一種衡量指標,用于衡量模型能夠多好地完成任務。例如,假設任務是讀取用戶使用智能手機鍵盤輸入字詞時輸入的前幾個字母,然后列出一組可能的完整字詞。此任務的困惑度 (P) 是:為了使列出的字詞中包含用戶嘗試輸入的實際字詞,您需要提供的猜測項的個數。
困惑度與交叉熵的關系如下:
流水線 (pipeline)
機器學習算法的基礎架構。流水線包括收集數據、將數據放入訓練數據文件、訓練一個或多個模型,以及將模型導出到生產環境。
正類別 (positive class)
在二元分類中,兩種可能的類別分別被標記為正類別和負類別。正類別結果是我們要測試的對象。(不可否認的是,我們會同時測試這兩種結果,但只關注正類別結果。)例如,在醫學檢查中,正類別可以是 “腫瘤”。在電子郵件分類器中,正類別可以是 “垃圾郵件”。
與負類別相對。
精確率 (precision)
一種分類模型指標。精確率指模型正確預測正類別的頻率,即:
精確率 =真正例數真正例數 +假正例數精確率=真正例數真正例數+假正例數
預測 (prediction)
模型在收到輸入的樣本后的輸出。
預測偏差 (prediction bias)
一個值,用于表明預測平均值與數據集中標簽的平均值相差有多大。
預創建的 Estimator (pre-made Estimator)
其他人已建好的Estimator。TensorFlow 提供了一些預創建的 Estimator,包括DNNClassifier、DNNRegressor和LinearClassifier。您可以按照這些說明構建自己預創建的 Estimator。
預訓練模型 (pre-trained model)
已經過訓練的模型或模型組件(例如嵌套)。有時,您需要將預訓練的嵌套饋送到神經網絡。在其他時候,您的模型將自行訓練嵌套,而不依賴于預訓練的嵌套。
先驗信念 (prior belief)
在開始采用相應數據進行訓練之前,您對這些數據抱有的信念。例如,L2正則化依賴的先驗信念是權重應該很小且應以 0 為中心呈正態分布。
Q
隊列 (queue)
一種 TensorFlow操作,用于實現隊列數據結構。通常用于 I/O 中。
R
等級 (rank)
機器學習中的一個多含義術語,可以理解為下列含義之一:
張量中的維度數量。例如,標量等級為 0,向量等級為 1,矩陣等級為 2。
在將類別從最高到最低進行排序的機器學習問題中,類別的順序位置。例如,行為排序系統可以將狗狗的獎勵從最高(牛排)到最低(枯萎的羽衣甘藍)進行排序。
評分者 (rater)
為樣本提供標簽的人。有時稱為 “注釋者”。
召回率 (recall)
一種分類模型指標,用于回答以下問題:在所有可能的正類別標簽中,模型正確地識別出了多少個?即:
召回率 =真正例數真正例數 +假負例數召回率=真正例數真正例數+假負例數
修正線性單元 (ReLU, Rectified Linear Unit)
一種激活函數,其規則如下:
如果輸入為負數或 0,則輸出 0。
如果輸入為正數,則輸出等于輸入。
回歸模型 (regression model)
一種模型,能夠輸出連續的值(通常為浮點值)。請與分類模型進行比較,分類模型輸出離散值,例如 “黃花菜” 或“虎皮百合”。
正則化 (regularization)
對模型復雜度的懲罰。正則化有助于防止出現過擬合,包含以下類型:
L1正則化
L2正則化
丟棄正則化
早停法(這不是正式的正則化方法,但可以有效限制過擬合)
正則化率 (regularization rate)
一種標量值,以 lambda 表示,用于指定正則化函數的相對重要性。從下面簡化的損失公式中可以看出正則化率的影響:
minimize(loss function +λ(regularization function))
提高正則化率可以減少過擬合,但可能會使模型的準確率降低。
表示法 (representation)
將數據映射到實用特征的過程。
受試者工作特征曲線(receiver operating characteristic, 簡稱 ROC 曲線)
不同分類閾值下的真正例率和假正例率構成的曲線。另請參閱曲線下面積。
根目錄 (root directory)
您指定的目錄,用于托管多個模型的 TensorFlow 檢查點和事件文件的子目錄。
均方根誤差 (RMSE, Root Mean Squared Error)
均方誤差的平方根。
S
SavedModel
保存和恢復 TensorFlow 模型時建議使用的格式。SavedModel 是一種獨立于語言且可恢復的序列化格式,使較高級別的系統和工具可以創建、使用和轉換 TensorFlow 模型。
如需完整的詳細信息,請參閱《TensorFlow 編程人員指南》中的保存和恢復。
Saver
一種TensorFlow 對象,負責保存模型檢查點。
縮放 (scaling)
特征工程中的一種常用做法,是對某個特征的值區間進行調整,使之與數據集中其他特征的值區間一致。例如,假設您希望數據集中所有浮點特征的值都位于 0 到 1 區間內,如果某個特征的值位于 0 到 500 區間內,您就可以通過將每個值除以 500 來縮放該特征。
另請參閱標準化。
scikit-learn
一個熱門的開放源代碼機器學習平臺。請訪問www.scikit-learn.org。
半監督式學習 (semi-supervised learning)
訓練模型時采用的數據中,某些訓練樣本有標簽,而其他樣本則沒有標簽。半監督式學習采用的一種技術是推斷無標簽樣本的標簽,然后使用推斷出的標簽進行訓練,以創建新模型。如果獲得有標簽樣本需要高昂的成本,而無標簽樣本則有很多,那么半監督式學習將非常有用。
序列模型 (sequence model)
一種模型,其輸入具有序列依賴性。例如,根據之前觀看過的一系列視頻對觀看的下一個視頻進行預測。
會話 (session)
維持 TensorFlow 程序中的狀態(例如變量)。
S 型函數 (sigmoid function)
一種函數,可將邏輯回歸輸出或多項回歸輸出(對數幾率)映射到概率,以返回介于 0 到 1 之間的值。S 型函數的公式如下:
在邏輯回歸問題中,
σ非常簡單:
換句話說,S 型函數可將σ轉換為介于 0 到 1 之間的概率。
在某些神經網絡中,S 型函數可作為激活函數使用。
softmax
一種函數,可提供多類別分類模型中每個可能類別的概率。這些概率的總和正好為 1.0。例如,softmax 可能會得出某個圖像是狗、貓和馬的概率分別是 0.9、0.08 和 0.02。(也稱為完整 softmax。)
與候選采樣相對。
稀疏特征 (sparse feature)
一種特征向量,其中的大多數值都為 0 或為空。例如,某個向量包含一個為 1 的值和一百萬個為 0 的值,則該向量就屬于稀疏向量。再舉一個例子,搜索查詢中的單詞也可能屬于稀疏特征 - 在某種指定語言中有很多可能的單詞,但在某個指定的查詢中僅包含其中幾個。
與密集特征相對。
平方合頁損失函數 (squared hinge loss)
合頁損失函數的平方。與常規合頁損失函數相比,平方合頁損失函數對離群值的懲罰更嚴厲。
平方損失函數 (squared loss)
在線性回歸中使用的損失函數(也稱為L2損失函數)。該函數可計算模型為有標簽樣本預測的值和標簽的實際值之差的平方。由于取平方值,因此該損失函數會放大不佳預測的影響。也就是說,與L1損失函數相比,平方損失函數對離群值的反應更強烈。
靜態模型 (static model)
離線訓練的一種模型。
平穩性 (stationarity)
數據集中數據的一種屬性,表示數據分布在一個或多個維度保持不變。這種維度最常見的是時間,即表明平穩性的數據不隨時間而變化。例如,從 9 月到 12 月,表明平穩性的數據沒有發生變化。
步 (step)
對一個批次的向前和向后評估。
步長 (step size)
是學習速率的同義詞。
隨機梯度下降法 (SGD, stochastic gradient descent)
批次規模為 1 的一種梯度下降法。換句話說,SGD 依賴于從數據集中隨機均勻選擇的單個樣本來計算每步的梯度估算值。
結構風險最小化 (SRM, structural risk minimization)
一種算法,用于平衡以下兩個目標:
期望構建最具預測性的模型(例如損失最低)。
期望使模型盡可能簡單(例如強大的正則化)。
例如,旨在將基于訓練集的損失和正則化降至最低的模型函數就是一種結構風險最小化算法。
如需更多信息,請參閱http://www.svms.org/srm/。
與經驗風險最小化相對。
總結 (summary)
在 TensorFlow 中的某一步計算出的一個值或一組值,通常用于在訓練期間跟蹤模型指標。
監督式機器學習 (supervised machine learning)
根據輸入數據及其對應的標簽來訓練模型。監督式機器學習類似于學生通過研究一系列問題及其對應的答案來學習一些主題。在掌握了問題和答案之間的對應關系后,學生便可以回答關于同一主題的新問題(以前從未見過的問題)。請與非監督式機器學習進行比較。
合成特征 (synthetic feature)
一種特征,不在輸入特征之列,而是從一個或多個輸入特征衍生而來。合成特征包括以下類型:
將一個特征與其本身或其他特征相乘(稱為特征組合)。
兩個特征相除。
對連續特征進行分桶,以分為多個區間分箱。
通過標準化或縮放單獨創建的特征不屬于合成特征。
T
目標 (target)
是標簽的同義詞。
時態數據 (temporal data)
在不同時間點記錄的數據。例如,記錄的一年中每一天的冬外套銷量就屬于時態數據。
張量 (Tensor)
TensorFlow 程序中的主要數據結構。張量是 N 維(其中 N 可能非常大)數據結構,最常見的是標量、向量或矩陣。張量的元素可以包含整數值、浮點值或字符串值。
張量處理單元 (TPU, Tensor Processing Unit)
一種 ASIC(應用專用集成電路),用于優化 TensorFlow 程序的性能。
張量等級 (Tensor rank)
請參閱等級。
張量形狀 (Tensor shape)
張量在各種維度中包含的元素數。例如,張量 [5, 10] 在一個維度中的形狀為 5,在另一個維度中的形狀為 10。
張量大小 (Tensor size)
張量包含的標量總數。例如,張量 [5, 10] 的大小為 50。
TensorBoard
一個信息中心,用于顯示在執行一個或多個 TensorFlow 程序期間保存的摘要信息。
TensorFlow
一個大型的分布式機器學習的平臺。該術語還指 TensorFlow 堆棧中的基本 API 層,該層支持對數據流圖進行一般計算。
雖然 TensorFlow 主要應用于機器學習領域,但也可用于需要使用數據流圖進行數值計算的非機器學習任務。
TensorFlow Playground
一款用于直觀呈現不同的超參數對模型(主要是神經網絡)訓練的影響的程序。要試用 TensorFlow Playground,請前往http://playground.tensorflow.org。
TensorFlow Serving
一個平臺,用于將訓練過的模型部署到生產環境。
測試集 (test set)
數據集的子集,用于在模型經由驗證集的初步驗證之后測試模型。
與訓練集和驗證集相對。
tf.Example
一種標準的proto buffer,旨在描述用于機器學習模型訓練或推斷的輸入數據。
時間序列分析 (time series analysis)
機器學習和統計學的一個子領域,旨在分析時態數據。很多類型的機器學習問題都需要時間序列分析,其中包括分類、聚類、預測和異常檢測。例如,您可以利用時間序列分析根據歷史銷量數據預測未來每月的冬外套銷量。
訓練 (training)
確定構成模型的理想參數的過程。
訓練集 (training set)
數據集的子集,用于訓練模型。
與驗證集和測試集相對。
轉移學習 (transfer learning)
將信息從一個機器學習任務轉移到另一個機器學習任務。例如,在多任務學習中,一個模型可以完成多項任務,例如針對不同任務具有不同輸出節點的深度模型。轉移學習可能涉及將知識從較簡單任務的解決方案轉移到較復雜的任務,或者將知識從數據較多的任務轉移到數據較少的任務。
大多數機器學習系統都只能完成一項任務。轉移學習是邁向人工智能的一小步;在人工智能中,單個程序可以完成多項任務。
真負例 (TN, true negative)
被模型正確地預測為負類別的樣本。例如,模型推斷出某封電子郵件不是垃圾郵件,而該電子郵件確實不是垃圾郵件。
真正例 (TP, true positive)
被模型正確地預測為正類別的樣本。例如,模型推斷出某封電子郵件是垃圾郵件,而該電子郵件確實是垃圾郵件。
真正例率(true positive rate, 簡稱 TP 率)
是召回率的同義詞,即:
真正例率 =真正例數真正例數 +假負例數真正例率=真正例數真正例數+假負例數
真正例率是ROC 曲線的 y 軸。
U
無標簽樣本 (unlabeled example)
包含特征但沒有標簽的樣本。無標簽樣本是用于進行推斷的輸入內容。在半監督式和非監督式學習中,無標簽樣本在訓練期間被使用。
非監督式機器學習 (unsupervised machine learning)
訓練模型,以找出數據集(通常是無標簽數據集)中的模式。
非監督式機器學習最常見的用途是將數據分為不同的聚類,使相似的樣本位于同一組中。例如,非監督式機器學習算法可以根據音樂的各種屬性將歌曲分為不同的聚類。所得聚類可以作為其他機器學習算法(例如音樂推薦服務)的輸入。在很難獲取真標簽的領域,聚類可能會非常有用。例如,在反濫用和反欺詐等領域,聚類有助于人們更好地了解相關數據。
非監督式機器學習的另一個例子是主成分分析 (PCA)。例如,通過對包含數百萬購物車中物品的數據集進行主成分分析,可能會發現有檸檬的購物車中往往也有抗酸藥。
請與監督式機器學習進行比較。
V
驗證集 (validation set)
數據集的一個子集,從訓練集分離而來,用于調整超參數。
與訓練集和測試集相對。
W
權重 (weight)
線性模型中特征的系數,或深度網絡中的邊。訓練線性模型的目標是確定每個特征的理想權重。如果權重為 0,則相應的特征對模型來說沒有任何貢獻。
寬度模型 (wide model)
一種線性模型,通常有很多稀疏輸入特征。我們之所以稱之為 “寬度模型”,是因為這是一種特殊類型的神經網絡,其大量輸入均直接與輸出節點相連。與深度模型相比,寬度模型通常更易于調試和檢查。雖然寬度模型無法通過隱藏層來表示非線性關系,但可以利用特征組合、分桶等轉換以不同的方式為非線性關系建模。
與深度模型相對。
-
谷歌
+關注
關注
27文章
6171瀏覽量
105508 -
機器學習
+關注
關注
66文章
8423瀏覽量
132751
原文標題:【官方中文版】谷歌發布機器學習術語表(完整版)
文章出處:【微信號:AI_era,微信公眾號:新智元】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論