機器學習算法中的概率方法

2020-11-22 雷鋒網

雷鋒網 AI 科技評論按,本文作者張皓,目前為南京大學計算機系機器學習與數據挖掘所(LAMDA)碩士生,研究方向為計算機視覺和機器學習,特別是視覺識別和深度學習。

個人主頁:http://lamda.nju.edu.cn/zhangh/。該文為其對雷鋒網(公眾號:雷鋒網) AI 科技評論的獨家供稿,未經許可禁止轉載。

摘要

本文介紹機器學習算法中的概率方法。概率方法會對數據的分布進行假設,對概率密度函數進行估計,並使用這個概率密度函數進行決策。本文介紹四種最常用的概率方法:線性回歸 (用於回歸任務)、對數機率回歸 (用於二分類任務)、Softmax 回歸 (用於多分類任務) 和樸素貝葉斯分類器 (用於多分類任務)。* 前三
種方法屬於判別式模型,而樸素貝葉斯分類器屬於生成式模型。(*嚴格來說,前三者兼有多種解釋,既可以看做是概率方法,又可以看做是非概率方法。)

本系列文章有以下特點: (a). 為了減輕讀者的負擔並能使儘可能多的讀者從中收益,本文試圖儘可能少地使用數學知識,只要求讀者有基本的微積分、線性代數和概率論基礎,並在第一節對關鍵的數學知識進行回顧和介紹。(b). 本文不省略任何推導步驟,適時補充背景知識,力圖使本節內容是自足的,使機器學習的初學者也能理解本文內容。(c). 機器學習近年來發展極其迅速,已成為一個非常廣袤的領域。本文無法涵蓋機器學習領域的方方面面,僅就一些關鍵的機器學習流派的方法進行介紹。(d). 為了幫助讀者鞏固本文內容,或引導讀者擴展相關知識,文中穿插了許多問題,並在最後一節進行問題的「快問快答」。

1 準備知識

本節給出概率方法的基本流程,後續要介紹的不同的概率方法都遵循這一基本流程。

1.1 概率方法的建模流程

(1). p(y | x; θ) 進行概率假設。我們假定 p(y| x; θ)具有某種確定的概率分布形式,其形式被參數向量
θ 唯一地確定。

(2). 對參數 θ 進行最大後驗估計。基於訓練樣例對概率分布的參數 θ 進行最大後驗估計 (maximum a posteriori, MAP),得到需要優化的損失函數。

最大後驗估計是指

其在最大化時考慮如下兩項:

• 參數的先驗分布 p(θ)。最大後驗估計認為參數 θ 未知並且是一個隨機變量,其本身服從一個先驗分布 p(θ)。這個先驗分布蘊含了我們關於參數的領域知識。

• 基於觀測數據得到的似然 (likelihood) p(D | θ)。最大化似然是在 θ 的所有可能的取值中,找到一個能使樣本屬於其真實標記的概率最大的值。

最大後驗估計是在考慮先驗分布 p(θ) 時最大化基於觀測數據得到的似然 (likelihood) p(D | θ)。

參數估計的兩個不同學派的基本觀點是什麼? 這實際上是參數估計 (parameter estimation) 過程,統計學中的頻率主義學派 (frequentist) 和貝葉斯學派(Bayesian) 提供了不同的解決方案 [3, 9] 。頻率主義學派認為參數雖然未知,但卻是客觀存在的固定值,因此通常使用極大似然估計來確定參數值。貝葉斯學派則認為參數是未觀察到的隨機變量,其本身也可有分布,因此,可假定參數服從一個先驗分布,然後基於觀察到的數據來計算參數的後驗分布。

定理 1. 最大後驗估計的結果是優化如下形式的損失函數

Proof. 利用樣例的獨立同分布假設,

經驗風險和結構風險的含義? L(θ) 的第一項稱為經驗風險 (empirical risk),用於描述模型與訓練數據的契合程度。第二項稱為結構風險 (structural risk) 或正則化項 (regularization term),源於模型的先驗概率,表述了我們希望獲得何種性質的模型 (例如希望獲得複雜度較小的模型)。λ 稱為正則化常數,對兩者進行折中。

結構風險的作用? (1). 為引入領域知識和用戶意圖提供了途徑。(2). 有助於削減假設空間,從而降低了最小化訓練誤差的過擬合風險。這也可理解為一種 「罰函數法」,即對不希望得到的結果施以懲罰,從而使得優化過程趨向於希望目標。ℓp 範數是常用的正則化項。

其中先驗分布 的參數  轉化為正則化常數 λ。

為什麼最常假設參數的先驗分布是高斯分布 (或最常使用  正則化)? 這是因為高斯分布 N (µ; Σ) 是所有均值和熵存在且協方差矩陣是 Σ 的分布中熵最大的分布。最大熵分布是在特定約束下具有最大不確定性的分布。在沒有更多信息的情況下,那些不確定的部分都是 「等可能的」。在設計先驗分布 p(θ) 時,除了我們對參數的認知 (例如均值和值域) 外,我們不想引入任何其餘的偏見 (bias)。因此最大熵先驗 (對應正則化) 常被使用。除高斯先驗外,還可以使用不提供信息的先驗(uninformative prior),其在一定範圍內均勻分布,對應的損失函數中沒有結構風險這一項。

