機器學習,深度學習相關介紹

大樹2發表於2017-12-29

 

最近看了周志華老師的書,主要內容如下,涉及到很多機器學習的知識點:

by [2017.12.29 更新  denny  shenzhen 59888745@qq.com]

 

1.線性模型:

  1. 線性迴歸;多元線性迴歸;廣義線性迴歸;
  2. 二分類問題,

3.在樣本空間找一個超平面,將不同類別的樣本分開;

 

2.決策樹:CSL,ID3,C4.5演算法

ID3中根據屬性值分割資料,之後該特徵不會再起作用,這種快速切割的方式會影響演算法的準確率.

C4.5還彌補了ID3中不能處理特徵屬性值連續的問題

CART(Classification and Regression tree)分類迴歸樹是一棵二叉樹,採用二元切分法,每次把資料切成兩份,分別進入左子樹、右子樹.

CART:迴歸任務的決策樹.

 

GB、GBDT、xgboost 的關係

GB:Gradient boosting:機器學習中的學習演算法的目標是為了優化或者說最小化loss Function,Gradient boosting的思想是迭代生多個(M個)弱的模型,然後將每個弱模型的預測結果相加

GBDT:Gradient boosting Decision Tree(GBDT),GB演算法中最典型的基學習器是決策樹,尤其是CART,正如名字的含義,GBDT是GB和DT的結合

xgboost :Xgboost是GB演算法的高效實現,xgboost中的基學習器除了可以是CART(gbtree)也可以是線性分類器(gblinear)。

 

RF:隨即森林

 

策略:分而治之,自根至葉的遞迴過程;在每一箇中間結點尋找一個劃分;

 

資訊熵:

資訊增益:求特增的資訊增益,再用資訊增益最大的特徵來劃分屬性;

剪枝方法(訓練樣本時,有可能造成分支過多,主動去掉一些分支):是決策樹對付過擬合的主要手段

 

 

3. 神經網路:

神經元模型:

啟用函式:sigmoid

多層網路:包含隱含的網路

 

BP演算法:

BP演算法:誤差逆傳播演算法:是一個迭代學習演算法,在迭代的每一輪中採用廣義感知機;基於梯度下降策略;

標準BP演算法,累積BP演算法;

 

緩解過擬合的策略:

早停:若訓練誤差連續n輪的變化小於b,則停止訓練;若訓練誤差降低,驗證誤差升高,則停止訓練;

正則化:在誤差目標函式中增加一項描述網路複雜度;

 

全域性最小,區域性最小:

神經網路的訓練過程可以看作是一個引數尋優的過程;在引數空間中,尋找一組最優引數使得誤差最小;

跳出區域性最小的常見策略:

不同的初始引數;

隨機擾動;

遺傳演算法;

 

其他常見神經網路:

RBF勁向基函式:分類任務中出bp之外最常用

ART:‘競爭學習’的代表

SOM自組織特徵對映:最常用的聚類方法

etc

 

最常用的深度學習模型:卷積神經網路CNN

深度學習常用軟體包:caffe,matconvnet,torch

 

 

3.支援向量機svm

對偶問題:拉格朗日函式

解的稀疏性:

核函式kernel function:的選擇成為支援向量機效能的關鍵;

e不敏感損失函式;

4.貝葉斯分類器

    貝葉斯定理

   先驗概力,後驗概力

  極大力擬然估算

  EM演算法:是估算隱變數的利器;

 

5.整合學習

      通過構建並結合多個學習器來完成學習任務。

      同質整合:整合中包含同型別學習器

      異質整合:個體學習器由不同的學習演算法生成

      整合學習方法:

      序列化方法:adaboost,gradientboost,lpboost

      並行化方法:bagging

6.聚類:

將樣本資料劃分為多個族;

原型據類:kmeans

1.隨機選取k個點作為族中心

2.將其他樣本點根據與族中心的距離,劃分給最近的族;

3.根新各族的均值向量,將其作為族中心;

4.若所有族中心沒有發生變化,則停止,否則執行2

密度據類:dbscan

層次據類:agnes

 

