機(jī)器學(xué)習(xí)算法小結(jié)與收割offer遇到的問(wèn)題2

深度學(xué)習(xí)方面的問(wèn)題

機(jī)器學(xué)習(xí)崗位面試問(wèn)題匯總 之 深度學(xué)習(xí)

深度學(xué)習(xí)的實(shí)質(zhì) 及其 與淺層學(xué)習(xí)的區(qū)別

深度學(xué)習(xí)實(shí)質(zhì):多隱層+海量數(shù)據(jù)——>學(xué)習(xí)有用特征—–>提高分類或預(yù)測(cè)準(zhǔn)確性

區(qū)別:(1)DL強(qiáng)調(diào)模型深度

(2)DL突出特征學(xué)習(xí)的重要性:特征變換+非人工

BP算法為什么不能適應(yīng)于深度學(xué)習(xí)

BP為傳統(tǒng)多層感知機(jī)的訓(xùn)練方法,<=5層

問(wèn)題:(1)梯度越來(lái)越稀疏(梯度擴(kuò)散<—-非凸目標(biāo)函數(shù))

(2)局部最小

(3)一般,有標(biāo)簽

NOTE:解決其中局部最小值的方法:(1)多組不同隨機(jī)參數(shù),取最好參數(shù) (2)啟發(fā)式優(yōu)化算法:模擬退火 或 遺傳 (3)隨機(jī)梯度下降

CNN卷基層和pooling層的作用

卷積層:特征提取

子采樣層/池化層:縮減輸入數(shù)據(jù)的規(guī)模

DNN常用的激活函數(shù)有哪些,各有什么特點(diǎn)

(1)sigmoid:易飽和(梯度消失),非0均值 (2)tanh,改進(jìn)了sigmoid的第二個(gè)缺點(diǎn),即它是0均值的 (3)ReLU,收斂快(不容易飽和),求梯度簡(jiǎn)單(沒(méi)有指數(shù)計(jì)算,只需要閾值就可以),有稀疏特性。缺點(diǎn)是神經(jīng)元容易壞死。

由于ReLU在x<0時(shí)梯度為0,這樣就導(dǎo)致負(fù)的梯度在這個(gè)ReLU被置零,而且這個(gè)神經(jīng)元有可能再也不會(huì)被任何數(shù)據(jù)激活。如果這個(gè)情況發(fā)生了,那么這個(gè)神經(jīng)元之后的梯度就永遠(yuǎn)是0了,也就是ReLU神經(jīng)元壞死了,不再對(duì)任何數(shù)據(jù)有所響應(yīng)。實(shí)際操作中,如果你的learning rate 很大,那么很有可能你網(wǎng)絡(luò)中的40%的神經(jīng)元都?jí)乃懒?/p>

解決relu神經(jīng)元壞死問(wèn)題

當(dāng)然,如果你設(shè)置了一個(gè)合適的較小的learning rate,這個(gè)問(wèn)題發(fā)生的情況其實(shí)也不會(huì)太頻繁。

relu的變種

leaky-relu:

$$f(x)=\alpha x,(x < 0)$$

$$f(x)=x,(x>=0)$$

這里的 α 是一個(gè)很小的常數(shù)。這樣,即修正了數(shù)據(jù)分布,又保留了一些負(fù)軸的值,使得負(fù)軸信息不會(huì)全部丟失。

Parametric ReLU:對(duì)于 Leaky ReLU 中的α,通常都是通過(guò)先驗(yàn)知識(shí)人工賦值的。

然而可以觀察到,損失函數(shù)對(duì)α的導(dǎo)數(shù)我們是可以求得的,可不可以將它作為一個(gè)參數(shù)進(jìn)行訓(xùn)練呢

Randomized ReLU:

Randomized Leaky ReLU是 leaky ReLU 的random 版本 ,核心思想就是,在訓(xùn)練過(guò)程中,α 是從一個(gè)高斯分布 U(l,u) 中 隨機(jī)出來(lái)的,然后再測(cè)試過(guò)程中進(jìn)行修正(有點(diǎn)像dropout的用法)

什么樣的資料不適合用深度學(xué)習(xí)?

(1)數(shù)據(jù)量小 (2)沒(méi)有局部相關(guān)性