(3). 對損失函數 L(θ) 進行梯度下降優化。

梯度下降的細節留在下一節介紹。

概率方法的優缺點各是什麼? 優點: 這種參數化的概率方法使參數估計變得相對簡單。缺點: 參數估計結果的準確性嚴重依賴於所假設的概率分布形式是否符合潛在的真實數據分布。在現實應用中,欲做出能較好地接近潛在真實分布的假設,往往需在一定程度利用關於應用任務本身的經驗知識,否則僅憑 「猜測」來假設概率分布形式,很可能產生誤導性的結果。我們不一定非要概率式地解釋這個世界,在不考慮概率的情況下,直接找到分類邊界,也被稱為判別函數 (discriminant function),有時甚至能比判別式模型產生更好的結果。

1.2 梯度下降

我們的目標是求解下列無約束的優化問題。

其中 L(θ) 是連續可微函數。梯度下降是一種一階 (frstorder) 優化方法,是求解無約束優化問題最簡單、最經典的求解方法之一。

梯度下降的基本思路? 梯度下降貪心地迭代式地最小化 L(θ)。梯度下降希望找到一個方向 (單位向量) v 使得 L 在這個方向下降最快,並在這個方向前進 α 的距離

定理 3. 梯度下降的更新規則是公式 5。重複這個過程,可收斂到局部極小點。

Proof. 我們需要找到下降最快的方向 v 和前進的距離α。

(1). 下降最快的方向 v。利用泰勒展開

的一階近似,

即下降最快的方向是損失函數的負梯度方向。

(2). 前進的距離 α。我們希望在開始的時候前進距離大一些以使得收斂比較快,而在接近最小值時前進距離小一些以不錯過最小值點。因此,我們設前進距離為損失函數梯度的一個倍數

其中 η 被稱為學習率 (learning rate)。

向公式 7 代入最優的和後即得。

則稱 f 為區間 [a,b] 上的凸函數 (convex function)。當 < 成立時,稱為嚴格凸函數 (strict convex function)。U形曲線的函數如通常是凸函數。

2 線性回歸

2.1 建模流程

線性回歸 (linear regression) 回歸問題。其建模方法包括如下三步 (參見第 1.1 節)。

(1). 對 p(y | x; θ) 進行概率假設。

我們假設

被稱為誤差項,捕獲了 (a)。特徵向量 x 中沒有包含的因素.

(b). 隨機噪聲。對不同的樣本是獨立同分布地從中進行採樣得到的。

線性回歸的假設函數是

為了書寫方便,我們記

那麼公式 12 等價於

在本文其餘部分我們將沿用這一簡化記號。因此,

(2). 對參數 θ 進行最大後驗估計。

定理 7. 假設參數 θ 服從高斯先驗,對參數 θ 進行最大後驗估計等價於最小化如下損失函數

其中

被稱為平方損失 (square loss)。在線性回歸中,平方損失就是試圖找到一個超平面,使所有樣本到該超平面的歐式距離 (Euclidean distance) 之和最小。

Proof

其中,最後一行只是為了數學計算上方便,下文推導對數機率回歸和 Softmax 回歸時的最後一步亦然。

(3). 對損失函數 L(θ) 進行梯度下降優化。

可以容易地得到損失函數對參數的偏導數

2.2 線性回歸的閉式解

線性回歸對應的平方損失的函數形式比較簡單,可以通過求直接得到最優解。

定理 8. 線性回歸的閉式解為


Proof. L(θ) 可等價地寫作

那麼

求解

即得。

不可逆的情況及解決方案? (1). 屬性數 d+1 多於樣例數 m。(2). 屬性之間線性相關。通過正則化項

mλI,即使不可逆, + mλI 仍是可逆的。

2.3 其他正則化回歸模型

事實上,上文介紹的線性回歸模型是嶺回歸 (ridge regression)。根據正則化項的不同,有三種常用的線性回歸模型,見表 1。

基於 ℓ0、ℓ1 和 ℓ2 範數正則化的效果? ℓ2 範數傾向於 w 的分量取值儘量均衡,即非零分量個數儘量稠密。而 ℓ0「範數」和 ℓ1 範數則傾向於 w 的分量儘量稀疏,即非零分量個數儘量少,優化結果得到了僅採用一部分屬性的模型。也就是說,基於 ℓ0「範數」和 ℓ1 範數正則化的學習方法是一種嵌入式 (embedding) 特徵選擇方法,其特徵選擇過程和學習器訓練過程融為一體,兩者在同一個優化過程中完成。事實上,對 w 施加稀疏約束最自然的是使用 ℓ0「範數」。但 ℓ0「範數」不連續,難以優化求解。因此常採用 ℓ1 範數來近似。

為什麼 ℓ1 正則化比 ℓ2 正則化更易於獲得稀疏解?假設,則。我們繪製出平方損失項、ℓ1 範數和 ℓ2 範數的等值線 (取值相同的點的連線),如圖 1 所示。LASSO 的解要在平方損失項和正則化項之間折中,即出現在圖中平方誤差項等值線和正則化項等值線的相交處。從圖中可以看出,採用 ℓ1 正則化時交點常出現在坐標軸上 (w2 = 0), 而採用 ℓ2 正則化時交點常出現在某個象限中 (w1,w2 均不為 0)。

Figure 1: ℓ1 正則化 (紅色) 比 ℓ2 正則化 (黑色) 更易於獲得稀疏解。本圖源於 [17]。

考慮一般的帶有 ℓ1 正則化的優化目標

若 ℓ(θ) 滿足 L-Lipschitz 條件,即

優化通常使用近端梯度下降 (proximal gradient descent, PGD) [1]。PGD 也是一種貪心地迭代式地最小化策略,能快速地求解基於 ℓ1 範數最小化的方法。

定理 9. 假設當前參數是,PGD 的更新準則是

其中

Proof. 在 附近將 ℓ(θ) 進行二階泰勒展開近似

由於 θ 各維互不影響 (不存在交叉項),因此可以獨立求解各維。

在 LASSO 的基礎上進一步發展出考慮特徵分組結構的 Group LASSO [14] 、考慮特徵序結構的 Fused LASSO [11] 等變體。由於凸性不嚴格,LASSO 類方法可能產生多個解,該問題通過彈性網(elastic net)得以解決 [16] .

2.4 存在異常點數據的線性回歸

一旦數據中存在異常點 (outlier),由於平方損失計算的是樣本點到超平面距離的平方,遠離超平面的點會對回歸結果產生更大的影響,如圖 2 所示。平方損失對應於假設噪聲服從高斯分布,一種應對異常點的方法是取代高斯分布為其他更加重尾 (heavy tail) 的分布,使其對異常點的容忍能力更強,例如使用拉普拉斯分布,如圖 3 所示。

Figure 2:存在異常點 (圖下方的三個點) 時普通線性回歸 (紅色) 和穩健線性回歸 (藍色)。本圖源於 [7]。

Figure 3: 高斯分布 N (0,1) (紅色) 和拉普拉斯分布Lap(0,1) (藍色)。本圖源於:https://www.epixanalytics.com/modelassist/AtRisk/images/15/image632.gif

定 義 2 (拉 普 拉 斯 分 布 (Laplace distribution) Lap(µ,b)),又稱為雙邊指數分布 (double sided exponential distribution),具有如下的概率密度函數

該分布均值為 µ,方差為 

定理 10. 假設參數服從高斯先驗,

對參數 θ 進行最大後驗估計等價於最小化如下損失函數

Proof

由於絕對值函數不光滑,不便基於梯度下降對公式 33 進行優化。通過分離變量技巧,可將其轉化為二次規劃 (quadratic programming) 問題,隨後調用現有的軟體包進行求解。我們在下一章形式化 SVR 時還會再使用這個技巧。

定理 11. 最小化公式 33 等價於如下二次規劃問題,其包含 d + 1 + 2m 個變量,3m 個約束:

此外,為了結合高斯分布 (對應平凡損失) 容易優化和拉普拉斯分布 (對應 ℓ1 損失) 可以應對異常值的優點,Huber 損失[5]在誤差接近 0 時為平方損失,在誤差比較大時接近 ℓ1 損失,如圖 4 所示。

Huber 損失處處可微,使用基於梯度的方法對 Huber 損失進行優化會比使用拉普拉斯分布更快。

Figure 4: ℓ2 損失 (紅色)、ℓ1 損失 (藍色) 和 Huber 損失 (綠色)。本圖源於 [7]。

2.5 廣義線性模型

線性回歸利用屬性的線性組合進行預測。除了直接利用逼近 y 外,還可以使模型的預測值逼近 y 的衍生物。考慮單調可微函數 g,令

這樣得到的模型稱為廣義線性模型 (generalized linear model),其中函數 g 被稱為聯繫函數 (link function)。本文介紹的線性回歸、對數機率回歸和 Softmax 回歸都屬於廣義線性模型,如表 2 所示。

廣義線性模型的優點? (1). 形式簡單、易於建模。(2). 很好的可解釋性。直觀表達了各屬性在預測中的重要性。

如何利用廣義線性模型解決非線性問題? (1). 引入層級結構。例如深度學習是對樣本 x 進行逐層加工,將初始的低層表示轉化為高層特徵表示後使用線性分類器。(2). 高維映射。例如核方法將 x 映射到一個高維空間 ϕ(x) 後使用線性分類器。

3 對數機率回歸

3.1 建模流程

對數機率回歸 (logistic regression) 應對二分類問題。其建模方法包括如下三步 (參見第 1.1 節)。

(1). 對 p(y | x, θ) 進行概率假設。

對二分類任務,標記 ,而產生的是實數值,於是,我們需要找到一個單調可微函數 g 將轉化為。最理想的是用單位階躍函數

當大於 0 時輸出 1,小於 0 時輸出 0。但是,單位階躍函數不連續不可微,無法利用梯度下降方法進行優化。因此,我們希望找到一個能在一定程度上近似單位階躍函數並單調可微的替代函數 (surrogate function)。

