1 、引言
邏輯回歸( logistic regression )挽牢,是一種分類方法,用于二分類問題摊求,即輸出結(jié)果只有兩種禽拔,如用于廣告預(yù)測,也就是根據(jù)某廣告被用戶點(diǎn)擊的可能性室叉,把最可能被用戶點(diǎn)擊的廣告擺在用戶能看到的地方睹栖,結(jié)果用戶要么點(diǎn)擊,要么不點(diǎn)擊茧痕。通常兩類使用類別標(biāo)號(hào) 0 和 1 表示野来, 0 表示不發(fā)生, 1 表示發(fā)生踪旷。
2 曼氛、問題引入
例如:有 10 個(gè)手機(jī),其中有 3 個(gè)是你喜歡的令野, 7 個(gè)是不喜歡的∫ɑ迹現(xiàn)預(yù)測你對(duì)第 11 個(gè)手機(jī)的喜好。這是一個(gè)兩類問題彩掐,喜歡與不喜歡构舟。顯然這是一個(gè)二分類問題,我們對(duì)第 11 個(gè)手機(jī)進(jìn)行預(yù)測分類堵幽,分為喜歡和不喜歡兩個(gè)類別。
那么就需要對(duì)手機(jī)取特征弹澎,比如價(jià)格朴下,外觀,用戶體驗(yàn)等苦蒿,簡單處理只拿這個(gè)三個(gè)特征殴胧,那么可以使用如下等式:
x1 , x2 , x3 分別表示我們對(duì)某部手機(jī)的價(jià)格团滥,外觀竿屹,用戶體驗(yàn)具體的量化數(shù)值。 θ 表示相應(yīng)的權(quán)重灸姊,權(quán)重越高表示你越看重手機(jī)哪方面拱燃。
假設(shè)通過訓(xùn)練已經(jīng)得到了 θ 值,那么就只需要將第 11 只手機(jī)的價(jià)格力惯,外觀碗誉,用戶體驗(yàn)的量化數(shù)值代入上述公式中,得到 z 值父晶。如果 z 值越高哮缺,說明喜歡該部手機(jī)的可能性就越高。 z>0 表示喜歡這部手機(jī)甲喝; z<0 表示不喜歡這部手機(jī)尝苇。 z>0 時(shí), |z| 越大表示越喜歡埠胖; z<0 時(shí)茎匠, |z| 越大表示越不喜歡。
3 押袍、 目標(biāo)函數(shù)
sigmoid 函數(shù)的取值范圍為 (0,1) 诵冒。 z>0 時(shí), z 越大谊惭, g(z) 函數(shù)值越大汽馋,無限趨近于 1 。 z<0 時(shí)圈盔, z 越小豹芯, g(z) 函數(shù)值越小,無限趨近于 0 驱敲。因此就可以使用 g(z) 的值來代替 z 表示我們對(duì)手機(jī)的喜歡程度铁蹈。
以 g(z) 值 0.5 為分界線,對(duì)于橫坐標(biāo) z>0 時(shí)众眨, g(z) 值大于 0.5 的可以歸為 1 類握牧, z<0 時(shí), g(z) 小于 0.5 娩梨,歸為 0 類沿腰。
g(z) 值的范圍在 (0,1), 而任意一個(gè)概率值也在 [0,1] 。概率的取值范圍大于 g(z) 的取值范圍狈定,因此任意一個(gè) g(z) 都能夠找到一個(gè)概率值相對(duì)應(yīng)颂龙。假設(shè) z 的輸出結(jié)果是 0 和 1 习蓬,那么就有我們下式:
假設(shè)分類的概率寫成如下:
把上面的概率寫到一起:
聯(lián)系貝葉斯公式的后驗(yàn)概率,分類的時(shí)候選取后驗(yàn)概率大的值進(jìn)行分類措嵌。那么現(xiàn)在分類模型含有未知參數(shù) θ 躲叼,如果求出 θ 那么就可以對(duì)新的樣本進(jìn)行分類。
那么如何求未知參數(shù) θ 呢企巢?我們現(xiàn)在有 m 個(gè)樣本枫慷,思路是建立一個(gè)目標(biāo)函數(shù),求目標(biāo)函數(shù)極值包斑,極值處的 θ 值流礁,就是我們最有未知參數(shù)值,即我們常用的極大似然估計(jì)罗丰。
4 神帅、極大似然估計(jì)思想
給定:數(shù)據(jù)集和含有未知參數(shù)的模型(參數(shù)全部未知或部分未知)
估計(jì):模型的未知參數(shù)
極大似然估計(jì)的思想:在給定模型(含有未知參數(shù))和樣本集的情況下,用來估計(jì)模型參數(shù)萌抵, 使得模型實(shí)現(xiàn)樣本的最大程度的擬合找御,即使得該樣本出現(xiàn)的可能性最大。
m 個(gè)樣本的釋然函數(shù):
取對(duì)數(shù)后:
似然函數(shù)求導(dǎo):
邏輯回歸的目標(biāo)就是使似然函數(shù)最大绍填,因此可以采用梯度下降法進(jìn)行迭代求得似然函數(shù)的最大值霎桅。
5 、梯度下降法求解對(duì)數(shù)似然函數(shù)的最大值
5.1 批處理梯度下降法
需要把所有m個(gè)樣本全部帶入計(jì)算讨永,迭代一個(gè)計(jì)算量為mxn2
批處理梯度下降法沒迭代一步要用到訓(xùn)練集所有的樣本滔驶,如果樣本數(shù)m很大,那么計(jì)算相應(yīng)速度會(huì)很慢卿闹。所以針對(duì)這種不足揭糕,又引入了另一種方法:隨機(jī)梯度下降法
5.2 隨機(jī)梯度下降法 SGD(stochastic gradient descent)
隨機(jī)梯度下降法每次迭代只代入單個(gè)樣本,迭代一個(gè)計(jì)算量為n2锻霎,當(dāng)樣本量總數(shù)m很大的時(shí)候著角,隨機(jī)梯度下降法迭代一次的速度要遠(yuǎn)遠(yuǎn)小于梯度下降法,迭代公式如下:
由于每次只代入一個(gè)樣本進(jìn)行計(jì)算旋恼,雖然每次迭代誤差準(zhǔn)則函數(shù)都不一定是向著全局最優(yōu)方向吏口,但是大的整體方向是向著全局最優(yōu)方向的。
6冰更、邏輯回歸代碼
6.1 樣本數(shù)據(jù)
前兩列分別為x1和x2值产徊,第3列為數(shù)據(jù)的類別
6.2 讀取數(shù)據(jù)
6.3 定義sigmoid函數(shù)
6.4 批處理梯度下降法
6.5 隨機(jī)梯度下降法