九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
機(jī)器學(xué)習(xí)中的邏輯回歸模型簡介 - 博客 - 伯樂在線
原文出處: 美團(tuán)網(wǎng) - Fin   歡迎分享原創(chuàng)到伯樂頭條

邏輯回歸(Logistic Regression)是機(jī)器學(xué)習(xí)中的一種分類模型,由于算法的簡單和高效,在實(shí)際中應(yīng)用非常廣泛。本文作為美團(tuán)機(jī)器學(xué)習(xí)InAction系列中的一篇,主要關(guān)注邏輯回歸算法的數(shù)學(xué)模型和參數(shù)求解方法,最后也會簡單討論下邏輯回歸和貝葉斯分類的關(guān)系,以及在多分類問題上的推廣。

邏輯回歸

問題

實(shí)際工作中,我們可能會遇到如下問題:

  1. 預(yù)測一個用戶是否點(diǎn)擊特定的商品
  2. 判斷用戶的性別
  3. 預(yù)測用戶是否會購買給定的品類
  4. 判斷一條評論是正面的還是負(fù)面的

這些都可以看做是分類問題,更準(zhǔn)確地,都可以看做是二分類問題。同時,這些問題本身對美團(tuán)也有很重要的價值,能夠幫助我們更好的了解我們的用戶,服務(wù)我們的用戶。要解決這些問題,通常會用到一些已有的分類算法,比如邏輯回歸,或者支持向量機(jī)。它們都屬于有監(jiān)督的學(xué)習(xí),因此在使用這些算法之前,必須要先收集一批標(biāo)注好的數(shù)據(jù)作為訓(xùn)練集。有些標(biāo)注可以從log中拿到(用戶的點(diǎn)擊,購買),有些可以從用戶填寫的信息中獲得(性別),也有一些可能需要人工標(biāo)注(評論情感極性)。另一方面,知道了一個用戶或者一條評論的標(biāo)簽后,我們還需要知道用什么樣的特征去描述我們的數(shù)據(jù),對用戶來說,可以從用戶的瀏覽記錄和購買記錄中獲取相應(yīng)的統(tǒng)計(jì)特征,而對于評論來說,最直接的則是文本特征。這樣拿到數(shù)據(jù)的特征和標(biāo)簽后,就得到一組訓(xùn)練數(shù)據(jù):

其中 \(x^i\) 是一個 \(m\) 維的向量,\(x^i = [x_1^i, x_2^i, ... , x_m^i]\) ,\(y\) 在 {0, 1} 中取值。(本文用{1,0}表示正例和負(fù)例,后文沿用此定義。)

我們的問題可以簡化為,如何找到這樣一個決策函數(shù)\(y^* = f(x)\),它在未知數(shù)據(jù)集上能有足夠好的表現(xiàn)。至于如何衡量一個二分類模型的好壞,我們可以用分類錯誤率這樣的指標(biāo):\(Err = \frac{1}{N} \sum 1[y^* = y]\) 。也可以用準(zhǔn)確率,召回率,AUC等指標(biāo)來衡量。

值得一提的是,模型效果往往和所用特征密切相關(guān)。特征工程在任何一個實(shí)用的機(jī)器學(xué)習(xí)系統(tǒng)中都是必不可少的,機(jī)器學(xué)習(xí)InAction系列已有一篇文章中對此做了詳細(xì)的介紹,本文不再詳細(xì)展開。

模型

sigmoid 函數(shù)

在介紹邏輯回歸模型之前,我們先引入sigmoid函數(shù),其數(shù)學(xué)形式是:

\(g(x) = \frac{1}{1 + e ^ {-x}}\)

對應(yīng)的函數(shù)曲線如下圖所示:


從上圖可以看到sigmoid函數(shù)是一個s形的曲線,它的取值在[0, 1]之間,在遠(yuǎn)離0的地方函數(shù)的值會很快接近0/1。這個性質(zhì)使我們能夠以概率的方式來解釋(后邊延伸部分會簡單討論為什么用該函數(shù)做概率建模是合理的)。

決策函數(shù)