Figure 5: 單位階躍函數 (紅色) 與對數機率函數 (黑色)。本圖源於 [17]。

如圖 5 所示,對數機率函數 (sigmoid function) 正是這樣一個常用的替代函數

我們將其視為後驗概率估計,即

那麼

兩者可以合併寫作

也就是說,y | x,θ 服從伯努利分布 Ber(sigm)。

(2). 對參數 θ 進行最大後驗估計。

定理 12. 假設參數 θ 服從高斯先驗,對參數 θ 進行最大後驗估計等價於最小化如下損失函數

其中

稱為對數機率損失 (logistic loss)。

Proof

注意到

因此

(3). 對損失函數 L(θ) 進行梯度下降優化。

3.2 與廣義線性模型的關係

對數機率回歸的假設函數等價於,其中被稱為機率 (odds),反映 x 作為正例的相對可能性。被稱為對數機率 (log odds, logit),公式 50 實際上在用線性回歸模型的預測結果逼近真實標記的對數機率,這是對數機率回歸名稱的由來。

對數機率回歸的優點? (1). 直接對分類的可能性進行建模 (假設 p(y | x, θ) 服從伯努利分布),無需事先假設樣本 x 的分布,這樣避免了假設分布不準確所帶來的問題。(2). 不僅能預測出類別,還可以得到近似概率預測,對許多需要概率輔助決策的任務很有用。(3). 對數機率的目標函數是凸函數,有很好的數學性質。

引理 13. 對數機率損失函數是凸函數。

Proof. 在的基礎上,進一步可求得是一個半正定矩陣。

3.3  的對數機率回歸

為了概率假設方便,我們令二分類問題的標記。有時,我們需要處理形式的分類問題。對數機率損失函數需要進行相應的改動。

(1). 對 p(y | x, θ) 進行概率假設。

我們假設

那麼

兩者可以合併寫作

(2). 對參數 θ 進行最大後驗估計。

定理 14. 假設參數 θ 服從高斯先驗,對參數 θ 進行最大後驗估計等價於最小化如下損失函數

其中

稱為對數機率損失 (logistic loss)。

Proof

(3). 對損失函數 L(θ) 進行梯度下降優化。

4 Softmax 回歸

4.1 建模流程

Softmax 回歸應對多分類問題,它是對數機率回歸向多分類問題的推廣。其建模方法包括如下三步 (參見
第 1.1 節)。

(1). 對 p(y | x, θ) 進行概率假設。

對數機率回歸假設 p(y | x, θ) 服從伯努利分布,Softmax 回歸假設 p(y | x, θ) 服從如下分布

假設函數可以寫成矩陣的形式

(2). 對參數 θ 進行最大後驗估計。

定理 15. 假設參數 θ 服從高斯先驗,對參數 θ 進行最大後驗估計等價於最小化如下損失函數

其中

稱為交叉熵損失 (cross-entropy loss)。

Proof

(3). 對損失函數 L(θ) 進行梯度下降優化。

損失函數對應於類別 k 的參數的導數是

寫成矩陣的形式是

其中的第 k 個元素是 1,其餘元素均為 0。對比公式 20 、49 和 67 ,損失函數的梯度有相同
的數學形式

區別在於假設函數的形式不同。事實上,所有的廣義線性模型都有類似於公式 68 的更新準則。

4.2 交叉熵

定義由訓練集觀察得到的分布,稱為經驗分布 (empirical distribution)。經驗分布對應於第 i 個樣例,定義。另一方面,是由模型估計出的概率。

定理 16. 交叉熵損失旨在最小化經驗分布和學得分布之間的交叉熵。這等價於最小化和之間的 KL 散度,迫使估計的分布近似目標分布。

Proof

5 樸素貝葉斯分類器

樸素貝葉斯分類器 (naive Bayes classifer) 也是一種概率方法,但它是一種生成式模型。在本節,我們首先回顧生成式模型,之後介紹樸素貝葉斯分類器的建模流程。

5.1 生成式模型

判別式模型和生成式模型各是什麼? 判別式模型(discriminant model) 直接對 p(y | x) 進行建模,生成式模型 (generative model) 先對聯合分布 p(x, y) = p(x | y)p(y) 進行建模,然後再得到

其中,p(y) 是類先驗 (prior) 概率,表達了樣本空間中各類樣本所佔的比例。p(x | y) 稱為似然 (likelihood)。p(x) 是用於歸一化的證據 (evidence)。由於其和類標記無關,該項不影響 p(y | x) 的估計

如何對類先驗概率和似然進行估計? 根據大數定律,當訓練集包含充足的獨立同分布樣本時,p(y) 可通過各類樣本出現的頻率來進行估計

而對似然 p(x | y),由於其涉及 x 所有屬性的聯合概率,如果基於有限訓練樣本直接估計聯合概率,(1). 在計算上將會遭遇組合爆炸問題。(2). 在數據上將會遭遇樣本稀疏問題,很多樣本取值在訓練集中根本沒有出現,而「未被觀測到」與「出現概率為零」通常是不同的。直接按樣本出現的頻率來估計會有嚴重的困難,屬性數越多,困難越嚴重。

