09.20 機器學習總結(算法):迴歸、分類、正則化、模型優化、生成學習

機器學習總結(算法):迴歸、分類、正則化、模型優化、生成學習

在本文中,我們深入瞭解傳統機器學習(ML)算法,包括迴歸、分類、核、高斯過程、貝葉斯線性迴歸、SVM、聚類和決策樹,還包括成本函數,正則化,MLE, MAP,拉普拉斯近似和受限玻爾茲曼機,我們也將快速瞭解像LSTM這樣的深度網絡。

迴歸

線性迴歸

線性迴歸模型y = f(x),線性向量為w

機器學習總結(算法):迴歸、分類、正則化、模型優化、生成學習

添加偏差

機器學習總結(算法):迴歸、分類、正則化、模型優化、生成學習

標準化

在許多機器學習(ml)算法或迴歸中,我們假設輸入已經被預處理和標準化。

機器學習總結(算法):迴歸、分類、正則化、模型優化、生成學習

殘差平方和加權平方和

為了訓練一個線性迴歸機器學習模型,我們最小化了一個成本函數。一個常見的目標函數是rss(殘差平方和)。相應的迴歸稱為最小二乘線性迴歸。

機器學習總結(算法):迴歸、分類、正則化、模型優化、生成學習

用多項式迴歸變換基

為了增加模型的複雜性,我們可以添加或更改輸入的基。在下面的示例中,添加了多項式基(polynomial bases)。

機器學習總結(算法):迴歸、分類、正則化、模型優化、生成學習

如果沒有這種變換,如果它們的邊界是非線性的,則很難將兩類數據分開。但是,增加的x 12x 2 2分量將低維空間中的非線性決策邊界變換為高維空間中的線性邊界。理論上,低維中的任何邊界形狀都可以轉換為更高維度的線性邊界。轉換後,我們可以將數據分類為具有線性代數的組。

機器學習總結(算法):迴歸、分類、正則化、模型優化、生成學習

線性迴歸的一般形式是

機器學習總結(算法):迴歸、分類、正則化、模型優化、生成學習

其中g可以是任意函數,包括非線性、對數等。通常認為線性迴歸只對線性函數建模是錯誤的。通過擴展輸入的基,y = f(x)中的函數f可以是複雜的非線性的。

在機器學習(ML)中,特徵工程師應用領域知識來構造類似於輸入和預測之間關係的g。但是,它很難,我們很容易做過頭。為了糾正這個問題,我們可以應用L1懲罰。L1成本有利於w的稀疏性,這允許訓練在進行預測時選擇較少的基向量。當包含太多多輸入特徵並且機器學習模型很以容易過度擬合時,則可以緩解這個問題。

機器學習總結(算法):迴歸、分類、正則化、模型優化、生成學習

Gram矩陣

線性迴歸的一般解可以用下面的Gram矩陣計算

機器學習總結(算法):迴歸、分類、正則化、模型優化、生成學習

基於參數和非基於參數

對於線性迴歸y =wᵀx,我們使用訓練數據擬合模型以找到w。這種類型的模型稱為基於參數的模型。該函數是預先定義的,我們的任務是找到最適合數據的模型參數θ。對於非基於參數的模型,我們對函數沒有假設,我們讓數據來模擬函數本身。

機器學習總結(算法):迴歸、分類、正則化、模型優化、生成學習

接下來,我們將研究一個名為Kernel的非基於參數的模型。

Kernel

在此之前,我們將線性迴歸推廣為y =wᵀg(x)。隨著核方法的概念,我們進一步拓展思路,探討x與其它訓練數據點X ⁽ⁱ⁾的關係。這允許我們基於訓練數據而不是預定義的函數來構建函數。

機器學習總結(算法):迴歸、分類、正則化、模型優化、生成學習