一個機(jī)器學(xué)習(xí)的模型,實(shí)際上是把決策函數(shù)限定在某一組條件下,這組限定條件就決定了模型的假設(shè)空間。當(dāng)然,我們還希望這組限定條件簡單而合理。而邏輯回歸模型所做的假設(shè)是:

\(P(y=1|x;\theta) = g(\theta^T x) = \frac{1}{1 + e ^ {-\theta^T * x}}\)

這里的 \(g(h)\) 是上邊提到的 sigmoid 函數(shù),相應(yīng)的決策函數(shù)為:

\(y^* = 1, \, \textrm{if} \, P(y=1|x) > 0.5\)

選擇0.5作為閾值是一個一般的做法,實(shí)際應(yīng)用時特定的情況可以選擇不同閾值,如果對正例的判別準(zhǔn)確性要求高,可以選擇閾值大一些,對正例的召回要求高,則可以選擇閾值小一些。

參數(shù)求解

模型的數(shù)學(xué)形式確定后,剩下就是如何去求解模型中的參數(shù)。統(tǒng)計(jì)學(xué)中常用的一種方法是最大似然估計(jì),即找到一組參數(shù),使得在這組參數(shù)下,我們的數(shù)據(jù)的似然度(概率)越大。在邏輯回歸模型中,似然度可表示為:

\(L(\theta) = P(D|\theta) = \prod P(y|x;\theta) = \prod g(\theta^T x) ^ y (1-g(\theta^T x))^{1-y}\)

取對數(shù)可以得到對數(shù)似然度:

\(l(\theta) = \sum {y\log{g(\theta^T x)} + (1-y)\log{(1-g(\theta^T x))}}\)

另一方面,在機(jī)器學(xué)習(xí)領(lǐng)域,我們更經(jīng)常遇到的是損失函數(shù)的概念,其衡量的是模型預(yù)測錯誤的程度。常用的損失函數(shù)有0-1損失,log損失,hinge損失等。其中l(wèi)og損失在單個數(shù)據(jù)點(diǎn)上的定義為\(-y\log{p(y|x)}-(1-y)\log{1-p(y|x)}\)

如果取整個數(shù)據(jù)集上的平均log損失,我們可以得到

\(J(\theta) = -\frac{1}{N} l(\theta)\)

即在邏輯回歸模型中,我們最大化似然函數(shù)和最小化log損失函數(shù)實(shí)際上是等價的。對于該優(yōu)化問題,存在多種求解方法,這里以梯度下降的為例說明。梯度下降(Gradient Descent)又叫作最速梯度下降,是一種迭代求解的方法,通過在每一步選取使目標(biāo)函數(shù)變化最快的一個方向調(diào)整參數(shù)的值來逼近最優(yōu)值?;静襟E如下:

  • 選擇下降方向(梯度方向,\(\nabla {J(\theta)}\)
  • 選擇步長,更新參數(shù) \(\theta^i = \theta^{i-1}  \alpha^i \nabla {J(\theta^{i-1})}\)
  • 重復(fù)以上兩步直到滿足終止條件


其中損失函數(shù)的梯度計(jì)算方法為:

\( \frac{\partial{J}}{\partial{\theta}} = -\frac{1}{n}\sum_i (y_i  y_i^*)x_i + \lambda \theta\)

沿梯度負(fù)方向選擇一個較小的步長可以保證損失函數(shù)是減小的,另一方面,邏輯回歸的損失函數(shù)是凸函數(shù)(加入正則項(xiàng)后是嚴(yán)格凸函數(shù)),可以保證我們找到的局部最優(yōu)值同時是全局最優(yōu)。此外,常用的凸優(yōu)化的方法都可以用于求解該問題。例如共軛梯度下降,牛頓法,LBFGS等。

分類邊界

知道如何求解參數(shù)后,我們來看一下模型得到的最后結(jié)果是什么樣的。很容易可以從sigmoid函數(shù)看出,當(dāng)\(\theta^T x > 0 \) 時,\(y = 1\),否則 \(y = 0\)。\(\theta^T x = 0 \) 是模型隱含的分類平面(在高維空間中,我們說是超平面)。所以說邏輯回歸本質(zhì)上是一個線性模型,但是,這不意味著只有線性可分的數(shù)據(jù)能通過LR求解,實(shí)際上,我們可以通過特征變換的方式把低維空間轉(zhuǎn)換到高維空間,而在低維空間不可分的數(shù)據(jù),到高維空間中線性可分的幾率會高一些。下面兩個圖的對比說明了線性分類曲線和非線性分類曲線(通過特征映射)。

 

左圖是一個線性可分的數(shù)據(jù)集,右圖在原始空間中線性不可分,但是在特征轉(zhuǎn)換 \([x_1, x_2] => [x_1, x_2, x_1^2, x_2^2, x_1x_2]\) 后的空間是線性可分的,對應(yīng)的原始空間中分類邊界為一條類橢圓曲線。

正則化

當(dāng)模型的參數(shù)過多時,很容易遇到過擬合的問題。這時就需要有一種方法來控制模型的復(fù)雜度,典型的做法在優(yōu)化目標(biāo)中加入正則項(xiàng),通過懲罰過大的參數(shù)來防止過擬合:

\(J(\theta) = -\frac{1}{N}\sum {y\log{g(\theta^T x)} + (1-y)\log{(1-g(\theta^T x))}} +
\lambda \Vert w \Vert_p\)

一般情況下,取\(p=1\)\(p=2\),分別對應(yīng)L1,L2正則化,兩者的區(qū)別可以從下圖中看出來,L1正則化(左圖)傾向于使參數(shù)變?yōu)?,因此能產(chǎn)生稀疏解。

 

