文章目錄
- 1. 背景
- 12. L
- 12.1. 損失函數 ( loss)
- 12.2. 正則化 ( regularization)
- 12.3. 損失函數 ( loss)
- 12.4. 正則化 ( regularization)
- 12.5. 標籤 (label)
- 12.6. 有標籤樣本 (labeled example)
- 12.7. lambda
- 12.8. 層 (layer)
- 12.9. Layers API (tf.layers)
- 12.10. 學習速率 (learning rate)
- 12.11. 最小二乘迴歸 (least squares regression)
- 12.12. 線性迴歸 (linear regression)
- 12.13. 邏輯迴歸 (logistic regression)
- 12.14. 對數 (logits)
- 12.15. 對數損失函數 (Log Loss)
- 12.16. 對數機率 (log-odds)
- 12.17. 損失 (Loss)
- 13. M
- 13.1. 機器學習 (machine learning)
- 13.2. 均方誤差 (MSE, Mean Squared Error)
- 13.3. 指標 (metric)
- 13.4. Metrics API (tf.metrics)
- 13.5. 小批次 (mini-batch)
- 13.6. 小批次隨機梯度下降法 (SGD, mini-batch stochastic gradient descent)
- 13.7. ML
- 13.8. 模型 (model)
- 13.9. 模型函數 (model function)
- 13.10. 模型訓練 (model training)
- 13.11. 動量 (Momentum)
- 13.12. 多類別分類 (multi-class classification)
- 13.13. 多項分類 (multinomial classification)
- 14. N
- 14.1. NaN 陷阱 (NaN trap)
- 14.2. 負類別 (negative class)
- 14.3. 神經網絡 (neural network)
- 14.4. 神經元 (neuron)
- 14.5. 節點 (node)
- 14.6. 標準化 (normalization)
- 14.7. 數值數據 (numerical data)
- 14.8. Numpy
- 15. O
- 15.1. 目標 (objective)
- 15.2. 離線推斷 (offline inference)
- 15.3. 獨熱編碼 (one-hot encoding)
- 15.4. 單樣本學習(one-shot learning,通常用於對象分類)
- 15.5. 一對多 (one-vs.-all)
- 15.6. 在線推斷 (online inference)
- 15.7. 操作 (op, Operation)
- 15.8. 優化器 (optimizer)
- 15.9. 離羣值 (outlier)
- 15.10. 輸出層 (output layer)
- 15.11. 過擬合 (overfitting)
- 16. P
- 17. 1. Pandas
- 17.2. 參數 (parameter)
- 17.3. 參數服務器 (PS, Parameter Server)
- 17.4. 參數更新 (parameter update)
- 17.5. 偏導數 (partial derivative)
- 17.6. 劃分策略 (partitioning strategy)
- 17.7. 性能 (performance)
- 17.8. 困惑度 (perplexity)
- 17.9. 流水線 (pipeline)
- 17.10. 池化 (pooling)
- 17.11. 正類別 (positive class)
- 17.12. 精確率 (precision)
- 17.13. 預測 (prediction)
- 17.14. 預測偏差 (prediction bias)
- 17.15. 預創建的 Estimator (pre-made Estimator)
- 17.16. 預訓練模型 (pre-trained model)
- 17.17. 先驗信念 (prior belief)
- 18. Q
1. 背景
Google出了一份機器學習術語表,列出了一般的機器學習術語和 TensorFlow 專用術語的定義,並且翻譯成了中文,對理解機器學習中的術語很有幫助,於是我把它轉載過來,方便學習和記錄,這一篇是首字母L-Q
的內容。
原文鏈接:https://developers.google.cn/machine-learning/glossary/?hl=zh-CN
12. L
12.1. 損失函數 ( loss)
一種損失函數,基於模型預測的值與標籤的實際值之差的絕對值。與 損失函數相比, 損失函數對離羣值的敏感性弱一些。
12.2. 正則化 ( regularization)
一種正則化,根據權重的絕對值的總和來懲罰權重。在依賴稀疏特徵的模型中, 正則化有助於使不相關或幾乎不相關的特徵的權重正好爲 0,從而將這些特徵從模型中移除。與 正則化相對。
12.3. 損失函數 ( loss)
請參閱平方損失函數。
12.4. 正則化 ( regularization)
一種正則化,根據權重的平方和來懲罰權重。 正則化有助於使離羣值(具有較大正值或較小負值)權重接近於 0,但又不正好爲 0。(與 L1 正則化相對。)在線性模型中, 正則化始終可以改進泛化。
12.5. 標籤 (label)
在監督式學習中,標籤指樣本的"答案"或"結果"部分。有標籤數據集中的每個樣本都包含一個或多個特徵以及一個標籤。例如,在房屋數據集中,特徵可能包括臥室數、衛生間數以及房齡,而標籤則可能是房價。在垃圾郵件檢測數據集中,特徵可能包括主題行、發件人以及電子郵件本身,而標籤則可能是"垃圾郵件"或"非垃圾郵件"。
12.6. 有標籤樣本 (labeled example)
包含特徵和標籤的樣本。在監督式訓練中,模型從有標籤樣本中學習規律。
12.7. lambda
與正則化率的含義相同。
(多含義術語,我們在此關注的是該術語在正則化中的定義。)
12.8. 層 (layer)
神經網絡中的一組神經元,負責處理一組輸入特徵,或一組神經元的輸出。
此外還指 TensorFlow 中的抽象層。層是 Python 函數,以張量和配置選項作爲輸入,然後生成其他張量作爲輸出。當必要的張量組合起來後,用戶便可以通過模型函數將結果轉換爲 Estimator。
12.9. Layers API (tf.layers)
一種 TensorFlow API,用於以層組合的方式構建深度神經網絡。通過 Layers API,您可以構建不同類型的層,例如:
- 通過
tf.layers.Dense
構建全連接層。 - 通過
tf.layers.Conv2D
構建卷積層。
在編寫自定義 Estimator 時,您可以編寫"層"對象來定義所有隱藏層的特徵。
Layers API 遵循 Keras layers API 規範。也就是說,除了前綴不同以外,Layers API 中的所有函數均與 Keras layers API 中的對應函數具有相同的名稱和簽名。
12.10. 學習速率 (learning rate)
在訓練模型時用於梯度下降的一個標量。在每次迭代期間,梯度下降法都會將學習速率與梯度相乘。得出的乘積稱爲梯度步長。
學習速率是一個重要的超參數。
12.11. 最小二乘迴歸 (least squares regression)
一種通過最小化 損失訓練出的線性迴歸模型。
12.12. 線性迴歸 (linear regression)
一種迴歸模型,通過將輸入特徵進行線性組合輸出連續值。
12.13. 邏輯迴歸 (logistic regression)
一種模型,通過將 S 型函數應用於線性預測,生成分類問題中每個可能的離散標籤值的概率。雖然邏輯迴歸經常用於二元分類問題,但也可用於多類別分類問題(其叫法變爲多類別邏輯迴歸或多項迴歸)。
12.14. 對數 (logits)
分類模型生成的原始(非標準化)預測向量,通常會傳遞給標準化函數。如果模型要解決多類別分類問題,則對數通常變成 softmax 函數的輸入。之後,softmax 函數會生成一個(標準化)概率向量,對應於每個可能的類別。
此外,對數有時也稱爲 S 型函數的元素級反函數。如需瞭解詳細信息,請參閱 tf.nn.sigmoid_cross_entropy_with_logits。
12.15. 對數損失函數 (Log Loss)
12.16. 對數機率 (log-odds)
某個事件機率的對數。
如果事件涉及二元概率,則機率指的是成功概率 § 與失敗概率 (1-p) 之比。例如,假設某個給定事件的成功概率爲 90%,失敗概率爲 10%。在這種情況下,機率的計算公式如下:
簡單來說,對數機率即機率的對數。按照慣例,"對數"指自然對數,但對數的基數其實可以是任何大於 1 的數。若遵循慣例,上述示例的對數機率應爲:
對數機率是 S 型函數的反函數。
12.17. 損失 (Loss)
一種衡量指標,用於衡量模型的預測偏離其標籤的程度。或者更悲觀地說是衡量模型有多差。要確定此值,模型必須定義損失函數。例如,線性迴歸模型通常將均方誤差用作損失函數,而邏輯迴歸模型則使用對數損失函數。
13. M
13.1. 機器學習 (machine learning)
一種程序或系統,用於根據輸入數據構建(訓練)預測模型。這種系統會利用學到的模型根據從分佈(訓練該模型時使用的同一分佈)中提取的新數據(以前從未見過的數據)進行實用的預測。機器學習還指與這些程序或系統相關的研究領域。
13.2. 均方誤差 (MSE, Mean Squared Error)
每個樣本的平均平方損失。MSE 的計算方法是平方損失除以樣本數。TensorFlow Playground 顯示的"訓練損失"值和"測試損失"值都是 MSE。
13.3. 指標 (metric)
您關心的一個數值。可能可以也可能不可以直接在機器學習系統中得到優化。您的系統嘗試優化的指標稱爲目標。
13.4. Metrics API (tf.metrics)
一種用於評估模型的 TensorFlow API。例如,tf.metrics.accuracy
用於確定模型的預測與標籤匹配的頻率。在編寫自定義 Estimator 時,您可以調用 Metrics API 函數來指定應如何評估您的模型。
13.5. 小批次 (mini-batch)
從整批樣本內隨機選擇並在訓練或推斷過程的一次迭代中一起運行的一小部分樣本。小批次的批次大小通常介於 10 到 1000 之間。與基於完整的訓練數據計算損失相比,基於小批次數據計算損失要高效得多。
13.6. 小批次隨機梯度下降法 (SGD, mini-batch stochastic gradient descent)
一種採用小批次樣本的梯度下降法。也就是說,小批次 SGD 會根據一小部分訓練數據來估算梯度。Vanilla SGD 使用的小批次的大小爲 1。
13.7. ML
機器學習的縮寫。
13.8. 模型 (model)
機器學習系統從訓練數據學到的內容的表示形式。多含義術語,可以理解爲下列兩種相關含義之一:
- 一種 TensorFlow 圖,用於表示預測的計算結構。
- 該 TensorFlow 圖的特定權重和偏差,通過訓練決定。
13.9. 模型函數 (model function)
Estimator 中的函數,用於實現機器學習訓練、評估和推斷。例如,模型函數的訓練部分可以處理以下任務:定義深度神經網絡的拓撲並確定其優化器函數。如果使用預創建的 Estimator,則有人已爲您編寫了模型函數。如果使用自定義 Estimator,則必須自行編寫模型函數。
有關編寫模型函數的詳細信息,請參閱創建自定義 Estimator。
13.10. 模型訓練 (model training)
確定最佳模型的過程。
13.11. 動量 (Momentum)
一種先進的梯度下降法,其中學習步長不僅取決於當前步長的導數,還取決於之前一步或多步的步長的導數。動量涉及計算梯度隨時間而變化的指數級加權移動平均值,與物理學中的動量類似。動量有時可以防止學習過程被卡在局部最小的情況。
13.12. 多類別分類 (multi-class classification)
區分兩種以上類別的分類問題。例如,楓樹大約有 128 種,因此,確定楓樹種類的模型就屬於多類別模型。反之,僅將電子郵件分爲兩類(“垃圾郵件"和"非垃圾郵件”)的模型屬於二元分類模型。
13.13. 多項分類 (multinomial classification)
與多類別分類的含義相同。
14. N
14.1. NaN 陷阱 (NaN trap)
模型中的一個數字在訓練期間變成 NaN,這會導致模型中的很多或所有其他數字最終也會變成 NaN。
NaN 是"非數字"的縮寫。
14.2. 負類別 (negative class)
在二元分類中,一種類別稱爲正類別,另一種類別稱爲負類別。正類別是我們要尋找的類別,負類別則是另一種可能性。例如,在醫學檢查中,負類別可以是"非腫瘤"。在電子郵件分類器中,負類別可以是"非垃圾郵件"。另請參閱正類別。
14.3. 神經網絡 (neural network)
一種模型,靈感來源於腦部結構,由多個層構成(至少有一個是隱藏層),每個層都包含簡單相連的單元或神經元(具有非線性關係)。
14.4. 神經元 (neuron)
神經網絡中的節點,通常會接收多個輸入值並生成一個輸出值。神經元通過將激活函數(非線性轉換)應用於輸入值的加權和來計算輸出值。
14.5. 節點 (node)
多含義術語,可以理解爲下列兩種含義之一:
14.6. 標準化 (normalization)
將實際的值區間轉換爲標準的值區間(通常爲 -1 到 +1 或 0 到 1)的過程。例如,假設某個特徵的自然區間是 800 到 6000。通過減法和除法運算,您可以將這些值標準化爲位於 -1 到 +1 區間內。
另請參閱縮放。
14.7. 數值數據 (numerical data)
用整數或實數表示的特徵。例如,在房地產模型中,您可能會用數值數據表示房子大小(以平方英尺或平方米爲單位)。如果用數值數據表示特徵,則可以表明特徵的值相互之間具有數學關係,並且與標籤可能也有數學關係。例如,如果用數值數據表示房子大小,則可以表明面積爲 200 平方米的房子是面積爲 100 平方米的房子的兩倍。此外,房子面積的平方米數可能與房價存在一定的數學關係。
並非所有整數數據都應表示成數值數據。例如,世界上某些地區的郵政編碼是整數,但在模型中,不應將整數郵政編碼表示成數值數據。這是因爲郵政編碼 20000
在效力上並不是郵政編碼 10000 的兩倍(或一半)。此外,雖然不同的郵政編碼確實與不同的房地產價值有關,但我們也不能假設郵政編碼爲 20000 的房地產在價值上是郵政編碼爲 10000 的房地產的兩倍。郵政編碼應表示成分類數據。
數值特徵有時稱爲連續特徵。
14.8. Numpy
一個開放源代碼數學庫,在 Python 中提供高效的數組操作。Pandas 建立在 Numpy 之上。
15. O
15.1. 目標 (objective)
算法嘗試優化的指標。
15.2. 離線推斷 (offline inference)
生成一組預測,存儲這些預測,然後根據需求檢索這些預測。與在線推斷相對。
15.3. 獨熱編碼 (one-hot encoding)
一種稀疏向量,其中:
- 一個元素設爲 1。
- 所有其他元素均設爲 0。
獨熱編碼常用於表示擁有有限個可能值的字符串或標識符。例如,假設某個指定的植物學數據集記錄了 15000 個不同的物種,其中每個物種都用獨一無二的字符串標識符來表示。在特徵工程過程中,您可能需要將這些字符串標識符編碼爲獨熱向量,向量的大小爲 15000。
15.4. 單樣本學習(one-shot learning,通常用於對象分類)
一種機器學習方法,通常用於對象分類,旨在通過單個訓練樣本學習有效的分類器。
另請參閱少量樣本學習。
15.5. 一對多 (one-vs.-all)
假設某個分類問題有 N 種可能的解決方案,一對多解決方案將包含 N 個單獨的二元分類器 - 一個二元分類器對應一種可能的結果。例如,假設某個模型用於區分樣本屬於動物、蔬菜還是礦物,一對多解決方案將提供下列三個單獨的二元分類器:
- 動物和非動物
- 蔬菜和非蔬菜
- 礦物和非礦物
15.6. 在線推斷 (online inference)
15.7. 操作 (op, Operation)
TensorFlow 圖中的節點。在 TensorFlow 中,任何創建、操縱或銷燬張量的過程都屬於操作。例如,矩陣相乘就是一種操作,該操作以兩個張量作爲輸入,並生成一個張量作爲輸出。
15.8. 優化器 (optimizer)
梯度下降法的一種具體實現。TensorFlow 的優化器基類是 tf.train.Optimizer。不同的優化器可能會利用以下一個或多個概念來增強梯度下降法在指定訓練集中的效果:
- 動量 (Momentum)
- 更新頻率(AdaGrad = ADAptive GRADient descent;Adam = ADAptive with Momentum;RMSProp)
- 稀疏性/正則化 (Ftrl)
- 更復雜的數學方法(Proximal,等等)
甚至還包括 NN 驅動的優化器。
15.9. 離羣值 (outlier)
與大多數其他值差別很大的值。在機器學習中,下列所有值都是離羣值。
- 絕對值很高的權重。
- 與實際值相差很大的預測值。
- 值比平均值高大約 3 個標準偏差的輸入數據。
離羣值常常會導致模型訓練出現問題。
15.10. 輸出層 (output layer)
神經網絡的"最後"一層,也是包含答案的層。
15.11. 過擬合 (overfitting)
創建的模型與訓練數據過於匹配,以致於模型無法根據新數據做出正確的預測。
16. P
17. 1. Pandas
面向列的數據分析 API。很多機器學習框架(包括 TensorFlow)都支持將 Pandas 數據結構作爲輸入。請參閱 Pandas 文檔。
17.2. 參數 (parameter)
機器學習系統自行訓練的模型的變量。例如,權重就是一種參數,它們的值是機器學習系統通過連續的訓練迭代逐漸學習到的。與超參數相對。
17.3. 參數服務器 (PS, Parameter Server)
一種作業,負責在分佈式設置中跟蹤模型參數。
17.4. 參數更新 (parameter update)
在訓練期間(通常是在梯度下降法的單次迭代中)調整模型參數的操作。
17.5. 偏導數 (partial derivative)
一種導數,除一個變量之外的所有變量都被視爲常量。例如,f(x, y) 對 x 的偏導數就是 f(x) 的導數(即,使 y 保持恆定)。f 對 x 的偏導數僅關注 x 如何變化,而忽略公式中的所有其他變量。
17.6. 劃分策略 (partitioning strategy)
在參數服務器間分割變量的算法。
17.7. 性能 (performance)
多含義術語,具有以下含義:
- 在軟件工程中的傳統含義。即:相應軟件的運行速度有多快(或有多高效)?
- 在機器學習中的含義。在機器學習領域,性能旨在回答以下問題:相應模型的準確度有多高?即模型在預測方面的表現有多好?
17.8. 困惑度 (perplexity)
一種衡量指標,用於衡量模型能夠多好地完成任務。例如,假設任務是讀取用戶使用智能手機鍵盤輸入字詞時輸入的前幾個字母,然後列出一組可能的完整字詞。此任務的困惑度 § 是:爲了使列出的字詞中包含用戶嘗試輸入的實際字詞,您需要提供的猜測項的個數。
困惑度與交叉熵的關係如下:
17.9. 流水線 (pipeline)
機器學習算法的基礎架構。流水線包括收集數據、將數據放入訓練數據文件、訓練一個或多個模型,以及將模型導出到生產環境。
17.10. 池化 (pooling)
將一個或多個由前趨的卷積層創建的矩陣壓縮爲較小的矩陣。池化通常是取整個池化區域的最大值或平均值。以下面的 3x3 矩陣爲例:
池化運算與卷積運算類似:將矩陣分割爲多個切片,然後按步長逐個運行卷積運算。例如,假設池化運算按 1x1 步長將卷積矩陣分割爲 2x2 個切片。如下圖所示,進行了四個池化運算。假設每個池化運算都選擇該切片中四個值的最大值:
池化有助於在輸入矩陣中實現平移不變性。
對於視覺應用來說,池化的更正式名稱爲空間池化。時間序列應用通常將池化稱爲時序池化。按照不太正式的說法,池化通常稱爲下采樣或降採樣。
17.11. 正類別 (positive class)
在二元分類中,兩種可能的類別分別被標記爲正類別和負類別。正類別結果是我們要測試的對象。(不可否認的是,我們會同時測試這兩種結果,但只關注正類別結果。)例如,在醫學檢查中,正類別可以是"腫瘤"。在電子郵件分類器中,正類別可以是"垃圾郵件"。
與負類別相對。
17.12. 精確率 (precision)
17.13. 預測 (prediction)
模型在收到輸入樣本後的輸出。
17.14. 預測偏差 (prediction bias)
一種值,用於表明預測平均值與數據集中標籤的平均值相差有多大。
17.15. 預創建的 Estimator (pre-made Estimator)
其他人已建好的 Estimator。TensorFlow 提供了一些預創建的 Estimator,包括 DNNClassifier
、DNNRegressor
和 LinearClassifier
。您可以按照這些說明構建自己預創建的 Estimator。
17.16. 預訓練模型 (pre-trained model)
已經過訓練的模型或模型組件(例如嵌套)。有時,您需要將預訓練的嵌套饋送到神經網絡。在其他時候,您的模型將自行訓練嵌套,而不依賴於預訓練的嵌套。
17.17. 先驗信念 (prior belief)
在開始採用相應數據進行訓練之前,您對這些數據抱有的信念。例如, 正則化依賴的先驗信念是權重應該很小且應以 0 爲中心呈正態分佈。
18. Q
18.1. 隊列 (queue)
一種 TensorFlow 操作,用於實現隊列數據結構。通常用於 I/O 中。
聯繫郵箱:[email protected]
CSDN:https://me.csdn.net/qq_41729780
知乎:https://zhuanlan.zhihu.com/c_1225417532351741952
公衆號:複雜網絡與機器學習
歡迎關注/轉載,有問題歡迎通過郵箱交流。