机器学习2 分类与逻辑回归
? 分類問題和線性回歸問題很像,只是在分類問題中我們預(yù)測的 yy 值包含在一個(gè)小的離散數(shù)據(jù)集里。首先,認(rèn)識一下二元分類(binary classification),在二元分類中,yy 的取值只能是 0 和 1。例如,我們要做一個(gè)垃圾郵件分類器,則 x(i)x(i) 為郵件的特征,而對于 yy,當(dāng)它為1,則為垃圾郵件,為0 則表示郵件為正常郵件。所以 0 稱之為負(fù)類(negative class),1為正類(positive class) 。
邏輯回歸
? 我們知道線性回歸問題只能預(yù)測連續(xù)的值,而分類問題,往往是分成幾個(gè)類,或者是某一類(y=1y=1),不是某一類(y=0y=0)。對于后者,若已知 y∈{0,1}y∈{0,1} ,則 hθ(x)hθ(x) 大于1,或者小于0都是沒有意義的。To fix this,我們選擇:
g(z)=11+ezg(z)=11+ez
g(z)g(z) 是邏輯函數(shù),或者叫==sigmoid函數(shù)== ,如下圖所示。
? 雖然其他平滑函數(shù),只要能使 hθ(x)hθ(x) 的值限制到 [0,1] 也是可以的,其實(shí)選擇sigmoid函數(shù)是很自然的,具體將在 講GLM 算法的時(shí)候講。
? g(z)g(z) 的導(dǎo)數(shù)有個(gè)很重要的屬性:
? 那么,給定邏輯回歸模型,我們?nèi)绾螖M合出合適的 θθ ? 根據(jù)由最大似然估計(jì)得到 LSR,我們賦予分類模型一組概率假設(shè),然后通過最大似然函數(shù)得到合適的參數(shù)。
p(y=1|x;θ)p(y=0|x;θ)==hθ(x)1?hθ(x)(123)(124)(123)p(y=1|x;θ)=hθ(x)(124)p(y=0|x;θ)=1?hθ(x)
? 合并起來可以寫成下面的形式:
p(y|x;θ)=(hθ(x))y(1?hθ(x))1?yp(y|x;θ)=(hθ(x))y(1?hθ(x))1?y
? 假設(shè) mm 個(gè)訓(xùn)練樣本是獨(dú)立的,則參數(shù)的似然函數(shù)如下:
L(θ)===p(y? |X;θ)∏i=1mp(y(i)|x(i);θ)∏i=1m(hθ(x(i)))y(i)(1?hθ(x(i)))1?y(i)(125)(126)(127)(125)L(θ)=p(y→|X;θ)(126)=∏i=1mp(y(i)|x(i);θ)(127)=∏i=1m(hθ(x(i)))y(i)(1?hθ(x(i)))1?y(i)
?(θ)==lnL(θ)∑i=1m[y(i)lnhθ(x(i))+(1?y(i))ln(1?hθ(x(i)))](31)(32)(31)?(θ)=lnL(θ)(32)=∑i=1m[y(i)lnhθ(x(i))+(1?y(i))ln(1?hθ(x(i)))]
? 最大化似然函數(shù)的方法有兩種。一種和線性回的推導(dǎo)相似,梯度上升的方法;另一種是牛頓法。
(1)梯度上升法
? 用向量來表示的話 ,我們可以用下式來更新參數(shù):
? 需要注意的是,這里是 + 不是 - ,因?yàn)槭亲畲蠡迫缓瘮?shù)。下面先假設(shè)只有一個(gè)訓(xùn)練樣本 (x,y)(x,y) ,使用隨機(jī)梯度上升規(guī)則。
??(θ)?θj=====??θj[ylnhθ(x)+(1?y)ln(1?hθ(x))][y1hθ(x)?(1?y)11?hθ(x)]?hθ(x)?θj[y1g(θTx)?(1?y)11?g(θTx)]g(θTx)(1?g(θTx))?θTx?θj(y(1?g(θTx))?(1?y)g(θTx))xj(y?hθ(x))xj(33)(34)(35)(36)(37)(33)??(θ)?θj=??θj[ylnhθ(x)+(1?y)ln(1?hθ(x))](34)=[y1hθ(x)?(1?y)11?hθ(x)]?hθ(x)?θj(35)=[y1g(θTx)?(1?y)11?g(θTx)]g(θTx)(1?g(θTx))?θTx?θj(36)=(y(1?g(θTx))?(1?y)g(θTx))xj(37)=(y?hθ(x))xj
?θ:=θ+α(y?hθ(x))xj?θ:=θ+α(y?hθ(x))xj
? 如果我們將其與LMS更新規(guī)則進(jìn)行比較,我們會發(fā)現(xiàn)它看起來差不多; 但這不是相同的算法,因?yàn)?hθ(x(i))hθ(x(i)) 現(xiàn)在被定義為 θTx(i)θTx(i) 的非線性函數(shù)。 盡管如此,我們最終得到了相同的更新規(guī)則以獲得相當(dāng)不同的算法和學(xué)習(xí)問題。這是巧合嗎,具體原因請移步GLM Model。
(11212)插敘:感知學(xué)習(xí)算法
? 我們現(xiàn)在離題談?wù)撘粋€(gè)具有一定歷史意義的算法, 考慮修改邏輯回歸的方法以“強(qiáng)制”它輸出0或1或精確值。 要做到這一點(diǎn),將 gg 的定義更改為閾值函數(shù)似乎很自然:
g(z)={10(ifz≥0)(ifz<0)g(z)={1(ifz≥0)0(ifz<0)
? 同樣,令 hθ(x)=g(θTx)hθ(x)=g(θTx) ,gg 的定義如上式(22),同樣用更新規(guī)則:
θ:=θ+α(y?hθ(x))xjθ:=θ+α(y?hθ(x))xj ,這樣便得到了==感知學(xué)習(xí)算法== (perceptron learning algorithm)
? 在20世紀(jì)60年代,這種“感知機(jī)”被認(rèn)為是解釋大腦中各個(gè)神經(jīng)元如何工作的粗略模型。盡管感知器可能在美學(xué)上與我們所討論的其他算法相似,但它實(shí)際上是一種非常不同類型的算法,而不是邏輯回歸和LSR。
(2)牛頓法
? 回到邏輯回歸,另一種最大化似然函數(shù)的方法是==牛頓法== (Newton’s method)。
? 牛頓法的核心思想是找 0。假設(shè)有函數(shù) f:R?Rf:R?R . 我們要找到一個(gè) θθ 使得 f(θ)=0f(θ)=0 成立,θ∈Rθ∈R,是一個(gè)實(shí)數(shù)。此時(shí)牛頓法的更新規(guī)則如下:
? 這種方法有一個(gè)自然的解釋,我們可以把它看作是通過線性函數(shù)逼近函數(shù) ff ,線性函數(shù)在當(dāng)前猜測 θθ 處與 ff 相切,求解線性函數(shù)等于零的位置,并讓 θθ 的下一個(gè)猜測 θθ 成為線性函數(shù)為零的地方。下面是牛頓法的圖解:
? 牛頓方法給出了一種獲得 f(θ)=0f(θ)=0 的方法。如果我們想用它來最大化函數(shù) ?? 該怎么辦呢?函數(shù) ?? 的最大值對應(yīng)其一階導(dǎo)數(shù) ?′?′為零的點(diǎn)。 因此,可以令
f(θ)=?′(θ)f(θ)=?′(θ) 。我們同樣用更新規(guī)則的方式最大化 ?? :
? 最后,在我們的邏輯回歸數(shù)據(jù)中, θθ 是向量,因此我們需要將牛頓方法推廣到這些數(shù)據(jù)上。 牛頓法對這種多維數(shù)據(jù)的推廣(稱為==Newton-Raphson法==)由下式給出:
θ:=θ?H?1?θ?(θ)θ:=θ?H?1?θ?(θ)
? HH 是 n×nn×n 的矩陣(實(shí)際上,如果加上截距項(xiàng),則大小為 (n+1)×(n+1)(n+1)×(n+1) )。 HH called ==Hessian== , 它的項(xiàng)的形式如下:
Hij=?2?(θ)?θi?θjHij=?2?(θ)?θi?θj
? 牛頓法通常比 (batch) gradient descent更快收斂,并且需要更少的迭代次數(shù)就能達(dá)到非常接近最小值。 然而,牛頓法的一次迭代可能比一次梯度下降迭代代價(jià)更昂貴,因?yàn)樗枰业揭粋€(gè) n×nn×n 的Hessian矩陣,并求逆。但只要 nn 不是太大,整體通常要快得多。牛頓方法用于最大化邏輯回歸對數(shù)似然函數(shù) ?(θ)?(θ)時(shí),稱為Fisher scoring 。
分類和邏輯回歸(Classification and logistic regression)
斯坦福機(jī)器學(xué)習(xí)課程Lecture 1(cs229-notes1)
總結(jié)
以上是生活随笔為你收集整理的机器学习2 分类与逻辑回归的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 为什么跨浏览器测试很重要?7款跨浏览器测
- 下一篇: 74位图灵奖得主背景显示:大多数没有主修