這裡,我們不是從wᵀx進行預測,而是計算x和訓練數據點xᵢ之間的相似度k。然後,我們將它與相應的模型參數wᵢ相乘。我們彙總了所有數據點的結果以進行預測。直觀地,我們計算訓練數據標籤的加權平均值。如果數據相似,我們就用較大的權重;如果數據不同,我們就用較小的權重。例如,在預測您多年受教育的薪水時,我們會對具有相同教育年限的數據使用更高的權重,然後我們從訓練數據工資中計算加權平均值。

核的一般定義是:

機器學習總結(算法):迴歸、分類、正則化、模型優化、生成學習

通常,它將xᵢxⱼ映射到高維空間並計算其內積以探索相似性。但實際上,我們可以將方程式簡化為一種簡單測量兩個數據點相似性的形式。例如,我們可以使用下面的高斯分佈。

機器學習總結(算法):迴歸、分類、正則化、模型優化、生成學習

徑向基函數(RBF - 高斯核)

RBF對核函數使用高斯函數。我們形成一個新的basis z為輸入,其中zᵢⱼ測量訓練數據點i和j之間的相似性。然後我們使用訓練數據來使用像MSE這樣的目標函數擬合模型參數w。

機器學習總結(算法):迴歸、分類、正則化、模型優化、生成學習

核函數是對稱的,矩陣是正半定的。

為了進行新的預測,我們使用核函數將x轉換為矩陣。

機器學習總結(算法):迴歸、分類、正則化、模型優化、生成學習

直觀地,RBF計算輸入到每個訓練數據點的距離,並將其乘以相應的權重wᵢ 進行預測。我們根據相似度計算輸出的加權平均值。

分類

迴歸分類

我們可以應用貝葉斯定理來檢查輸入x是否應屬於類y = 0或類y = 1。例如,如果標籤y應為1,我們希望p(y = 1 | x)> p(y = 0 | x)。或者,我們可以用等式xᵀw+ b計算線性迴歸值。如果符號為負,則y屬於1.如下所示,如果p(x | y)是高斯分佈的,則貝葉斯定理等效於線性迴歸。

機器學習總結(算法):迴歸、分類、正則化、模型優化、生成學習

但是,當我們希望我們的預測為-1或1時,

xᵀw是無界的。成本函數的選擇在這裡必須要小心。如下所示,使用xᵀw作為輸入的最小平方成本函數可以在成本函數中添加懲罰,即使它正確地預測x的類而沒有歧義。

機器學習總結(算法):迴歸、分類、正則化、模型優化、生成學習

要解決此問題,我們可以使用邏輯迴歸或切換到其他成本函數,如hinge損失或邏輯損失。

邏輯迴歸

在做出決定之前,我們可以將xᵀw的結果應用於邏輯函數(也稱為sigmoid函數)。這會將無界xᵀw擠壓在0和1之間。

機器學習總結(算法):迴歸、分類、正則化、模型優化、生成學習

如下圖所示,logistic函數與對數比值(logits)有關。事實上,我們可以從Logit導出Logistic函數。在這個例子中,我們將使用xᵀw

來計算logistic函數的得分。但是可以使用其他的評分方法,包括深度網絡代替線性迴歸方法。

機器學習總結(算法):迴歸、分類、正則化、模型優化、生成學習

貝葉斯分類器

貝葉斯分類器應用貝葉斯定理將x分類為最佳y值,該值為下面的RHS項提供最高值。

機器學習總結(算法):迴歸、分類、正則化、模型優化、生成學習

成本函數與正則化

均方誤差(MSE)

機器學習總結(算法):迴歸、分類、正則化、模型優化、生成學習

MSE很受歡迎,因為它易於使用平滑差分進行計算。但它容易受到離群值的影響,我們會不成比例地懲罰大誤差。如果我們有嘈雜的噪聲數據,我們會過多地關注將這些數據,我們應該首先忽略它們。線性迴歸的MSE成本函數是

機器學習總結(算法):迴歸、分類、正則化、模型優化、生成學習

相應的優化解析解(正規方程)是