判別式模型和生成式模型的優缺點? 優缺點對比如表 3 所示。

5.2 建模流程

(1). 對 p(x | y, θ) 進行概率假設。

生成式模型的主要困難在於, 類條件概率 p(x | y)是所有屬性的聯合概率,難以從有限的訓練樣本直接估計而得。為避開這個障礙,樸素貝葉斯分類器採用了屬性條件獨立性假設:對已知類別,假設所有屬性相互獨立。也就是說,假設每個屬性獨立地對分類結果發生影響

此外,對連續屬性,進一步假設

因此,樸素貝葉斯分類器的假設函數是

(2). 對參數 θ 進行最大後驗估計。參數 θ 包括了第 c 類樣本在第 j 個屬性上的高斯分布的均值和
方差。

定理 17. 假設參數 θ 服從不提供信息的先驗,對參數 θ 進行最大後驗估計的結果是

Proof. 代入公式 76

5.3 離散屬性的參數估計

樸素貝葉斯分類器可以很容易地處理離散屬性。可估計為

然而,若某個屬性值在訓練集中沒有與某個類同時出現過,則根據公式 82 估計得到 0。代入公式 75 得到 -1。因此,無論該樣本的其他屬性是什麼,分類結果都不會是 y = c,這顯然不太合理。

為了避免其他屬性攜帶的信息被訓練集中未出現的屬性值「抹去」,在估計概率值時通常要進行平滑(smoothing),常用拉普拉斯修正 (Laplacian correction)。具體的說,令 K 表示訓練集 D 中可能的類別數,nj 表示第 j 個屬性可能的取值數,則概率估計修正為

拉普拉斯修正實際上假設了屬性值與類別均勻分布,這是在樸素貝葉斯學習中額外引入的關於數據的先驗。在訓練集變大時,修正過程所引入的先驗的影響也會逐漸變得可忽略,使得估值漸趨向於實際概率值。

在現實任務中樸素貝葉斯有多種實現方式。例如,若任務對預測速度要求較高,則對給定訓練集,可將樸素貝葉斯分類器涉及的所有概率估值事先計算好存儲起來,這樣在進行預測時只需查表即可進行判別。若任務數據更替頻繁,則可採用懶惰學習方式,先不進行任何訓練,待收到預測請求時再根據當前數據集進行概率估值。若數據不斷增加,則可在現有估值基礎上,僅對新增樣本的屬性值所涉及的概率估值進行計數修正即可實現增量學習。

定義 3 (懶惰學習 (lazy learning))。這類學習技術在訓練階段僅僅是把樣本保存起來,訓練時間開銷是 0,待收到測試樣本後再進行處理。相應的,那些在訓練階段就對樣本進行學習處理的方法稱為急切學習(eager learning)。

定義 4 (增量學習 (incremental learning))。在學得模型後,再接收到訓練樣例時,僅需根據新樣例對模型進行更新,不必重新訓練整個模型,並且先前學得的有效信息不會被「衝掉」。

5.4 樸素貝葉斯分類器的推廣

樸素貝葉斯分類器採用了屬性條件獨立性假設,但在現實任務中這個假設往往很難成立。於是,人們嘗試對屬性條件獨立性假設進行一定程度的放鬆,適當考慮一部分屬性間的相互依賴關係,這樣既不需要進行完全聯合概率計算,又不至於徹底忽略了比較強的屬性依賴關係,由此產生一類半樸素貝葉斯分類器 (semi-naive Bayes classifers) 的學習方法。

獨依賴估計 (one-dependent estimator, ODE) 是最常用的一種策略,其假設每個屬性在類別之外最多依賴於一個其他屬性 (稱為父屬性)。問題的關鍵在於如何確定每個屬性的父屬性。SPODE (super-parent ODE) 假設所有屬性都依賴於同一個屬性,稱為超父 (superparent)。TAN (tree augmented naive Bayes) [4] 以屬性節點構建完全圖,任意兩結點之間邊的權重設為這兩個屬性之間的條件互信息。之後構建此圖的最大帶權生成樹,挑選根變量,將邊置為有向,以將屬性間依賴關係約簡為樹形結構。最後加入類別結點 y,增加從 y 到每個屬性的有向邊。TAN 通過條件互信息刻畫兩屬性的條件相關性,最終保留了強相關屬性之間的依賴性。AODE (averaged ODE) [13] 嘗試將每個屬性作為超父來構建 SPODE,之後將那些具有足夠訓練數據支撐的 SPODE 集成作為最終結果。AODE 的訓練過程也是「計數」,因此具有樸素貝葉斯分類器無需模型選擇、可預計算節省預測時間、也能懶惰學習、並且易於實現增量學習。

能否通過考慮屬性間高階依賴進一步提升泛化性能? 相比 ODE, kDE 考慮最多 k 個父屬性。隨著依賴的屬性個數 k 的增加,準確進行概率估計所需的訓練樣本數量將以指數級增加。因此,若訓練數據非常充分,泛化性能有可能提升。但在有限樣本條件下,則又陷入高階聯合概率的泥沼。

更進一步,貝葉斯網 (Bayesian network),也稱為信念網 (belief network),能表示任意屬性間的依賴性。貝葉斯網是一種概率圖模型,藉助有向無環圖刻畫屬性間的依賴關係。

