1. 程式人生 > >機器學習演算法之分類

機器學習演算法之分類

機器學習分類演算法:

3.1. Logistic 迴歸 (對數機率迴歸)

Logistic Regression不光可以做二元分類,也可以解決多元分類問題。邏輯回國多元分類

3.2. 最小二乘迴歸(Ordinary Least Squares Regression)

3.3. 貝葉斯分類

- 樸素貝葉斯(Navie Bayesian Classification)
    prior probability 先驗概率
    posterior probability後驗概率

貝葉斯

3.4. 分類樹

決策樹(Decision Tree)可分為分類樹與迴歸樹。分類樹使用資訊增益或資訊增益比率來劃分節點,每個節點樣本的類別情況投票(voting)決定測試樣本的類別。下圖[4]是在西瓜資料集2.0上基於資訊增益生成的決策樹。

decision tree

- ID3(Iterative Dichotomiser)迭代二分器
    - 最優劃分屬性方法:資訊增益 (Information Gain)
- C4.5
    - 最優劃分屬性方法:資訊增益率 (Gain ratio)
- CART (分類與迴歸樹:Classification and Regression Tree)
    - 可做分類也可做迴歸分析
    - 最優劃分屬性方法:基尼指數 (Gini index)

3.5. 支援向量機 (Support Vector Machine)

SVM可通過升維來解決在低維中線性不可分的問題,旨在找到一個超平面(Hyperlane)作為線性決策邊界(decision boundry),最大化分類邊界,將特徵空間中的資料更好的分隔開。SVM有著優秀的泛化能力,但更適用於小樣本訓練,因為svm對於記憶體消耗很大。若資料量很大,訓練時間會較長。且SVM在小樣本上能夠得到比其他演算法好很多的結果。

svm

3.6. KNN(K-Nearest Negihbour)

K近鄰是基於例項的分類(instance-based learning) ,屬於惰性學習 (lazy learning) 。比如在現實中,預測某一個房子的價格,就參考最相似的K個房子的價格,比如距離最近、戶型最相似等等。KNN沒有明顯的訓練學習過程,不同K值的選擇都會對KNN演算法的結果造成重大影響。如下圖所示,k=1與k=3預測的類別是不同的。

KNN