機器學習總結(算法):迴歸、分類、正則化、模型優化、生成學習

具有L2正則化的MSE稱為嶺迴歸。相應的最優解是

機器學習總結(算法):迴歸、分類、正則化、模型優化、生成學習

以下是使用最小均方誤差(LMS)的梯度下降

機器學習總結(算法):迴歸、分類、正則化、模型優化、生成學習

L0,L1,Huber Loss或正則化

機器學習總結(算法):迴歸、分類、正則化、模型優化、生成學習

Huber損失將低誤差範圍內的L2損失與高誤差範圍內的L1損失相結合。

L1和L2正則化比較

L2具有更平滑的梯度,因此訓練更穩定。但是L1也很受歡迎,因為它促進了稀疏性。如下圖所示,添加L1正則化後的最優點傾向於參數為0。

機器學習總結(算法):迴歸、分類、正則化、模型優化、生成學習

如果L1正則化與最小二乘誤差一起使用,則線性迴歸稱為Lasso迴歸。雖然選擇取決於具體的數據和問題領域,L2正則化似乎更受歡迎,但可以自由嘗試兩者。

凸性

讓我們考慮以下通用的p-norm成本函數。我們應該如何在不同情景下優化目標函數?

機器學習總結(算法):迴歸、分類、正則化、模型優化、生成學習

  • 如果我們沒有任何正則化(λ = 0),如果XᵀX是可逆的,則可以優化解析解。
  • 如果p = 2,則保證有解析解。
  • 對於p≥1但不等於2,我們可以使用迭代方法來找到全局最優。
  • 當p<1時,目標函數不為凸函數。與其他選擇相比,全局最優是沒有保證的。我們只能用數值方法求得局部最優解。
機器學習總結(算法):迴歸、分類、正則化、模型優化、生成學習

交叉熵

機器學習總結(算法):迴歸、分類、正則化、模型優化、生成學習

在機器學習(ML)中,我們希望我們的預測與ground truth相匹配,其中P是ground truth,Q是模型預測。對於分類,P(xᵢ)= 1表示ground truth標籤i,否則P(xⱼ)= 0。因此,交叉熵是H(P,Q)= -log Q(xᵢ)。

Softmax函數

對於多類分類,我們可以在計算交叉熵之前將softmax函數應用於計算得分。在線性迴歸中,ground truth類的得分等於xᵀw

機器學習總結(算法):迴歸、分類、正則化、模型優化、生成學習

KL散度

KL-divergence測量兩個數據分佈之間的差異。P是ground truth,Q是模型預測的分佈。

機器學習總結(算法):迴歸、分類、正則化、模型優化、生成學習

注意:KL-Divergence不是對稱的,它總是大於或等於0。

機器學習總結(算法):迴歸、分類、正則化、模型優化、生成學習

Jensen-Shannon散度

Jensen-Shannon散度是對稱的。

機器學習總結(算法):迴歸、分類、正則化、模型優化、生成學習

邏輯損失

它根據邏輯函數來度量損失。我們可以將邏輯函數應用於輸出,並使用交叉熵損失或直接使用邏輯損失,而不需要將輸出傳遞給邏輯函數。

機器學習總結(算法):迴歸、分類、正則化、模型優化、生成學習

Hinge損失

只有當預測錯誤或太接近決策邊界時,Hinge損失才會對分類錯誤進行懲罰。Hinge損耗用於SVM。

機器學習總結(算法):迴歸、分類、正則化、模型優化、生成學習

小結

機器學習總結(算法):迴歸、分類、正則化、模型優化、生成學習

模型優化

最大似然估計(MLE)

MLE找到最大化觀測數據xᵢ的可能性的模型參數。

機器學習總結(算法):迴歸、分類、正則化、模型優化、生成學習

負對數似然(NLL)

MLE有一個很長的乘法鏈,很容易出現遞減或爆炸的問題。為了解決這個問題,我們在目標函數上取對數函數。由於“對數”是單調函數,因此最大化MLE與最小化負對數似然(NLL)相同。