事實上,雖然樸素貝葉斯的屬性條件獨立假設在現實應用中往往很難成立,但在很多情形下都能獲得相當好的性能 [2, 8]。一種解釋是對分類任務來說,只需各類別的條件概率排序正確,無須精準概率值即可導致正確分類結果 [2]。另一種解釋是,若屬性間依賴對所有類別影響相同,或依賴關係能相互抵消,則屬性條件獨立性假設在降低計算開銷的同時不會對性能產生負面影響 [15]。樸素貝葉斯分類器在信息檢索領域尤為常用 [6]。

6 快問快答

隨機梯度下降和標準梯度下降的優缺點各是什麼?

• 參數更新速度。標準梯度下降需要遍歷整個訓練集才能計算出梯度,更新較慢。隨機梯度下降只需要一個訓練樣例即可計算出梯度,更新較快。

• 冗餘計算。當訓練集樣本存在冗餘時,隨機梯度下降能避免在相似樣例上計算梯度的冗餘。

• 梯度中的隨機因素/噪聲。標準梯度下降計算得到的梯度沒有隨機因素,一旦陷入局部極小將無法跳出。隨機梯度下降計算得到的梯度有隨機因素,有機會跳出局部極小繼續優化。

實際應用時,常採用隨機梯度下降和標準梯度下降的折中,即使用一部分樣例進行小批量梯度下降。此外,相比隨機梯度下降,小批量梯度下降還可以更好利用矩陣的向量化計算的優勢。

梯度下降和牛頓法的優缺點各是什麼?

• 導數階數。梯度下降只需要計算一階導數,而牛頓法需要計算二階導數。一階導數提供了方向信息(下降最快的方向),二階導數還提供了函數的形狀信息。

• 計算和存儲開銷。牛頓法在參數更新時需要計算 Hessian 矩陣的逆,計算和存儲開銷比梯度下降更高。

• 學習率。梯度下降對學習率很敏感,而標準的牛頓法不需要設置學習率。

• 收斂速度。牛頓法的收斂速度比梯度下降更快。

• 牛頓法不適合小批量或隨機樣本。

實際應用時,有許多擬牛頓法旨在以較低的計算和存儲開銷近似 Hessian 矩陣。

線性回歸的損失函數及梯度推導。

答案見上文。

為什麼要使用正則化,ℓ1 和 ℓ2 正則化各自對應什麼分布,各有什麼作用?

答案見上文。

對數機率回歸的損失函數及梯度推導。

答案見上文。

線性分類器如何擴展為非線性分類器?

答案見上文。

判別式模型和生成式模型各是什麼,各自優缺點是什麼,常見算法中哪些是判別式模型,哪些是生成式模型?

答案見上文。

貝葉斯定理各項的含義?

答案見上文。

樸素貝葉斯為什麼叫「樸素」貝葉斯?

為了避開從有限的訓練樣本直接估計 p(x | y) 的障礙,樸素貝葉斯做出了屬性條件獨立假設,該假設在現實應用中往往很難成立。

References

[1] P. L. Combettes and V. R. Wajs. Signal recovery by proximal forward-backward splitting. Multiscale Modeling & Simulation, 4(4):1168–1200, 2005. 5

[2] P. M. Domingos and M. J. Pazzani. On the optimality of the simple bayesian classifer under zero-one loss. Machine Learning, 29(2-3):103–130, 1997. 12

[3] B. Efron. Bayesians, frequentists, and scientists. Journal of the American Statistical Association, 100(469):1–5, 2005. 1

[4] N. Friedman, D. Geiger, and M. Goldszmidt. Bayesian network classifers. Machine Learning, 29(2-3):131–163,1997. 12

[5] P. J. Huber. Robust estimation of a location parameter. Annals of Statistics, 53(1):492–518, 1964. 6

[6] D. D. Lewis. Naive (bayes) at forty: The independence assumption in information retrieval. In Proceedings of the 10th European Conference on Machine Learning(ECML), pages 4–15, 1998. 13

[7] K. P. Murphy. Machine Learning: A Probabilistic Perspective. MIT Press, 2012. 5, 6

[8] A. Y. Ng and M. I. Jordan. On discriminative vs. generative classifers: A comparison of logistic regression and naive bayes. In Advances in Neural Information Processing Systems 14 (NIPS), pages 841–848, 2001.12

[9] F. J. Samaniegos. A Comparison of the Bayesian and Frequentist Approaches to Estimation. Springer Science & Business Media, 2010. 1

[10] R. Tibshirani. Regression shrinkage and selection via the LASSO. Journal of the Royal Statistical Society. Series B (Methodological), pages 267–288, 1996. 4

[11] R. Tibshirani, M. Saunders, S. Rosset, J. Zhu, and K. Knight. Sparsity and smoothness via the fused lasso. Journal of the Royal Statistical Society: Series B (Statistical Methodology), 67(1):91–108, 2005. 5

[12] A. N. Tikhonov and V. I. Arsenin. Solutions of Ill-posed Problems. Winston, 1977. 4

