-
SVM村缸!
參考資料支持向量機(jī)通俗導(dǎo)論(理解SVM的三層境界)
參考資料支持向量機(jī)(SVM)從入門到放棄再到掌握
支持向量機(jī)(Support Vector Machine)是Cortes和Vapnik于1995年首先提出的甸祭。
1.支持向量機(jī)主要是解決什么問題的液样?
SVM主要用于解決分類問題座咆,它的目的是學(xué)會(huì)一個(gè)分類函數(shù)或分類模型(或者叫做分類器) 摧茴。
2.應(yīng)用場(chǎng)景
支持向量機(jī)本身便是一種監(jiān)督式學(xué)習(xí)的方法印机,它廣泛地應(yīng)用于統(tǒng)計(jì)分類以及回歸分析中蛔翅。
3.分類性質(zhì)
通俗來講,它是一種二類分類模型充包,其基本模型定義為特征空間上的間隔最大的線性分類器副签,即支持向量機(jī)的學(xué)習(xí)策略便是間隔最大化,最終可轉(zhuǎn)化為一個(gè)凸二次規(guī)劃問題的求解基矮。
以二維平面為例淆储,如下圖所示,二維空間中有粉色和藍(lán)色的點(diǎn)家浇,我們想用一條線來將他們分隔開本砰,也就是圖中紅色這條直線,這條直線就是一個(gè)分類器钢悲。
此時(shí)我們稱這些數(shù)據(jù)是線性可分的点额。
在一維空間中舔株,分類器是一個(gè)點(diǎn);在二維空間中还棱,分類器是一條直線载慈;在三維空間中,分類器是一個(gè)平面珍手;在多維空間中办铡,分類器是一個(gè)超平面。
4.分類的數(shù)學(xué)定義
以二維空間為例琳要,給定訓(xùn)練樣本集, 線性分類器基于訓(xùn)練樣本在二維空間中找到一條直線來分開二類樣本寡具。
接下來,我們拓展到多維數(shù)據(jù)焙蹭。我們假定線性分類函數(shù)為晒杈。
顯然,如果f(x) = 0 孔厉,那么x 是位于超平面上的點(diǎn)拯钻。我們不妨要求對(duì)于所有滿足f(x) < 0 的點(diǎn),其對(duì)應(yīng)的y 等于-1 撰豺,而f(x) > 0 則對(duì)應(yīng)y = 1 的數(shù)據(jù)點(diǎn)粪般。
5.分類中會(huì)有許多個(gè)線性分類函數(shù)都滿足要求,該如何選擇污桦?
在多維空間中亩歹,能夠劃分樣本集的超平面有許多個(gè),而我們要選擇的凡橱,就是劃分間隔最大的小作,也就是說這個(gè)超平面離兩類樣本都足夠遠(yuǎn),使得“間隔”最大稼钩。
6.“間隔”分類
“間隔”分為函數(shù)間隔和幾何間隔顾稀。
函數(shù)間隔定義為:,定義超平面關(guān)于訓(xùn)練數(shù)據(jù)集 的函數(shù)間隔為超平面關(guān)于中所有樣本點(diǎn)的函數(shù)間隔最小值坝撑,其中静秆, 是特征, 是結(jié)果標(biāo)簽巡李, 表示第 個(gè)樣本抚笔,有:。
但是這么定義會(huì)有一個(gè)問題侨拦,那就是如果將和進(jìn)行成比例地改變殊橙,比如改變到和,,此時(shí)超平面并沒有改變,但是函數(shù)間隔的值已經(jīng)變成了原來的2倍蛀柴。
幾何間隔其實(shí)就是將函數(shù)間隔除以螃概。
函數(shù)間隔實(shí)際上就是
,只是人為定義的一個(gè)間隔度量鸽疾;而幾何間隔才是直觀上的點(diǎn)到超平面距離。
7.何為支持向量(Support Vector)
支持向量是一些點(diǎn)训貌。如下圖所示制肮,黑色的實(shí)線是劃分?jǐn)?shù)據(jù)集最大間隔的超平面,存在這些點(diǎn)(紫色虛線和粉色虛線上的紅藍(lán)點(diǎn))到超平面的距離為幾何間隔递沪,則這些點(diǎn)就是支持向量豺鼻。
8.線性不可分
我們知道,數(shù)據(jù)是線性可分的是十分理想的情況款慨,我們通常用到的數(shù)據(jù)都是線性不可分的儒飒。
再來看一下我們的目標(biāo)函數(shù):
求最大值就等同于求最小值的問題,即:
這樣問題就轉(zhuǎn)變成了一個(gè)凸優(yōu)化問題檩奠,目標(biāo)函數(shù)是二次的桩了,約束條件也是線性的,因此是一個(gè)凸二次規(guī)劃問題埠戳,因此這個(gè)問題可以用任何現(xiàn)成的QP (Quadratic Programming) 的優(yōu)化包進(jìn)行求解井誉,歸結(jié)為一句話即是:在一定的約束條件下,目標(biāo)最優(yōu)整胃,損失最小颗圣。然而,能解決是能解決屁使,解決起來的代價(jià)會(huì)非常大在岂。由于它有特殊結(jié)構(gòu),Lagrange Duality 變換到對(duì)偶變量(dual variable) 的優(yōu)化問題之后蛮寂,可以找到一種更加有效的方法來進(jìn)行求解蔽午,而且通常情況下這種方法比直接使用通用的QP 優(yōu)化包進(jìn)行優(yōu)化要高效得多。
9.對(duì)偶形式
對(duì)偶算法的優(yōu)點(diǎn)在于:一者對(duì)偶問題往往更容易求解共郭;二者可以自然的引入核函數(shù)祠丝,進(jìn)而推廣到非線性分類問題。
Lagrange Duality:引入拉格朗日乘子除嘹,這樣可以通過拉格朗日函數(shù)將約束條件融合到目標(biāo)函數(shù)里去:
令写半。
如果某個(gè)約束條件不滿足時(shí),例如尉咕,則叠蝇。如果每個(gè)約束條件都滿足,則有年缎。
因此悔捶,在要求約束條件得到滿足的情況下最小化铃慷,實(shí)際上等價(jià)于直接最小化,此時(shí)目標(biāo)函數(shù)變成了:
這里用代表問題的最優(yōu)值蜕该。
現(xiàn)在犁柜,把最小和最大的位置交換一下,便得到了對(duì)偶形式:
交換之后堂淡,用來表示新問題的最優(yōu)值馋缅,并且有,直觀上理解就是:最大值中最小的一個(gè)總也比最小值中最大的一個(gè)要大吧绢淀。
至此萤悴,我們現(xiàn)在要做的是先求對(duì)的極小皆的,再求對(duì)的極大覆履。是的近似解,轉(zhuǎn)化為對(duì)偶問題后费薄,求解更容易硝全。
待更新........
-
交叉熵?fù)p失函數(shù)
參考CSDN簡(jiǎn)單的交叉熵?fù)p失函數(shù),你真的懂了嗎义锥?
1.交叉熵公式
2.符號(hào)意義
是數(shù)據(jù)的標(biāo)簽柳沙,是函數(shù)的預(yù)測(cè)。
3.公式推導(dǎo)
以二分類任務(wù)為例拌倍。
在二分類問題模型:例如邏輯回歸「Logistic Regression」赂鲤、神經(jīng)網(wǎng)絡(luò)「Neural Network」等,真實(shí)樣本的標(biāo)簽為 [0柱恤,1]数初,分別表示負(fù)類和正類。模型最后會(huì)經(jīng)過一個(gè)Sigmoid函數(shù)梗顺,函數(shù)輸出結(jié)果表征當(dāng)前樣本標(biāo)簽概率為1的概率:
那么我們可以知道泡孩,標(biāo)簽為0的概率為:
從極大似然的角度出發(fā),可以將上面兩種情況整合到一起:
當(dāng)y為1時(shí)寺谤,的結(jié)果為仑鸥;當(dāng)y為0時(shí),的結(jié)果為变屁。
對(duì)于概率表達(dá)式眼俊,我們希望其越大越好,它越大也就說明我們預(yù)測(cè)得越準(zhǔn)粟关。在這里引入log函數(shù)疮胖,log函數(shù)并不會(huì)對(duì)函數(shù)本身的單調(diào)性產(chǎn)生影響,因此有:
接下來轉(zhuǎn)變?yōu)?strong>損失函數(shù)。我們希望越大越好澎灸,將其轉(zhuǎn)變?yōu)樨?fù)值院塞,那么我們就期望越小越好,得到損失函數(shù):
我們上面得到的是單個(gè)樣本的損失函數(shù)性昭,對(duì)于N個(gè)樣本的總體損失函數(shù)拦止,將N個(gè)該式累加起來就好了:
4.對(duì)于多分類問題
上面我們討論了,對(duì)于二分類問題巩梢,我們使用sigmoid函數(shù)作為概率計(jì)算函數(shù)创泄,Sigmoid函數(shù)的表達(dá)式和圖形如下所示:
那么對(duì)于多分類任務(wù),該怎么辦呢括蝠。
這時(shí)候要使用的是Softmax函數(shù)。Softmax函數(shù)的表達(dá)式如下所示:
5.補(bǔ)充
Sigmoid和Softmax并不能作為損失函數(shù)饭聚,與損失函數(shù)沒有關(guān)系忌警,只是在分類任務(wù)中常常使用Softmax輸出+交叉熵?fù)p失函數(shù)的求導(dǎo)。
-
LR
Logistic Regression邏輯回歸
原文CSDN邏輯回歸(Logistic Regression, LR)簡(jiǎn)介
分類和回歸是機(jī)器學(xué)習(xí)可以解決兩大主要問題秒梳,從預(yù)測(cè)值的類型上看法绵,連續(xù)變量預(yù)測(cè)的定量輸出稱為回歸;離散變量預(yù)測(cè)的定性輸出稱為分類酪碘。
線性回歸(Linear Regression)
1.目標(biāo)
在多維空間朋譬,線性回歸表示為
簡(jiǎn)化形式為,我們的目的兴垦,是要找到一個(gè)參數(shù)令對(duì)數(shù)據(jù)擬合得最好徙赢。
2.損失函數(shù)
希望預(yù)測(cè)值與實(shí)際值盡可能接近,即看預(yù)測(cè)值與實(shí)際值之間的均方誤差是否最小探越。
定義均方誤差有著非常好的幾何含義狡赐,對(duì)應(yīng)常用的歐式距離(Euclidean distance),基于均方誤差最小化進(jìn)行模型求解的方法稱為“最小二乘法”(least square method)钦幔。
3.最小二乘法
矩陣表示:展開并對(duì)其求偏導(dǎo)枕屉,令偏導(dǎo)即可求得:
然而現(xiàn)實(shí)任務(wù)中當(dāng)特征數(shù)量大于樣本數(shù)時(shí),不滿秩鲤氢,此有多個(gè)解搀擂;而且當(dāng)數(shù)據(jù)量大時(shí),求矩陣的逆非常耗時(shí)卷玉;對(duì)于不可逆矩陣(特征之間不相互獨(dú)立)哨颂,這種正規(guī)方程方法是不能用的。所以揍庄,還可以采用梯度下降法咆蒿,利用迭代的方式求解。
4.梯度下降法
梯度下降法的思想:
1)隨機(jī)對(duì)賦初值(也可以直接置為0)。
2)改變的值沃测,使得按梯度下降的方向進(jìn)行減少缭黔。
利用梯度下降法,逐步最小化損失函數(shù)蒂破,找準(zhǔn)梯度下降方向馏谨,即偏導(dǎo)數(shù)的反方向,每次前進(jìn)一小步附迷,直到收斂:
迭代更新的方式有多種
批量梯度下降(batch gradient descent)惧互,也就是是梯度下降法最原始的形式,對(duì)全部的訓(xùn)練數(shù)據(jù)求得誤差后再對(duì)θθ進(jìn)行更新喇伯,優(yōu)點(diǎn)是每步都趨向全局最優(yōu)解喊儡;缺點(diǎn)是對(duì)于大量數(shù)據(jù),由于每步要計(jì)算整體數(shù)據(jù)稻据,訓(xùn)練過程慢艾猜;
隨機(jī)梯度下降(stochastic gradient descent),每一步隨機(jī)選擇一個(gè)樣本對(duì)θθ進(jìn)行更新捻悯,優(yōu)點(diǎn)是訓(xùn)練速度快匆赃;缺點(diǎn)是每次的前進(jìn)方向不好確定,容易陷入局部最優(yōu)今缚;
微型批量梯度下降(mini-batch gradient descent)算柳,每步選擇一小批數(shù)據(jù)進(jìn)行批量梯度下降更新θθ,屬于批量梯度下降和隨機(jī)梯度下降的一種折中姓言,非常適合并行處理瞬项。
邏輯回歸
雖然邏輯回歸中有“回歸”二字,但其實(shí)際上卻是一種分類學(xué)習(xí)方法事期。
線性回歸完成的是回歸擬合任務(wù)滥壕,而對(duì)于分類任務(wù),我們同樣需要一條線兽泣,但不是去擬合每個(gè)數(shù)據(jù)點(diǎn)绎橘,而是把不同類別的樣本區(qū)分開來。
對(duì)于二分類問題唠倦,y∈{0,1}称鳞,1表示正例,0表示負(fù)例稠鼻。邏輯回歸是在線性函數(shù)輸出預(yù)測(cè)實(shí)際值的基礎(chǔ)上冈止,尋找一個(gè)假設(shè)函數(shù)函數(shù),將實(shí)際值映射到到0候齿,1之間熙暴,如果闺属,則預(yù)測(cè),及屬于正例周霉;如果掂器,則預(yù)測(cè),即屬于負(fù)例俱箱。
如果說線性回歸是對(duì)于特征的線性組合來擬合真實(shí)標(biāo)記的話国瓮,那么邏輯回歸是對(duì)于特征的線性組合來擬合真實(shí)標(biāo)記為正例的概率的對(duì)數(shù)幾率
對(duì)于輸入分類結(jié)果為類別1和類別0的概率分別為:
6.損失函數(shù)
邏輯回歸的輸出預(yù)測(cè)使用對(duì)數(shù)幾率函數(shù)(logistic function)作為激活函數(shù),對(duì)數(shù)幾率函數(shù)是Sigmoid函數(shù)(形狀為S的函數(shù))的重要代表狞谱。
因此損失函數(shù)可以寫成
不是凸函數(shù)乃摹,引入交叉熵。
所以最后目標(biāo)變成取最小值時(shí)的為最佳參數(shù)跟衅。 與線性回歸類似孵睬,利用梯度下降法更新.
除了梯度下降法,還有其他的一些用來求代價(jià)函數(shù)最小時(shí)參數(shù)θ的方法伶跷,如牛頓法肪康、共軛梯度法(Conjugate Gradietn)、局部?jī)?yōu)化法(BFGS)和有限內(nèi)存局部?jī)?yōu)化法(LBFGS)等撩穿。
-
SVM和LR之間的比較
原文:[機(jī)器學(xué)習(xí)筆記] 支持向量機(jī)SVM 和邏輯回歸LR的異同
LR與SVM的異同
1.相同點(diǎn)
①都是線性分類器。本質(zhì)上都是求一個(gè)最佳分類超平面谒撼。
②都是監(jiān)督學(xué)習(xí)算法食寡。
③都是判別模型。通過決策函數(shù)廓潜,判別輸入特征之間的差別來進(jìn)行分類抵皱。
常見的判別模型有:KNN、SVM辩蛋、LR呻畸。
常見的生成模型有:樸素貝葉斯,隱馬爾可夫模型悼院。
2.不同點(diǎn)
①優(yōu)化目標(biāo)不同
LR的損失函數(shù)是交叉熵
SVM的目標(biāo)函數(shù):
②支持向量機(jī)只考慮局部的邊界線附近的點(diǎn)伤为,而邏輯回歸考慮全局(遠(yuǎn)離的點(diǎn)對(duì)邊界線的確定也起作用)。
③第三据途,在解決非線性問題時(shí)绞愚,支持向量機(jī)采用核函數(shù)的機(jī)制,而LR通常不采用核函數(shù)的方法颖医。
④?線性SVM依賴數(shù)據(jù)表達(dá)的距離測(cè)度位衩,所以需要對(duì)數(shù)據(jù)先做normalization,LR不受其影響熔萧。
⑤SVM的損失函數(shù)就自帶正則L锹俊A诺弧!(損失函數(shù)中的1/2||w||^2項(xiàng))贮缕,這就是為什么SVM是結(jié)構(gòu)風(fēng)險(xiǎn)最小化算法的原因U廾铡!跷睦!而LR必須另外在損失函數(shù)上添加正則項(xiàng)?晗摇!抑诸!
-
邏輯回歸和線性回歸之間的比較
線性回歸用來做預(yù)測(cè),LR用來做分類烂琴。
線性回歸是來擬合函數(shù),LR是來預(yù)測(cè)函數(shù)。
線性回歸用最小二乘法來計(jì)算參數(shù),LR用最大似然估計(jì)來計(jì)算參數(shù)蜕乡。
線性回歸更容易受到異常值的影響,而LR對(duì)異常值有較好的穩(wěn)定性奸绷。
-
生成模型和判別模型基本形式
生成式:樸素貝葉斯、HMM层玲、Gaussians号醉、馬爾科夫隨機(jī)場(chǎng)
判別式:LR,SVM辛块,神經(jīng)網(wǎng)絡(luò)畔派,CRF,Boosting
-
分類算法列一下有多少種润绵?
單一的分類方法主要包括:LR邏輯回歸线椰,SVM支持向量機(jī),DT決策樹尘盼、NB樸素貝葉斯憨愉、NN人工神經(jīng)網(wǎng)絡(luò)、K-近鄰
集成學(xué)習(xí)算法:基于Bagging和Boosting算法思想卿捎,RF隨機(jī)森林, GBDT配紫,Adaboost, XGboost。
-
XGBoost和GBDT的區(qū)別
機(jī)器學(xué)習(xí)算法總結(jié)(四)——GBDT與XGBOOST
1)將樹模型的復(fù)雜度加入到正則項(xiàng)中午阵,來避免過擬合躺孝,因此泛化性能會(huì)由于GBDT。
2)損失函數(shù)是用泰勒展開式展開的趟庄,同時(shí)用到了一階導(dǎo)和二階導(dǎo)括细,可以加快優(yōu)化速度。
3)和GBDT只支持CART作為基分類器之外戚啥,還支持線性分類器奋单,在使用線性分類器的時(shí)候可以使用L1,L2正則化猫十。
4)引進(jìn)了特征子采樣览濒,像RandomForest那樣呆盖,這種方法既能降低過擬合,還能減少計(jì)算贷笛。
5)在尋找最佳分割點(diǎn)時(shí)应又,考慮到傳統(tǒng)的貪心算法效率較低,實(shí)現(xiàn)了一種近似貪心算法乏苦,用來加速和減小內(nèi)存消耗株扛,除此之外還考慮了稀疏數(shù)據(jù)集和缺失值的處理,對(duì)于特征的值有缺失的樣本汇荐,XGBoost依然能自動(dòng)找到其要分裂的方向洞就。
6)XGBoost支持并行處理,XGBoost的并行不是在模型上的并行掀淘,而是在特征上的并行旬蟋,將特征列排序后以block的形式存儲(chǔ)在內(nèi)存中,在后面的迭代中重復(fù)使用這個(gè)結(jié)構(gòu)革娄。這個(gè)block也使得并行化成為了可能倾贰,其次在進(jìn)行節(jié)點(diǎn)分裂時(shí),計(jì)算每個(gè)特征的增益拦惋,最終選擇增益最大的那個(gè)特征去做分割匆浙,那么各個(gè)特征的增益計(jì)算就可以開多線程進(jìn)行。