1. 程式人生 > >對線性回歸,logistic回歸的認識

對線性回歸,logistic回歸的認識

求解 www. 表達 其他 sof bsp 垃圾 logs 最小

原文鏈接:http://www.cnblogs.com/jerrylead/archive/2011/03/05/1971867.html

1 分類和logistic回歸

一般來說,回歸不用在分類問題上,因為回歸是連續型模型,而且受噪聲影響比較大。如果非要使用回歸算法,可以使用logistic回歸。

logistic回歸本質上是線性回歸,只是在特征到結果的映射中加入了一層函數映射,即先把特征線性求和,然後使用函數g(z)作為假設函數來預測。g(z)可以將連續值映射到0和1上。

logistic回歸的假設函數如下,線性回歸假設函數只是\(\theta&^x\)

\[h_\theta(x)=g(\theta^Tx)=\frac{1}{1+e^{-\theta^Tx}}\]

\[g(z)=\frac{1}{1+e^{-z}}\]

技術分享


logistic回歸用來分類0/1問題,也就是預測結果屬於0或者1的二值分類問題。這裏假設了二值滿足伯努利分布,也就是

技術分享

當然假設它滿足泊松分布、指數分布等等也可以,只是比較復雜,後面會提到線性回歸的一般形式。

與第7節一樣,仍然求的是最大似然估計,然後求導,得到叠代公式結果為

技術分享

可以看到與線性回歸類似,只是技術分享換成了技術分享,而技術分享實際上就是技術分享經過g(z)映射過來的。

2 牛頓法來解最大似然估計

第7和第9節使用的解最大似然估計的方法都是求導叠代的方法,這裏介紹了牛頓下降法,使結果能夠快速的收斂。

當要求解技術分享時,如果f可導,那麽可以通過叠代公式

技術分享

來叠代求解最小值。

當應用於求解最大似然估計的最大值時,變成求解最大似然估計概率導數技術分享的問題。

那麽叠代公式寫作

技術分享

當θ是向量時,牛頓法可以使用下面式子表示

技術分享

其中技術分享是n×n的Hessian矩陣。

牛頓法收斂速度雖然很快,但求Hessian矩陣的逆的時候比較耗費時間。

當初始點X0靠近極小值X時,牛頓法的收斂速度是最快的。但是當X0遠離極小值時,牛頓法可能不收斂,甚至連下降都保證不了。原因是叠代點Xk+1不一定是目標函數f在牛頓方向上的極小點。

3 一般線性模型

之所以在logistic回歸時使用

技術分享

的公式是由一套理論作支持的。

這個理論便是一般線性模型。

首先,如果一個概率分布可以表示成

技術分享

時,那麽這個概率分布可以稱作是指數分布。

伯努利分布,高斯分布,泊松分布,貝塔分布,狄特裏特分布都屬於指數分布。

在logistic回歸時采用的是伯努利分布,伯努利分布的概率可以表示成

技術分享

其中

技術分享

得到

技術分享

這就解釋了logistic回歸時為了要用這個函數。

一般線性模型的要點是

1) 技術分享 滿足一個以技術分享為參數的指數分布,那麽可以求得技術分享的表達式。

2) 給定x,我們的目標是要確定技術分享,大多數情況下技術分享,那麽我們實際上要確定的是技術分享,而技術分享。(在logistic回歸中期望值是技術分享,因此h是技術分享;在線性回歸中期望值是技術分享,而高斯分布中技術分享,因此線性回歸中h=技術分享)。

3) 技術分享

4 Softmax回歸

最後舉了一個利用一般線性模型的例子。

假設預測值y有k種可能,即y∈{1,2,…,k}

比如k=3時,可以看作是要將一封未知郵件分為垃圾郵件、個人郵件還是工作郵件這三類。

定義

技術分享

那麽

技術分享

這樣

技術分享

即式子左邊可以有其他的概率表示,因此可以當作是k-1維的問題。

為了表示多項式分布表述成指數分布,我們引入T(y),它是一組k-1維的向量,這裏的T(y)不是y,T(y)i表示T(y)的第i個分量。

技術分享

應用於一般線性模型,結果y必然是k中的一種。1{y=k}表示當y=k的時候,1{y=k}=1。那麽p(y)可以表示為

技術分享

其實很好理解,就是當y是一個值m(m從1到k)的時候,p(y)=技術分享,然後形式化了一下。

那麽

技術分享

最後求得

技術分享

而y=i時

技術分享

求得期望值

技術分享

那麽就建立了假設函數,最後就獲得了最大似然估計

技術分享

對該公式可以使用梯度下降或者牛頓法叠代求解。

解決了多值模型建立與預測問題。

對線性回歸,logistic回歸的認識