[13] G. I. Webb, J. R. Boughton, and Z. Wang. Not so naive bayes: Aggregating one-dependence estimators. Machine Learning, 58(1):5–24, 2005. 12

[14] M. Yuan and Y. Lin. Model selection and estimation in regression with grouped variables. Journal of the Royal Statistical Society: Series B (Statistical Methodology), 68(1):49–67, 2006. 5

[15] H. Zhang. The optimality of naive bayes. In Proceedings of the Seventeenth International Florida Artifcial Intelligence Research Society Conference (FLAIRS), pages 562–567, 2004. 13

[16] H. Zou and T. Hastie. Regularization and variable selection via the elastic net. Journal of the Royal Statistical Society: Series B (Statistical Methodology), 67(2):301–320, 2005. 5

[17] 周志華. 機器學習. 清華大學出版社, 2016. 5, 7, 12

雷鋒網原創文章,未經授權禁止轉載。詳情見轉載須知。

相關焦點

  • 數據挖掘:基於機器學習方法的POI品類推薦算法
    如何使用這些已校準的POI數據,挖掘出有價值的信息,本文進行了一些嘗試:利用機器學習方法,自動標註缺失品類的POI數據。例如,門店名稱為「好再來牛肉拉麵館」的POI將自動標註「小吃」品類。機器學習解決問題的一般過程:
  • 新手必看的十種機器學習算法
    ,開始嘗試用某些機器學習方法自動解決可以輕鬆採集數據的問題。然而,在眾多的機器學習算法中,哪些是又上手快捷又功能強大、適合新手學習的呢?Towards Data Science 上一篇文章就介紹了十種新手必看的機器學習算法,雷鋒網 AI 科技評論全文編譯如下。
  • 五分鐘了解機器學習十大算法
    本文為有志於成為數據科學家或對此感興趣的讀者們介紹最流行的機器學習算法。機器學習是該行業的一個創新且重要的領域。我們為機器學習程序選擇的算法類型,取決於我們想要實現的目標。現在,機器學習有很多算法。因此,如此多的算法,可能對於初學者來說,是相當不堪重負的。
  • 機器學習十大算法都是何方神聖?
    此外,我還在網上選修了一門機器學習入門課程,正巧剛剛修完。在接下來內容中,我將和大家分享我在這門課程中所學到的機器學習常用算法。機器學習算法分為三類:有監督學習、無監督學習、增強學習。有監督學習需要標識數據(用於訓練,即有正例又有負例),無監督學習不需要標識數據,增強學習介於兩者之間(有部分標識數據)。
  • 入門| 機器學習新手必看10大算法
    如果我們知道的話,我們將會直接使用它,不需要用機器學習算法從數據中學習。 最常見的機器學習算法是學習映射 Y = f(X) 來預測新 X 的 Y。這叫做預測建模或預測分析,我們的目標是儘可能作出最準確的預測。 對於想了解機器學習基礎知識的新手,本文將概述數據科學家使用的 top 10 機器學習算法。
  • 盤點:十大機器學習算法及其應用
    毫無疑問,過去兩年中,機器學習和人工智慧的普及度得到了大幅提升。如果你想學習機器算法,要從何下手呢?以我為例,我是在哥本哈根留學期間,學習AI課程入門的。我們用的教科書是一本AI經典:《Peter Norvig’s Artificial Intelligence?—?A Modern Approach》。
  • 機器學習萌新必學的Top10算法
    大的原則不過呢,對於所有預測建模的監督學習算法來說,還是有一些通用的底層原則的。機器學習算法,指的是要學習一個目標函數,能夠儘可能地還原輸入和輸出之間的關係。然後根據新的輸入值X,來預測出輸出值Y。精準地預測結果是機器學習建模的任務。
  • 常見的機器學習算法,你知道幾個?
    誕生於1956年的人工智慧,由於受到智能算法、計算速度、存儲水平等因素的影響,在六十多年的發展過程中經歷了多次高潮和低谷。最近幾年,得益於數據量的上漲、運算力的提升,特別是機器學習新算法的出現,人工智慧迎來了大爆發的時代。提到機器學習這個詞時,有些人首先想到的可能是科幻電影裡的機器人。
  • 數據科學家應該知道的頂級機器學習算法
    基本上,這種組織機器學習算法的方法非常有用。因為它迫使您考慮輸入數據的角色和模型準備過程。另外,選擇最適合您的問題的方法以獲得最佳結果。讓我們看一下機器學習算法中的三種不同的學習風格:監督學習基本上,在此監督式機器學習中,輸入數據稱為訓練數據,並且一次具有已知標籤或結果,例如垃圾郵件/非垃圾郵件或股票價格。在此,通過訓練過程準備了模型。另外,在此需要做出預測。
  • 機器學習算法基礎(使用Python代碼)
    今天,作為一名數據科學家,我可以用每小時幾美元的成本,用複雜算法構建數據處理機器。但是實現這並不容易!因為我需要面臨度過無數個黑暗的日日夜夜。機器學習算法類型從廣義上講,有3種類型的機器學習算法。創建本指南背後的想法是簡化世界各地有抱負的數據科學家和機器學習愛好者的旅程。通過本指南,我將幫助您解決機器學習問題並從經驗中獲益。我提供了對各種機器學習算法的高級理解以及運行它們的R&Python代碼。這些應該足以弄髒你的手。線性回歸主要有兩種類型:簡單線性回歸和多元線性回歸。簡單線性回歸的特徵在於一個自變量。
  • 十大機器學習算法之旅已啟程
    如果這樣做,我們會直接使用它,不需要使用機器學習算法從數據中學習它。  最常見的機器學習類型是學習映射Y = f(X)來預測新的X。這被稱為預測建模或預測分析,我們的目標是使最準確的預測成為可能。  對於渴望了解機器學習基礎知識的機器學習新手,請瀏覽數據科學家使用的前10位的機器學習算法。
  • 流行的機器學習算法總結,幫助你開啟機器學習算法學習之旅
    AI的ML領域是為實現非常精確的目標而創建的,它引入了多種算法,從而可以更順暢地進行數據處理和決策。什麼是機器學習算法?機器學習算法是任何模型背後的大腦,可讓機器學習並使其更智能。這些算法的工作方式是,為它們提供第一批數據,並且隨著時間的流逝和算法的準確性的提高,額外的數據也被引入到算法中。
  • 機器學習算法一覽(附python和R代碼)
    寫這篇文章的目的,就是希望它可以讓有志於從事數據科學和機器學習的諸位在學習算法的路上少走些路。我會在文章中舉例一些機器學習的問題,你們也可以在思考解決這些問題的過程中得到啟發。我也會寫下對於各種機器學習算法的一些個人理解,並且提供R和Python的執行代碼。讀完這篇文章,讀者們至少可以行動起來親手試試寫一個機器學習的程序。
  • 機器學習初學者必須知道的十大算法
    還在為不知道學什麼算法入門機器學習感到頭疼?本文作者通過自身的學習向初學者介紹十大機器學習(ML)算法,並附有數字和實例以便於理解。哈佛商業評論稱數據科學家是21世紀最性感的工作。所以,對於那些ML剛剛開始的人來說,這篇博客機器學習算法工程師需要知道的十大算法是非常有用的。ML算法是可以從數據中學習並從中改進的算法,無需人工幹預。
  • 機器學習中決策樹的原理與算法 | 科普
    ,機器學習與計算機視覺方向算法工程師。我們知道,在機器學習中有兩類十分重要的問題,一類是分類問題,一類是回歸問題。我們今天所要探討的就是在分類和回歸問題中所用到的一種非常基本的方法,叫決策樹。決策樹也是重要的標籤學習方法。這篇文章裡面的部分內容來自於 AI 慕課學院的《機器學習理論與實戰高級特訓班》課程筆記。
  • 機器學習十大算法都是何方神聖?看完你就懂了
    大數據原本在工業界中就已經炙手可熱,而基於大數據的機器學習則更加流行,因為其通過對數據的計算,可以實現數據預測、為公司提供決策依據。跟我們生活息息相關的最常見機器學習算法包括電影推薦算法、圖書推薦算法。這些算法都是基於你的電影觀看記錄或圖書購買記錄來給你做推薦的。James Le 在 KDnuggets 上發布了一篇文章,介紹了他是如何入門機器學習的。
  • 分享最適合新手入門的10種機器學習算法
    如果我們知道的話就直接使用了,不需要再用機器學習算法從大量的數據中學習它。 最常見的機器學習類型是學習映射Y=f(X),用它來預測Y的值。這被稱為預測建模或預測分析,我們的目標是做出最準確的預測。 對於想了解機器學習基礎知識的新手,以下是數據科學家最常用的10種機器學習算法。
  • 機器學習在合成生物學:一種新的生物工程算法
    然而,傳統的生物工程方法緩慢且費力,而且還難以達到預期的目標。為了快速預測新的生物系統,合成生物學需要人工智慧的機器學習。但是,傳統的機器學習算法越來越不適應需要,由於缺乏大量的質量數據而受到阻礙,科學家需要更有效的在細胞的生物工程中的機器算法。
  • 17個機器學習的常用算法!
    在機器學習或者人工智慧領域,人們首先會考慮算法的學習方式。在機器學習領域,有幾種主要的學習方式。將算法按照學習方式分類是一個不錯的想法,這樣可以讓人們在建模和算法選擇的時候考慮能根據輸入數據來選擇最合適的算法來獲得最好的結果。1. 監督式學習:
  • 「機器學習」機器學習算法優缺點對比(匯總篇)
    主要回顧下幾個常用算法的適應場景及其優缺點!機器學習算法太多了,分類、回歸、聚類、推薦、圖像識別領域等等,要想找到一個合適算法真的不容易,所以在實際應用中,我們一般都是採用啟發式學習方式來實驗。與決策樹、SVM相比,你還會得到一個不錯的概率解釋,你甚至可以輕鬆地利用新數據來更新模型(使用在線梯度下降算法-online gradient descent)。如果你需要一個概率架構(比如,簡單地調節分類閾值,指明不確定性,或者是要獲得置信區間),或者你希望以後將更多的訓練數據快速整合到模型中去,那麼使用它吧。