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了。 算法

kernel是使用的第一種特徵轉換的方法,第二種方法就是aggregation了,以前介紹的全部的hypothesis均可以看作是一種特徵轉換,好比以前學過的decision tree,RBF Network。若是g是已知的,那咱們能夠把它們進行uniform的組合,non-uniform和conditional組合。若是g是未知的,那麼咱們就可使用bagging或者Adaboost來創建模型。
其實就是總結了一下aggregation model。特徵轉換是一種尋找特徵的方法,特徵提取是另外學習到的,提取出隱藏的特徵,hidden feature。通常經過unsupervised learning,從原始數據中提取特徵,有點像生成模型,先摸清楚數據的狀況分佈特色,再進行模型的創建。好比:聚類算法,kmeans,mean shfit等等,PCA都是。
另外還有一種就是 維度的壓縮了,其實有點像特徵提取,由於維度壓縮其實就是先看看哪個特徵重要,而後把重要的特徵留下了,不重要的去掉,比較有表明性的就是PCA,autoencode,matrix factorization,這種方法能夠把數據從高緯度降到低緯度是頗有用的。
順帶提一下,decision stump是遍歷全部的維度看看哪個維度分開的purity是最小的,random forest能夠進行特徵的重要性選擇,一般也是隨機選擇一兩個或者是作OOB特徵重要性選擇獲得重要的特徵。 總結一下特徵處理的方法: 特徵轉換:可使用kernel,aggregation 特徵提取:matrix factorization,autoencode 降維:PCA,autoencode #Error Optimization Techniques 對於Ein的優化,首先第一個就是梯度降低或者是梯度上升,這兩個方法都是比較經常使用的一次逼近方法,SGD、Steepest Descent和Functional GD都是利用了梯度降低的技巧。
除了梯度降低,還有一些是作不了的,好比SVM的dual problem和α的求解,都是須要數學上的一些推導和技巧來轉換成其餘形式以後再處理。
若是原始問題比較複雜,能夠拆分求解,拆分紅多個子問題進行求解,好比multi-stage。另外也可使用交叉迭代,matrix factorization的優化方法就是一種。剛剛拆分子問題的也就是分而治之的方法就是decision tree了。
最後再來探討一下梯度降低方法,梯度降低是一次逼近的方法,意味着他只是求了一次導數,也就是Taylor展開一次,它的視野就只能看到一階的地方,因此他選取的方向就是一階的方向而已。對於另一種optimization 方法牛頓法就不太同樣。牛頓法的是二次逼近,意味着牛頓法它看的更加遠,看的是再二次導數的地方哪一個是最遠的,固然牛頓法也能夠Taylor三次展開,可是通常都是二次了,因此牛頓法比梯度降低迭代的更加快,由於它看的更加遠,走的就更加穩。 #Overfitting Elimination Techniques Feature Exploitation Techniques和Error Optimization Techniques都是爲了優化複雜模型減少Ein,可是Ein太小就會形成overfitting的問題。所以機器學習中過擬合的處理是很是重要的。 處理過擬合的方法以前介紹過:large margin,regularization,voting。
除了上面提到的方法,還可使用validation來處理
這個章節的東西比較少,也沒有什麼代碼,是看機器學習技法課程最後一張總結的了,最後貼一下十大data mining算法:
相關文章
相關標籤/搜索