什么是共線性,跟過(guò)擬合有何關(guān)聯(lián)?

共線性:高度相關(guān)—>冗余——>過(guò)擬合

解決:排除相關(guān)、加入權(quán)重正則

pooling技術(shù)有哪些,有什么作用,有什么區(qū)別

pooling的結(jié)果是使得特征減少,參數(shù)減少,但pooling的目的并不僅在于此。pooling目的是為了保持某種不變性(平移),常用的有mean-pooling,max-pooling和Stochastic-pooling三種。

mean-pooling,即對(duì)鄰域內(nèi)特征點(diǎn)只求平均,max-pooling,即對(duì)鄰域內(nèi)特征點(diǎn)取最大。根據(jù)相關(guān)理論,特征提取的誤差主要來(lái)自兩個(gè)方面:(1)鄰域大小受限造成的估計(jì)值方差增大;(2)卷積層參數(shù)誤差造成估計(jì)均值的偏移。一般來(lái)說(shuō),mean-pooling能減小第一種誤差,更多的保留圖像的背景信息max-pooling能減小第二種誤差,更多的保留紋理信息。Stochastic-pooling則介于兩者之間,通過(guò)對(duì)像素點(diǎn)按照數(shù)值大小賦予概率,再按照概率進(jìn)行亞采樣,在平均意義上,與mean-pooling近似,在局部意義上,則服從max-pooling的準(zhǔn)則。

LeCun的“Learning Mid-Level Features For Recognition”對(duì)前兩種pooling方法有比較詳細(xì)的分析對(duì)比,如果有需要可以看下這篇論文。

其實(shí)pooling的目的就是為了使參數(shù)量減少,因?yàn)楦静恍枰敲炊鄥?shù)。pooling也只能做到在極小范圍內(nèi)的平移不變性,旋轉(zhuǎn)和 伸縮是做不到的。其實(shí)不變性都是特征工程時(shí)代的概念了,現(xiàn)在在數(shù)據(jù)量極大的情況下,樣本覆蓋了足夠多的variance,dnn自動(dòng)就會(huì)把各種不變性學(xué)習(xí)出來(lái)

使用Pooling的目的之一是獲取一定的特征不變性,目前用的比較多的是Max Pooling

max pooling是DCNN的非線性來(lái)源之一,然后在現(xiàn)代的深度神經(jīng)網(wǎng)絡(luò)中,最大的非線性來(lái)源是ReLU類的激活函數(shù)。

因此,目前對(duì)使用Pooling也存在一定的爭(zhēng)議,一些最新的工作已經(jīng)不在網(wǎng)絡(luò)的中間層使用pooling層了(或者只在最后一層使用average pooling,比如說(shuō)network in network)。

缺點(diǎn)在于會(huì)丟失信息。

pooling的反向傳播

對(duì)于mean pooling,真的是好簡(jiǎn)單:假設(shè)pooling的窗大小是2x2, 在forward的時(shí)候啊,就是在前面卷積完的輸出上依次不重合的取2x2的窗平均,得到一個(gè)值就是當(dāng)前mean pooling之后的值。backward的時(shí)候,把一個(gè)值分成四等分放到前面2x2的格子里面就好了。如下

forward: [1 3; 2 2] ->2

backward:2-> [0.5 0.5; 0.5 0.5]

max pooling就稍微復(fù)雜一點(diǎn),forward的時(shí)候你只需要把2x2窗子里面那個(gè)最大的拿走就好了,backward的時(shí)候你要把當(dāng)前的值放到之前那個(gè)最大的位置,其他的三個(gè)位置都弄成0。如下

forward: [1 3; 2 2] -> 3

backward:3-> [0 3; 0 0]

特征選擇的方法

機(jī)器學(xué)習(xí)中,有哪些特征選擇的工程方法?

