218個機器學習術語辭彙表(收藏)
本文編譯自谷歌開發者機器學習術語表項目,介紹了該項目所有的術語與基本解釋。
A
準確率(accuracy)
分類模型預測準確的比例。在多類別分類中,準確率定義如下:
在二分類中,準確率定義為:
激活函數(Activation function)
一種函數(例如 ReLU 或 Sigmoid),將前一層所有神經元激活值的加權和輸入到一個非線性函數中,然後向下一層傳遞該函數的輸出值(典型的非線性)。
AdaGrad
一種複雜的梯度下降演算法,重新調節每個參數的梯度,高效地給每個參數一個單獨的學習率。詳見論文:
http://www.jmlr.org/papers/volume12/duchi11a/duchi11a.pdf。
AUC(曲線下面積)
一種考慮到所有可能的分類閾值的評估標準。ROC 曲線下面積代表分類器隨機預測真正類(Ture Positives)要比假正類(False Positives)概率大的確信度。
B
反向傳播(Backpropagation)
神經網路中完成梯度下降的重要演算法。首先,在前向傳播的過程中計算每個節點的輸出值。然後,在反向傳播的過程中計算與每個參數對應的誤差的偏導數。
基線(Baseline)
被用為對比模型表現參考點的簡單模型。基線幫助模型開發者量化模型在特定問題上的預期表現。
批量
模型訓練中一個迭代(指一次梯度更新)使用的樣本集。
批量大小(batch size)
一個批量中樣本的數量。例如,SGD 的批量大小為 1,而 mini-batch 的批量大小通常在 10-1000 之間。批量大小通常在訓練與推理的過程中確定,然而 TensorFlow 不允許動態批量大小。
偏置(bias)
與原點的截距或偏移量。偏置(也稱偏置項)被稱為機器學習模型中的 b 或者 w0。例如,偏置項是以下公式中的 b:y′=b+w_1x_1+w_2x_2+…w_nx_n。
注意不要和預測偏差混淆。
二元分類器(binary classification)
一類分類任務,輸出兩個互斥(不相交)類別中的一個。例如,一個評估郵件信息並輸出「垃圾郵件」或「非垃圾郵件」的機器學習模型就是一個二元分類器。
binning/bucketing
根據值的範圍將一個連續特徵轉換成多個稱為 buckets 或者 bins 二元特徵,稱為 buckets 或者 bins。例如,將溫度表示為單一的浮點特徵,可以將溫度範圍切割為幾個離散的 bins。假如給定的溫度的敏感度為十分之一度,那麼分布在 0.0 度和 15.0 度之間的溫度可以放入一個 bin 中,15.1 度到 30.0 度放入第二個 bin,30.1 度到 45.0 度放入第三個 bin。
C
標定層(calibration layer)
一種調整後期預測的結構,通常用於解釋預測偏差。調整後的預期和概率必須匹配一個觀察標籤集的分布。
候選採樣(candidate sampling)
一種優化訓練時間的,使用 Softmax 等演算法計算所有正標籤的概率,同時只計算一些隨機取樣的負標籤的概率。例如,有一個樣本標記為「小獵兔狗」和「狗」,候選取樣將計算預測概率,和與「小獵兔狗」和「狗」類別輸出(以及剩餘的類別的隨機子集,比如「貓」、「棒棒糖」、「柵欄」)相關的損失項。這個想法的思路是,負類別可以通過頻率更低的負強化(negative reinforcement)進行學習,而正類別經常能得到適當的正強化,實際觀察確實如此。候選取樣的動力是計算有效性從所有負類別的非計算預測的得益。
檢查點(checkpoint)
在特定的時刻標記模型的變數的狀態的數據。檢查點允許輸出模型的權重,也允許通過多個階段訓練模型。檢查點還允許跳過錯誤繼續進行(例如,搶佔作業)。注意其自身的圖式並不包含於檢查點內。
類別(class)
所有同類屬性的目標值作為一個標籤。例如,在一個檢測垃圾郵件的二元分類模型中,這兩個類別分別是垃圾郵件和非垃圾郵件。而一個多類別分類模型將區分狗的種類,其中的類別可以是貴賓狗、小獵兔狗、哈巴狗等等。
類別不平衡數據集(class-imbalanced data set)
這是一個二元分類問題,其中兩個類別的標籤的分布頻率有很大的差異。比如,一個疾病數據集中若 0.01% 的樣本有正標籤,而 99.99% 的樣本有負標籤,那麼這就是一個類別不平衡數據集。但對於一個足球比賽預測器數據集,若其中 51% 的樣本標記一隊勝利,而 49% 的樣本標記其它隊伍勝利,那麼這就不是一個類別不平衡數據集。
分類模型(classification)
機器學習模型的一種,將數據分離為兩個或多個離散類別。例如,一個自然語言處理分類模型可以將一句話歸類為法語、西班牙語或義大利語。分類模型與回歸模型(regression model)成對比。
分類閾值(classification threshold)
應用於模型的預測分數以分離正類別和負類別的一種標量值標準。當需要將 logistic 回歸的結果映射到二元分類模型中時就需要使用分類閾值。例如,考慮一個確定給定郵件為垃圾郵件的概率的 logistic 回歸模型,如果分類閾值是 0.9,那麼 logistic 回歸值在 0.9 以上的被歸為垃圾郵件,而在 0.9 以下的被歸為非垃圾郵件。
混淆矩陣(confusion matrix)
總結分類模型的預測結果的表現水平(即,標籤和模型分類的匹配程度)的 NxN 表格。混淆矩陣的一個軸列出模型預測的標籤,另一個軸列出實際的標籤。N 表示類別的數量。在一個二元分類模型中,N=2。例如,以下為一個二元分類問題的簡單的混淆矩陣:
上述混淆矩陣展示了在 19 個確實為腫瘤的樣本中,有 18 個被模型正確的歸類(18 個真正),有 1 個被錯誤的歸類為非腫瘤(1 個假負類)。類似的,在 458 個確實為非腫瘤的樣本中,有 452 個被模型正確的歸類(452 個真負類),有 6 個被錯誤的歸類(6 個假正類)。
多類別分類的混淆矩陣可以幫助發現錯誤出現的模式。例如,一個混淆矩陣揭示了一個識別手寫數字體的模型傾向於將 4 識別為 9,或者將 7 識別為 1。混淆矩陣包含了足夠多的信息可以計算很多的模型表現度量,比如精度(precision)和召回(recall)率。
連續特徵(continuous feature)
擁有無限個取值點的浮點特徵。和離散特徵(discrete feature)相反。
收斂(convergence)
訓練過程達到的某種狀態,其中訓練損失和驗證損失在經過了確定的迭代次數後,在每一次迭代中,改變很小或完全不變。換句話說就是,當對當前數據繼續訓練而無法再提升模型的表現水平的時候,就稱模型已經收斂。在深度學習中,損失值下降之前,有時候經過多次迭代仍保持常量或者接近常量,會造成模型已經收斂的錯覺。
凸函數(concex function)
一種形狀大致呈字母 U 形或碗形的函數。然而,在退化情形中,凸函數的形狀就像一條線。例如,以下幾個函數都是凸函數:
- L2 損失函數
- Log 損失函數
- L1 正則化函數
- L2 正則化函數
凸函數是很常用的損失函數。因為當一個函數有最小值的時候(通常就是這樣),梯度下降的各種變化都能保證找到接近函數最小值的點。類似的,隨機梯度下降的各種變化有很大的概率(雖然無法保證)找到接近函數最小值的點。
兩個凸函數相加(比如,L2 損失函數+L1 正則化函數)後仍然是凸函數。
深度模型通常是非凸的。出乎意料的是,以凸優化的形式設計的演算法通常都能在深度網路上工作的很好,雖然很少能找到最小值。
成本(cost)
loss 的同義詞。
交叉熵(cross-entropy)
多類別分類問題中對 Log 損失函數的推廣。交叉熵量化兩個概率分布之間的區別。參見困惑度(perplexity)。
D
數據集(data set)
樣本的集合。
決策邊界(decision boundary)
在一個二元分類或多類別分類問題中模型學習的類別之間的分離器。例如,下圖就展示了一個二元分類問題,決策邊界即橙點類和藍點類的邊界。
深度模型(deep model)
一種包含多個隱藏層的神經網路。深度模型依賴於其可訓練的非線性性質。和寬度模型對照(wide model)。
密集特徵(dense feature)
大多數取值為非零的一種特徵,通常用取浮點值的張量(tensor)表示。和稀疏特徵(sparse feature)相反。
派生特徵(derived feature)
合成特徵(synthetic feature)的同義詞。
離散特徵(discrete feature)
只有有限個可能取值的一種特徵。例如,一個取值只包括動物、蔬菜或礦物的特徵就是離散(或類別)特徵。和連續特徵(continuous feature)對照。
dropout 正則化(dropout regularization)
訓練神經網路時一種有用的正則化方法。dropout 正則化的過程是在單次梯度計算中刪去一層網路中隨機選取的固定數量的單元。刪去的單元越多,正則化越強。
動態模型(dynamic model)
以連續更新的方式在線訓練的模型。即數據連續不斷的輸入模型。
E
早期停止法(early stopping)
一種正則化方法,在訓練損失完成下降之前停止模型訓練過程。當驗證數據集(validation data set)的損失開始上升的時候,即泛化表現變差的時候,就該使用早期停止法了。
嵌入(embeddings)
一類表示為連續值特徵的明確的特徵。嵌入通常指將高維向量轉換到低維空間中。例如,將一個英語句子中的單詞以以下任何一種方式表示:
- 擁有百萬數量級(高維)的元素的稀疏向量,其中所有的元素都是整數。向量的每一個單元表示一個單獨的英語單詞,單元中的數字表示該單詞在一個句子中出現的次數。由於一個句子中的單詞通常不會超過 50 個,向量中幾乎所有的單元都是 0。少量的非零的單元將取一個小的整數值(通常為 1)表示句子中一個單詞的出現次數。
- 擁有數百個(低維)元素的密集向量,其中每一個元素取 0 到 1 之間的浮點數。
在 TensorFlow 中,嵌入是通過反向傳播損失訓練的,正如神經網路的其它參量一樣。
經驗風險最小化(empirical risk minimization,ERM)
選擇能最小化訓練數據的損失的模型函數的過程。和結構風險最小化(structual risk minimization)對照。
集成(ensemble)
多個模型預測的綜合考慮。可以通過以下一種或幾種方法創建一個集成方法:
- 設置不同的初始化;
- 設置不同的超參量;
- 設置不同的總體結構。
深度和廣度模型是一種集成。
評估器(Estimator)
tf.Estimator 類的一個例子,封裝 logic 以建立一個 TensorFlow 圖並運行一個 TensorFlow session。你可以通過以下方式創建自己的評估器:https://www.tensorflow.org/extend/estimators
樣本(example)
一個數據集的一行內容。一個樣本包含了一個或多個特徵,也可能是一個標籤。參見標註樣本(labeled example)和無標註樣本(unlabeled example)。
F
假負類(false negative,FN)
被模型錯誤的預測為負類的樣本。例如,模型推斷一封郵件為非垃圾郵件(負類),但實際上這封郵件是垃圾郵件。
假正類(false positive,FP)
被模型錯誤的預測為正類的樣本。例如,模型推斷一封郵件為垃圾郵件(正類),但實際上這封郵件是非垃圾郵件。
假正類率(false positive rate,FP rate)
ROC 曲線(ROC curve)中的 x 軸。FP 率的定義是:假正率=假正類數/(假正類數+真負類數)
特徵(feature)
輸入變數,用於做出預測。
特徵列(feature columns/FeatureColumn)
具有相關性的特徵的集合,比如用戶可能居住的所有可能的國家的集合。一個樣本的一個特徵列中可能會有一個或者多個特徵。
TensorFlow 中的特徵列還可以壓縮元數據比如下列情況:
- 特徵的數據類型;
- 一個特徵是固定長度的或應該轉換為嵌入。
- 一個特徵列可以僅包含一個特徵。「特徵列」是谷歌專用的術語。在 VW 系統(Yahoo/Microsoft)中特徵列的意義是「命名空間」(namespace),或者場(field)。
特徵交叉(feature cross)
將特徵進行交叉(乘積或者笛卡爾乘積)運算後得到的合成特徵。特徵交叉有助於表示非線性關係。
特徵工程(feature engineering)
在訓練模型的時候,決定哪些特徵是有用的,然後將記錄文件和其它來源的原始數據轉換成上述特徵的過程。在 TensorFlow 中特徵工程通常意味著將原始記錄文件輸入 tf.Example 協議緩存中。參見 tf.Transform。特徵工程有時候也稱為特徵提取。
特徵集(feature set)
機器學習模型訓練的時候使用的特徵群。比如,郵政編碼,面積要求和物業狀況可以組成一個簡單的特徵集,使模型能預測房價。
特徵定義(feature spec)
描述所需的信息從 tf.Example 協議緩存中提取特徵數據。因為 tf.Example 協議緩存只是數據的容器,必須明確以下信息:
- 需要提取的數據(即特徵的關鍵信息)
- 數據類型(比如,浮點數還是整數)
- 數據長度(固定的或者變化的)
Estimator API 提供了從一群特徵列中生成一個特徵定義的工具。
完全 softmax(full softmax)
參見 softmax。和候選採樣對照。
G
泛化(generalization)
指模型利用新的沒見過的數據而不是用於訓練的數據作出正確的預測的能力。
廣義線性模型(generalized linear model)
最小二乘回歸模型的推廣/泛化,基於高斯雜訊,相對於其它類型的模型(基於其它類型的雜訊,比如泊松雜訊,或類別雜訊)。廣義線性模型的例子包括:
- logistic 回歸
- 多分類回歸
- 最小二乘回歸
廣義線性模型的參數可以通過凸優化得到,它具有以下性質:
- 最理想的最小二乘回歸模型的平均預測結果等於訓練數據的平均標籤。
- 最理想的 logistic 回歸模型的平均概率的預測結果等於訓練數據的平均標籤。
廣義線性模型的能力局限於其特徵的性質。和深度模型不同,一個廣義線性模型無法「學習新的特徵」。
梯度(gradient)
所有變數的偏導數的向量。在機器學習中,梯度是模型函數的偏導數向量。梯度指向最陡峭的上升路線。
梯度截斷(gradient clipping)
在應用梯度之前先修飾數值,梯度截斷有助於確保數值穩定性,防止梯度爆炸出現。
梯度下降(gradient descent)
通過計算模型的相關參量和損失函數的梯度最小化損失函數,值取決於訓練數據。梯度下降迭代地調整參量,逐漸靠近權重和偏置的最佳組合,從而最小化損失函數。
圖(graph)
在 TensorFlow 中的一種計算過程展示。圖中的節點表示操作。節點的連線是有指向性的,表示傳遞一個操作(一個張量)的結果(作為一個操作數)給另一個操作。使用 TensorBoard 能可視化計算圖。
H
啟發式(heuristic)
一個問題的實際的和非最優的解,但能從學習經驗中獲得足夠多的進步。
隱藏層(hidden layer)
神經網路中位於輸入層(即特徵)和輸出層(即預測)之間的合成層。一個神經網路包含一個或多個隱藏層。
折頁損失函數(Hinge loss)
損失函數的一個類型,用於分類模型以尋找距離每個樣本的距離最大的決策邊界,即最大化樣本和邊界之間的邊緣。KSVMs 使用 hinge 損失函數(或相關的函數,比如平方 hinge 函數)。在二元分類中,hinge 損失函數按以下方式定義:
loss=max(0,1?(y′?y))
其中 y是分類器模型的列輸出:
y′=b+w_1x_1+w_2x_2+…w_nx_n
y 是真實的標籤,-1 或+1。
因此,hinge 損失將是下圖所示的樣子:
測試數據(holdout data)
有意不用於訓練的樣本。驗證數據集(validation data set)和測試數據集(test data set)是測試數據(holdout data)的兩個例子。測試數據幫助評估模型泛化到除了訓練數據之外的數據的能力。測試集的損失比訓練集的損失提供了對未知數據集的損失更好的估計。
超參數(hyperparameter)
連續訓練模型的過程中可以擰動的「旋鈕」。例如,相對於模型自動更新的參數,學習率(learning rate)是一個超參數。和參量對照。
I
獨立同分布(independently and identically distributed,i.i.d)
從不會改變的分布中獲取的數據,且獲取的每個值不依賴於之前獲取的值。i.i.d. 是機器學習的理想情況——一種有用但在現實世界中幾乎找不到的數學構建。例如,網頁訪客的分布可能是短暫時間窗口上的 i.i.d;即分布不會在該時間窗口發生改變,每個人的訪問都與其他人的訪問獨立。但是,如果你擴展了時間窗口,則會出現網頁訪客的季節性差異。
推斷(inference)
在機器學習中,通常指將訓練模型應用到無標註樣本來進行預測的過程。在統計學中,推斷指在觀察到的數據的基礎上擬合分布參數的過程。
輸入層(input layer)
神經網路的第一層(接收輸入數據)。
評分者間一致性(inter-rater agreement)
用來衡量一項任務中人類評分者意見一致的指標。如果意見不一致,則任務說明可能需要改進。有時也叫標註者間信度(inter-annotator agreement)或評分者間信度(inter-rater reliability)。
K
Kernel 支持向量機(Kernel Support Vector Machines/KSVM)
一種分類演算法,旨在通過將輸入數據向量映射到更高維度的空間使正類和負類之間的邊際最大化。例如,考慮一個輸入數據集包含一百個特徵的分類問題。為了使正類和負類之間的間隔最大化,KSVM 從內部將特徵映射到百萬維度的空間。KSVM 使用的損失函數叫作 hinge 損失。
L
L1 損失函數(L1 loss)
損失函數基於模型對標籤的預測值和真實值的差的絕對值而定義。L1 損失函數比起 L2 損失函數對異常值的敏感度更小。
L1 正則化(L1 regularization)
一種正則化,按照權重絕對值總和的比例進行懲罰。在依賴稀疏特徵的模型中,L1 正則化幫助促使(幾乎)不相關的特徵的權重趨近於 0,從而從模型中移除這些特徵。
L2 損失(L2 loss)
參見平方損失。
L2 正則化(L2 regularization)
一種正則化,按照權重平方的總和的比例進行懲罰。L2 正則化幫助促使異常值權重更接近 0 而不趨近於 0。(可與 L1 正則化對照閱讀。)L2 正則化通常改善線性模型的泛化效果。
標籤(label)
在監督式學習中,樣本的「答案」或「結果」。標註數據集中的每個樣本包含一或多個特徵和一個標籤。比如,在房屋數據集中,特徵可能包括卧室數量、衛生間數量、房齡,而標籤可能就是房子的價格。在垃圾郵件檢測數據集中,特徵可能包括主題、發出者何郵件本身,而標籤可能是「垃圾郵件」或「非垃圾郵件」。
標註樣本(labeled example)
包含特徵和標籤的樣本。在監督式訓練中,模型從標註樣本中進行學習。
lambda
正則化率的同義詞。(該術語有多種含義。這裡,我們主要關注正則化中的定義。)
層(layer)
神經網路中的神經元序列,可以處理輸入特徵序列或神經元的輸出。
它也是 TensorFlow 的一種抽象化概念。層是將張量和配置選項作為輸入、輸出其他張量的 Python 函數。一旦必要的張量出現,用戶就可以通過模型函數將結果轉換成估計器。
學習率(learning rate)
通過梯度下降訓練模型時使用的一個標量。每次迭代中,梯度下降演算法使學習率乘以梯度,乘積叫作 gradient step。
學習率是一個重要的超參數。
最小二乘回歸(least squares regression)
通過 L2 損失最小化進行訓練的線性回歸模型。
線性回歸(linear regression)
對輸入特徵的線性連接輸出連續值的一種回歸模型。
logistic 回歸(logistic regression)
將 sigmoid 函數應用於線性預測,在分類問題中為每個可能的離散標籤值生成概率的模型。儘管 logistic 回歸常用於二元分類問題,但它也用於多類別分類問題(這種情況下,logistic 回歸叫作「多類別 logistic 回歸」或「多項式 回歸」。
對數損失函數(Log Loss)
二元 logistic 回歸模型中使用的損失函數。
損失
度量模型預測與標籤距離的指標,它是度量一個模型有多糟糕的指標。為了確定損失值,模型必須定義損失函數。例如,線性回歸模型通常使用均方差作為損失函數,而 logistic 回歸模型使用對數損失函數。
M
機器學習(machine learning)
利用輸入數據構建(訓練)預測模型的項目或系統。該系統使用學習的模型對與訓練數據相同分布的新數據進行有用的預測。機器學習還指與這些項目或系統相關的研究領域。
均方誤差(Mean Squared Error/MSE)
每個樣本的平均平方損失。MSE 可以通過平方損失除以樣本數量來計算。TensorFlow Playground 展示「訓練損失」和「測試損失」的值是 MSE。
小批量(mini-batch)
在訓練或推斷的一個迭代中運行的整批樣本的一個小的隨機選擇的子集。小批量的大小通常在 10 到 1000 之間。在小批量數據上計算損失比在全部訓練數據上計算損失要高效的多。
小批量隨機梯度下降(mini-batch stochastic gradient descent)
使用小批量的梯度下降演算法。也就是,小批量隨機梯度下降基於訓練數據的子集對 梯度進行評估。Vanilla SGD 使用 size 為 1 的小批量。
模型(model)
機器學習系統從訓練數據中所學內容的表示。該術語有多個含義,包括以下兩個相關含義:
- TensorFlow 圖,顯示如何計算預測的結構。
- TensorFlow 圖的特定權重和偏差,由訓練決定。
模型訓練(model training)
確定最佳模型的過程。
動量(Momentum)
一種複雜的梯度下降演算法,其中的學習步不只依賴於當前步的導數,還依賴於先於它的步。動量包括隨著時間計算梯度的指數加權移動平均數,類似於物理學中的動量。動量有時可以阻止學習陷於局部最小值。
多類別(multi-class)
在多於兩類的類別中進行分類的分類問題。例如,有約 128 種楓樹,那麼分類楓樹品種的模型就是多類別的。反之,把電子郵件分成兩個類別(垃圾郵件和非垃圾郵件)的模型是二元分類器模型。
N
NaN trap
訓練過程中,如果模型中的一個數字變成了 NaN,則模型中的很多或所有其他數字最終都變成 NaN。NaN 是「Not a Number」的縮寫。
負類(negative class)
在二元分類中,一個類別是正類,另外一個是負類。正類就是我們要找的目標,負類是另外一種可能性。例如,醫療測試中的負類可能是「非腫瘤」,電子郵件分類器中的負類可能是「非垃圾郵件」。
神經網路(neural network)
該模型從大腦中獲取靈感,由多個層組成(其中至少有一個是隱藏層),每個層包含簡單的連接單元或神經元,其後是非線性。
神經元(neuron)
神經網路中的節點,通常輸入多個值,生成一個輸出值。神經元通過將激活函數(非線性轉換)應用到輸入值的加權和來計算輸出值。
歸一化(normalization)
將值的實際區間轉化為標準區間的過程,標準區間通常是-1 到+1 或 0 到 1。例如,假設某個特徵的自然區間是 800 到 6000。通過減法和分割,你可以把那些值標準化到區間-1 到+1。參見縮放。
numpy
Python 中提供高效數組運算的開源數學庫。pandas 基於 numpy 構建。
O
目標(objective)
演算法嘗試優化的目標函數。
離線推斷(offline inference)
生成一組預測並存儲,然後按需檢索那些預測。可與在線推斷對照閱讀。
one-hot 編碼(one-hot encoding)
一個稀疏向量,其中:
- 一個元素設置為 1。
- 所有其他的元素設置為 0。
獨熱編碼常用於表示有有限可能值集合的字元串或標識符。例如,假設一個記錄了 15000 個不同品種的植物數據集,每一個用獨特的字元串標識符來表示。作為特徵工程的一部分,你可能將那些字元串標識符進行獨熱編碼,每個向量的大小為 15000。
一對多(one-vs.-all)
給出一個有 N 個可能解決方案的分類問題,一對多解決方案包括 N 個獨立的二元分類器——每個可能的結果都有一個二元分類器。例如,一個模型將樣本分為動物、蔬菜或礦物,則一對多的解決方案將提供以下三種獨立的二元分類器:
- 動物和非動物
- 蔬菜和非蔬菜
- 礦物和非礦物
在線推斷(online inference)
按需生成預測。可與離線推斷對照閱讀。
運算(Operation/op)
TensorFlow 圖中的一個節點。在 TensorFlow 中,任何創建、控制或損壞張量的步驟都是運算。例如,矩陣乘法是一個把兩個張量作為輸入、生成一個張量作為輸出的運算。
優化器(optimizer)
梯度下降演算法的特定實現。TensorFlow 的基類優化器是 tf.train.Optimizer。不同的優化器(tf.train.Optimizer 的子類)對應不同的概念,如:
- 動量(Momentum)
- 更新頻率(AdaGrad = ADAptive GRADient descent;Adam = ADAptive with Momentum;RMSProp)
- 稀疏性/正則化(Ftrl)
- 更複雜的數學(Proximal 及其他)
你甚至可以想像 NN-driven optimizer。
異常值(outlier)
與大多數值差別很大的值。在機器學習中,下列都是異常值:
- 高絕對值的權重。
- 與實際值差距過大的預測值。
- 比平均值多大約 3 個標準差的輸入數據的值。
異常值往往使模型訓練中出現問題。
輸出層(output layer)
神經網路的「最後」一層。這一層包含整個·模型所尋求的答案。
過擬合(overfitting)
創建的模型與訓練數據非常匹配,以至於模型無法對新數據進行正確的預測。
P
pandas
一種基於列的數據分析 API。很多機器學習框架,包括 TensorFlow,支持 pandas 數據結構作為輸入。參見 pandas 文檔。
參數(parameter)
機器學習系統自行訓練的模型的變數。例如,權重是參數,它的值是機器學習系統通過連續的訓練迭代逐漸學習到的。可與超參數對照閱讀。
參數伺服器(Parameter Server/PS)
用於在分散式設置中跟蹤模型參數。
參數更新(parameter update)
在訓練過程中調整模型參數的操作,通常在梯度下降的單個迭代中進行。
偏導數(partial derivative)
一個多變數函數的偏導數是它關於其中一個變數的導數,而保持其他變數恆定。例如,f(x, y) 對於 x 的偏導數就是 f(x) 的導數,y 保持恆定。x 的偏導數中只有 x 是變化的,公式中其他的變數都不用變化。
分區策略(partitioning strategy)
在多個參數伺服器中分割變數的演算法。
性能(performance)
具有多種含義:
- 在軟體工程中的傳統含義:軟體運行速度有多快/高效?
- 在機器學習中的含義:模型的準確率如何?即,模型的預測結果有多好?
困惑度(perplexity)
對模型完成任務的程度的一種度量指標。例如,假設你的任務是閱讀用戶在智能手機上輸入的單詞的頭幾個字母,並提供可能的完整單詞列表。該任務的困惑度(perplexity,P)是為了列出包含用戶實際想輸入單詞的列表你需要進行的猜測數量。
困惑度和交叉熵的關係如下:
流程(pipeline)
機器學習演算法的基礎架構。管道包括收集數據、將數據放入訓練數據文件中、訓練一或多個模型,以及最終輸出模型。
正類(positive class)
在二元分類中,有兩種類別:正類和負類。正類是我們測試的目標。(不過必須承認,我們同時測試兩種結果,但其中一種不是重點。)例如,醫療測試中正類可能是「腫瘤」,電子郵件分類器中的正類可能是「垃圾郵件」。可與負類對照閱讀。
精度(precision)
分類模型的一種指標。準確率指模型預測正類時預測正確的頻率。即:
預測(prediction)
模型在輸入樣本後的輸出結果。
預測偏差(prediction bias)
揭示預測的平均值與數據集中標籤的平均值的差距。
預製評估器(pre-made Estimator)
已經構建好的評估器。TensorFlow 提供多個預製評估器,包括 DNNClassifier、DNNRegressor 和 LinearClassifier。你可以根據指導(https://www.tensorflow.org/extend/estimators)構建自己的預製評估器。
預訓練模型(pre-trained model)
已經訓練好的模型或模型組件(如嵌入)。有時,你將預訓練嵌入饋送至神經網路。其他時候,你的模型自行訓練嵌入,而不是依賴於預訓練嵌入。
先驗信念(prior belief)
訓練開始之前你對數據的信念。例如,L2 正則化依賴於權重值很小且正常分布在 0 周圍的信念。
Q
隊列(queue)
實現隊列數據結構的 TensorFlow 操作。通常在輸入/輸出(I/O)中使用。
R
秩(rank)
機器學習領域中包含多種含義的術語:
- 張量中的維度數量。比如,標量有 1 個秩,向量有 1 個秩,矩陣有 2 個秩。(註:在這個辭彙表中,「秩」的概念和線性代數中「秩」的概念不一樣,例如三階可逆矩陣的秩為 3。)
- 機器學習問題中類別的序數位置,按從高到低的順序給類別分類。比如,行為排序系統可以把狗的獎勵按從高(牛排)到低(甘藍)排序。
評分者(rater)
為樣本提供標籤的人,有時也叫「標註者」。
召回率(recall)
分類模型的一個指標,可以回答這個問題:模型能夠準確識別多少正標籤?即:
修正線性單元(Rectified Linear Unit/ReLU)
一種具備以下規則的激活函數:
- 如果輸入為負或零,則輸出為 0。
- 如果輸入為正,則輸出與輸入相同。
回歸模型(regression model)
一種輸出持續值(通常是浮點數)的模型。而分類模型輸出的是離散值,如「day lily」或「tiger lily」。
正則化(regularization)
對模型複雜度的懲罰。正則化幫助防止過擬合。正則化包括不同種類:
- L1 正則化
- L2 正則化
- dropout 正則化
- early stopping(這不是正式的正則化方法,但可以高效限制過擬合)
正則化率(regularization rate)
一種標量級,用 lambda 來表示,指正則函數的相對重要性。從下面這個簡化的損失公式可以看出正則化率的作用:
minimize(loss function + λ(regularization function))
提高正則化率能夠降低過擬合,但可能會使模型準確率降低。
表徵
將數據映射到有用特徵的過程。
受試者工作特徵曲線(receiver operating characteristic/ROC Curve)
反映在不同的分類閾值上,真正類率和假正類率的比值的曲線。參見 AUC。
根目錄(root directory)
指定放置 TensorFlow 檢查點文件子目錄和多個模型的事件文件的目錄。
均方根誤差(Root Mean Squared Error/RMSE)
均方誤差的平方根。
S
Saver
負責存儲模型檢查點文件的 TensorFlow 對象。
縮放(scaling)
特徵工程中常用的操作,用於控制特徵值區間,使之與數據集中其他特徵的區間匹配。例如,假設你想使數據集中所有的浮點特徵的區間為 0 到 1。給定一個特徵區間是 0 到 500,那麼你可以通過將每個值除以 500,縮放特徵值區間。還可參見正則化。
scikit-learn
一種流行的開源機器學習平台。網址:http://www.scikit-learn.org
序列模型(sequence model)
輸入具有序列依賴性的模型。例如,根據之前觀看過的視頻序列對下一個視頻進行預測。
會話(session)
保持 TensorFlow 程序的狀態(如變數)。
Sigmoid 函數(sigmoid function)
把 logistic 或多項式回歸輸出(對數幾率)映射到概率的函數,返回的值在 0 到 1 之間。sigmoid 函數的公式如下:
其中σ在 logistic 回歸問題中只是簡單的:
在有些神經網路中,sigmoid 函數和激活函數一樣。
softmax
為多類別分類模型中每個可能的類提供概率的函數。概率加起來的總和是 1.0。例如,softmax 可能檢測到某個圖像是一隻狗的概率為 0.9,是一隻貓的概率為 0.08,是一匹馬的概率為 0.02。(也叫作 full softmax)。
稀疏特徵(sparse feature)
值主要為 0 或空的特徵向量。比如,一個向量的值有 1 個 1,、一百萬個 0,則該向量為稀疏向量。再比如,搜索查詢中的單詞也是稀疏向量:在一種語言中有很多可以用的單詞,但給定的查詢中只用了其中的一些。
可與稠密特徵對照閱讀。
平方損失(squared loss)
線性回歸中使用的損失函數(也叫作 L2 Loss)。該函數計算模型對標註樣本的預測值和標籤真正值之間差的平方。在平方之後,該損失函數擴大了不良預測的影響。即,平方損失比 L1 Loss 對異常值(outlier)的反應更加強烈。
靜態模型(static model)
離線訓練的模型。
穩態(stationarity)
數據集中的一種數據屬性,數據分布在一或多個維度中保持不變。通常情況下,維度是時間,意味著具備平穩性的數據不會隨著時間發生變化。比如,具備平穩性的數據從 9 月到 12 月不會改變。
步(step)
一個批量中的前向和後向評估。
步長(step size)
學習速率(learning rate)乘以偏導數的值,即梯度下降中的步長。
隨機梯度下降(stochastic gradient descent/SGD)
批量大小為 1 的梯度下降演算法。也就是說,SGD 依賴於從數據集中隨機均勻選擇出的一個樣本,以評估每一步的梯度。
結構風險最小化(structural risk minimization/SRM)
這種演算法平衡兩個目標:
- 構建預測性最強的模型(如最低損失)。
- 使模型盡量保持簡單(如強正則化)。
比如,在訓練集上的損失最小化 + 正則化的模型函數就是結構風險最小化演算法。更多信息,參見 http://www.svms.org/srm/。可與經驗風險最小化對照閱讀。
摘要(summary)
在 TensorFlow 中,特定步計算的值或值的集合,通常用於跟蹤訓練過程中的模型指標。
監督式機器學習(supervised machine learning)
利用輸入數據及其對應標籤來訓練模型。監督式機器學習類似學生通過研究問題和對應答案進行學習。在掌握問題和答案之間的映射之後,學生就可以提供同樣主題的新問題的答案了。可與非監督機器學習對照閱讀。
合成特徵(synthetic feature)
不在輸入特徵中,而是從一個或多個輸入特徵中派生出的特徵。合成特徵的類型包括:
- 特徵與自己或其他特徵相乘(叫作特徵交叉)。
- 兩個特徵相除。
- 將連續的特徵放進 range bin 中。
由歸一化或縮放單獨創建的特徵不是合成特徵。
T
張量(tensor)
TensorFlow 項目的主要數據結構。張量是 N 維數據結構(N 的值很大),經常是標量、向量或矩陣。張量可以包括整數、浮點或字元串值。
張量處理單元(Tensor Processing Unit,TPU)
優化 TensorFlow 性能的 ASIC(application-specific integrated circuit,專用集成電路)。
張量形狀(Tensor shape)
張量的元素數量包含在不同維度中。比如,[5, 10] 張量在一個維度中形狀為 5,在另一個維度中形狀為 10。
張量大小(Tensor size)
張量包含的標量總數。比如,[5, 10] 張量的大小就是 50。
TensorBoard
展示一個或多個 TensorFlow 項目運行過程中保存的摘要數據的控制面板。
TensorFlow
大型分散式機器學習平台。該術語還指 TensorFlow 堆棧中的基礎 API 層,支持數據流圖上的通用計算。
儘管 TensorFlow 主要用於機器學習,但是它也適用於要求使用數據流圖進行數值運算的非機器學習任務。
TensorFlow Playground
一個可以看到不同超參數對模型(主要是神經網路)訓練的影響的平台。前往 http://playground.tensorflow.org,使用 TensorFlow Playground。
TensorFlow Serving
幫助訓練模型使之可部署到產品中的平台。
測試集(test set)
數據集的子集。模型經過驗證集初步測試之後,使用測試集對模型進行測試。可與訓練集和驗證集對照閱讀。
tf.Example
一種標準 protocol buffer,用於描述機器學習模型訓練或推斷的輸入數據。
訓練(training)
確定組成模型的完美參數的流程。
訓練集(training set)
數據集子集,用於訓練模型。可與驗證集和測試集對照閱讀。
真負類(true negative,TN)
被模型正確地預測為負類的樣本。例如,模型推斷某封電子郵件不是垃圾郵件,然後該電郵真的不是垃圾郵件。
真正類(true positive,TP)
被模型正確地預測為正類的樣本。例如,模型推斷某封電子郵件是垃圾郵件,結果該電郵真的是垃圾郵件。
真正類率(true positive rate,TP rate)
召回率(recall)的同義詞。即:
TruePositiveRate=TruePositives/(TruePositives+FalseNegatives)
真正類率是 ROC 曲線的 y 軸。
U
無標籤樣本(unlabeled example)
包含特徵但沒有標籤的樣本。無標籤樣本是推斷的輸入。在半監督學習和無監督學習的訓練過程中,通常使用無標籤樣本。
無監督機器學習(unsupervised machine learning)
訓練一個模型尋找數據集(通常是無標籤數據集)中的模式。
無監督機器學習最常用於將數據分成幾組類似的樣本。例如,無監督機器學習演算法可以根據音樂的各種屬性聚類數據。用這種方式收集的數據可以作為其他機器學習演算法(如音樂推薦服務)的輸入。聚類在難以獲取真正標籤的情景中非常有用。例如,在反欺詐和反濫用的情景中,聚類可以幫助人類更好地理解數據。
無監督機器學習的另一個例子是主成分分析(principal component analysis,PCA)。如,將 PCA 應用於包含數百萬購物車內容的數據集中時,就有可能發現有檸檬的購物車往往也有解酸劑。可與監督式機器學習對照閱讀。
V
驗證集(validation set)
數據集的一個子集(與訓練集不同),可用於調整超參數。可與訓練集和測試集對照閱讀。
W
權重(weight)
線性模型中的特徵係數,或者深度網路中的邊緣。線性模型的訓練目標是為每個特徵確定一個完美的權重。如果權重為 0,則對應的特徵對模型而言是無用的。
寬模型(wide model)
線性模型通常具備很多稀疏輸入特徵。我們稱之為「寬」模型,因其具有大量與輸出節點直接連接的輸入,是一種特殊類型的神經網路。寬模型通常比深度模型更容易調試(debug)和檢查。儘管寬模型無法通過隱藏層表達非線性,但它們可以使用特徵交叉和 bucketization 等轉換用不同方式對非線性建模。可與深度模型對照閱讀。
推薦閱讀:
※從建立清晰的步驟開始——Machine Learning Project Checklist
※Hands-On ML,CH2:房價預測
※1-4 Supervised Learning
※【一起看論文】隨機特徵
※知乎問題標籤預測開放數據集上線啦
TAG:機器學習 |