機器學習總結(算法):迴歸、分類、正則化、模型優化、生成學習

在優化目標時,只要模型參數是不變的,就可以加(減)或乘(除)值。我們也可以加上一個單調函數。最優解保持不變。

如下所示,NLL也與優化交叉熵相同

機器學習總結(算法):迴歸、分類、正則化、模型優化、生成學習

如果py |θ)可以通過zero-centered獨立高斯分佈建模,我們可以證明最大化MLE等同於最小化MSE。

機器學習總結(算法):迴歸、分類、正則化、模型優化、生成學習

綜上所述,高斯分佈的指數函數的平方部分導致了MLE與最小二乘優化相同的原因。

機器學習總結(算法):迴歸、分類、正則化、模型優化、生成學習

線性迴歸的MLE

假設w是線性迴歸模型yᵢ = Xᵢᵀwᵢ + εᵢ的ground truth權重,其中εᵢ 為zero-centered高斯分佈的噪聲,方差等於σᵢ²。

由於噪聲是高斯分佈的,我們可以將y建模為

機器學習總結(算法):迴歸、分類、正則化、模型優化、生成學習

在採集數據樣本後,可以使用MLE訓練W。我們想問的下一個問題是,用這種方法,我們的期望值和w的方差是多少。

機器學習總結(算法):迴歸、分類、正則化、模型優化、生成學習

如前所述,使用mle目標估計的w是無偏的。然而,如果σ²(XᵀX)-1較大,則方差較大,即我們將得到具有不同訓練數據集的非常不同的模型。總之,估計的w值對測量數據中的噪聲很敏感。這是一個很好的例子,即使您的估計是無偏的,如果我們的估計模型具有高方差,則該機器學習模型也不好。

每一個矩陣X都可以用SVD來分解

機器學習總結(算法):迴歸、分類、正則化、模型優化、生成學習

上面的計算表明(XᵀX)-1與S²的倒數成正比。 S是對角矩陣,對角元素包含X的奇異值。因此,如果一些奇異值很小,則方差σ²(XᵀX)-1很高。因此,通過評估X的奇異值,我們可以理解訓練模型的方差。

X中的列高度相關時,會發生小的奇異值

機器學習總結(算法):迴歸、分類、正則化、模型優化、生成學習

當信息高度相關時,訓練後的模型容易受到方差的影響,容易被過度擬合。

為了解決這個問題,我們可以添加L2正則化(嶺迴歸)來約束模型參數。這種正則化在數值上穩定了逆。沒有它,即使X的微小變化也會導致w * 發生很大變化。

機器學習總結(算法):迴歸、分類、正則化、模型優化、生成學習

使用嶺迴歸訓練的w

機器學習總結(算法):迴歸、分類、正則化、模型優化、生成學習

當Sᵢᵢ非常小時,λ就有用了,S⁻¹中的單個元素將具有一定的上限。 否則,它將是無限大的並且放大數據的輕微變化並導致w的很大變化。

下面的公式比較了用嶺迴歸和最小二乘法訓練的w的差異。

機器學習總結(算法):迴歸、分類、正則化、模型優化、生成學習

λ再次限制了ridge迴歸與最小二乘解的距離。 ridge迴歸的期望值和方差是

機器學習總結(算法):迴歸、分類、正則化、模型優化、生成學習

MLE是無偏的,但它可能有很高的方差。嶺迴歸有偏,但方差較低。因為我們總是可以調整λ,所以我們可以使用嶺迴歸調整對數據分佈敏感的解。

可選步驟中的優化

在許多情況下,我們需要將機器學習問題分解為兩個可選步驟的迭代,一個步驟優化一個子集參數,另一個步驟優化其餘參數。EM算法就是一個例子。在這些問題中,我們不能同時優化這兩組參數(或者它太難或非常不穩定)。這兩組參數之間往往存在相互依賴關係,不能同時計算它們的導數。由於這種相互依賴,我們一次優化一個(參數θ1或θ2)(同時固定另一個)。