特征選擇是特征工程中的重要問(wèn)題(另一個(gè)重要的問(wèn)題是特征提?。婚g常說(shuō):數(shù)據(jù)和特征決定了機(jī)器學(xué)習(xí)的上限,而模型和算法只是逼近這個(gè)上限而已。由此可見(jiàn),特征工程尤其是特征選擇在機(jī)器學(xué)習(xí)中占有相當(dāng)重要的地位。

特征選擇方法舉例

計(jì)算每一個(gè)特征與響應(yīng)變量的相關(guān)性:工程上常用的手段有計(jì)算皮爾遜系數(shù)和互信息系數(shù),皮爾遜系數(shù)只能衡量線性相關(guān)性而互信息系數(shù)能夠很好地度量各種相關(guān)性

構(gòu)建單個(gè)特征的模型,通過(guò)模型的準(zhǔn)確性為特征排序,借此來(lái)選擇特征

通過(guò)L1正則項(xiàng)來(lái)選擇特征:L1正則方法具有稀疏解的特性,因此天然具備特征選擇的特性,但是要注意,L1沒(méi)有選到的特征不代表不重要,原因是兩個(gè)具有高相關(guān)性的特征可能只保留了一個(gè),如果要確定哪個(gè)特征重要應(yīng)再通過(guò)L2正則方法交叉檢驗(yàn);

訓(xùn)練能夠對(duì)特征打分的預(yù)選模型:RandomForest和Logistic Regression等都能對(duì)模型的特征打分,通過(guò)打分獲得相關(guān)性后再訓(xùn)練最終模型;

通過(guò)深度學(xué)習(xí)來(lái)進(jìn)行特征選擇:目前這種手段正在隨著深度學(xué)習(xí)的流行而成為一種手段,尤其是在計(jì)算機(jī)視覺(jué)領(lǐng)域,原因是深度學(xué)習(xí)具有自動(dòng)學(xué)習(xí)特征的能力.

特征選擇方法分類

特征選擇思維導(dǎo)圖

Filter:過(guò)濾法,按照發(fā)散性或者相關(guān)性對(duì)各個(gè)特征進(jìn)行評(píng)分,設(shè)定閾值或者待選擇閾值的個(gè)數(shù),選擇特征。

Wrapper:包裝法,根據(jù)目標(biāo)函數(shù)(通常是預(yù)測(cè)效果評(píng)分),每次選擇若干特征,或者排除若干特征。

Embedded:集成方法,先使用某些機(jī)器學(xué)習(xí)的算法和模型進(jìn)行訓(xùn)練,得到各個(gè)特征的權(quán)值系數(shù),根據(jù)系數(shù)從大到小選擇特征。類似于Filter方法,但是是通過(guò)訓(xùn)練來(lái)確定特征的優(yōu)劣。

降維:PCA LDA等。

Filter過(guò)濾法

方差選擇法

使用方差選擇法,先要計(jì)算各個(gè)特征的方差,然后根據(jù)閾值,選擇方差大于閾值的特征

相關(guān)系數(shù)法

使用相關(guān)系數(shù)法,先要計(jì)算各個(gè)特征對(duì)目標(biāo)值的相關(guān)系數(shù)以及相關(guān)系數(shù)的P值

卡方檢驗(yàn)

經(jīng)典的卡方檢驗(yàn)是檢驗(yàn)定性自變量對(duì)定性因變量的相關(guān)性

互信息法

經(jīng)典的互信息也是評(píng)價(jià)定性自變量對(duì)定性因變量的相關(guān)性的

Embedded 集成方法

基于懲罰項(xiàng)的特征選擇法

L1懲罰項(xiàng)降維的原理在于保留多個(gè)對(duì)目標(biāo)值具有同等相關(guān)性的特征中的一個(gè)

基于樹(shù)模型的特征選擇法

樹(shù)模型中GBDT也可用來(lái)作為基模型進(jìn)行特征選擇

深度學(xué)習(xí)方法

降維

將原始的樣本映射到維度更低的樣本空間中。

PCA是為了讓映射后的樣本具有最大的發(fā)散性;而LDA是為了讓映射后的樣本有最好的分類性能。所以說(shuō)PCA是一種無(wú)監(jiān)督的降維方法,而LDA是一種有監(jiān)督的降維方法。

LR相關(guān)問(wèn)題

LR與BP

BP神經(jīng)網(wǎng)絡(luò)是否優(yōu)于logistic回歸?

首先,神經(jīng)網(wǎng)絡(luò)的最后一層,也就是輸出層,是一個(gè) Logistic Regression (或者 Softmax Regression ),也就是一個(gè)線性分類器,中間的隱含層起到特征提取的作用,把隱含層的輸出當(dāng)作特征,然后再將它送入下一個(gè) Logistic Regression,一層層變換。

神經(jīng)網(wǎng)絡(luò)的訓(xùn)練,實(shí)際上就是同時(shí)訓(xùn)練特征提取算法以及最后的 Logistic Regression的參數(shù)。為什么要特征提取呢,因?yàn)?Logistic Regression 本身是一個(gè)線性分類器,所以,通過(guò)特征提取,我們可以把原本線性不可分的數(shù)據(jù)變得線性可分。要如何訓(xùn)練呢,最簡(jiǎn)單的方法是(隨機(jī),Mini batch)梯度下降法

