
來源:比特小組,推薦人:楊佳達
轉自:Datawhale
機器學習術語表
Google 官方出品的機器學習中英文術語對照表,列出了一般的機器學習術語和 TensorFlow 專用術語的定義。版權歸谷歌,本公衆号精心編譯制作,以友善大家手機上浏覽、查閱和學習。
1A
A/B 測試 (A/B testing)
一種統計方法,用于将兩種或多種技術進行比較,通常是将目前采用的技術與新技術進行比較。A/B測試不僅旨在确定哪種技術的效果更好,而且還有助于了解相應差異是否具有顯著的統計意義。A/B測試通常是采用一種衡量方式對兩種技術進行比較,但也适用于任意有限數量的技術和衡量方式。
準确率 (accuracy)
分類模型的正确預測所占的比例。在多類别分類中,準确率的定義如下:
在二進制分類中,準确率的定義如下:
請參閱正例和負例。
激活函數 (activation function)
一種函數(例如 ReLU 或 S型函數),用于對上一層的所有輸入求權重和,然後生成一個輸出值(通常為非線性值),并将其傳遞給下一層。
AdaGrad
一種先進的梯度下降法,用于重新調整每個參數的梯度,以便有效地為每個參數指定獨立的學習速率。如需檢視完整的解釋,請參閱這篇論文[1]。
ROC 曲線下面積 (AUC, Area under the ROC Curve)
一種會考慮所有可能分類門檻值的評估名額。
ROC曲線下面積是,對于随機選擇的正類别樣本确實為正類别,以及随機選擇的負類别樣本為正類别,分類器更确信前者的機率。
2B
反向傳播算法 (backpropagation)
在神經網絡上執行梯度下降法的主要算法。該算法會先按前向傳播方式計算(并緩存)每個節點的輸出值,然後再按反向傳播周遊圖的方式計算損失函數值相對于每個參數的偏導數[2]。
基準 (baseline)
一種簡單的模型或啟發法,用作比較模型效果時的參考點。基準有助于模型開發者針對特定問題量化最低預期效果。
批次 (batch)
模型訓練的一次疊代(即一次梯度更新)中使用的樣本集。
另請參閱批次大小。
批次大小 (batch size)
一個批次中的樣本數。例如,SGD 的批次大小為1,而小批次的大小通常介于 10 到 1000之間。批次大小在訓練和推斷期間通常是固定的;不過,TensorFlow允許使用動态批次大小。
偏差 (bias)
距離原點的截距或偏移。偏差(也稱為偏差項)在機器學習模型中用 或 表示。例如,在下面的公式中,偏差為 :
請勿與預測偏差混淆。
二進制分類 (binary classification)
一種分類任務,可輸出兩種互斥類别之一。例如,對電子郵件進行評估并輸出"垃圾郵件"或"非垃圾郵件"的機器學習模型就是一個二進制分類器。
分箱 (binning)
請參閱分桶。
分桶 (bucketing)
将一個特征(通常是連續特征)轉換成多個二進制特征(稱為桶或箱),通常根據值區間進行轉換。例如,您可以将溫度區間分割為離散分箱,而不是将溫度表示成單個連續的浮點特征。假設溫度資料可精确到小數點後一位,則可以将介于0.0 到 15.0 度之間的所有溫度都歸入一個分箱,将介于 15.1 到 30.0度之間的所有溫度歸入第二個分箱,并将介于 30.1 到 50.0度之間的所有溫度歸入第三個分箱。
3C
校準層 (calibration layer)
一種預測後調整,通常是為了降低預測偏差的影響。調整後的預測和機率應與觀察到的标簽集的分布一緻。
候選采樣 (candidate sampling)
一種訓練時進行的優化,會使用某種函數(例如softmax)針對所有正類别标簽計算機率,但對于負類别标簽,則僅針對其随機樣本計算機率。例如,如果某個樣本的标簽為"小獵犬"和"狗",則候選采樣将針對"小獵犬"和"狗"類别輸出以及其他類别(貓、棒棒糖、栅欄)的随機子集計算預測機率和相應的損失項。這種采樣基于的想法是,隻要正類别始終得到适當的正增強,負類别就可以從頻率較低的負增強中進行學習,這确實是在實際中觀察到的情況。候選采樣的目的是,通過不針對所有負類别計算預測結果來提高計算效率。
分類資料 (categorical data)
一種特征,擁有一組離散的可能值。以某個名為
house style
的分類特征為例,該特征擁有一組離散的可能值(共三個),即
Tudor, ranch, colonial
。通過将
house style
表示成分類資料,相應模型可以學習
Tudor
、
ranch
和
colonial
分别對房價的影響。
有時,離散集中的值是互斥的,隻能将其中一個值應用于指定樣本。例如,
car maker
分類特征可能隻允許一個樣本有一個值(
Toyota
)。在其他情況下,則可以應用多個值。一輛車可能會被噴塗多種不同的顔色,是以,
car color
分類特征可能會允許單個樣本具有多個值(例如
red
和
white
)。
分類特征有時稱為離散特征。
與數值資料相對。
形心 (centroid)
聚類的中心,由 k-means 或 k-median算法決定。例如,如果 k 為 3,則 k-means 或 k-median 算法會找出 3個形心。
檢查點 (checkpoint)
一種資料,用于捕獲模型變量在特定時間的狀态。借助檢查點,可以導出模型權重,跨多個會話執行訓練,以及使訓練在發生錯誤之後得以繼續(例如作業搶占)。請注意,圖本身不包含在檢查點中。
類别 (class)
為标簽枚舉的一組目标值中的一個。例如,在檢測垃圾郵件的二進制分類模型中,兩種類别分别是"垃圾郵件"和"非垃圾郵件"。在識别狗品種的多類别分類模型中,類别可以是"貴賓犬"、"小獵犬"、"哈巴犬"等等。
分類不平衡的資料集 (class-imbalanced data set)
一種二進制分類問題,在此類問題中,兩種類别的标簽在出現頻率方面具有很大的差距。例如,在某個疾病資料集中,0.0001的樣本具有正類别标簽,0.9999的樣本具有負類别标簽,這就屬于分類不平衡問題;但在某個足球比賽預測器中,0.51的樣本的标簽為其中一個球隊赢,0.49的樣本的标簽為另一個球隊赢,這就不屬于分類不平衡問題。
分類模型 (classification model)
一種機器學習模型,用于區分兩種或多種離散類别。例如,某個自然語言處理分類模型可以确定輸入的句子是法語、西班牙語還是意大利語。請與回歸模型進行比較。
分類門檻值 (classification threshold)
一種标量值條件,應用于模型預測的得分,旨在将正類别與負類别區分開。将邏輯回歸結果映射到二進制分類時使用。以某個邏輯回歸模型為例,該模型用于确定指定電子郵件是垃圾郵件的機率。如果分類門檻值為0.9,那麼邏輯回歸值高于 0.9 的電子郵件将被歸類為"垃圾郵件",低于 0.9的則被歸類為"非垃圾郵件"。
聚類 (clustering)
将關聯的樣本分成一組,一般用于非監督式學習。在所有樣本均分組完畢後,相關人員便可選擇性地為每個聚類賦予含義。
聚類算法有很多。例如,k-means算法會基于樣本與形心的接近程度聚類樣本,如下圖所示:
之後,研究人員便可檢視這些聚類并進行其他操作,例如,将聚類 1标記為"矮型樹",将聚類 2 标記為"全尺寸樹"。
再舉一個例子,例如基于樣本與中心點距離的聚類算法,如下所示:
協同過濾 (collaborative filtering)
根據很多其他使用者的興趣來預測某位使用者的興趣。協同過濾通常用在推薦系統中。
混淆矩陣 (confusion matrix)
一種 NxN表格,用于總結分類模型的預測效果;即标簽和模型預測的分類之間的關聯。在混淆矩陣中,一個軸表示模型預測的标簽,另一個軸表示實際标簽。N表示類别個數。在二進制分類問題中,N=2。例如,下面顯示了一個二進制分類問題的混淆矩陣示例:
惡性良性腫瘤預測标簽
非惡性良性腫瘤預測标簽
惡性良性腫瘤實際标簽 | 18 | 1 |
非惡性良性腫瘤實際标簽 | 6 | 452 |
上面的混淆矩陣顯示,在 19 個實際有惡性良性腫瘤的樣本中,該模型正确地将 18個歸類為有惡性良性腫瘤(18 個正例),錯誤地将 1 個歸類為沒有惡性良性腫瘤(1個假負例)。同樣,在 458 個實際沒有惡性良性腫瘤的樣本中,模型歸類正确的有 452個(452 個負例),歸類錯誤的有 6 個(6 個假正例)。
多類别分類問題的混淆矩陣有助于确定出錯模式。例如,某個混淆矩陣可以揭示,某個經過訓練以識别手寫數字的模型往往會将4 錯誤地預測為 9,将 7 錯誤地預測為 1。
混淆矩陣包含計算各種效果名額(包括精确率和召回率)所需的充足資訊。
連續特征 (continuous feature)
一種浮點特征,可能值的區間不受限制。與離散特征相對。
收斂 (convergence)
通俗來說,收斂通常是指在訓練期間達到的一種狀态,即經過一定次數的疊代之後,訓練損失和驗證損失在每次疊代中的變化都非常小或根本沒有變化。也就是說,如果采用目前資料進行額外的訓練将無法改進模型,模型即達到收斂狀态。在深度學習中,損失值有時會在最終下降之前的多次疊代中保持不變或幾乎保持不變,暫時形成收斂的假象。
另請參閱早停法。
另請參閱 Boyd 和 Vandenberghe 合著的 ConvexOptimization(《凸優化》)。
凸函數 (convex function)
一種函數,函數圖像以上的區域為凸集。典型凸函數的形狀類似于字母U。例如,以下都是凸函數:
典型凸函數的形狀類似于字母U。
相反,以下函數則不是凸函數。請注意圖像上方的區域如何不是凸集:
嚴格凸函數隻有一個局部最低點,該點也是全局最低點。經典的 U形函數都是嚴格凸函數。不過,有些凸函數(例如直線)則不是這樣。
很多常見的損失函數(包括下列函數)都是凸函數:
- 損失函數
- 對數損失函數
- 正則化
- 正則化
梯度下降法的很多變體都一定能找到一個接近嚴格凸函數最小值的點。同樣,随機梯度下降法的很多變體都有很高的可能性能夠找到接近嚴格凸函數最小值的點(但并非一定能找到)。
兩個凸函數的和(例如 損失函數 + 正則化)也是凸函數。
深度模型絕不會是凸函數。值得注意的是,專門針對凸優化設計的算法往往總能在深度網絡上找到非常好的解決方案,雖然這些解決方案并不一定對應于全局最小值。
凸優化 (convex optimization)
使用數學方法(例如梯度下降法)尋找凸函數最小值的過程。機器學習方面的大量研究都是專注于如何通過公式将各種問題表示成凸優化問題,以及如何更高效地解決這些問題。
如需完整的詳細資訊,請參閱 Boyd 和 Vandenberghe 合著的 ConvexOptimization(《凸優化》)。
凸集 (convex set)
歐幾裡得空間的一個子集,其中任意兩點之間的連線仍完全落在該子集内。例如,下面的兩個圖形都是凸集:
矩形和半橢圓形都是凸集。
相反,下面的兩個圖形都不是凸集:
缺少一塊的餅圖以及煙花圖都是非凸集。
卷積 (convolution)
簡單來說,卷積在數學中指兩個函數的組合。在機器學習中,卷積結合使用卷積過濾器和輸入矩陣來訓練權重。
機器學習中的"卷積"一詞通常是卷積運算或卷積層的簡稱。
如果沒有卷積,機器學習算法就需要學習大張量中每個單元格各自的權重。例如,用2K x 2K 圖像訓練的機器學習算法将被迫找出 400萬個單獨的權重。而使用卷積,機器學習算法隻需在卷積過濾器中找出每個單元格的權重,大大減少了訓練模型所需的記憶體。在應用卷積過濾器後,它隻需跨單元格進行複制,每個單元格都會與過濾器相乘。
卷積過濾器 (convolutional filter)
卷積運算中的兩個參與方之一。(另一個參與方是輸入矩陣切片。)卷積過濾器是一種矩陣,其等級與輸入矩陣相同,但形狀小一些。以28×28 的輸入矩陣為例,過濾器可以是小于 28×28 的任何二維矩陣。
在圖形操作中,卷積過濾器中的所有單元格通常按照固定模式設定為 1 和0。在機器學習中,卷積過濾器通常先選擇随機數字,然後由網絡訓練出理想值。
卷積層 (convolutional layer)
深度神經網絡的一個層,卷積過濾器會在其中傳遞輸入矩陣。以下面的3x3 卷積過濾器為例:
下面的動畫顯示了一個由 9 個卷積運算(涉及 5x5輸入矩陣)組成的卷積層。請注意,每個卷積運算都涉及一個不同的 3x3輸入矩陣切片。由此産生的 3×3 矩陣(右側)就包含 9 個卷積運算的結果:
卷積神經網絡 (convolutional neural network)
一種神經網絡,其中至少有一層為卷積層。典型的卷積神經網絡包含以下幾層的組合:
- 卷積層
- 池化層
- 密集層
卷積神經網絡在解決某些類型的問題(如圖像識别)上取得了巨大成功。
卷積運算 (convolutional operation)
如下所示的兩步數學運算:
- 對卷積過濾器和輸入矩陣切片執行元素級乘法。(輸入矩陣切片與卷積過濾器具有相同的等級和大小。)
- 對生成的積矩陣中的所有值求和。
以下面的 5x5 輸入矩陣為例:
現在,以下面這個 2x2 卷積過濾器為例:
每個卷積運算都涉及一個 2x2輸入矩陣切片。例如,假設我們使用輸入矩陣左上角的 2x2切片。這樣一來,對此切片進行卷積運算将如下所示:
卷積層由一系列卷積運算組成,每個卷積運算都針對不同的輸入矩陣切片。
成本 (cost)
與損失的含義相同。
交叉熵 (cross-entropy)
對數損失函數向多類别分類問題的一種泛化。交叉熵可以量化兩種機率分布之間的差異。另請參閱困惑度。
自定義 Estimator (custom Estimator)
您按照這些說明[3]自行編寫的Estimator。
與預建立的 Estimator 相對。
4D
資料分析 (data analysis)
根據樣本、測量結果和可視化内容來了解資料。資料分析在首次收到資料集、建構第一個模型之前特别有用。此外,資料分析在了解實驗和調試系統問題方面也至關重要。
DataFrame
一種熱門的資料類型,用于表示 Pandas 中的資料集。DataFrame類似于表格。DataFrame的每一列都有一個名稱(标題),每一行都由一個數字辨別。
資料集 (data set)
一組樣本的集合。
Dataset API (tf.data)
一種進階别的 TensorFlowAPI,用于讀取資料并将其轉換為機器學習算法所需的格式。
tf.data.Dataset
對象表示一系列元素,其中每個元素都包含一個或多個張量。
tf.data.Iterator
對象可擷取
Dataset
中的元素。
如需詳細了解 Dataset API,請參閱《TensorFlow程式設計人員指南》中的導入資料[4]。
決策邊界 (decision boundary)
在二進制分類或多類别分類問題中,模型學到的類别之間的分界線。例如,在以下表示某個二進制分類問題的圖檔中,決策邊界是橙色類别和藍色類别之間的分界線:
兩種類别之間明确定義的邊界。
密集層 (dense layer)
與全連接配接層的含義相同。
深度模型 (deep model)
一種神經網絡,其中包含多個隐藏層。深度模型依賴于可訓練的非線性關系。
與寬度模型相對。
密集特征 (dense feature)
一種大部分值是非零值的特征,通常是浮點值張量。與稀疏特征相對。
裝置 (device)
一類可運作 TensorFlow 會話的硬體,包括 CPU、GPU 和 TPU。
離散特征 (discrete feature)
一種特征,包含有限個可能值。例如,某個值隻能是"動物"、"蔬菜"或"礦物"的特征便是一個離散特征(或分類特征)。與連續特征相對。
丢棄正則化 (dropout regularization)
正則化的一種形式,在訓練神經網絡方面非常有用。丢棄正則化的運作機制是,在一個梯度步長中移除從神經網絡層中随機選擇的固定數量的單元。丢棄的單元越多,正則化效果就越強。這類似于訓練神經網絡以模拟較小網絡的指數級規模內建學習。如需完整的詳細資訊,請參閱Dropout: A Simple Way to Prevent Neural Networks fromOverfitting(《丢棄:一種防止神經網絡過拟合的簡單方法》)。
動态模型 (dynamic model)
一種模型,以持續更新的方式線上接受訓練。也就是說,資料會源源不斷地進入這種模型。
5E
早停法 (early stopping)
一種正則化方法,是指在訓練損失仍可以繼續降低之前結束模型訓練。使用早停法時,您會在驗證資料集的損失開始增大(也就是泛化效果變差)時結束模型訓練。
嵌套 (embeddings)
一種分類特征,以連續值特征表示。通常,嵌套是指将高次元向量映射到低次元的空間。例如,您可以采用以下兩種方式之一來表示英文句子中的單詞:
- 表示成包含百萬個元素(高次元)的稀疏向量,其中所有元素都是整數。向量中的每個單元格都表示一個單獨的英文單詞,單元格中的值表示相應單詞在句子中出現的次數。由于單個英文句子包含的單詞不太可能超過50 個,是以向量中幾乎每個單元格都包含 0。少數非 0的單元格中将包含一個非常小的整數(通常為1),該整數表示相應單詞在句子中出現的次數。
- 表示成包含數百個元素(低次元)的密集向量,其中每個元素都存儲一個介于0 到 1 之間的浮點值。這就是一種嵌套。
在 TensorFlow中,會按反向傳播損失訓練嵌套,和訓練神經網絡中的任何其他參數一樣。
經驗風險最小化 (ERM, empirical risk minimization)
用于選擇可以将基于訓練集的損失降至最低的函數。與結構風險最小化相對。
內建學習 (ensemble)
多個模型的預測結果的并集。您可以通過以下一項或多項來建立內建學習:
- 不同的初始化
- 不同的超參數
- 不同的整體結構
深度模型和寬度模型[5]屬于一種內建學習。
周期 (epoch)
在訓練時,整個資料集的一次完整周遊,以便不漏掉任何一個樣本。是以,一個周期表示(
N
/批次大小)次訓練疊代,其中
N
是樣本總數。
Estimator
tf.Estimator
類的一個執行個體,用于封裝負責建構 TensorFlow 圖并運作TensorFlow 會話的邏輯。您可以建立自定義Estimator(如需相關介紹,請點選此處[6]),也可以執行個體化其他人預建立的Estimator。
樣本 (example)
資料集的一行。一個樣本包含一個或多個特征,此外還可能包含一個标簽。另請參閱有标簽樣本和無标簽樣本。
6F
假負例 (FN, false negative)
被模型錯誤地預測為負類别的樣本。例如,模型推斷出某封電子郵件不是垃圾郵件(負類别),但該電子郵件其實是垃圾郵件。
假正例 (FP, false positive)
被模型錯誤地預測為正類别的樣本。例如,模型推斷出某封電子郵件是垃圾郵件(正類别),但該電子郵件其實不是垃圾郵件。
假正例率(false positive rate, 簡稱 FP 率)
ROC 曲線中的 x 軸。FP 率的定義如下:
特征 (feature)
在進行預測時使用的輸入變量。
特征列 (tf.feature_column)
指定模型應該如何解讀特定特征的一種函數。此類函數的輸出結果是所有Estimators 構造函數的必需參數。
借助
tf.feature_column
函數,模型可對輸入特征的不同表示法輕松進行實驗。有關詳情,請參閱《TensorFlow程式設計人員指南》中的特征列[7]一章。
"特征列"是 Google 專用的術語。特征列在 Yahoo/Microsoft 使用的VW[8]系統中稱為"命名空間",也稱為場[9]。
特征組合 (feature cross)
通過将單獨的特征進行組合(求笛卡爾積)而形成的合成特征。特征組合有助于表達非線性關系。
特征工程 (feature engineering)
指以下過程:确定哪些特征可能在訓練模型方面非常有用,然後将日志檔案及其他來源的原始資料轉換為所需的特征。在TensorFlow 中,特征工程通常是指将原始日志檔案條目轉換為tf.Example 協定緩沖區。另請參閱tf.Transform[10]。
特征工程有時稱為特征提取。
特征集 (feature set)
訓練機器學習模型時采用的一組特征。例如,對于某個用于預測房價的模型,郵政編碼、房屋面積以及房屋狀況可以組成一個簡單的特征集。
特征規範 (feature spec)
用于描述如何從 tf.Example協定緩沖區提取特征資料。由于 tf.Example協定緩沖區隻是一個資料容器,是以您必須指定以下内容:
- 要提取的資料(即特征的鍵)
- 資料類型(例如 float 或 int)
- 長度(固定或可變)
Estimator API 提供了一些可用來根據給定FeatureColumns 清單生成特征規範的工具。
少量樣本學習 (few-shot learning)
一種機器學習方法(通常用于對象分類),旨在僅通過少量訓練樣本學習有效的分類器。
另請參閱單樣本學習。
完整 softmax (full softmax)
請參閱softmax。與候選采樣相對。
全連接配接層 (fully connected layer)
一種隐藏層,其中的每個節點均與下一個隐藏層中的每個節點相連。
全連接配接層又稱為密集層。
7G
泛化 (generalization)
指的是模型依據訓練時采用的資料,針對以前未見過的新資料做出正确預測的能力。
廣義線性模型 (generalized linear model)
最小二乘回歸模型(基于高斯噪聲[11])向其他類型的模型(基于其他類型的噪聲,例如泊松噪聲[12]或分類噪聲)進行的一種泛化。廣義線性模型的示例包括:
- 邏輯回歸
- 多類别回歸
- 最小二乘回歸
可以通過凸優化[13]找到廣義線性模型的參數。
廣義線性模型具有以下特性:
- 最優的最小二乘回歸模型的平均預測結果等于訓練資料的平均标簽。
- 最優的邏輯回歸模型預測的平均機率等于訓練資料的平均标簽。
廣義線性模型的功能受其特征的限制。與深度模型不同,廣義線性模型無法"學習新特征"。
梯度 (gradient)
偏導數相對于所有自變量的向量。在機器學習中,梯度是模型函數偏導數的向量。梯度指向最高速上升的方向。
梯度裁剪 (gradient clipping)
在應用梯度值之前先設定其上限。梯度裁剪有助于確定數值穩定性以及防止梯度爆炸[14]。
梯度下降法 (gradient descent)
一種通過計算并且減小梯度将損失降至最低的技術,它以訓練資料為條件,來計算損失相對于模型參數的梯度。通俗來說,梯度下降法以疊代方式調整參數,逐漸找到權重和偏差的最佳組合,進而将損失降至最低。
圖 (graph)
TensorFlow中的一種計算規範。圖中的節點表示操作。邊緣具有方向,表示将某項操作的結果(一個張量[15])作為一個操作數傳遞給另一項操作。可以使用TensorBoard 直覺呈現圖。
8H
啟發法 (heuristic)
一種非最優但實用的問題解決方案,足以用于進行改進或從中學習。
隐藏層 (hidden layer)
神經網絡中的合成層,介于輸入層(即特征)和輸出層(即預測)之間。神經網絡包含一個或多個隐藏層。
合頁損失函數 (hinge loss)
一系列用于分類的損失函數,旨在找到距離每個訓練樣本都盡可能遠的決策邊界,進而使樣本和邊界之間的裕度最大化。KSVM使用合頁損失函數(或相關函數,例如平方合頁損失函數)。對于二進制分類,合頁損失函數的定義如下:
其中 表示分類器模型的原始輸出:
表示真标簽,值為 -1 或 +1。
是以,合頁損失與 ( ) 的關系圖如下所示:
維持資料 (holdout data)
訓練期間故意不使用("維持")的樣本。驗證資料集和測試資料集都屬于維持資料。維持資料有助于評估模型向訓練時所用資料之外的資料進行泛化的能力。與基于訓練資料集的損失相比,基于維持資料集的損失有助于更好地估算基于未見過的資料集的損失。
超參數 (hyperparameter)
在模型訓練的連續過程中,您調節的"旋鈕"。例如,學習速率就是一種超參數。
與參數相對。
超平面 (hyperplane)
将一個空間劃分為兩個子空間的邊界。例如,在二維空間中,直線就是一個超平面,在三維空間中,平面則是一個超平面。在機器學習中更典型的是:超平面是分隔高次元空間的邊界。核支援向量機利用超平面将正類别和負類别區分開來(通常是在極高次元空間中)。
9I
獨立同等分布 (i.i.d, independently and identically distributed)
從不會改變的分布中提取的資料,其中提取的每個值都不依賴于之前提取的值。i.i.d.是機器學習的理想氣體[16] -一種實用的數學結構,但在現實世界中幾乎從未發現過。例如,某個網頁的通路者在短時間内的分布可能為i.i.d.,即分布在該短時間内沒有變化,且一位使用者的通路行為通常與另一位使用者的通路行為無關。不過,如果将時間視窗擴大,網頁通路者的分布可能呈現出季節性變化。
推斷 (inference)
在機器學習中,推斷通常指以下過程:通過将訓練過的模型應用于無标簽樣本來做出預測。在統計學中,推斷是指在某些觀測資料條件下拟合分布參數的過程。(請參閱維基百科中有關統計學推斷的文章[17]。)
輸入函數 (input function)
在 TensorFlow 中,用于将輸入資料傳回到 Estimator的訓練、評估或預測方法的函數。例如,訓練輸入函數會傳回訓練集中的一批特征和标簽。
輸入層 (input layer)
神經網絡中的第一層(接收輸入資料的層)。
執行個體 (instance)
與樣本的含義相同。
可解釋性 (interpretability)
模型的預測可解釋的難易程度。深度模型通常不可解釋,也就是說,很難對深度模型的不同層進行解釋。相比之下,線性回歸模型和寬度模型的可解釋性通常要好得多。
評分者間一緻性信度 (inter-rater agreement)
一種衡量名額,用于衡量在執行某項任務時評分者達成一緻的頻率。如果評分者未達成一緻,則可能需要改進任務說明。有時也稱為注釋者間一緻性信度或評分者間可靠性信度。另請參閱Cohen'skappa(最熱門的評分者間一緻性信度衡量名額之一)。
疊代 (iteration)
模型的權重在訓練期間的一次更新。疊代包含計算參數在單批次資料上的梯度損失。
10K
k-means
一種熱門的聚類算法,用于對非監督式學習中的樣本進行分組。k-means算法基本上會執行以下操作:
- 以疊代方式确定最佳的 k 中心點(稱為形心)。
- 将每個樣本配置設定到最近的形心。與同一個形心距離最近的樣本屬于同一個組。
k-means算法會挑選形心位置,以最大限度地減小每個樣本與其最接近形心之間的距離的累積平方。
以下面的小狗高度與小狗寬度的關系圖為例:
如果 k=3,則 k-means算法會确定三個形心。每個樣本都被配置設定到與其最接近的形心,最終産生三個組:
假設制造商想要确定小、中和大号狗毛衣的理想尺寸。在該聚類中,三個形心用于辨別每隻狗的平均高度和平均寬度。是以,制造商可能應該根據這三個形心确定毛衣尺寸。請注意,聚類的形心通常不是聚類中的樣本。
上圖顯示了 k-means應用于僅具有兩個特征(高度和寬度)的樣本。請注意,k-means可以跨多個特征為樣本分組。
k-median
與 k-means 緊密相關的聚類算法。兩者的實際差別如下:
- 對于k-means,确定形心的方法是,最大限度地減小候選形心與它的每個樣本之間的距離平方和。
- 對于k-median,确定形心的方法是,最大限度地減小候選形心與它的每個樣本之間的距離總和。
請注意,距離的定義也有所不同:
- k-means采用從形心到樣本的歐幾裡得距離[18]。(在二維空間中,歐幾裡得距離即使用勾股定理來計算斜邊。)例如,(2,2)與 (5,-2) 之間的 k-means 距離為:
- k-median采用從形心到樣本的曼哈頓距離[19]。這個距離是每個次元中絕對差異值的總和。例如,(2,2)與 (5,-2) 之間的 k-median 距離為:
Keras
一種熱門的 Python 機器學習 API。Keras[20]能夠在多種深度學習架構上運作,其中包括 TensorFlow(在該架構上,Keras作為tf.keras[21]提供)。
核支援向量機 (KSVM, Kernel Support Vector Machines)
一種分類算法,旨在通過将輸入資料向量映射到更高次元的空間,來最大化正類别和負類别之間的裕度。以某個輸入資料集包含一百個特征的分類問題為例。為了最大化正類别和負類别之間的裕度,KSVM可以在内部将這些特征映射到百萬次元的空間。KSVM使用合頁損失函數。
11L
損失函數 ( loss)
一種損失函數,基于模型預測的值與标簽的實際值之差的絕對值。與 損失函數相比, 損失函數對離群值的敏感性弱一些。
正則化 ( regularization)
一種正則化,根據權重的絕對值的總和來懲罰權重。在依賴稀疏特征的模型中, 正則化有助于使不相關或幾乎不相關的特征的權重正好為0,進而将這些特征從模型中移除。與 正則化相對。
損失函數 ( loss)
請參閱平方損失函數。
正則化 ( regularization)
一種正則化,根據權重的平方和來懲罰權重。 正則化有助于使離群值(具有較大正值或較小負值)權重接近于 0,但又不正好為0。(與 L1 正則化相對。)線上性模型中, 正則化始終可以改進泛化。
标簽 (label)
在監督式學習中,标簽指樣本的"答案"或"結果"部分。有标簽資料集中的每個樣本都包含一個或多個特征以及一個标簽。例如,在房屋資料集中,特征可能包括卧室數、衛生間數以及房齡,而标簽則可能是房價。在垃圾郵件檢測資料集中,特征可能包括主題行、發件人以及電子郵件本身,而标簽則可能是"垃圾郵件"或"非垃圾郵件"。
有标簽樣本 (labeled example)
包含特征和标簽的樣本。在監督式訓練中,模型從有标簽樣本中學習規律。
lambda
與正則化率的含義相同。
(多含義術語,我們在此關注的是該術語在正則化中的定義。)
層 (layer)
神經網絡中的一組神經元,負責處理一組輸入特征,或一組神經元的輸出。
此外還指 TensorFlow 中的抽象層。層是 Python函數,以張量和配置選項作為輸入,然後生成其他張量作為輸出。當必要的張量組合起來後,使用者便可以通過模型函數将結果轉換為Estimator。
Layers API (tf.layers)
一種 TensorFlowAPI,用于以層組合的方式建構深度神經網絡。通過 LayersAPI,您可以建構不同類型的層,例如:
- 通過
建構全連接配接層。tf.layers.Dense
- 通過
建構卷積層。tf.layers.Conv2D
在編寫自定義 Estimator時,您可以編寫"層"對象來定義所有隐藏層的特征。
Layers API 遵循 Keras layers API規範。也就是說,除了字首不同以外,Layers API 中的所有函數均與 Keraslayers API 中的對應函數具有相同的名稱和簽名。
學習速率 (learning rate)
在訓練模型時用于梯度下降的一個标量。在每次疊代期間,梯度下降法都會将學習速率與梯度相乘。得出的乘積稱為梯度步長。
學習速率是一個重要的超參數。
最小二乘回歸 (least squares regression)
一種通過最小化 損失訓練出的線性回歸模型。
線性回歸 (linear regression)
一種回歸模型,通過将輸入特征進行線性組合輸出連續值。
邏輯回歸 (logistic regression)
一種模型,通過将 S型函數應用于線性預測,生成分類問題中每個可能的離散标簽值的機率。雖然邏輯回歸經常用于二進制分類問題,但也可用于多類别分類問題(其叫法變為多類别邏輯回歸或多項回歸)。
對數 (logits)
分類模型生成的原始(非标準化)預測向量,通常會傳遞給标準化函數。如果模型要解決多類别分類問題,則對數通常變成softmax函數的輸入。之後,softmax函數會生成一個(标準化)機率向量,對應于每個可能的類别。
此外,對數有時也稱為 S型函數的元素級反函數。如需了解詳細資訊,請參閱sigmoid cross entropy with logits[22]。
對數損失函數 (Log Loss)
二進制邏輯回歸中使用的損失函數。
對數幾率 (log-odds)
某個事件幾率的對數。
如果事件涉及二進制機率,則幾率指的是成功機率 (p) 與失敗機率 (1-p)之比。例如,假設某個給定事件的成功機率為 90%,失敗機率為10%。在這種情況下,幾率的計算公式如下:
簡單來說,對數幾率即幾率的對數。按照慣例,"對數"指自然對數,但對數的基數其實可以是任何大于1 的數。若遵循慣例,上述示例的對數幾率應為:
對數幾率是 S 型函數的反函數。
損失 (Loss)
一種衡量名額,用于衡量模型的預測偏離其标簽的程度。或者更悲觀地說是衡量模型有多差。要确定此值,模型必須定義損失函數。例如,線性回歸模型通常将均方誤差用作損失函數,而邏輯回歸模型則使用對數損失函數。
12M
機器學習 (machine learning)
一種程式或系統,用于根據輸入資料建構(訓練)預測模型。這種系統會利用學到的模型根據從分布(訓練該模型時使用的同一分布)中提取的新資料(以前從未見過的資料)進行實用的預測。機器學習還指與這些程式或系統相關的研究領域。
均方誤差 (MSE, Mean Squared Error)
每個樣本的平均平方損失。MSE的計算方法是平方損失除以樣本數。TensorFlowPlayground顯示的"訓練損失"值和"測試損失"值都是 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 function)
Estimator中的函數,用于實作機器學習訓練、評估和推斷。例如,模型函數的訓練部分可以處理以下任務:定義深度神經網絡的拓撲并确定其優化器函數。如果使用預建立的Estimator,則有人已為您編寫了模型函數。如果使用自定義Estimator,則必須自行編寫模型函數。
有關編寫模型函數的詳細資訊,請參閱建立自定義Estimator。
模型訓練 (model training)
确定最佳模型的過程。
動量 (Momentum)
一種先進的梯度下降法,其中學習步長不僅取決于目前步長的導數,還取決于之前一步或多步的步長的導數。動量涉及計算梯度随時間而變化的指數級權重移動平均值,與實體學中的動量類似。動量有時可以防止學習過程被卡在局部最小的情況。
多類别分類 (multi-class classification)
區分兩種以上類别的分類問題。例如,楓樹大約有 128種,是以,确定楓樹種類的模型就屬于多類别模型。反之,僅将電子郵件分為兩類("垃圾郵件"和"非垃圾郵件")的模型屬于二進制分類模型。
多項分類 (multinomial classification)
與多類别分類的含義相同。
13N
NaN 陷阱 (NaN trap)
模型中的一個數字在訓練期間變成NaN[23],這會導緻模型中的很多或所有其他數字最終也會變成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
一個開放源代碼數學庫[24],在 Python中提供高效的數組操作。Pandas 建立在 Numpy 之上。
14O
目标 (objective)
算法嘗試優化的名額。
離線推斷 (offline inference)
生成一組預測,存儲這些預測,然後根據需求檢索這些預測。與線上推斷相對。
獨熱編碼 (one-hot encoding)
一種稀疏向量,其中:
- 一個元素設為 1。
- 所有其他元素均設為 0。
獨熱編碼常用于表示擁有有限個可能值的字元串或辨別符。例如,假設某個指定的植物學資料集記錄了15000個不同的物種,其中每個物種都用獨一無二的字元串辨別符來表示。在特征工程過程中,您可能需要将這些字元串辨別符編碼為獨熱向量,向量的大小為15000。
單樣本學習(one-shot learning,通常用于對象分類)
一種機器學習方法,通常用于對象分類,旨在通過單個訓練樣本學習有效的分類器。
另請參閱少量樣本學習。
一對多 (one-vs.-all)
假設某個分類問題有 N 種可能的解決方案,一對多解決方案将包含 N個單獨的二進制分類器 -一個二進制分類器對應一種可能的結果。例如,假設某個模型用于區分樣本屬于動物、蔬菜還是礦物,一對多解決方案将提供下列三個單獨的二進制分類器:
- 動物和非動物
- 蔬菜和非蔬菜
- 礦物和非礦物
線上推斷 (online inference)
根據需求生成預測。與離線推斷相對。
操作 (op, Operation)
TensorFlow 圖中的節點。在 TensorFlow中,任何建立、操縱或銷毀張量的過程都屬于操作。例如,矩陣相乘就是一種操作,該操作以兩個張量作為輸入,并生成一個張量作為輸出。
優化器 (optimizer)
梯度下降法的一種具體實作。TensorFlow的優化器基類是tf.train.Optimizer[25]。不同的優化器可能會利用以下一個或多個概念來增強梯度下降法在指定訓練集中的效果:
- 動量[26](Momentum)
- 更新頻率(AdaGrad[27]= ADAptive GRADientdescent;Adam[28]= ADAptive with Momentum;RMSProp)
- 稀疏性/正則化(Ftrl[29])
- 更複雜的數學方法(Proximal[30],等等)
甚至還包括 NN 驅動的優化器[31]。
離群值 (outlier)
與大多數其他值差别很大的值。在機器學習中,下列所有值都是離群值。
- 絕對值很高的權重。
- 與實際值相差很大的預測值。
- 值比平均值高大約 3 個标準偏差的輸入資料。
離群值常常會導緻模型訓練出現問題。
輸出層 (output layer)
神經網絡的"最後"一層,也是包含答案的層。
過拟合 (overfitting)
建立的模型與訓練資料過于比對,以緻于模型無法根據新資料做出正确的預測。
15P
Pandas
面向列的資料分析 API。很多機器學習架構(包括 TensorFlow)都支援将 Pandas資料結構作為輸入。請參閱 Pandas 文檔[32]。
參數 (parameter)
機器學習系統自行訓練的模型的變量。例如,權重就是一種參數,它們的值是機器學習系統通過連續的訓練疊代逐漸學習到的。與超參數相對。
參數伺服器 (PS, Parameter Server)
一種作業,負責在分布式設定中跟蹤模型參數。
參數更新 (parameter update)
在訓練期間(通常是在梯度下降法的單次疊代中)調整模型參數的操作。
偏導數 (partial derivative)
一種導數,除一個變量之外的所有變量都被視為常量。例如, 對 的偏導數就是 的導數(即,使 保持恒定)。 對 的偏導數僅關注 如何變化,而忽略公式中的所有其他變量。
劃分政策 (partitioning strategy)
在參數伺服器間分割變量的算法。
性能 (performance)
多含義術語,具有以下含義:
- 在軟體工程中的傳統含義。即:相應軟體的運作速度有多快(或有多高效)?
- 在機器學習中的含義。在機器學習領域,性能旨在回答以下問題:相應模型的準确度有多高?即模型在預測方面的表現有多好?
困惑度 (perplexity)
一種衡量名額,用于衡量模型能夠多好地完成任務。例如,假設任務是讀取使用者使用智能手機鍵盤輸入字詞時輸入的前幾個字母,然後列出一組可能的完整字詞。此任務的困惑度(P)是:為了使列出的字詞中包含使用者嘗試輸入的實際字詞,您需要提供的猜測項的個數。
困惑度與交叉熵的關系如下:
流水線 (pipeline)
機器學習算法的基礎架構。流水線包括收集資料、将資料放入訓練資料檔案、訓練一個或多個模型,以及将模型導出到生産環境。
池化 (pooling)
将一個或多個由前趨的卷積層建立的矩陣壓縮為較小的矩陣。池化通常是取整個池化區域的最大值或平均值。以下面的3x3 矩陣為例:
池化運算與卷積運算類似:将矩陣分割為多個切片,然後按步長逐個運作卷積運算。例如,假設池化運算按1x1 步長将卷積矩陣分割為 2x2個切片。如下圖所示,進行了四個池化運算。假設每個池化運算都選擇該切片中四個值的最大值:
池化有助于在輸入矩陣中實作平移不變性。
對于視覺應用來說,池化的更正式名稱為空間池化。時間序列應用通常将池化稱為時序池化。按照不太正式的說法,池化通常稱為下采樣或降采樣。
正類别 (positive class)
在二進制分類中,兩種可能的類别分别被标記為正類别和負類别。正類别結果是我們要測試的對象。(不可否認的是,我們會同時測試這兩種結果,但隻關注正類别結果。)例如,在醫學檢查中,正類别可以是"惡性良性腫瘤"。在電子郵件分類器中,正類别可以是"垃圾郵件"。
與負類别相對。
精确率 (precision)
一種分類模型名額。精确率指模型正确預測正類别的頻率,即:
預測 (prediction)
模型在收到輸入樣本後的輸出。
預測偏差 (prediction bias)
一種值,用于表明預測平均值與資料集中标簽的平均值相差有多大。
預建立的 Estimator (pre-made Estimator)
其他人已建好的 Estimator。TensorFlow提供了一些預建立的 Estimator,包括
DNNClassifier
、
DNNRegressor
和
LinearClassifier
。您可以按照這些說明[33]建構自己預建立的Estimator。
預訓練模型 (pre-trained model)
已經過訓練的模型或模型元件(例如嵌套)。有時,您需要将預訓練的嵌套饋送到神經網絡。在其他時候,您的模型将自行訓練嵌套,而不依賴于預訓練的嵌套。
先驗信念 (prior belief)
在開始采用相應資料進行訓練之前,您對這些資料抱有的信念。例如, 正則化依賴的先驗信念是權重應該很小且應以0 為中心呈正态分布。
16Q
隊列 (queue)
一種 TensorFlow 操作,用于實作隊列資料結構。通常用于I/O 中。
17R
等級 (rank)
機器學習中的一個多含義術語,可以了解為下列含義之一:
- 張量中的維數。例如,标量等級為 0,向量等級為1,矩陣等級為 2。
- 在将類别從最高到最低進行排序的機器學習問題中,類别的順序位置。例如,行為排序系統可以将狗狗的獎勵從最高(牛排)到最低(枯萎的羽衣甘藍)進行排序。
評分者 (rater)
為樣本提供标簽的人。有時稱為"注釋者"。
召回率 (recall)
一種分類模型名額,用于回答以下問題:在所有可能的正類别标簽中,模型正确地識别出了多少個?即:
修正線性單元 (ReLU, Rectified Linear Unit)
一種激活函數,其規則如下:
- 如果輸入為負數或 0,則輸出 0。
- 如果輸入為正數,則輸出等于輸入。
回歸模型 (regression model)
一種模型,能夠輸出連續的值(通常為浮點值)。請與分類模型進行比較,分類模型會輸出離散值,例如"黃花菜"或"虎皮百合"。
正則化 (regularization)
對模型複雜度的懲罰。正則化有助于防止出現過拟合,包含以下類型:
- 正則化
- 正則化
- 丢棄正則化
- 早停法(這不是正式的正則化方法,但可以有效限制過拟合)
正則化率 (regularization rate)
一種标量值,以 lambda表示,用于指定正則化函數的相對重要性。從下面簡化的損失公式中可以看出正則化率的影響:
提高正則化率可以減少過拟合,但可能會使模型的準确率降低。
表示法 (representation)
将資料映射到實用特征的過程。
受試者工作特征曲線(receiver operating characteristic,簡稱 ROC 曲線)
不同分類門檻值下的正例率和假正例率構成的曲線。另請參閱曲線下面積。
根目錄 (root directory)
您指定的目錄,用于托管多個模型的 TensorFlow 檢查點和事件檔案的子目錄。
均方根誤差 (RMSE, Root Mean Squared Error)
均方誤差的平方根。
旋轉不變性 (rotational invariance)
在圖像分類問題中,即使圖像的方向發生變化,算法也能成功地對圖像進行分類。例如,無論網球拍朝上、側向還是朝下放置,該算法仍然可以識别它。請注意,并非總是希望旋轉不變;例如,倒置的"9"不應分類為"9"。
另請參閱平移不變性和大小不變性。
18S
SavedModel
儲存和恢複 TensorFlow 模型時建議使用的格式。SavedModel是一種獨立于語言且可恢複的序列化格式,使較進階别的系統和工具可以建立、使用和轉換TensorFlow 模型。
如需完整的詳細資訊,請參閱《TensorFlow程式設計人員指南》中的儲存和恢複[34]。
Saver
一種 TensorFlow對象,負責儲存模型檢查點。
縮放 (scaling)
特征工程中的一種常用做法,是指對某個特征的值區間進行調整,使之與資料集中其他特征的值區間一緻。例如,假設您希望資料集中所有浮點特征的值都位于0 到 1 區間内,如果某個特征的值位于 0 到 500區間内,您就可以通過将每個值除以 500 來縮放該特征。
另請參閱标準化。
scikit-learn
一個熱門的開放源代碼機器學習平台。請通路www.scikit-learn.org[35]。
半監督式學習 (semi-supervised learning)
訓練模型時采用的資料中,某些訓練樣本有标簽,而其他樣本則沒有标簽。半監督式學習采用的一種技術是推斷無标簽樣本的标簽,然後使用推斷出的标簽進行訓練,以建立新模型。如果獲得有标簽樣本需要高昂的成本,而無标簽樣本則有很多,那麼半監督式學習将非常有用。
序列模型 (sequence model)
一種模型,其輸入具有序列依賴性。例如,根據之前觀看過的一系列視訊對觀看的下一個視訊進行預測。
會話 (tf.session)
封裝了 TensorFlow運作時狀态的對象,用于運作全部或部分圖。在使用底層TensorFlow API 時,您可以直接建立并管理一個或多個
tf.session
對象。在使用 Estimator API 時,Estimator 會為您建立會話對象。
S 型函數 (sigmoid function)
一種函數,可将邏輯回歸輸出或多項回歸輸出(對數幾率)映射到機率,以傳回介于0 到 1 之間的值。S 型函數的公式如下:
在邏輯回歸問題中, 非常簡單:
換句話說,S 型函數可将 轉換為介于 0 到 1 之間的機率。
在某些神經網絡中,S型函數可作為激活函數使用。
大小不變性 (size invariance)
在圖像分類問題中,即使圖像的大小發生變化,算法也能成功地對圖像進行分類。例如,無論一隻貓以200 萬像素還是 20萬像素呈現,該算法仍然可以識别它。請注意,即使是最好的圖像分類算法,在大小不變性方面仍然會存在切實的限制。例如,對于僅以20 像素呈現的貓圖像,算法(或人)不可能正确對其進行分類。
另請參閱平移不變性和旋轉不變性。
softmax
一種函數,可提供多類别分類模型中每個可能類别的機率。這些機率的總和正好為1.0。例如,softmax 可能會得出某個圖像是狗、貓和馬的機率分别是 0.9、0.08和 0.02。(也稱為完整 softmax。)
與候選采樣相對。
稀疏特征 (sparse feature)
一種特征向量,其中的大多數值都為 0或為空。例如,某個向量包含一個為 1 的值和一百萬個為 0的值,則該向量就屬于稀疏向量。再舉一個例子,搜尋查詢中的單詞也可能屬于稀疏特征
- 在某種指定語言中有很多可能的單詞,但在某個指定的查詢中僅包含其中幾個。
與密集特征相對。
稀疏表示法 (sparse representation)
一種張量表示法,僅存儲非零元素。
例如,英語中包含約一百萬個單詞。表示一個英語句子中所用單詞的數量,考慮以下兩種方式:
- 要采用密集表示法來表示此句子,則必須為所有一百萬個單元格設定一個整數,然後在大部分單元格中放入0,在少數單元格中放入一個非常小的整數。
- 要采用稀疏表示法來表示此句子,則僅存儲象征句子中實際存在的單詞的單元格。是以,如果句子隻包含20 個獨一無二的單詞,那麼該句子的稀疏表示法将僅在 20個單元格中存儲一個整數。
例如,假設以兩種方式來表示句子"Dogs wagtails."。如下表所示,密集表示法将使用約一百萬個單元格;稀疏表示法則隻使用3 個單元格:
稀疏性 (sparsity)
向量或矩陣中設定為 0(或空)的元素數除以該向量或矩陣中的條目總數。以一個10x10 矩陣(其中 98 個單元格都包含 0)為例。稀疏性的計算方法如下:
特征稀疏性是指特征向量的稀疏性;模型稀疏性是指模型權重的稀疏性。
空間池化 (spatial pooling)
請參閱池化。
平方合頁損失函數 (squared hinge loss)
合頁損失函數的平方。與正常合頁損失函數相比,平方合頁損失函數對離群值的懲罰更嚴厲。
平方損失函數 (squared loss)
線上性回歸中使用的損失函數(也稱為 損失函數)。該函數可計算模型為有标簽樣本預測的值和标簽的實際值之差的平方。由于取平方值,是以該損失函數會放大不佳預測的影響。也就是說,與 損失函數相比,平方損失函數對離群值的反應更強烈。
靜态模型 (static model)
離線訓練的一種模型。
平穩性 (stationarity)
資料集中資料的一種屬性,表示資料分布在一個或多個次元保持不變。這種次元最常見的是時間,即表明平穩性的資料不随時間而變化。例如,從9 月到 12 月,表明平穩性的資料沒有發生變化。
步 (step)
對一個批次的向前和向後評估。
步長 (step size)
與學習速率的含義相同。
随機梯度下降法 (SGD, stochastic gradient descent)
批次大小為 1 的一種梯度下降法。換句話說,SGD依賴于從資料集中随機均勻選擇的單個樣本來計算每步的梯度估算值。
結構風險最小化 (SRM, structural risk minimization)
一種算法,用于平衡以下兩個目标:
- 期望建構最具預測性的模型(例如損失最低)。
- 期望使模型盡可能簡單(例如強大的正則化)。
例如,旨在将基于訓練集的損失和正則化降至最低的函數就是一種結構風險最小化算法。
如需更多資訊,請參閱 http://www.svms.org/srm/。
與經驗風險最小化相對。
步長 (stride)
在卷積運算或池化中,下一個系列的輸入切片的每個次元中的增量。例如,下面的動畫示範了卷積運算過程中的一個(1,1)步長。是以,下一個輸入切片是從上一個輸入切片向右移動一個步長的位置開始。當運算到達右側邊緣時,下一個切片将回到最左邊,但是下移一個位置。
前面的示例示範了一個二維步長。如果輸入矩陣為三維,那麼步長也将是三維。
下采樣 (subsampling)
請參閱池化。
總結 (summary)
在 TensorFlow中的某一步計算出的一個值或一組值,通常用于在訓練期間跟蹤模型名額。
監督式機器學習 (supervised machine learning)
根據輸入資料及其對應的标簽來訓練模型。監督式機器學習類似于學生通過研究一系列問題及其對應的答案來學習某個主題。在掌握了問題和答案之間的對應關系後,學生便可以回答關于同一主題的新問題(以前從未見過的問題)。請與非監督式機器學習進行比較。
合成特征 (synthetic feature)
一種特征,不在輸入特征之列,而是從一個或多個輸入特征衍生而來。合成特征包括以下類型:
- 對連續特征進行分桶,以分為多個區間分箱。
- 将一個特征值與其他特征值或其本身相乘(或相除)。
- 建立一個特征組合。
僅通過标準化或縮放建立的特征不屬于合成特征。
19T
目标 (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[36]。
TensorFlow Serving
一個平台,用于将訓練過的模型部署到生産環境。
測試集 (test set)
資料集的子集,用于在模型經由驗證集的初步驗證之後測試模型。
與訓練集和驗證集相對。
tf.Example
一種标準協定緩沖區[37],旨在描述用于機器學習模型訓練或推斷的輸入資料。
時間序列分析 (time series analysis)
機器學習和統計學的一個子領域,旨在分析時态資料。很多類型的機器學習問題都需要時間序列分析,其中包括分類、聚類、預測和異常檢測。例如,您可以利用時間序列分析根據曆史銷量資料預測未來每月的冬外套銷量。
訓練 (training)
确定構成模型的理想參數的過程。
訓練集 (training set)
資料集的子集,用于訓練模型。
與驗證集和測試集相對。
遷移學習 (transfer learning)
将資訊從一個機器學習任務遷移到另一個機器學習任務。例如,在多任務學習中,一個模型可以完成多項任務,例如針對不同任務具有不同輸出節點的深度模型。遷移學習可能涉及将知識從較簡單任務的解決方案遷移到較複雜的任務,或者将知識從資料較多的任務遷移到資料較少的任務。
大多數機器學習系統都隻能完成一項任務。遷移學習是邁向人工智能的一小步;在人工智能中,單個程式可以完成多項任務。
平移不變性 (translational invariance)
在圖像分類問題中,即使圖像中對象的位置發生變化,算法也能成功對圖像進行分類。例如,無論一隻狗位于畫面正中央還是畫面左側,該算法仍然可以識别它。
另請參閱大小不變性和旋轉不變性。
負例 (TN, true negative)
被模型正确地預測為負類别的樣本。例如,模型推斷出某封電子郵件不是垃圾郵件,而該電子郵件确實不是垃圾郵件。
正例 (TP, true positive)
被模型正确地預測為正類别的樣本。例如,模型推斷出某封電子郵件是垃圾郵件,而該電子郵件确實是垃圾郵件。
正例率(true positive rate, 簡稱 TP 率)
與召回率的含義相同,即:
正例率是 ROC 曲線的 y 軸。
20U
無标簽樣本 (unlabeled example)
包含特征但沒有标簽的樣本。無标簽樣本是用于進行推斷的輸入内容。在半監督式和非監督式學習中,在訓練期間會使用無标簽樣本。
非監督式機器學習 (unsupervised machine learning)
訓練模型,以找出資料集(通常是無标簽資料集)中的規律。
非監督式機器學習最常見的用途是将資料分為不同的聚類,使相似的樣本位于同一組中。例如,非監督式機器學習算法可以根據音樂的各種屬性将歌曲分為不同的聚類。所得聚類可以作為其他機器學習算法(例如音樂推薦服務)的輸入。在很難擷取真标簽的領域,聚類可能會非常有用。例如,在反濫用和反欺詐等領域,聚類有助于人們更好地了解相關資料。
非監督式機器學習的另一個例子是主成分分析(PCA)。例如,通過對包含數百萬購物車中物品的資料集進行主成分分析,可能會發現有檸檬的購物車中往往也有抗酸藥。
請與監督式機器學習進行比較。
21V
驗證集 (validation set)
資料集的一個子集,從訓練集分離而來,用于調整超參數。
與訓練集和測試集相對。
22W
權重 (weight)
線性模型中特征的系數,或深度網絡中的邊。訓練線性模型的目标是确定每個特征的理想權重。如果權重為0,則相應的特征對模型來說沒有任何貢獻。
寬度模型 (wide model)
一種線性模型,通常有很多稀疏輸入特征。我們之是以稱之為"寬度模型",是因為這是一種特殊類型的神經網絡,其大量輸入均直接與輸出節點相連。與深度模型相比,寬度模型通常更易于調試和檢查。雖然寬度模型無法通過隐藏層來表示非線性關系,但可以利用特征組合、分桶等轉換以不同的方式為非線性關系模組化。
與深度模型相對。
全文完,檢視原文請前往這裡[38]。
[1] 學習速率: http://www.jmlr.org/papers/volume12/duchi11a/duchi11a.pdf[2] 偏導數: https://en.wikipedia.org/wiki/Partial_derivative
[3] 自定義 estimator 說明: https://www.tensorflow.org/extend/estimators?hl=zh-CN
[4] 導入資料: https://www.tensorflow.org/programmers_guide/datasets?hl=zh-CN
[5] 深度模型和寬度模型: https://www.tensorflow.org/tutorials/wide_and_deep?hl=zh-CN
[6] 自定義 estimator 說明: https://www.tensorflow.org/extend/estimators?hl=zh-CN
[7] 特征列: https://www.tensorflow.org/get_started/feature_columns?hl=zh-CN
[8] VW: https://en.wikipedia.org/wiki/Vowpal_Wabbit
[9] 場: https://www.csie.ntu.edu.tw/~cjlin/libffm/
[10] tf.Transform: https://github.com/tensorflow/transform
[11] 高斯噪聲: https://en.wikipedia.org/wiki/Gaussian_noise
[12] 泊松噪聲: https://en.wikipedia.org/wiki/Shot_noise
[13] 凸優化: https://en.wikipedia.org/wiki/Convex_optimization
[14] 梯度爆炸: http://www.cs.toronto.edu/~rgrosse/courses/csc321_2017/readings/L15%20Exploding%20and%20Vanishing%20Gradients.pdf
[15] 張量: https://www.tensorflow.org/api_docs/python/tf/Tensor?hl=zh-CN
[16] 理想氣體: https://en.wikipedia.org/wiki/Ideal_gas
[17] 統計學推斷: https://en.wikipedia.org/wiki/Statistical_inference
[18] 歐幾裡得距離: https://en.wikipedia.org/wiki/Euclidean_distance
[19] 曼哈頓距離: https://en.wikipedia.org/wiki/Taxicab_geometry
[20] Keras: https://keras.io
[21] tf.keras: https://www.tensorflow.org/api_docs/python/tf/keras?hl=zh-CN
[22] sigmoid cross entropy: https://www.tensorflow.org/api_docs/python/tf/nn/sigmoid_cross_entropy_with_logits?hl=zh-CN
[23] NaN: https://en.wikipedia.org/wiki/NaN
[24] 開放源代碼數學庫: http://www.numpy.org/
[25] tf.train.Optimizer: https://www.tensorflow.org/api_docs/python/tf/train/Optimizer?hl=zh-CN
[26] 動量: https://www.tensorflow.org/api_docs/python/tf/train/MomentumOptimizer?hl=zh-CN
[27] AdaGrad: https://www.tensorflow.org/api_docs/python/tf/train/AdagradOptimizer?hl=zh-CN
[28] Adam: https://www.tensorflow.org/api_docs/python/tf/train/AdamOptimizer?hl=zh-CN
[29] Ftrl: https://www.tensorflow.org/api_docs/python/tf/train/FtrlOptimizer?hl=zh-CN
[30] Proximal: https://www.tensorflow.org/api_docs/python/tf/train/ProximalGradientDescentOptimizer?hl=zh-CN
[31] NN 驅動的優化器: https://arxiv.org/abs/1606.04474
[32] Pandas 文檔: http://pandas.pydata.org/
[33] 自定義Estimator說明: https://www.tensorflow.org/extend/estimators?hl=zh-CN
[34] 儲存和恢複: https://www.tensorflow.org/programmers_guide/saved_model?hl=zh-CN
[35] www.scikit-learn.org: http://www.scikit-learn.org/
[36] http://playground.tensorflow.org: http://playground.tensorflow.org?hl=zh-CN
[37] 協定緩沖區: https://developers.google.com/protocol-buffers/?hl=zh-CN
[38] 原文連結: https://developers.google.com/machine-learning/glossary/?hl=zh-CN
福利
入門Python的最強三件套《ThinkPython》、《簡明Python教程》、《Python進階》的PDF電子版已打包提供給大家,關注下方公衆号,在背景回複關鍵字「P3」即可擷取。
推薦閱讀:入門: 最全的零基礎學Python的問題 | 零基礎學了8個月的Python | 實戰項目 |學Python就是這條捷徑幹貨:爬取豆瓣短評,電影《後來的我們》 | 38年NBA最佳球員分析 | 從萬衆期待到口碑撲街!唐探3令人失望 | 笑看新倚天屠龍記 | 燈謎答題王 |用Python做個海量小姐姐素描圖 |碟中諜這麼火,我用機器學習做個迷你推薦系統電影趣味:彈球遊戲 | 九宮格 | 漂亮的花 | 兩百行Python《天天酷跑》遊戲!AI: 會做詩的機器人 | 給圖檔上色 | 預測收入 | 碟中諜這麼火,我用機器學習做個迷你推薦系統電影小工具: Pdf轉Word,輕松搞定表格和水印! | 一鍵把html網頁儲存為pdf!| 再見PDF提取收費! | 用90行代碼打造最強PDF轉換器,word、PPT、excel、markdown、html一鍵轉換 | 制作一款釘釘低價機票提示器! |60行代碼做了一個語音桌面切換器天天看小姐姐!|年度爆款文案1).卧槽!Pdf轉Word用Python輕松搞定!2).學Python真香!我用100行代碼做了個網站,幫人PS旅行圖檔,賺個雞腿吃3).首播過億,火爆全網,我分析了《乘風破浪的姐姐》,發現了這些秘密 4).80行代碼!用Python做一個哆來A夢分身 5).你必須掌握的20個python代碼,短小精悍,用處無窮 6).30個Python奇淫技巧集 7).我總結的80頁《菜鳥學Python精選幹貨.pdf》,都是幹貨 8).再見Python!我要學Go了!2500字深度分析!9).發現一個舔狗福利!這個Python爬蟲神器太爽了,自動下載下傳妹子圖檔點閱讀原文,領廖雪峰視訊資料!