終于到了大名鼎鼎的邏輯回歸,在學(xué)邏輯回歸的時(shí)候,從偏傳統(tǒng)的統(tǒng)計(jì)那邊學(xué)過(guò)一次,然后又從機(jī)器學(xué)習(xí)這邊學(xué)過(guò)一次,感覺(jué)還是挺不一樣的。
從傳統(tǒng)那邊,老師說(shuō)之所以要進(jìn)行l(wèi)ogit變換的原因是在生物統(tǒng)計(jì)方面覺(jué)得這個(gè)transformation比較合理,但從機(jī)器學(xué)習(xí)上看,這個(gè)transformation跟LDA(Linear Discriminant Analysis)有關(guān),在了解了LDA之后,有Logistic這個(gè)想法還是蠻直接。
在傳統(tǒng)上會(huì)有對(duì)Group Data做邏輯回歸的情況,但是在機(jī)器學(xué)習(xí)上,好像很少會(huì)有這種問(wèn)題出現(xiàn)。不過(guò)個(gè)人以為,從Logistics Regression這個(gè)名字來(lái)看,最開始應(yīng)該還是傳統(tǒng)統(tǒng)計(jì)這邊有了成果,然后之后才算到了ML算法中。
話不多說(shuō),既然整理的是ML算法,那就從ML這邊說(shuō)起。剛才講了,logistic的想法與LDA有關(guān)。在LDA判別某一個(gè)點(diǎn)屬于哪一類時(shí),需要計(jì)算這個(gè)式子,為了使所有的
,做一個(gè)系數(shù)的變換:
... ... ....
由上式,可以導(dǎo)出:
這也叫做Softmax函數(shù)。因?yàn)槭怯蒐DA導(dǎo)出的,所以就直接處理了一個(gè)多分類的問(wèn)題。
那如果從傳統(tǒng)統(tǒng)計(jì)這邊導(dǎo),Logistic最開始不完全是為了處理分類問(wèn)題存在的,他可以看做是對(duì)占比的一個(gè)預(yù)測(cè),這也就是邏輯回歸為什么有回歸這兩個(gè)字。

就像上面這個(gè)例子,我們要擬合percent和Age的關(guān)系。那在一開始畫percent和Age的散點(diǎn)圖的時(shí)候,我們會(huì)發(fā)現(xiàn)他們的關(guān)系并不是完全線性的,反而呈現(xiàn)一種S-shape(類似Sigmoid Function),那對(duì)于這種問(wèn)題,我們還是會(huì)想要把他轉(zhuǎn)化為一個(gè)線性關(guān)系來(lái)處理嘛,所以就對(duì)percent做一個(gè)logit transformation,這是為什么算法叫l(wèi)ogistic的原因。,這樣轉(zhuǎn)換以后話散點(diǎn)圖,發(fā)現(xiàn)
和X有成性關(guān)系,于是
。這樣一來(lái),
,這也叫做Sigmoid Function
仔細(xì)觀察從LDA導(dǎo)出的式子和剛才的式子,可以發(fā)現(xiàn)其實(shí)他們是一樣的,softmax可以看做是Sigmoid的一個(gè)拓展,但本質(zhì)相同。
所以在做參數(shù)估計(jì)的時(shí)候,我們可以先從統(tǒng)計(jì)這邊來(lái)看。由于統(tǒng)計(jì)上一開始處理的是一個(gè)估計(jì)percentage的問(wèn)題,那其實(shí)這就很明顯可以看做一個(gè)二項(xiàng)分布,類似的,多分類可以看做是一個(gè)Multinomial的分布。為了簡(jiǎn)單處理,以下只考慮二分類問(wèn)題,并且將一并歸到
中。那從統(tǒng)計(jì)上來(lái)說(shuō),參數(shù)估計(jì)一般是用最大似然估計(jì),二項(xiàng)分布可以看做是多個(gè)伯努利分布,所以:
因?yàn)檫@個(gè)式子不能得到顯式的答案,所以需要用牛頓法/最優(yōu)化方法來(lái)數(shù)值逼近方程根。然后因?yàn)槌蕇igmoid的形態(tài),所以模型在兩端的導(dǎo)數(shù)很小,所以迭代起來(lái)會(huì)很慢。所以一般初始值可以另或一些0附近比較小的值,然后learning rate需要很小,我自己試下來(lái)有時(shí)候需要<0.000001才能讓算法收斂。如果自己寫logistic算法的話,處置選取和learning rate需要謹(jǐn)慎選擇,然后最好是對(duì)數(shù)據(jù)先進(jìn)行標(biāo)準(zhǔn)化再做擬合。

那對(duì)于logistic,我們一般選取的損失函數(shù)式Cross-Entrophy:
,如果是多分類問(wèn)題:
,可以發(fā)現(xiàn),其實(shí)和最大似然估計(jì)的式子是一樣的。
模型選擇時(shí),如果是subset selection的話一個(gè)個(gè)擬合很耗時(shí)間,所以一般會(huì)用Rao score test 去test是否要加feature,用Wald test決定是否要去變量 ->bi direction stepwise
或者是直接加入一個(gè)L1正則項(xiàng),來(lái)剔除一些變量
TBC