LR為什么使用sigmoid函數(shù)

源于sigmoid,或者說(shuō)exponential family所具有的最佳性質(zhì),即maximum entropy的性質(zhì)。maximum entropy給了logistic regression一個(gè)很好的數(shù)學(xué)解釋。為什么maximum entropy好呢?entropy翻譯過(guò)來(lái)就是熵,所以maximum entropy也就是最大熵。熵用在概率分布上可以表示這個(gè)分布中所包含的不確定度,熵越大不確定度越大。均勻分布熵最大,因?yàn)榛拘聰?shù)據(jù)是任何值的概率都均等。而我們現(xiàn)在關(guān)心的是,給定某些假設(shè)之后,熵最大的分布。也就是說(shuō)這個(gè)分布應(yīng)該在滿足我假設(shè)的前提下越均勻越好。比如大家熟知的正態(tài)分布,正是假設(shè)已知mean和variance后熵最大的分布。首先,我們?cè)诮nA(yù)測(cè) Y|X,并認(rèn)為 Y|X 服從bernoulli distribution,所以我們只需要知道 P(Y|X);其次我們需要一個(gè)線性模型,所以 P(Y|X) = f(wx)。接下來(lái)我們就只需要知道 f 是什么就行了。而我們可以通過(guò)最大熵原則推出的這個(gè) f,就是sigmoid。

面試問(wèn)了如何在海量數(shù)據(jù)中查找給定部分?jǐn)?shù)據(jù)最相似的top200向量,向量的維度也很高. 因?yàn)橹傲私膺^(guò)其他面螞蟻金服的朋友,也有問(wèn)到這個(gè)題目的

所以反應(yīng)比較快,直接就說(shuō)可以用KD樹(shù),聚類,hash,

一天之內(nèi)兩連面,還是問(wèn)了很多機(jī)器學(xué)習(xí)算法的東西 為什么LR需要?dú)w一化或者取對(duì)數(shù),為什么LR把特征離散化后效果更好 為什么把特征組合之后還能提升,反正這些基本都是增強(qiáng)了特征的表達(dá)能力,或者更容易線性可分吧

在logistic regression (LR)中,這個(gè)目標(biāo)是什么呢?最大化條件似然度??紤]一個(gè)二值分類問(wèn)題,訓(xùn)練數(shù)據(jù)是一堆(特征,標(biāo)記)組合,(x1,y1), (x2,y2), .... 其中x是特征向量,y是類標(biāo)記(y=1表示正類,y=0表示反類)。LR首先定義一個(gè)條件概率p(y|x;w)。p(y|x;w)表示給定特征x,類標(biāo)記y的概率分布,其中w是LR的模型參數(shù)(一個(gè)超平面)。有了這個(gè)條件概率,就可以在訓(xùn)練數(shù)據(jù)上定義一個(gè)似然函數(shù),然后通過(guò)最大似然來(lái)學(xué)習(xí)w。這是LR模型的基本原理。

為什么LR把特征離散化后效果更好

邏輯回歸屬于廣義線性模型,表達(dá)能力受限;單變量離散化為N個(gè)后,每個(gè)變量有單獨(dú)的權(quán)重,相當(dāng)于為模型引入了非線性,能夠提升模型表達(dá)能力,加大擬合;(啞變量)

特征離散化以后,起到了簡(jiǎn)化了邏輯回歸模型的作用,降低了模型過(guò)擬合的風(fēng)險(xiǎn)。

連續(xù)特征的離散化:在什么情況下將連續(xù)的特征離散化之后可以獲得更好的效果?