-----------------------------

1.用遞迴的視角來看決策樹,根據特徵選擇分支條件,不斷的生成子樹,所有的子陣列成了最後的決策樹。為了防止過擬合,限制模型的複雜度,通常都會通過剪枝(Pruning)來正則化決策樹

例如下面根據回家時間、約會情況

2.熵是隨機變數不確定性的度量,不確定性越大,熵值就越大.

3.正則化概述(Regularization):理解為在最小化loss function 的同時,保證模型的複雜度儘可能的低,防止出現過擬合(overfitting)。 它一方面可用於控制模型的複雜度,提高模型的範化能力;另一方面還可以用於約束模型的特性,例如稀疏、平滑特性等

4.機器學習技法-AdaBoost元演算法:通過組合多個弱分類器(hypothese),構建一個更強大的分類器(hypothese),從而達到“三個臭皮匠賽過諸葛亮”的效果

5.CART相比AdaBoost的效率會高一些,因為前者是“有條件的切”,後者是完全的“橫、豎”。

6.隨機森林(RF):通過Bagging的方式將許多個CART組合在一起,不考慮計算代價,通常樹越多越好.

 7.熵是隨機變數不確定性的度量,不確定性越大,熵值就越大。

機器學習效能評估指標

分類:         準確裡accuracy,         精確裡precison,         召回裡recall         ROC         AUC

迴歸:          平均絕對誤差MAE(Mean Absolute Error)又被稱為 l 1  範數損失(l1-norm loss),          平均平方誤差 MSE(Mean Squared Error)又被稱為 l 2  範數損失(l2-norm loss).

 

ROC 曲線可以用於評價一個分類器好壞 在邏輯迴歸裡面,我們會設一個閾值,大於這個值的為正類,小於這個值為負類。如果我們減小這個閥值,那麼更多的樣本會被識別為正類。這會提高正類的識別率,但同時也會使得更多的負類被錯誤識別為正類。為了形象化這一變化,在此引入 ROC TPR 代表能將正例分對的概率,FPR 代表將負例錯分為正例的概率.

AUC:定義為ROC曲線下的面積

 ------------------------------------------------

 

/場合

樸素貝葉

對小規模的資料表現很好,適合多分類任務,適合增量式訓練

對輸入資料的表達形式很敏感

決策是選擇一個屬性進行分枝

計算量簡單,可解釋性強,比較適合處理有缺失屬性值的樣本,能夠處理不相關的特徵

容易過擬合(後續出現了隨機森林,減小了過擬合現象);

logsitc迴歸 是用最大似然估計來學習的用於分類

分類時計算量非常小,速度很快,儲存資源低

容易欠擬合,一般準確度不太高, 只能處理兩分類問題

 線性回  用於迴歸

實現簡單,計算簡單

                   不能擬合非線性資料

KNN

可以用來做分類也可以用來做迴歸, 準確度高,對資料沒有假設

計算量大, 需要大量的記憶體

 

參考大神 陳天奇的blog:http://homes.cs.washington.edu/~tqchen
http://homes.cs.washington.edu/~tqchen/pdf/BoostedTree.pdf

學習資料:

1. 特徵工程技術和方法概括總結:http://blog.csdn.net/jasonding1354/article/details/47171115

2. 乾貨:結合Scikit-learn介紹幾種常用的特徵選擇方法:http://dataunion.org/14072.html

3. 參考資料2的英文原版:http://machinelearningmastery.com/discover-feature-engineering-how-to-engineer-features-and-how-to-get-good-at-it/

4. 機器學習之特徵工程:http://www.csuldw.com/2015/10/24/2015-10-24%20feature%20engineering/

5. 特徵提取與特徵選擇: http://lanbing510.info/2014/10/22/Feature-Extraction-Selection.html

6. PCA與LDA:http://www.cnblogs.com/LeftNotEasy/archive/2011/01/08/lda-and-pca-machine-learning.html 

7。http://www.cnblogs.com/wxquare/p/5484636.html ml 學習筆記

8。https://class.coursera.org/ntumltwo-002/lecture

相關文章