邏輯回歸模型
邏輯斯蒂回歸的直觀理解
在機器學習世界中攀细,邏輯回歸是一種參數(shù)分類模型,盡管名稱中有“回歸”一詞桦山。
這意味著邏輯回歸模型是具有一定數(shù)量的固定數(shù)量參數(shù)的模型秕岛,這取決于輸入特征的數(shù)量,并且它們輸出分類預測折汞,例如倔幼,植物是否屬于某個物種。實際上爽待,邏輯回歸背后的理論與線性回歸的理論非常相似损同。
邏輯回歸的應用范圍:
1 因變量為二分類的分類變量或某事件的發(fā)生率,并且是數(shù)值型變量鸟款。但是需要注意膏燃,重復計數(shù)現(xiàn)象指標不適用于Logistic回歸。
2 殘差和因變量都要服從二項分布何什。二項分布對應的是分類變量组哩,所以不是正態(tài)分布,進而不是用最小二乘法处渣,而是最大似然法來解決方程估計和檢驗問題伶贰。
3 自變量和Logistic概率是線性關系
4 各觀測對象間相互獨立
邏輯回歸的優(yōu)缺點:
優(yōu)點:
(1)訓練速度較快,分類的時候罐栈,計算量僅僅只和特征的數(shù)目相關黍衙;
(2)簡單易理解,模型的可解釋性非常好荠诬,從特征的權重可以看到不同的特征對最后結果的影響琅翻;
(3)適合二分類問題,不需要縮放輸入特征柑贞;
(4)內存資源占用小望迎,因為只需要存儲各個維度的特征值;
缺點:
(1)不能用Logistic回歸去解決非線性問題凌外,因為Logistic的決策面試線性的辩尊;
(2)對多重共線性數(shù)據較為敏感;
(3)很難處理數(shù)據不平衡的問題康辑;
(4)準確率并不是很高摄欲,因為形式非常的簡單(非常類似線性模型),很難去擬合數(shù)據的真實分布疮薇;
(5)邏輯回歸本身無法篩選特征胸墙,有時會用gbdt來篩選特征,然后再上邏輯回歸
決策樹模型
決策樹的模型直觀理解
決策樹(Decision Tree)是機器學習中一種常見的算法按咒,它的思想非常樸素迟隅,就像我們平時利用選擇做決策的過程。決策樹是一種基本的分類與回歸方法,當被用于分類時叫做分類樹智袭,被用于回歸時叫做回歸樹奔缠。
決策樹的應用范圍:
1、具有決策者期望達到的明確目標吼野;
2校哎、存在決策者可以選擇的兩個以上的可行備選方案;
3瞳步、存在著決策者無法控制的兩種以上的自然狀態(tài)(如氣候變化闷哆、市場行情、經濟發(fā)展動向等)单起;
5抱怔、不同行動方案在不同自然狀態(tài)下的收益值或損失值(簡稱損益值)可以計算出來;
6嘀倒、決策者能估計出不同的自然狀態(tài)發(fā)生概率
決策樹的優(yōu)缺點:
優(yōu)點:
(1)速度快: 計算量相對較小, 且容易轉化成分類規(guī)則. 只要沿著樹根向下一直走到葉, 沿途的分裂條件就能夠唯一確定一條分類的謂詞.
(2)準確性高: 挖掘出來的分類規(guī)則準確性高, 便于理解, 決策樹可以清晰的顯示哪些字段比較重要, 即可以生成可以理解的規(guī)則.
(3)可以處理連續(xù)和種類字段
(4)不需要任何領域知識和參數(shù)假設
(5)適合高維數(shù)據
缺點:
(1)對于各類別樣本數(shù)量不一致的數(shù)據, 信息增益偏向于那些更多數(shù)值的特征
(2)容易過擬合
(3)忽略屬性之間的相關性
集成模型集成方法
通過組合多個學習器來完成學習任務屈留,通過集成方法,可以將多個弱學習器組合成一個強分類器括儒,因此集成學習的泛化能力一般比單一分類器要好绕沈。集成方法主要包括Bagging和Boosting锐想,Bagging和Boosting都是將已有的分類或回歸算法通過一定方式組合起來帮寻,形成一個更加強大的分類。兩種方法都是把若干個分類器整合為一個分類器的方法赠摇,只是整合的方式不一樣固逗,最終得到不一樣的效果。常見的基于Baggin思想的集成模型有:隨機森林藕帜、基于Boosting思想的集成模型有:Adaboost烫罩、GBDT、XgBoost洽故、LightGBM等贝攒。
模型評估方法
1.準確率accuracy: 被正確分類的樣本數(shù)/樣本總數(shù)
解讀:總共有100個樣本,其中有90個樣本是預測正確的时甚,則準確率為90%
缺點:不能反映模型區(qū)分正反例的能力
2.精確率precision: 被正確分類的正例樣本數(shù)/總的正例樣本數(shù)
解讀:一共有100個樣本隘弊,有50個正例和50個反例,有90個樣本是預測正確的荒适,其中被分類正確的正例樣本數(shù)為50梨熙,被分類正確的反例樣本數(shù)為40,則精確率為100%刀诬。
即該模型在預測正例方面的準確率是100%咽扇,
3.召回率recall: 被正確分類的正例樣本數(shù)/所有被正確分類的樣本數(shù)
解讀:一共有100個樣本,有50個正例和50個反例,有90個樣本是預測正確的质欲,其中被分類正確的正例樣本數(shù)為50树埠,被分類正確的反例樣本數(shù)為40,則召回率為50/90%把敞。
即該模型可以正確識別出所有正例的概率為0.555%
3.關系:
要全面評估模型的有效性弥奸,必須同時檢查精確率和召回率。遺憾的是奋早,精確率和召回率往往是此消彼長的情況盛霎。也就是說,提高精確率通常會降低召回率值耽装,反之亦然愤炸。
召回率(查全率)表達的是模型找到數(shù)據集中相關實例的能力,而精度(查準率)表達模型找到的數(shù)據點中實際相關的比例掉奄。
數(shù)據集劃分總結
對于數(shù)據量充足的時候规个,通常采用留出法或者k折交叉驗證法來進行訓練/測試集的劃分;
對于數(shù)據集小且難以有效劃分訓練/測試集時使用自助法姓建;
對于數(shù)據集小且可有效劃分的時候最好使用留一法來進行劃分诞仓,因為這種方法最為準確
對于數(shù)據集的劃分,我們通常要保證滿足以下兩個條件:
1. 訓練集和測試集的分布要與樣本真實分布一致速兔,即訓練集和測試集都要保證是從樣本真實分布中獨立同分布采樣而得墅拭;
2.? 訓練集和測試集要互斥對于數(shù)據集的劃分有三種方法:留出法,交叉驗證法和自助法涣狗,
①留出法:留出法是直接將數(shù)據集D劃分為兩個互斥的集合谍婉,其中一個集合作為訓練集S,另一個作為測試集T镀钓。需要注意的是在劃分的時候要盡可能保證數(shù)據分布的一致性穗熬,即避免因數(shù)據劃分過程引入額外的偏差而對最終結果產生影響。為了保證數(shù)據分布的一致性丁溅,通常我們采用分層采樣的方式來對數(shù)據進行采樣唤蔗。
②交叉驗證法:k折交叉驗證通常將數(shù)據集D分為k份,其中k-1份作為訓練集窟赏,剩余的一份作為測試集妓柜,這樣就可以獲得k組訓練/測試集,可以進行k次訓練與測試饰序,最終返回的是k個測試結果的均值领虹。交叉驗證中數(shù)據集的劃分依然是依據分層采樣的方式來進行。
對于交叉驗證法求豫,其k值的選取往往決定了評估結果的穩(wěn)定性和保真性塌衰,通常k值選取10诉稍。
當k=1的時候,我們稱之為留一法
③自助法:我們每次從數(shù)據集D中取一個樣本作為訓練集中的元素最疆,然后把該樣本放回杯巨,重復該行為m次,這樣我們就可以得到大小為m的訓練集努酸,在這里面有的樣本重復出現(xiàn)服爷,有的樣本則沒有出現(xiàn)過,我們把那些沒有出現(xiàn)過的樣本作為測試集获诈。
進行這樣采樣的原因是因為在D中約有36.8%的數(shù)據沒有在訓練集中出現(xiàn)過仍源。留出法與交叉驗證法都是使用分層采樣的方式進行數(shù)據采樣與劃分,而自助法則是使用有放回重復采樣的方式進行數(shù)據采樣
模型調參的三種常用方法:
1.貪心算法
(1)概念:
所謂貪心算法是指舔涎,在對問題求解時笼踩,總是做出在當前看來是最好的選擇。也就是說亡嫌,不從整體最優(yōu)上加以考慮嚎于,它所做出的僅僅是在某種意義上的局部最優(yōu)解。
貪心算法沒有固定的算法框架挟冠,算法設計的關鍵是貪心策略的選擇于购。必須注意的是,貪心算法不是對所有問題都能得到整體最優(yōu)解知染,選擇的貪心策略必須具備無后效性(即某個狀態(tài)以后的過程不會影響以前的狀態(tài)肋僧,只與當前狀態(tài)有關。)
所以持舆,對所采用的貪心策略一定要仔細分析其是否滿足無后效性色瘩。
(2)思路:
建立數(shù)學模型來描述問題
把求解的問題分成若干個子問題
對每個子問題求解伪窖,得到子問題的局部最優(yōu)解
把子問題的解局部最優(yōu)解合成原來問題的一個解
? (3)存在的問題:
不能保證求得的最后解是最佳的
不能用來求最大值或最小值的問題
只能求滿足某些約束條件的可行解的范圍
2.網格調參
(1)概念:
一種調參的方法逸寓,當你算法模型效果不是很好時,可以通過該方法來調整參數(shù)覆山,通過循環(huán)遍歷竹伸,嘗試每一種參數(shù)組合,返回最好的得分值的參數(shù)組合簇宽。每個參數(shù)都能組合在一起勋篓,循環(huán)過程就像是在網格中遍歷,所以叫網格搜索魏割。
(2)存在的問題:
原來的數(shù)據集分割為訓練集和測試集之后譬嚣,其中測試集起到的作用有兩個,一個是用來調整參數(shù)钞它,一個是用來評價模型的好壞拜银,這樣會導致評分值會比實際效果要好殊鞭。(因為我們將測試集送到了模型里面去測試模型的好壞,而我們目的是要將訓練模型應用在沒使用過的數(shù)據上尼桶。
(3)解決方式:
把數(shù)據集劃分三份操灿,一份是訓練集(訓練數(shù)據),一份是驗證集(調整參數(shù))泵督,一份是測試集(測試模型)趾盐。
為了防止模型過擬合,我們使用交叉驗證的方法小腊。
3.貝葉斯調參
(1)概念
貝葉斯優(yōu)化通過基于目標函數(shù)的過去評估結果建立替代函數(shù)(概率模型)救鲤,來找到最小化目標函數(shù)的值。貝葉斯方法與隨機或網格搜索的不同之處在于秩冈,它在嘗試下一組超參數(shù)時蜒简,會參考之前的評估結果,因此可以省去很多無用功漩仙。
超參數(shù)的評估代價很大搓茬,因為它要求使用待評估的超參數(shù)訓練一遍模型,而許多深度學習模型動則幾個小時幾天才能完成訓練队他,并評估模型卷仑,因此耗費巨大。貝葉斯調參發(fā)使用不斷更新的概率模型麸折,通過推斷過去的結果來“集中”有希望的超參數(shù)锡凝。
(2)貝葉斯優(yōu)化問題有四個部分:
目標函數(shù):我們想要最小化的內容,在這里垢啼,目標函數(shù)是機器學習模型使用該組超參數(shù)在驗證集上的損失窜锯。
域空間:要搜索的超參數(shù)的取值范圍
優(yōu)化算法:構造替代函數(shù)并選擇下一個超參數(shù)值進行評估的方法。
結果歷史記錄:來自目標函數(shù)評估的存儲結果芭析,包括超參數(shù)和驗證集上的損失锚扎。
總結:這次沒有放代碼的原因主要,很多代碼我自己都沒法理解馁启,所以對于這一章的工作驾孔,我主要是從理論層面去理解,搞懂里面的原理部分惯疙。首先是了解了各類模型的基本原理翠勉,然后在建模的過程中通過劃分數(shù)據集、交叉驗證等方式對模型的性能進行評估驗證霉颠。最后我們對模型進行調參对碌,這部分介紹了貪心調參、網格搜索調參蒿偎、貝葉斯調參共三種調參手段朽们。