在工業(yè)界,很少直接將連續(xù)值作為邏輯回歸模型的特征輸入,而是將連續(xù)特征離散化為一系列0、1特征交給邏輯回歸模型,這樣做的優(yōu)勢(shì)有以下幾點(diǎn):

離散特征的增加和減少都很容易,易于模型的快速迭代;

稀疏向量?jī)?nèi)積乘法運(yùn)算速度快,計(jì)算結(jié)果方便存儲(chǔ),容易擴(kuò)展;

離散化后的特征對(duì)異常數(shù)據(jù)有很強(qiáng)的魯棒性:比如一個(gè)特征是年齡>30是1,否則0。如果特征沒(méi)有離散化,一個(gè)異常數(shù)據(jù)“年齡300歲”會(huì)給模型造成很大的干擾;

邏輯回歸屬于廣義線性模型,表達(dá)能力受限;單變量離散化為N個(gè)后,每個(gè)變量有單獨(dú)的權(quán)重,相當(dāng)于為模型引入了非線性,能夠提升模型表達(dá)能力,加大擬合;

離散化后可以進(jìn)行特征交叉,由M+N個(gè)變量變?yōu)镸*N個(gè)變量,進(jìn)一步引入非線性,提升表達(dá)能力;

特征離散化后,模型會(huì)更穩(wěn)定,比如如果對(duì)用戶年齡離散化,20-30作為一個(gè)區(qū)間,不會(huì)因?yàn)橐粋€(gè)用戶年齡長(zhǎng)了一歲就變成一個(gè)完全不同的人。當(dāng)然處于區(qū)間相鄰處的樣本會(huì)剛好相反,所以怎么劃分區(qū)間是門學(xué)問(wèn);

特征離散化以后,起到了簡(jiǎn)化了邏輯回歸模型的作用,降低了模型過(guò)擬合的風(fēng)險(xiǎn)。

李沐曾經(jīng)說(shuō)過(guò):模型是使用離散特征還是連續(xù)特征,其實(shí)是一個(gè)“海量離散特征+簡(jiǎn)單模型” 同 “少量連續(xù)特征+復(fù)雜模型”的權(quán)衡。既可以離散化用線性模型,也可以用連續(xù)特征加深度學(xué)習(xí)。就看是喜歡折騰特征還是折騰模型了。通常來(lái)說(shuō),前者容易,而且可以n個(gè)人一起并行做,有成功經(jīng)驗(yàn);后者目前看很贊,能走多遠(yuǎn)還須拭目以待。

如何用LR建立一個(gè)廣告點(diǎn)擊的模型:

特征提取—>特征處理(離散化、歸一化、onehot等)—>找出候選集—->模型訓(xùn)練,得到結(jié)果

LR的過(guò)擬合

減少feature個(gè)數(shù)(人工定義留多少個(gè)feature、算法選取這些feature)

正則化(為了方便求解,L2使用較多)

添加正則化后的損失函數(shù)變?yōu)椋?$$J(w)=-\frac{1}{N} \sum_{i=1}^N{\left(y_ilog(h_w(x_i))+(1-y_i)log(1-h_w(x_i))\right)} + \lambda ||w||_2$$

同時(shí)w的更新變?yōu)椋?$$w:=w-\alpha * \left(h_w(x_j)-y_j)x_i\right) -2\alphaw_j$$

關(guān)于LR的多分類:softmax

$$P(Y=a|x)=\frac{exp(w_ax)}{(\sum_{i=1}^k(wix))}? ;? 1 < a < k$$

這里會(huì)輸出當(dāng)前樣本下屬于哪一類的概率,并且滿足全部概率加起來(lái)=1

關(guān)于softmax和k個(gè)LR的選擇

如果類別之間是否互斥(比如音樂(lè)只能屬于古典音樂(lè)、鄉(xiāng)村音樂(lè)、搖滾月的一種)就用softmax

否則類別之前有聯(lián)系(比如一首歌曲可能有影視原聲,也可能包含人聲,或者是舞曲),這個(gè)時(shí)候使用k個(gè)LR更為合適

Logistic回歸優(yōu)點(diǎn)

實(shí)現(xiàn)簡(jiǎn)單;

分類時(shí)計(jì)算量非常小,速度很快,存儲(chǔ)資源低;

缺點(diǎn)

