分類是一種透過建模預測樣本所屬型別的方法,其目的是透過對樣本特徵的衡量將它歸入正確的類。分類模型也有兩種,一種是可以用一條線或一個平面將資料劃分為兩類,可以透過建立迴歸平面的方式進行分類;第二種就是無明顯線性可分關係,這時候認為長得相似的樣本值也相同。常用演算法如下:

一、感知機

(一)原理

感知機是一種二分類模型,屬於很早提出來的分類模型了,透過建立迴歸平面進行資料劃分。其原理是,在樣本空間構建一個分離超平面將資料分類。其目的是極小化誤分類點到分離超平面的距離

(二)優缺點

優點:

簡單易懂,程式設計容易實現

是支援向量機和神經網路的基礎

缺點:

目前在工業上使用較少

只能處理線性可分資料

無法解決迴歸問題

二、支援向量機SVM

(一)原理

支援向量機是一個分類學習演算法,其目的是要將輸入的例項分為兩類。分類演算法的目的是計算出一個分離超平面將例項分為兩類,當分類的例項距離這個超平面越遠,越不可能誤分類,所以支援向量機的目的就是得到,能讓例項距離很遠的分離超平面。對未知的新例項有很好的分類預測能力。並且可以使用核函式將非線性資料對映到高維空間進行求解解決非線性問題。

(二)優缺點

優點

可以解決高維問題,即大型特徵空間;

能夠處理非線性特徵的相互作用;

無需依賴整個資料;

可以提高泛化能力;

需要對資料提前歸一化,很多人使用的時候忽略了這一點,畢竟是基於距離的模型,所以LR也需要歸一化

缺點

當觀測樣本很多時,效率並不是很高;

一個可行的解決辦法是模仿隨機森林,對資料分解,訓練多個模型,然後求平均,時間複雜度降低p倍,分多少份,降多少倍

對非線性問題沒有通用解決方案,有時候很難找到一個合適的核函式;

對缺失資料敏感;

三、邏輯迴歸

(一)原理

實際中最常用的就是二分類的Logistic迴歸,用於分類。Logistic迴歸本質上是線性迴歸,先把特徵進行線性求和,然後根據求和的得分進行預測。

其損失函式的目的是增加對分類影響較大的資料點的權重,減少與分類關係較小的資料點的權重

(二)主要用途

•尋找危險因素:尋找某一疾病的危險因素等;

•預測:根據模型,預測在不同的自變數情況下,發生某病或某種情況的機率有多大;

•判別:實際上跟預測有些類似,也是根據模型,判斷某人屬於某病或屬於某種情況的機率有多大,也就是看一下這個人有多大的可能性是屬於某病。

(三)優缺點

優點:

預測結果是界於0和1之間的機率;

可以適用於連續性和類別性自變數;

容易使用和解釋;

缺點:

當特徵空間很大時,邏輯迴歸的效能不是很好;

容易欠擬合,一般準確度不太高;

不能很好地處理大量多類特徵或變數;只能處理兩分類問題(在此基礎上衍生出來的Softmax可以用於多分類),且必須線性可分;

預測結果呈“S”型,因此從log(odds)log(odds)向機率轉化的過程是非線性的,在兩端隨著log(odds)log(odds)值的變化,機率變化很小,邊際值太小,slopeslope太小,而中間機率的變化很大,很敏感。 導致很多區間的變數變化對目標機率的影響沒有區分度,無法確定閥值;

對於非線性特徵,需要進行轉換;

四、樸素貝葉斯:

(一)基本原理

樸素貝葉斯是以已知條件求未知的一種方法。其透過尋找影響結果的特徵構建已知特徵與結果的關係,並利用極大似然估計法用歷史資料估計計算所需資料求解得出結論的過程。

(二)優缺點

優點

樸素貝葉斯模型發源於古典數學理論,有著堅實的數學基礎,以及穩定的分類效率;

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

對缺失資料不太敏感,演算法也比較簡單,常用於文字分類。

缺點

需要計算先驗機率;

分類決策存在錯誤率;

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

五、knn演算法(可用於分類和迴歸)

(一)基本原理

knn模型認為長得像的資料各方面資訊也相近。knn是一種常用的監督學習方法,給定測試樣本,基於某種距離度量找出訓練集中與其最靠近的k個訓練樣本,然後基於這k個“鄰居”的資訊來進行預測。

判定方法

在分類任務中的可使用“投票法”,即選擇這k個樣本中出現最多的類別標記作為預測結果;

在迴歸任務中可使用“平均法”,即將這k個樣本的標記平均值作為預測結果。

還可以根據距離遠近,對樣本進行加權,實現加權平均或加權投票。

(二)注意點

1、距離度量方法不同,找到的“近鄰”也可能有顯著區別,進而導致分類結果不同。通常是用歐式距離,即平方和開根號。

2、k在其中是一個相當重要的引數,k取值不同時,分類結果會有顯著不同。

(三)優缺點

優點

適合對稀有事件進行分類(例如當流失率很低時,比如低於0。5%,構造流失預測模型)

特別適合於多分類問題(multi-modal,物件具有多個類別標籤),例如根據基因特徵來判斷其功能分類,kNN比SVM的表現要好

理論成熟,思想簡單,既可以用來做分類也可以用來做迴歸;

可用於非線性分類;

訓練時間複雜度為O(n);

對資料沒有假設,準確度高,對outlier不敏感;

缺點

計算量大;

樣本不平衡問題(即有些類別的樣本數量很多,而其它樣本的數量很少);

需要大量的記憶體。

六、決策樹

(一)原理

可以解決線性不可分問題,適用於離散型資料。其實質也是認為長得相似的樣本的類別會相同,決策樹實質就是將樣本資料進行層層細分,依據資料的特徵劃分為不同的塊,認為每塊資料的值相同。進行預測時只要確定預測的資料特徵屬於哪一塊就可以確定最終的結果。

決策樹是一種典型的分類方法,首先對資料進行處理,利用歸納演算法生成可讀的規則和決策樹,然後使用決策對新資料進行分析。本質上決策樹是透過一系列規則對資料進行分類的過程。

進行劃分時的關注點:

如何確定分類的特徵屬性:資訊增益、資訊增益比、基尼指數

(二)優缺點

優點

計算簡單,易於理解,可解釋性強;

比較適合處理有缺失屬性的樣本;

能夠處理不相關的特徵;

在相對短的時間內能夠對大型資料來源做出可行且效果良好的結果。

缺點

可能會建立過於複雜的規則,即過擬合。

決策樹有時候是不穩定的,因為資料微小的變動,可能生成完全不同的決策樹。

實際決策樹學習演算法是基於試探性演算法,例如在每個節點實現區域性最優值的貪心演算法。 這樣的演算法是無法保證返回一個全域性最優的決策樹。可以透過隨機選擇特徵和樣本訓練多個決策樹來緩解這個問題。

有些問題學習起來非常難,因為決策樹很難表達。如:異或問題、奇偶校驗或多路複用器問題

如果有些因素佔據支配地位,決策樹是有偏的。因此建議在擬合決策樹之前先平衡資料的影響因子。

不支援線上學習,於是在新樣本到來後,決策樹需要全部重建