機器學習總結(算法):迴歸、分類、正則化、模型優化、生成學習

在每個步驟中,成本下降,解將收斂到局部或全局最優。然而,對於非凸目標函數,我們不太可能達到全局最優,但在實踐中,許多問題仍然產生了良好的結果。

該算法利用了成本的單調降低。在一定精度內,θ₁和θ₂的空間尺寸有限,我們不能永遠地降低成本,因此,解會收斂。

最大後驗(MAP)

在此以前,我們將MSE用作訓練模型的成本函數。 MAP可用於優化模型。 它可以用來證明其他目標函數,如MSE。 在MLE中,我們找到了p(yθ,x)中最高值的θ。 在MAP中,我們優化θ以最大化p(θ| y,x)。

機器學習總結(算法):迴歸、分類、正則化、模型優化、生成學習

除了向相反方向逼近條件概率外,還有一個重要的區別。MLE用觀測值的最佳似然找到θ的點估計。MAP使用bayes定理計算θ的所有值的概率分佈。

為了計算pθ| y,x),我們應用貝葉斯定理

機器學習總結(算法):迴歸、分類、正則化、模型優化、生成學習

如果我們假設模型參數θ為zero centered,並且p(θ)和p(y |θ)都是高斯分佈的,我們可以證明MAP到達的目的與使用L2作為成本函數並加入L2正則化相同。

機器學習總結(算法):迴歸、分類、正則化、模型優化、生成學習

簡而言之,我們先前認為θ是高斯分佈的。結合由高斯模型模擬的y(觀測)的似然性,我們得到了與嶺迴歸相同的目標。

牛頓優化方法

我們可以迭代地應用牛頓方法來定位最低成本。

機器學習總結(算法):迴歸、分類、正則化、模型優化、生成學習

這是梯度下降法的一種替代方法,它只使用一階導數。利用f (f”)的曲率,牛頓法更精確。然而,它的計算量很大,不值得在許多問題上花費精力。然而,對於曲率較大的目標函數,這是非常有用的。為了解決複雜性問題,需要進行某種近似以使其具有可擴展性。

泰勒級數

利用泰勒級數,我們可以展開並近似一個函數f。在下面的例子中,我們把f展開到二階。

機器學習總結(算法):迴歸、分類、正則化、模型優化、生成學習

通過微分上面的ε等式,最小化f的最佳 step ε*等於

機器學習總結(算法):迴歸、分類、正則化、模型優化、生成學習

納什均衡

在博弈論中,納什均衡是指在非合作環境下,在考慮了對手的所有可能策略後,沒有任何一方會改變其策略。雙方都對對方懷有敵意,他們沒有辦法傳達自己的行動。考慮一下彼得和瑪麗可能在監獄服刑的時間,看看他們是如何認罪的。

機器學習總結(算法):迴歸、分類、正則化、模型優化、生成學習

雙方都保持坦白(Quiet)是有道理的,因為這是最低的入獄時間。為了在不合作的環境下達到納什均衡,如果雙方都保持抵賴(confess)並獲得6個月的監禁,而不是1個月的監禁。

生成學習VS判別學習

在深度學習(DL)中,我們設計一個深度網絡來從數據x預測標籤y,生成學習為給定的y建立一個模型,由樸素貝葉斯分類器可以看出,對p(x|y)建模比p(y, x)更容易

機器學習總結(算法):迴歸、分類、正則化、模型優化、生成學習

在生成學習中,我們可以應用貝葉斯定理從p(x | y)模型預測p(y | x)。

一般來說,生成學習是對p(x)的研究。通過這種數據分佈,我們可以採樣(或生成)數據。在GAN中,我們創建了一個生成器,通過對噪聲z進行採樣來創建x。它模型為p(x | z)。在高斯混合模型中,我們使用高斯分佈的混合來模擬p(x)。


分享到:


相關文章: