Finale

Feature Exploitation Techniques

這幾篇博客介紹的第一個feature transform方法就是kernel。kernel先出現是在SVM裏面,原因就是爲了減少 內積計算的複雜度,把特徵轉換和內積計算結合到一起。特徵轉換其實也是一種特徵的提取。介紹過的kernel:polynomial kernel,Gaussion kernel,stump kernel。另外,不同的kernel相加或者是相乘做uniform或者是combination可以提取更加複雜的特徵,比如Network。但是使用kernel是需要滿足Mercer條件的,對稱半正定。不同的kernel可以搭配不同的模型,SVM,SVR,probability SVM,或者是kernel ridge regression等等。之前學過的PCA,kmean這些算法都包括了內積的計算,所以它們各自也有對應的kernel函數,比如之前使用的Kmean是用的高斯距離,那麼kernel就是Gaussion kernel了。

10624272-f74180388ff59d66.png

kernel是使用的第一種特徵轉換的方法,第二種方法就是aggregation了,之前介紹的所有的hypothesis都可以看做是一種特徵轉換,比如之前學過的decision tree,RBF Network。如果g是已知的,那我們可以把它們進行uniform的組合,non-uniform和conditional組合。如果g是未知的,那麼我們就可以使用bagging或者Adaboost來建立模型。
10624272-a8986e73532d8eee.png

其實就是總結了一下aggregation model。特徵轉換是一種尋找特徵的方法,特徵提取是另外學習到的,提取出隱藏的特徵,hidden feature。一般通過unsupervised learning,從原始數據中提取特徵,有點像生成模型,先摸清楚數據的情況分佈特點,再進行模型的建立。比如:聚類算法,kmeans,mean shfit等等,PCA都是。
10624272-1b21be85e9c57454.png

另外還有一種就是維度的壓縮了,其實有點像特徵提取,因爲維度壓縮其實就是先看看哪一個特徵重要,然後把重要的特徵留下了,不重要的去掉,比較有代表性的就是PCA,autoencode,matrix factorization,這種方法可以把數據從高緯度降到低緯度是很有用的。
10624272-d61674a5ae412de9.png

順帶提一下,decision stump是遍歷所有的維度看看哪一個維度分開的purity是最小的,random forest可以進行特徵的重要性選擇,通常也是隨機選擇一兩個或者是做OOB特徵重要性選擇得到重要的特徵。
總結一下特徵處理的方法:
特徵轉換:可以使用kernel,aggregation
特徵提取:matrix factorization,autoencode
降維:PCA,autoencode

Error Optimization Techniques

對於Ein的優化,首先第一個就是梯度下降或者是梯度上升,這兩個方法都是比較常用的一次逼近方法,SGD、Steepest Descent和Functional GD都是利用了梯度下降的技巧。

10624272-b0602e075cd1c20c.png

除了梯度下降,還有一些是做不了的,比如SVM的dual problem和α的求解,都是需要數學上的一些推導和技巧來轉換成其他形式之後再處理。
10624272-b47cd40dc43df03c.png

如果原始問題比較複雜,可以拆分求解,拆分成多個子問題進行求解,比如multi-stage。另外也可以使用交叉迭代,matrix factorization的優化方法就是一種。剛剛拆分子問題的也就是分而治之的方法就是decision tree了。
10624272-2dcb93cf5f88b2e1.png

最後再來探討一下梯度下降方法,梯度下降是一次逼近的方法,意味着他只是求了一次導數,也就是Taylor展開一次,它的視野就只能看到一階的地方,所以他選取的方向就是一階的方向而已。對於另外一種optimization 方法牛頓法就不太一樣。牛頓法的是二次逼近,意味着牛頓法它看的更加遠,看的是再二次導數的地方哪個是最遠的,當然牛頓法也可以Taylor三次展開,但是一般都是二次了,所以牛頓法比梯度下降迭代的更加快,因爲它看的更加遠,走的就更加穩。

Overfitting Elimination Techniques

Feature Exploitation Techniques和Error Optimization Techniques都是爲了優化複雜模型減小Ein,但是Ein過小就會造成overfitting的問題。因此機器學習中過擬合的處理是非常重要的。
處理過擬合的方法之前介紹過:large margin,regularization,voting。


10624272-72b4eb70210b5d23.png

除了上面提到的方法,還可以使用validation來處理


10624272-96e7eb32df402aad.png

這個章節的東西比較少,也沒有什麼代碼,是看機器學習技法課程最後一張總結的了,最後貼一下十大data mining算法:
10624272-085205f73addb896.png
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章