什么是邏輯回歸?
Logistic回歸與多重線性回歸實際上有很多相同之處盛末,最大的區(qū)別就在于它們的因變量不同,其他的基本都差不多算墨。正是因為如此报咳,這兩種回歸可以歸于同一個家族暑刃,即廣義線性模型(generalizedlinear model)厢漩。
這一家族中的模型形式基本上都差不多,不同的就是因變量不同岩臣。
1.如果是連續(xù)的溜嗜,就是多重線性回歸宵膨;
2.如果是二項分布,就是Logistic回歸炸宵;
3.如果是Poisson分布,就是Poisson回歸土全;
4.如果是負二項分布捎琐,就是負二項回歸。
Logistic回歸的因變量可以是二分類的裹匙,也可以是多分類的瑞凑,但是二分類的更為常用,也更加容易解釋概页。所以實際中最常用的就是二分類的Logistic回歸籽御。
Logistic回歸的主要用途:
1.尋找危險因素:尋找某一疾病的危險因素等;
2.預測:根據(jù)模型惰匙,預測在不同的自變量情況下技掏,發(fā)生某病或某種情況的概率有多大;
3.判別:實際上跟預測有些類似徽曲,也是根據(jù)模型零截,判斷某人屬于某病或?qū)儆谀撤N情況的概率有多大,也就是看一下這個人有多大的可能性是屬于某病秃臣。
Logistic回歸主要在流行病學中應用較多涧衙,比較常用的情形是探索某疾病的危險因素,根據(jù)危險因素預測某疾病發(fā)生的概率奥此,等等弧哎。例如,想探討胃癌發(fā)生的危險因素稚虎,可以選擇兩組人群撤嫩,一組是胃癌組,一組是非胃癌組蠢终,兩組人群肯定有不同的體征和生活方式等序攘。這里的因變量就是是否胃癌,即“是”或“否”寻拂,自變量就可以包括很多了程奠,例如年齡、性別祭钉、飲食習慣瞄沙、幽門螺桿菌感染等。自變量既可以是連續(xù)的,也可以是分類的距境。
常規(guī)步驟
Regression問題的常規(guī)步驟為:
1.尋找h函數(shù)(即hypothesis)申尼;
2.構(gòu)造J函數(shù)(損失函數(shù));
3.想辦法使得J函數(shù)最小并求得回歸參數(shù)(θ)
構(gòu)造預測函數(shù)h
Logistic回歸雖然名字里帶“回歸”垫桂,但是它實際上是一種分類方法师幕,主要用于兩分類問題(即輸出只有兩種,分別代表兩個類別)伪货,所以利用了Logistic函數(shù)(或稱為Sigmoid函數(shù))们衙,函數(shù)形式為:
Sigmoid 函數(shù)在有個很漂亮的“S”形,如下圖所示(引自維基百科):
下面左圖是一個線性的決策邊界碱呼,右圖是非線性的決策邊界蒙挑。
對于線性邊界的情況,邊界形式如下:
構(gòu)造預測函數(shù)為:
函數(shù)的值有特殊的含義愚臀,它表示結(jié)果取1的概率忆蚀,因此對于輸入x分類結(jié)果為類別1和類別0的概率分別為:
構(gòu)造損失函數(shù)J
Cost函數(shù)和J函數(shù)如下,它們是基于最大似然估計推導得到的姑裂。
下面詳細說明推導的過程:
(1)式綜合起來可以寫成:
取似然函數(shù)為:
對數(shù)似然函數(shù)為:
最大似然估計就是求使
取最大值時的θ馋袜,其實這里可以使用梯度上升法求解,求得的θ就是要求的最佳參數(shù)舶斧。但是欣鳖,在Andrew Ng的課程中將取為下式,即:
因為乘了一個負的系數(shù)-1/m茴厉,所以取最小值時的θ為要求的最佳參數(shù)泽台。
梯度下降法求的最小值
θ更新過程:
θ更新過程可以寫成:
向量化Vectorization
Vectorization是使用矩陣計算來代替for循環(huán),以簡化計算過程矾缓,提高效率怀酷。
如上式,Σ(...)是一個求和的過程嗜闻,顯然需要一個for語句循環(huán)m次蜕依,所以根本沒有完全的實現(xiàn)vectorization。
下面介紹向量化的過程:
約定訓練數(shù)據(jù)的矩陣形式如下琉雳,x的每一行為一條訓練樣本样眠,而每一列為不同的特稱取值:
g(A)的參數(shù)A為一列向量,所以實現(xiàn)g函數(shù)時要支持列向量作為參數(shù)翠肘,并返回列向量吹缔。由上式可知可由一次計算求得。
θ更新過程可以改為:
綜上所述锯茄,Vectorization后θ更新的步驟如下:
(1)求
(2)求
(3)求
正則化Regularization
過擬合問題
對于線性回歸或邏輯回歸的損失函數(shù)構(gòu)成的模型,可能會有些權(quán)重很大,有些權(quán)重很小肌幽,導致過擬合(就是過分擬合了訓練數(shù)據(jù))晚碾,使得模型的復雜度提高,泛化能力較差(對未知數(shù)據(jù)的預測能力)喂急。
下面左圖即為欠擬合格嘁,中圖為合適的擬合,右圖為過擬合廊移。
問題的主因
過擬合問題往往源自過多的特征糕簿。
解決方法
1)減少特征數(shù)量(減少特征會失去一些信息,即使特征選的很好)
1.可用人工選擇要保留的特征狡孔;
2.模型選擇算法懂诗;
2)正則化(特征較多時比較有效)
1.保留所有特征,但減少θ的大小
正則化方法
正則化是結(jié)構(gòu)風險最小化策略的實現(xiàn)苗膝,是在經(jīng)驗風險上加一個正則化項或懲罰項殃恒。正則化項一般是模型復雜度的單調(diào)遞增函數(shù),模型越復雜辱揭,正則化項就越大离唐。
從房價預測問題開始,這次采用的是多項式回歸问窃。左圖是適當擬合亥鬓,右圖是過擬合。
直觀來看域庇,如果我們想解決這個例子中的過擬合問題嵌戈,最好能將的影響消除,也就是讓较剃。假設(shè)我們對進行懲罰咕别,并且令其很小,一個簡單的辦法就是給原有的Cost函數(shù)加上兩個略大懲罰項写穴,例如:
這樣在最小化Cost函數(shù)的時候惰拱,。正則項可以取不同的形式啊送,在回歸問題中取平方損失偿短,就是參數(shù)的L2范數(shù),也可以取L1范數(shù)馋没。取平方損失時昔逗,模型的損失函數(shù)變?yōu)椋?/p>
lambda是正則項系數(shù):
1.如果它的值很大,說明對模型的復雜度懲罰大篷朵,對擬合數(shù)據(jù)的損失懲罰小勾怒,這樣它就不會過分擬合數(shù)據(jù)婆排,在訓練數(shù)據(jù)上的偏差較大,在未知數(shù)據(jù)上的方差較小笔链,但是可能出現(xiàn)欠擬合的現(xiàn)象段只;
2.如果它的值很小,說明比較注重對訓練數(shù)據(jù)的擬合鉴扫,在訓練數(shù)據(jù)上的偏差會小赞枕,但是可能會導致過擬合。
正則化后的梯度下降算法θ的更新變?yōu)椋?/p>
正則化后的線性回歸的Normal Equation的公式為:
其他優(yōu)化算法
1.Conjugate gradient method(共軛梯度法)
2.Quasi-Newton method(擬牛頓法)
3.BFGS method
4.L-BFGS(Limited-memory BFGS)
后二者由擬牛頓法引申出來坪创,與梯度下降算法相比炕婶,這些算法的優(yōu)點是:
1.第一,不需要手動的選擇步長莱预;
2.第二柠掂,通常比梯度下降算法快;
但是缺點是更復雜锁施。
多類分類問題
對于多類分類問題陪踩,可以將其看做成二類分類問題:保留其中的一類,剩下的作為另一類悉抵。
對于每一個類 i 訓練一個邏輯回歸模型的分類器肩狂,并且預測y = i時的概率;對于一個新的輸入變量x, 分別對每一個類進行預測姥饰,取概率最大的那個類作為分類結(jié)果: