目錄:
1.邏輯回歸
2.牛頓法求極值
3.指數(shù)分布族與多項(xiàng)分布
4.廣義線性模型
前言
在看邏輯回歸之前铝侵,先回想一下線性回歸問題的求解步驟灼伤,再順著線性回歸,來介紹邏輯回歸咪鲜。
1.首先假設(shè)誤差存在且為高斯分布,等價(jià)于真實(shí)數(shù)據(jù)的概率分布撞鹉。
2.求出聯(lián)合概率分布疟丙,也就是似然函數(shù)。
3.進(jìn)行取對(duì)數(shù)運(yùn)算鸟雏,得到對(duì)數(shù)似然函數(shù)l(θ)享郊。
4.求l(θ)的最大值,得到了最小二乘的策略孝鹊。
5.使用梯度下降炊琉,讓參數(shù)逐漸逼近最小二乘法中的最優(yōu)解。
1.邏輯回歸
邏輯回歸雖然名字里帶“回歸”,但它不解決回歸問題苔咪,而是處理分類問題锰悼。回歸問題中預(yù)測(cè)值y是一系列連續(xù)值团赏,而分類問題中y是一些離散的值箕般。通常二分類的預(yù)測(cè)值y可以用0和1表示。例如舔清,要建立一個(gè)垃圾郵件的分類器丝里,那么x(i)表示郵件的特征,y是郵件的標(biāo)簽体谒。當(dāng)y=0時(shí)杯聚,屬于正常郵件,y=1時(shí)抒痒,屬于垃圾郵件幌绍。0和1分別為負(fù)例和正例,可以用符號(hào)”-“评汰、”+“表示》桌蹋現(xiàn)在先選擇一個(gè)函數(shù)hθ(x),能夠表示分類問題被去。我們選擇下面這個(gè)函數(shù):
它叫做邏輯回歸(logistic function主儡,或sigmoid function),在二維坐標(biāo)上是一個(gè)“S”型曲線惨缆,如圖所示糜值。
當(dāng)z趨近于正無窮時(shí),g(z)趨近于1坯墨,當(dāng)z趨近于負(fù)無窮時(shí)寂汇,g(z)趨近于0。并且g(z)和h(x)的取值范圍都在(0,1)捣染,相當(dāng)于骄瓣,把整個(gè)實(shí)數(shù)范圍壓縮到了0到1之間。這樣耍攘,預(yù)測(cè)y的值可以表示屬于某一類的概率榕栏,當(dāng)y越接近1時(shí),它屬于y=1的概率越大蕾各。和線性回歸一樣扒磁,我們?cè)O(shè)每個(gè)特征xj的權(quán)重為θj,x0=1式曲,所以可以求出所有權(quán)重與特征的乘積和妨托,用向量θTx代替z,得到如下表達(dá)式:
確定了處理二分類問題的模型,接下來就是求解θ了兰伤。像最小二乘的推導(dǎo)一樣内颗,我們對(duì)分類模型也做一些假設(shè),用最大似然法和來優(yōu)化θ医清。假設(shè)給定x和θ起暮,輸出值hθ(x)表示y=1的概率,那么y=0的概率就是1- hθ(x)会烙。
可以將兩個(gè)式子合并:
假設(shè)所有樣本都是獨(dú)立分布负懦,接著求出參數(shù)的似然性:
為方便后面的計(jì)算,對(duì)它取對(duì)數(shù)柏腻,將累乘變成累和:
我們的目標(biāo)就是找到θ纸厉,使對(duì)數(shù)似然性最大。為了求它的最大值五嫂,可以使用梯度下降的思想颗品,逐步迭代,最終求極大值沃缘。所以這里可以叫做梯度上升法躯枢。那么接著對(duì)這個(gè)函數(shù)求偏導(dǎo):
順便提一下logistic函數(shù)求導(dǎo),根據(jù)鏈?zhǔn)角髮?dǎo)法則得到如下表達(dá)式:
現(xiàn)在就得到了梯度上升的迭代公式:
準(zhǔn)確來說槐臀,得到的是隨機(jī)梯度上升的公式锄蹂,即每進(jìn)行一個(gè)樣本的擬合,就更新一次參數(shù)水慨。與之相對(duì)應(yīng)的得糜,是批梯度上升。
雖然決策函數(shù)hθ(x(i))是一個(gè)非線性的函數(shù)晰洒,這個(gè)公式是由一個(gè)不同的算法推導(dǎo)出來朝抖,但是推導(dǎo)過程與最終結(jié)果都與線性回歸與最小二乘法差不多,接下來就介紹另一種求極值的方法谍珊。
2.牛頓法
梯度下降法和牛頓法都是為了求函數(shù)最優(yōu)解治宣,但是方式不同。梯度下降法的步驟是砌滞,選擇一組隨機(jī)值炼七,計(jì)算函數(shù)的導(dǎo)數(shù),接著沿著導(dǎo)數(shù)的反方向布持,也就是沿著下降的方向前進(jìn)一步,逐步逼近最小值陕悬。而當(dāng)一個(gè)函數(shù)存在極值時(shí)题暖,它的極值點(diǎn)處的一階導(dǎo)數(shù)等于0,那么用迭代的方法逐步逼近一階導(dǎo)數(shù)為0的位置,就是牛頓法的核心思想胧卤。接下來看具體步驟:
上圖是某函數(shù)的一階導(dǎo)數(shù)f(x)唯绍,要求y=0位置處的值,首先隨機(jī)取一點(diǎn)A枝誊,做A的切線况芒,交x軸于θ(1),再過做x軸垂線叶撒,交f(x)于點(diǎn)B绝骚,再做B的切線,以此類推祠够,逼近極值點(diǎn)压汪。那么根據(jù)導(dǎo)數(shù)和線段上的關(guān)系,有以下表達(dá)式:
其中f(x)是邏輯回歸里的似然函數(shù)l(θ)的導(dǎo)數(shù)古瓤,于是牛頓法求似然函數(shù)的迭代公式為:
當(dāng)參數(shù)θ是一個(gè)向量時(shí)止剖,牛頓法表示如下,?θ l(θ)是對(duì)l(θ)求θ的偏導(dǎo)數(shù)落君,H表示Hessian矩陣:
牛頓法通常比梯度下降法的收斂速度更快穿香,對(duì)邏輯回歸的效果很好,經(jīng)過較少的迭代次數(shù)就能得到較高的精度绎速,但它也有缺點(diǎn)皮获。牛頓法適用條件比較復(fù)雜,不像如梯度下降適用性那么廣朝氓。而且牛頓法需要計(jì)算Hessian矩陣魔市,當(dāng)參數(shù)較多時(shí),運(yùn)算量會(huì)很大:
3.指數(shù)分布族與多項(xiàng)分布
其他函數(shù)也能作為分類函數(shù)赵哲,理論上只要在0到1之間且單調(diào)即可待德。不過邏輯斯蒂函數(shù)與伯努利分布不是隨便寫出來的,它和線性回歸一樣枫夺,都是指數(shù)分布族的一個(gè)特例将宪。指數(shù)族分布可以寫成如下形式:
η是分布的自然參數(shù);
T(y)為充分統(tǒng)計(jì)量橡庞;
a(η)為對(duì)數(shù)分配函數(shù)较坛。
當(dāng)給定一組a,b扒最,T丑勤,這個(gè)公式就定義了一個(gè)概率分布的集合。
對(duì)于伯努利二項(xiàng)分布吧趣,假設(shè)它的參數(shù)是φ法竞,類別用0耙厚,1表示,可以這么表達(dá):
p(y = 1; φ) = φ
p(y = 0; φ) = 1 – φ
那么伯努利分布可以改寫成如下形式:
所以參數(shù)
這就得到了sigmoid函數(shù)岔霸。所以總結(jié)一下薛躬,當(dāng)指數(shù)分布族滿足以下條件時(shí),可以推出伯努利分布呆细。
除了高斯分布型宝、伯努利分布,多項(xiàng)式分布也屬于指數(shù)分布族絮爷。多項(xiàng)式分布可以解決多分類問題趴酣,可以認(rèn)為是二項(xiàng)分布的延伸。這里直接給出多分類問題的模型函數(shù)略水,具體推導(dǎo)這篇文章里寫的很詳細(xì)价卤。
4.廣義線性模型
當(dāng)我們要對(duì)單位時(shí)間內(nèi)隨機(jī)事件發(fā)生的個(gè)數(shù)進(jìn)行建模,我們可以用泊松分布渊涝;對(duì)二項(xiàng)分布問題建模慎璧,可以使用伯努利分布建模;但是跨释,如果遇到一個(gè)特定的問題胸私,沒有現(xiàn)成的模型可以使用時(shí),我們就需要廣義線性模型來建立一套算法鳖谈。為了推導(dǎo)出這些問題的模型岁疼,要對(duì)y的分布做以下三個(gè)假設(shè):
1.給定x與θ,輸出y屬于指數(shù)族分布缆娃,并以η為參數(shù)捷绒。
2.模型的目標(biāo)是預(yù)測(cè)T(y)的期望值,即h(x) = E[T(y)|x]贯要。
3.η和輸入x是線性關(guān)系:η= θTx暖侨。
還是以二項(xiàng)分布為例,用廣義線性模型來對(duì)它建模崇渗。給定x字逗,θ后,二項(xiàng)分布的輸出值應(yīng)該是屬于某一類的概率宅广,h(x) = E[y|x]葫掉,期望值就是y=1的概率,P(y=1|x;θ)=φ跟狱,根據(jù)上文的已經(jīng)推出的結(jié)論φ=1/(1+e^(-η) )俭厚,且η= θTx,于是得到: