邏輯回歸(Logistic Regression)雖然名字中包含“回歸”,但它實(shí)際上是一種用于分類(lèi)問(wèn)題的統(tǒng)計(jì)方法。這種名稱(chēng)上的混淆可能源于邏輯回歸與線性回歸的相似性,以及它在處理二分類(lèi)問(wèn)題時(shí)使用的數(shù)學(xué)形式。
邏輯回歸和線性回歸的目標(biāo)都是訓(xùn)練得到一條直線,不同的是,線性回歸的直線盡可能去擬合輸入變量X的分布,使得訓(xùn)練集中所有樣本點(diǎn)到直線的距離盡可能短(圖1);而邏輯回歸的直線盡可能去擬合決策邊界,使得訓(xùn)練集樣本中不同類(lèi)的樣本點(diǎn)盡可能分離開(kāi)(圖2)。
圖1
圖2
可以簡(jiǎn)單理解為:如果預(yù)測(cè)值是連續(xù)的,就是回歸問(wèn)題;如果預(yù)測(cè)值是離散的,就是分類(lèi)問(wèn)題。為什么這么說(shuō)呢?
邏輯回歸的目的是預(yù)測(cè)一個(gè)樣本屬于某個(gè)類(lèi)別的概率。它通過(guò)應(yīng)用一個(gè)邏輯函數(shù)(也稱(chēng)為sigmoid函數(shù))將線性回歸的輸出映射到0和1之間的概率值。sigmoid函數(shù)的定義如下:
這個(gè)函數(shù)的輸出始終位于0和1之間,非常適合描述概率。
邏輯回歸模型通常用于二分類(lèi)問(wèn)題,其中輸出只有兩個(gè)可能值,例如“是”或“否”,“陽(yáng)性”或“陰性”。模型的輸出是一個(gè)概率值,表示樣本屬于正類(lèi)(通常標(biāo)記為1)的概率。我們可以設(shè)置一個(gè)閾值(通常為0.5),如果模型的輸出概率大于這個(gè)閾值,我們就將樣本分類(lèi)為正類(lèi);否則,將其分類(lèi)為負(fù)類(lèi)(通常標(biāo)記為0)。
邏輯回歸模型的參數(shù)是通過(guò)最大化對(duì)數(shù)似然函數(shù)(也稱(chēng)為交叉熵?fù)p失函數(shù))來(lái)估計(jì)的,這個(gè)函數(shù)衡量的是模型預(yù)測(cè)的概率分布與實(shí)際標(biāo)簽之間的差異。
通過(guò)一個(gè)例子來(lái)解釋線性回歸和邏輯回歸。
線性回歸例子:假設(shè)你想預(yù)測(cè)房屋的價(jià)格。收集了一些數(shù)據(jù),包括房屋的大。ㄆ椒接⒊撸⑴P室數(shù)量、浴室數(shù)量以及位置等信息。你的目標(biāo)是建立一個(gè)模型,當(dāng)你有新的房屋信息時(shí),可以預(yù)測(cè)它的價(jià)格。
你可以使用線性回歸來(lái)建立這個(gè)模型。線性回歸會(huì)尋找一個(gè)最佳擬合平面(在二維空間中是一條直線),通過(guò)最小化所有數(shù)據(jù)點(diǎn)到這個(gè)平面的垂直距離的平方和來(lái)預(yù)測(cè)價(jià)格。模型的形式可能是:
其中,w0,w1,w2,w3,… 是模型參數(shù),通過(guò)最小二乘法或其他優(yōu)化方法來(lái)確定。
邏輯回歸例子:假設(shè)你想預(yù)測(cè)一個(gè)客戶是否會(huì)購(gòu)買(mǎi)房子。收集了一些客戶的數(shù)據(jù),包括他們的年收入、年齡、婚姻狀況等信息。你的目標(biāo)是建立一個(gè)模型,當(dāng)有新的客戶信息時(shí),可以預(yù)測(cè)他們購(gòu)買(mǎi)房子的概率。
你可以使用邏輯回歸來(lái)建立這個(gè)模型。邏輯回歸不會(huì)直接預(yù)測(cè)一個(gè)連續(xù)的價(jià)格,而是預(yù)測(cè)一個(gè)客戶購(gòu)買(mǎi)房子的概率。模型的形式可能是:
其中,P(Buy|Income,Age,MaritalStatus)是客戶購(gòu)買(mǎi)房子的條件概率,w0, w1, w2, w3 是模型參數(shù),通過(guò)最大化對(duì)數(shù)似然函數(shù)來(lái)確定。
在這個(gè)例子中,邏輯回歸的輸出是一個(gè)介于0和1之間的概率值。你可以設(shè)置一個(gè)閾值(例如0.5),如果模型的輸出概率大于這個(gè)閾值,就預(yù)測(cè)客戶會(huì)購(gòu)買(mǎi)房子;否則,預(yù)測(cè)他們不會(huì)購(gòu)買(mǎi)。
總結(jié)來(lái)說(shuō),邏輯回歸之所以屬于分類(lèi)問(wèn)題,是因?yàn)樗哪康氖歉鶕?jù)輸入特征預(yù)測(cè)一個(gè)樣本屬于某個(gè)類(lèi)別的概率,而不是預(yù)測(cè)一個(gè)連續(xù)的數(shù)值(如線性回歸所做的)。邏輯回歸的名稱(chēng)可能會(huì)讓人誤解其為回歸方法,但實(shí)際上它是一種廣泛應(yīng)用于分類(lèi)問(wèn)題的統(tǒng)計(jì)學(xué)習(xí)方法。
看到這里,你是否覺(jué)得邏輯回歸只可以處理二分類(lèi)問(wèn)題呢?
答案當(dāng)然是否定的,既然可以處理二分類(lèi)問(wèn)題,那將多個(gè)二分類(lèi)問(wèn)題結(jié)合在一起,就可以處理多分類(lèi)問(wèn)題:
例如,想要預(yù)測(cè)一個(gè)水果是蘋(píng)果、香蕉還是橙子,可以訓(xùn)練三個(gè)邏輯回歸模型:
一個(gè)模型區(qū)分蘋(píng)果和其他水果。
一個(gè)模型區(qū)分香蕉和其他水果。
一個(gè)模型區(qū)分橙子和其他水果。
然后,根據(jù)這三個(gè)模型的輸出概率來(lái)決定這個(gè)水果最可能屬于哪個(gè)類(lèi)別。在預(yù)測(cè)時(shí),哪個(gè)模型的預(yù)測(cè)概率最高,就將實(shí)例分到哪個(gè)類(lèi)別。
雖然邏輯回歸可以用于多分類(lèi)問(wèn)題,但在實(shí)踐中,還有其他模型如支持向量機(jī)、決策樹(shù)、隨機(jī)森林等,并且可能更加有效。