機器學習技法 之 終章(Final)

特徵轉換的技巧(Feature Exploitation Techniques)

核技巧(Kernel)

對於數值特徵,使用一些映射函數 Φ\Phi,將想要的特徵轉換嵌入進 kernel 運算裏面,在 kernel 運算裏面就包含了特徵轉換和在轉換後空間上取內積。(numerous features within some Φ\Phi: embedded in kernel KΦK_\Phi with inner product operation)。

在這裏插入圖片描述

常用的核技巧有多項式核(Polynomial Kernel,縮放的多項式轉換),高斯核(Gaussian Kernel,無限維的特徵轉換),樹樁核(Stump kernel,將決策樹樁作爲轉換函數)。當然對於這些核函數,可以使用求和(Sum)或求積(Product)進行組合,也可以提出新的滿足 Mercer condition 的 Mercer kernel。

那麼這些 kernel 便可以搭配上已有的 kernel 模型。比如 SVM,SVR,Probabilistic SVM,kernel ridge regression,kernel logistic regression。所以有了這裏 kernel,便可以使用線性模型解決複雜的非線性問題。

聚合(Aggregation)

獲取 gt(x)g_t (x) 作爲映射函數 Φ\Phi 預測特徵,作爲一種特徵轉換(predictive features within some Φ\Phi : Φt(x)=gt(x)\Phi_t (x) = g_t (x))。
在這裏插入圖片描述
常用的 gt(x)g_t (x) 有:決策樹樁,決策樹,RBF(找到一箇中心,並學習出中心的影響力)。

有了這些 gt(x)g_t (x) ,便可以使用一些 blending、bagging 或 boosting 方法了。其中 probabilistic SVM 則是將已有的 SVM 模型和 bias 進行融合的一個過程。

提取(Extraction)

對於隱含或潛藏的特徵,使用一些映射函數 Φ\Phi,將這些特徵提取出來。也就是說不認爲已經給定了或者隱藏在某些 kernel 裏面,而是需要進行最優化的一些變數。(hidden features within some Φ\Phi : as hidden variables to be ‘jointly’ optimized with usual weights — possibly with the help of unsupervised learning)

在這裏插入圖片描述
比如說神經網絡或深度學習中神經元的權重,RBF 網絡中 RBF 的中心,自適應提升和梯度提升中的 gtg_t,k-Means 算法中的聚類中心,自編碼器和PCA獲取的基底方向或投影放向。

壓縮(Compression)

使用一些映射函數 Φ\Phi 將原始特徵壓縮到低維特徵(low-dimensional features within someΦ\Phi : compressed from original features)
在這裏插入圖片描述

在決策樹中,每一次的分支都是進入低維度空間進行操作。而隨機森林中,每一次操作都會進行選擇在一個隨機的低維的特徵空間進行操作。那在自編碼器和PCA中則是找出低維的可以儘可能保留信息的特徵表示。而矩陣分解也類似,是將只有零一的很高維特徵映射到低維空間。

實際上,特徵選擇也是一種壓縮方式,就是找出最有用的一些低維表示(‘most-helpful’ low-dimensional projection)。

最佳化的技巧(Error Optimization Techniques)

梯度下降法(Gradient Descent)

當誤差函數的梯度的近似解被定義時,將其用於一階估計:

 new variables = old variables ηE \text { new variables } = \text { old variables } - \eta \nabla E

即讓變量沿着其梯度反方向變化,不斷接近最優解。例如之前介紹過的SGD(沿着負梯度方向一小步一小步的尋優)、Steepest Descent(下降的速度最快,不再是一小步而是一大步) 和 Functional GD(下降方向是函數)都是利用了梯度下降的技巧。

在這裏插入圖片描述
當然如果有需求也可以使用有約束條件的梯度下降法,二階估計等。

等效解決方案(Equivalent Solution)

當原問題很難求解時,對其等效問題求解。什麼意思呢?對於一些更復雜的最優化問題,無法直接利用梯度下降方法來做,往往需要一些數學上的推導,對等效問題求解來得到最優解。

最典型的例子是 Dual SVM,還包括 Kernel LogReg 、Kernel RidgeReg 和 PCA 等等。這些模型本身包含了很多數學上的一些知識,例如線性代數等等。

除此之外,還有一些其他的 boosting 模型和 kernel 模型的現代求解器在很大程度上依賴於這種技術(運用到類似的數學推導和轉換技巧)。

在這裏插入圖片描述
representer 指的是什麼意思呢?求大佬指點

多步求解(Multiple Steps)

當原問題很難求解時,將其分爲幾個比較簡單的子問題進行求解。這對於複雜模型來說很有效。

在這裏插入圖片描述
也就是將問題劃分爲多個步驟進行求解,即Multi­Stage。例如probabilistic SVM、linear blending、RBF Network等。還可以使用交叉迭代優化的方法,即 Alternating Optim。例如k­Means、alternating LeastSqr等。除此之外,還可以採樣分而治之的方法,即Divide & Conquer。例如decision tree。

避免過擬合的技巧(Overfitting Elimination Techniques)

Feature Exploitation Techniques 和 Error Optimization Techniques都是爲了優化複雜模型,減小 EinE_{in} 。但是 EinE_{in} 太小有很可能會造成過擬合overfitting。因此,機器學習中,Overfitting Elimination尤爲重要。

正則化(Regularization)

如果模型太過強大,那一定要記得踩剎車,也就是正則化(Regularization),這可以說是最重要的技術。常用的方法包括:大間隔、L1/L2正則化、投票或平均、剪枝、降噪、加入限制條件等等。

在這裏插入圖片描述

驗證(Validation)

除了Regularization之外,還可以使用Validation來消除Overfitting。Validation指的是當模型太過強大時,應當注意其性能和是否誠實(偷看測試資料)等。常用的 Validation 方法包括:交叉驗證,支持向量的個數、OOB估計和內部驗證(例如剪枝後驗證模型的性能)等。雖然很簡單,但是很有必要。

在這裏插入圖片描述

機器學習的實際運用(Machine Learning in Practice)

林軒田老師將其所在的臺大團隊在近幾年的KDDCup國際競賽上的表現和使
用的各種機器算法進行了介紹。相應的PPT圖片如下:

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章