容易欠擬合,一般準(zhǔn)確度不太高

只能處理兩分類問(wèn)題

SVM相關(guān)問(wèn)題

解密SVM系列(一):關(guān)于拉格朗日乘子法和KKT條件

svmw問(wèn)題整理

SVM的主要特點(diǎn)

(1)非線性映射-理論基礎(chǔ)

(2)最大化分類邊界-方法核心

(3)支持向量-計(jì)算結(jié)果

(4)小樣本學(xué)習(xí)方法 ,最終的決策函數(shù)只有少量支持向量決定,避免了“維數(shù)災(zāi)難” ,少數(shù)支持向量決定最終結(jié)果—->可“剔除”大量冗余樣本+算法簡(jiǎn)單+具有魯棒性

(7)學(xué)習(xí)問(wèn)題可表示為凸優(yōu)化問(wèn)題—->全局最小值

(8)可自動(dòng)通過(guò)最大化邊界控制模型,但需要用戶指定核函數(shù)類型和引入松弛變量

(9)適合于小樣本,優(yōu)秀泛化能力(因?yàn)榻Y(jié)構(gòu)風(fēng)險(xiǎn)最小)

(10)泛化錯(cuò)誤率低,分類速度快,結(jié)果易解釋

缺點(diǎn):

(1)大規(guī)模訓(xùn)練樣本(m階矩陣計(jì)算)

(2)傳統(tǒng)的不適合多分類

(3)對(duì)缺失數(shù)據(jù)、參數(shù)、核函數(shù)敏感

為什么要引入對(duì)偶問(wèn)題

(1)容易求解 (2)核函數(shù)

Note:拉格朗日對(duì)偶沒(méi)有改變最優(yōu)解,但改變了算法復(fù)雜度:原問(wèn)題—樣本維度;對(duì)偶問(wèn)題–樣本數(shù)量。所以 線性分類&&樣本維度<樣本數(shù)量:原問(wèn)題求解(liblinear默認(rèn));

非線性–升維—一般導(dǎo)致 樣本維度>樣本數(shù)量:對(duì)偶問(wèn)題求解

樣本失衡的影響

超平面會(huì)靠近樣本少的類別。因?yàn)槭褂玫氖擒涢g隔分類,而如果對(duì)所有類別都是使用同樣的懲罰系數(shù),則由于優(yōu)化目標(biāo)里面有最小化懲罰量,所以靠近少數(shù)樣本時(shí),其懲罰量會(huì)少一些。

對(duì)正例和負(fù)例賦予不同的C值,例如正例遠(yuǎn)少于負(fù)例,則正例的C值取得較大,這種方法的缺點(diǎn)是可能會(huì)偏離原始數(shù)據(jù)的概率分布;

對(duì)訓(xùn)練集的數(shù)據(jù)進(jìn)行預(yù)處理即對(duì)數(shù)量少的樣本以某種策略進(jìn)行采樣,增加其數(shù)量或者減少數(shù)量多的樣本

樣本失衡時(shí),如何評(píng)價(jià)分類器的性能好壞?

使用ROC曲線

樣本沒(méi)有規(guī)范化對(duì)SVM有什么影響?

對(duì)偶問(wèn)題的優(yōu)化目標(biāo)函數(shù)中有向量的內(nèi)積計(jì)算(優(yōu)化過(guò)程中也會(huì)有內(nèi)積計(jì)算的,見(jiàn)SMO),徑向基核函數(shù)中有向量的距離計(jì)算,存在值域小的變量會(huì)被忽略的問(wèn)題,影響算法的精度。參考

數(shù)據(jù)維度大于數(shù)據(jù)量的對(duì)SVM的影響?

這種情況下一般采用線性核(即無(wú)核),因?yàn)榇藭r(shí)特征夠用了(很大可能是線性問(wèn)題),沒(méi)必要映射到更高維的特征空間。

拉格朗日乘子法 和KKT條件

凸函數(shù)

前提條件凸函數(shù):下圖左側(cè)是凸函數(shù)。

左側(cè)是凸函數(shù)

凸的就是開(kāi)口朝一個(gè)方向(向上或向下)。更準(zhǔn)確的數(shù)學(xué)關(guān)系就是:

enter description here

或者

enter description here

對(duì)于凸問(wèn)題,你去求導(dǎo)的話,是不是只有一個(gè)極點(diǎn),那么他就是最優(yōu)點(diǎn),很合理。

等式條件約束

當(dāng)帶有約束條件的凸函數(shù)需要優(yōu)化的時(shí)候,一個(gè)帶等式約束的優(yōu)化問(wèn)題就通過(guò)拉格朗日乘子法完美的解決了。

$$min \quad f = 2x_12+3x_22+7x_3^2 \s.t. \quad 2x_1+x_2 = 1 \ \quad \quad \quad 2x_2+3x_3 = 2$$

可以使用

$$min \quad f = 2x_12+3x_22+7x_3^2 +\alpha _1(2x_1+x_2- 1)+\alpha _2(2x_2+3x_3 - 2)$$

這里可以看到與α1,α2相乘的部分都為0,根原來(lái)的函數(shù)是等價(jià)的。所以α1,α2的取值為全體實(shí)數(shù)?,F(xiàn)在這個(gè)優(yōu)化目標(biāo)函數(shù)就沒(méi)有約束條件了吧。然后求導(dǎo)數(shù)。

不等式約束與KKT條件

任何原始問(wèn)題約束條件無(wú)非最多3種,等式約束,大于號(hào)約束,小于號(hào)約束,而這三種最終通過(guò)將約束方程化簡(jiǎn)化為兩類:約束方程等于0和約束方程小于0。

$$min \quad f = x_12-2x_1+1+x_22+4x_2+4 \s.t. \quad x_1+10x_2 > 10 \ \quad \quad \quad 10 x_1-10x_2 < 10$$

現(xiàn)在將約束拿到目標(biāo)函數(shù)中去就變成:

$$L(x,\alpha) = f(x) + \alpha_1g1(x)+\alpha_2g2(x)\ =x_12-2x_1+1+x_22+4x_2+4+ \alpha_1(10-x_1-10x_2 ) +\\alpha_2(10x_1-x_2 - 10)$$

其中g(shù)是不等式約束,h是等式約束(像上面那個(gè)只有不等式約束,也可能有等式約束)。那么KKT條件就是函數(shù)的最優(yōu)值必定滿足下面條件:

(1) L對(duì)各個(gè)x求導(dǎo)為零;

(2) h(x)=0;

(3) $\sum\alpha_ig_i(x)=0,\alpha_i\ge0$

第三個(gè)式子不好理解,因?yàn)槲覀冎涝诩s束條件變完后,所有的g(x)<=0,且αi≥0,然后求和還要為0,無(wú)非就是告訴你,要么某個(gè)不等式gi(x)=0,要么其對(duì)應(yīng)的αi=0。那么為什么KKT的條件是這樣的呢?

SVM的原問(wèn)題和對(duì)偶問(wèn)題

原問(wèn)題

原問(wèn)題

拉格朗日乘子法結(jié)果

對(duì)偶問(wèn)題

求導(dǎo)得到

求導(dǎo)得到

代入乘子算式得到

對(duì)偶結(jié)果

就得到的原問(wèn)題的對(duì)偶問(wèn)題

對(duì)偶問(wèn)題

為什么要引入對(duì)偶算法

對(duì)偶問(wèn)題往往更加容易求解(結(jié)合拉格朗日和kkt條件)

可以很自然的引用核函數(shù)(拉格朗日表達(dá)式里面有內(nèi)積,而核函數(shù)也是通過(guò)內(nèi)積進(jìn)行映射的)

SVM解決過(guò)擬合的方法

決定SVM最優(yōu)分類超平面的恰恰是那些占少數(shù)的支持向量,如果支持向量中碰巧存在異常點(diǎn)就會(huì)過(guò)擬合,解決的方法是加入松弛變量。

另一方面從損失函數(shù)角度看,引入了L2正則。

為什么要把原問(wèn)題轉(zhuǎn)換為對(duì)偶問(wèn)題?

因?yàn)樵瓎?wèn)題是凸二次規(guī)劃問(wèn)題,轉(zhuǎn)換為對(duì)偶問(wèn)題更加高效。

為什么求解對(duì)偶問(wèn)題更加高效?

