机器学习之分类模型
這次博客準備寫一系列有關機器學習的分類模型,大家都知道分類模型有很多,有KNN,SVM,邏輯回歸,決策樹,隨機森林,樸素貝葉斯等。
下面一一介紹這些算法的思想以及優缺點:
KNN(K近鄰法)
K-近鄰是一種分類算法,其思路是:如果一個樣本在特征空間中的k個最相似(即特征空間中最鄰近)的樣本中的大多數屬于某一個類別,則該樣本也屬于這個類別。找到訓練集樣本空間中的K個距離預測樣本x最近的點,統計K個距離最近的點的類別,找出個數最多的類別,將x歸入該類別。
優點:
(1)簡單有效,容易理解和實現。
(2)重新訓練的代價較低(類別體系的變化和訓練集的變化)。
(3)由于KNN方法主要依賴周圍有限的鄰近的樣本,而不是靠判別類域的方法來確定所屬類別的,因此對于類域的交叉或重疊較多的待分樣本集來說,KNN方法較其他方法更為適合。
(4) 適合處理多模分類和多標簽分類問題。
缺點:
(1)是lazy learning方法(決策在測試時生成),比一些積極學習的算法要慢;
(2)計算量比較大(需要計算到所有樣本點的距離),需對樣本點進行剪輯;
(3)樣本不平衡會導致預測偏差較大,可采用加權投票法改進;
(4)容易對維度災難敏感;
(5)類別評分不是規格化的(不像概率評分)。
SVM(支持向量機)
在SVM中,選擇一個超平面,它能最好地將輸入變量空間劃分為不同的類,要么是0,要么是1。在2維情況下,可以將它看做一根線。支持向量機是一種二類分類模型,他的基本模型是定義在特征空間上的間隔最大的線性分類器,間隔最大使它有別于感知機;支持向量機還包括核技巧,這使它成為實質上的非線性分類器。
(1)它是針對線性可分情況進行分析,對于線性不可分的情況,通過使用非線性映射算法將低維輸入空間線性不可分的樣本轉化為高維特征空間使其線性可分,從而使得高維特征空間采用線性算法對樣本的非線性特征進行線性分析成為可能。
(2)它基于結構風險最小化理論之上在特征空間中構建最優超平面,使得學習器得到全局最優解,并且在整個樣本空間的期望以某個概率滿足一定上界。
優點:
(1)適合小樣本情況下的機器學習問題;
(2)可以提高泛化性能;
(3)可以解決高維問題;
(4)可以解決非線性問題;
(5)可以避免神經網絡結構選擇和局部極小點問題。
缺點:
(1)對缺失數據敏感;
(2)對非線性問題沒有通用解決方案,必須謹慎選擇Kernel function來處理;
(3)計算復雜度高。主流的算法是O(n^2)的,大規模數據計算耗時。
decision tree(決策樹)
決策樹是一種基本的分類方法,其模型就像一棵樹來表示我們的決策過程,這棵樹可以是二叉樹(比如CART只能是二叉樹),也可以是多叉樹(比如ID3、C4.5可以是多叉樹或二叉樹,在ID3算法中我們使用了信息增益來選擇特征,信息增益大的優先選擇。在C4.5算法中,采用了信息增益比來選擇特征,以減少信息增益容易選擇特征值多的特征的問題。但是無論是ID3還是C4.5,都是基于信息論的熵模型的,這里面會涉及大量的對數運算。能不能簡化模型同時也不至于完全丟失熵模型的優點呢?有!CART分類樹算法使用基尼系數來代替信息增益比,基尼系數代表了模型的不純度,基尼系數越小,則不純度越低,特征越好。)。根節點包含整個樣本集,每個葉節點都對應一個決策結果(注意,不同的葉節點可能對應同一個決策結果),每一個內部節點都對應一次決策過程或者說是一次屬性測試。從根節點到每個葉節點的路徑對應一個判定測試序列。
優點:
(1) 計算復雜度不高,易于理解和解釋;
(2) 數據預處理階段比較簡單,且可以處理缺失數據;
(3) 能夠同時處理數據型和分類型屬性,且可對有許多屬性的數據集構造決策樹,其他技術往往需要數據屬性的單一;
(4) 是一個白盒模型,若給定一個觀察模型,則根據所產生的決策樹很容易推斷出相應的邏輯表達式;
(5) 在相對短的時間內能夠對大數據集合做出可行且效果良好的分類結果。
缺點:
(1)對于各類別樣本數量不一致數據,信息增益偏向于那些具有更多數值的特征。因此建議用平衡的數據訓練決策樹;
(2)決策樹的結果可能是不穩定的,因為在數據中一個很小的變化可能導致生成一個完全不同的樹,這個問題可以通過使用集成決策樹來解決;
(3)實際決策樹學習算法是基于啟發式算法,如貪婪算法,尋求在每個節點上的局部最優決策。這樣的算法不能保證返回全局最優決策樹;
(4)忽略屬性之間的相關性;
(5)易于過擬合;
(6)對噪聲數據較為敏感。
Random Forest(隨機森林)
隨機森林(Random Forest)是Bagging的一個變體。Ramdon Forest在以決策樹為基學習器構建Bagging集成的基礎上,進一步在決策樹的訓練過程中引入隨機屬性選擇.它屬于集成學習的一種組合分類算法(確切說是屬于bagging),集成學習的核心思想就是將若干個弱(基)分類器組合起來,得到一個分類性能顯著優越的強分類器。如果各弱分類器之前沒有強依賴關系、可并行生成,就可以使用隨機森林算法。隨機森林利用自主抽樣法(bootstrap)從原數據集中有放回地抽取多個樣本,對抽取的樣本先用弱分類器—決策樹進行訓練,然后把這些決策樹組合在一起,通過投票得出最終的分類或預測結果。
優點:
(1)表現性能好,與其他算法相比有著很大優勢。
(2)隨機森林能處理很高維度的數據(也就是很多特征的數據),并且不用做特征選擇。
(3)在訓練完之后,隨機森林能給出哪些特征比較重要。
(4)訓練速度快,容易做成并行化方法(訓練時,樹與樹之間是相互獨立的)。
(5)對于不平衡數據集來說,隨機森林可以平衡誤差。當存在分類不平衡的情況時,隨機森林能提供平衡數據集誤差的有效方法。
缺點:
(1)當隨機森林中的決策樹個數很多時,訓練時需要的空間和時間會比較大
(2)隨機森林還有許多不好解釋的地方,有點算是黑盒模型
(3)在某些噪音比較大的樣本集上,隨機森林容易陷入過擬合
Logistic regression(邏輯斯諦回歸)
邏輯回歸類似于線性回歸,適用于因變量不是一個數值字的情況 (例如,一個“是/否”的響應)。它雖然被稱為回歸,但卻是基于根據回歸的分類,將因變量分為兩類。邏輯回歸用于預測二分類的輸出。例如,如果信用卡公司構建一個模型來決定是否通過向客戶的發行信用卡申請,它將預測客戶的信用卡是否會“違約”。邏輯回歸是一種非線性回歸模型,相比于線性回歸,它多了一個sigmoid函數(或稱為Logistic函數)。Sigmoid函數(S函數)是一種具有S形曲線,邏輯回歸是一種分類算法,主要用于二分類問題。
優點:
(1)計算代價不高,容易理解實現。LR在時間和內存需求上相當高效。
(2)LR對于數據中小噪聲的魯棒性很好,并且不會受到輕微的多重共線性的特別影響。
缺點:
(1)容易欠擬合,分類精度不高。
(2)數據特征有缺失或者特征空間很大時表現效果并不好。
Naive Bayes(樸素貝葉斯分類器)
樸素貝葉斯法是基于貝葉斯定理與特征條件獨立假設的分類方法。對于給定的訓練數據集,首先基于特征條件獨立假設學習輸入/輸出的聯合概率分布;然后基于此模型,對給定的輸入x,利用貝葉斯定理求出后驗概率最大的輸出y。
優點:在數據較少的情況下依然有效,可以處理多類別問題,接受大量數據訓練,查詢時具有高速度
缺點:難以滿足輸入特征之間相互獨立的前提
參考資料:
1、https://mp.weixin.qq.com/s?__biz=Mzk0OTI1OTQ2MQ%3D%3D&chksm=c359b739f42e3e2f795ec2e9e6e1c36441446eb6ca51605360baf18b06f9fc42187122e513b7&idx=1&mid=2247494291&scene=21&sn=58272650ffd91f53007b34acb787b57b#wechat_redirect
2、https://blog.csdn.net/fengdu78/article/details/119951360
3、https://www.cnblogs.com/xiaofengzai/p/14295711.html?ivk_sa=1024320u
4、https://zhuanlan.zhihu.com/p/82114104
5、https://www.cnblogs.com/qiuyuyu/p/11399697.html
6、https://www.sohu.com/a/225585188_556060
7、https://baijiahao.baidu.com/s?id=1659794715861240774&wfr=spider&for=pc
8、https://my.oschina.net/u/2511129/blog/782201
總結
- 上一篇: linux下添加,删除,修改,查看用户和
- 下一篇: tim电脑在线是什么意思 QQTIM移动