谷歌開發者機器學習詞彙表:縱覽機器學習基本詞彙與概念

機器之心發表於2017-10-05

選自Google Developers

機器之心編譯

機器之心曾開放過人工智慧術語集 ,該術語庫專案目前收集了人工智慧領域 700 多個專業術語,但仍需要與各位讀者共同完善與修正。本文編譯自谷歌開發者機器學習術語表專案,介紹了該專案所有的術語與基本解釋。之後,我們也將表內術語更新到了機器之心 GitHub 專案中。本文由浙江大學博士生楊海巨集推薦,他的研究方向為知識圖譜問答。

機器之心人工智慧術語專案:https://github.com/jiqizhixin/Artificial-Intelligence-Terminology



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

一種流行的開源機器學習平臺。網址: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 等轉換用不同方式對非線性建模。可與深度模型對照閱讀。谷歌開發者機器學習詞彙表:縱覽機器學習基本詞彙與概念

原文連結:https://developers.google.com/machine-learning/glossary



相關文章