因?yàn)橹挥们蠼鈇lpha系數(shù),而alpha系數(shù)只有支持向量才非0,其他全部為0.

alpha系數(shù)有多少個(gè)?

樣本點(diǎn)的個(gè)數(shù)

L1還可以用來(lái)選擇特征

A 為什么L1可以用來(lái)選擇特征

B 因?yàn)長(zhǎng)1的話會(huì)把某些不重要的特征壓縮為0

A 為什么L1可以把某些特征壓縮為0

B 因?yàn)椋ó媹D)L1約束是正方形的,經(jīng)驗(yàn)損失最有可能和L1的正方形的頂點(diǎn)相交,L1比較有棱角。所以可以把某些特征壓縮為0

SVM優(yōu)缺點(diǎn)

優(yōu)點(diǎn)

使用核函數(shù)可以向高維空間進(jìn)行映射

使用核函數(shù)可以解決非線性的分類

分類思想很簡(jiǎn)單,就是將樣本與決策面的間隔最大化

分類效果較好

缺點(diǎn)

對(duì)大規(guī)模數(shù)據(jù)訓(xùn)練比較困難

無(wú)法直接支持多分類,但是可以使用間接的方法來(lái)做

SMO算法

SMO

SMO是用于快速求解SVM的

它選擇凸二次規(guī)劃的兩個(gè)變量,其他的變量保持不變,然后根據(jù)這兩個(gè)變量構(gòu)建一個(gè)二次規(guī)劃問(wèn)題,這個(gè)二次規(guī)劃關(guān)于這兩個(gè)變量解會(huì)更加的接近原始二次規(guī)劃的解,通過(guò)這樣的子問(wèn)題劃分可以大大增加整個(gè)算法的計(jì)算速度

SVM多分類問(wèn)題

間接法

一對(duì)多

其中某個(gè)類為一類,其余n-1個(gè)類為另一個(gè)類,比如A,B,C,D四個(gè)類,第一次A為一個(gè)類,{B,C,D}為一個(gè)類訓(xùn)練一個(gè)分類器,第二次B為一個(gè)類,{A,C,D}為另一個(gè)類,按這方式共需要訓(xùn)練4個(gè)分類器,最后在測(cè)試的時(shí)候?qū)y(cè)試樣本經(jīng)過(guò)這4個(gè)分類器f1(x),f2(x),f3(x)和f4(x),取其最大值為分類器(這種方式由于是1對(duì)M分類,會(huì)存在偏置,很不實(shí)用)

一對(duì)一(libsvm實(shí)現(xiàn)的方式)

任意兩個(gè)類都訓(xùn)練一個(gè)分類器,那么n個(gè)類就需要$n*(n-1)/2$個(gè)svm分類器。

還是以A,B,C,D為例,那么需要{A,B},{A,C},{A,D},{B,C},{B,D},{C,D}為目標(biāo)共6個(gè)分類器,然后在預(yù)測(cè)的將測(cè)試樣本通過(guò)這6個(gè)分類器之后進(jìn)行投票選擇最終結(jié)果。(這種方法雖好,但是需要$n*(n-1)/2$個(gè)分類器代價(jià)太大,不過(guò)有好像使用循環(huán)圖來(lái)進(jìn)行改進(jìn))

reference

Linear SVM 和 LR 有什么異同?

SVM和logistic回歸分別在什么情況下使用?

百度 – 機(jī)器學(xué)習(xí)面試

svmw問(wèn)題整理

各種機(jī)器學(xué)習(xí)的應(yīng)用場(chǎng)景分別是什么?例如,k近鄰,貝葉斯,決策樹(shù),svm,邏輯斯蒂回歸

機(jī)器學(xué)習(xí)面試問(wèn)題匯總

機(jī)器學(xué)習(xí)面試

如何準(zhǔn)備機(jī)器學(xué)習(xí)工程師的面試 ?

天池離線賽 - 移動(dòng)推薦算法(四):基于LR, RF, GBDT等模型的預(yù)測(cè)

機(jī)器學(xué)習(xí)常見(jiàn)算法個(gè)人總結(jié)(面試用)

機(jī)器學(xué)習(xí)面試問(wèn)題匯總

cs229機(jī)器學(xué)習(xí)筆記及代碼

騰訊17屆校招面經(jīng)合集

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容