實(shí)際應(yīng)用時,由于我們數(shù)據(jù)的維度可能非常高,L1正則化因?yàn)槟墚a(chǎn)生稀疏解,使用的更為廣泛一些。

延伸

生成模型和判別模型

邏輯回歸是一種判別模型,表現(xiàn)為直接對條件概率P(y|x)建模,而不關(guān)心背后的數(shù)據(jù)分布P(x,y)。而高斯貝葉斯模型(Gaussian Naive Bayes)是一種生成模型,先對數(shù)據(jù)的聯(lián)合分布建模,再通過貝葉斯公式來計(jì)算樣本屬于各個類別的后驗(yàn)概率,即:

\(p(y|x) = \frac{P(x|y)P(y)}{\sum{P(x|y)P(y)}}\)

通常假設(shè)P(x|y)是高斯分布,P(y)是多項(xiàng)式分布,相應(yīng)的參數(shù)都可以通過最大似然估計(jì)得到。如果我們考慮二分類問題,通過簡單的變化可以得到:

如果 \( \sigma_1 = \sigma_0 \),二次項(xiàng)會抵消,我們得到一個簡單的線性關(guān)系:

\(\log\frac{P(y=1|x)}{P(y=0|x)} = \theta^T x\)

由上式進(jìn)一步可以得到:

\(P(y=1|x) = \frac{e^{\theta^T x}}{1+e^{\theta^T x}} = \frac{1}{1+e^{-\theta^T x}} \)

可以看到,這個概率和邏輯回歸中的形式是一樣的。這種情況下GNB 和 LR 會學(xué)習(xí)到同一個模型。實(shí)際上,在更一般的假設(shè)(P(x|y)的分布屬于指數(shù)分布族)下,我們都可以得到類似的結(jié)論。

多分類(softmax)

如果\(y\)不是在[0,1]中取值,而是在\(K\)個類別中取值,這時問題就變?yōu)橐粋€多分類問題。有兩種方式可以出處理該類問題:一種是我們對每個類別訓(xùn)練一個二元分類器(One-vs-all),當(dāng)\(K\)個類別不是互斥的時候,比如用戶會購買哪種品類,這種方法是合適的。如果\(K\)個類別是互斥的,即 \(y = i\) 的時候意味著 \(y\) 不能取其他的值,比如用戶的年齡段,這種情況下 Softmax 回歸更合適一些。Softmax 回歸是直接對邏輯回歸在多分類的推廣,相應(yīng)的模型也可以叫做多元邏輯回歸(Multinomial Logistic Regression)。模型通過 softmax 函數(shù)來對概率建模,具體形式如下:

\(P(y=i|x, \theta) = \frac{e^{\theta_i^T x}}{\sum_j^K{e^{\theta_j^T x}}}\)

而決策函數(shù)為:\(y^* = \textrm{argmax}_i P(y=i|x,\theta)\)

對應(yīng)的損失函數(shù)為:

\(J(\theta) = -\frac{1}{N} \sum_i^N \sum_j^K {1[y_i=j] \log{\frac{e^{\theta_i^T x}}{\sum {e^{\theta_k^T x}}}}}\)

類似的,我們也可以通過梯度下降或其他高階方法來求解該問題,這里不再贅述。

應(yīng)用

本文開始部分提到了幾個在實(shí)際中遇到的問題,這里以預(yù)測用戶對品類的購買偏好為例,介紹一下美團(tuán)是如何用邏輯回歸解決工作中問題的。該問題可以轉(zhuǎn)換為預(yù)測用戶在未來某個時間段是否會購買某個品類,如果把會購買標(biāo)記為1,不會購買標(biāo)記為0,就轉(zhuǎn)換為一個二分類問題。我們用到的特征包括用戶在美團(tuán)的瀏覽,購買等歷史信息,見下表

類別特征
用戶購買頻次,瀏覽頻次,時間,地理位置 …
品類銷量,購買用戶,瀏覽用戶 …
交叉購買頻次,瀏覽頻次,購買間隔 …

其中提取的特征的時間跨度為30天,標(biāo)簽為2天。生成的訓(xùn)練數(shù)據(jù)大約在7000萬量級(美團(tuán)一個月有過行為的用戶),我們?nèi)斯ぐ严嗨频男∑奉惥酆掀饋?,最后?8個較為典型的品類集合。如果用戶在給定的時間內(nèi)購買某一品類集合,就作為正例。喲了訓(xùn)練數(shù)據(jù)后,使用Spark版的LR算法對每個品類訓(xùn)練一個二分類模型,迭代次數(shù)設(shè)為100次的話模型訓(xùn)練需要40分鐘左右,平均每個模型2分鐘,測試集上的AUC也大多在0.8以上。訓(xùn)練好的模型會保存下來,用于預(yù)測在各個品類上的購買概率。預(yù)測的結(jié)果則會用于推薦等場景。

由于不同品類之間正負(fù)例分布不同,有些品類正負(fù)例分布很不均衡,我們還嘗試了不同的采樣方法,最終目標(biāo)是提高下單率等線上指標(biāo)。經(jīng)過一些參數(shù)調(diào)優(yōu),品類偏好特征為推薦和排序帶來了超過1%的下單率提升。

此外,由于LR模型的簡單高效,易于實(shí)現(xiàn),可以為后續(xù)模型優(yōu)化提供一個不錯的baseline,我們在排序等服務(wù)中也使用了LR模型。

總結(jié)

邏輯回歸的數(shù)學(xué)模型和求解都相對比較簡潔,實(shí)現(xiàn)相對簡單。通過對特征做離散化和其他映射,邏輯回歸也可以處理非線性問題,是一個非常強(qiáng)大的分類器。因此在實(shí)際應(yīng)用中,當(dāng)我們能夠拿到許多低層次的特征時,可以考慮使用邏輯回歸來解決我們的問題。

參考資料

  • Trevor Hastie et al. The elements of statistical learning
  • Andrew Ng, CS 229 lecture notes
  • C.M. Bishop, Pattern recognition and machine learning
  • Andrew Ng et al. On discriminative vs. generative classifiers:a comparison of logistic regression and na?ve bayes
  • Wikipedia, http://en.wikipedia.org/wiki/Logistic_regression
1 收藏 評論
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
模型優(yōu)化算法
機(jī)器學(xué)習(xí)筆記 Week3 邏輯回歸
機(jī)器學(xué)習(xí)理論與實(shí)戰(zhàn)(四)邏輯回歸
統(tǒng)計(jì)學(xué)
一文讓你徹底搞懂最小二乘法(超詳細(xì)推導(dǎo))
##變分貝葉斯方法 | 機(jī)器之心
更多類似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服