線性回歸,邏輯回歸的學習(包含最小二乘法及極大似然函數等)


博文參考了以下兩位博主的文章:http://blog.csdn.net/lu597203933/article/details/45032607,http://blog.csdn.net/viewcode/article/details/8794401

回歸問題的前提:

1) 收集的數據

2) 假設的模型,即一個函數,這個函數里含有未知的參數,通過學習,可以估計出參數。然后利用這個模型去預測/分類新的數據。


1. 線性回歸

假設 特征 和 結果 都滿足線性。即不大於一次方。這個是針對 收集的數據而言。
收集的數據中,每一個分量,就可以看做一個特征數據。每個特征至少對應一個未知的參數。這樣就形成了一個線性模型函數,向量表示形式:

clip_image005

向量默認為列向量,此處的X表示一個列向量,其中內容為(x1,x2,x3.......,xn),用以表示收集的一個樣例。向量內容為設置的系數(w1,w2.....,wn),也就是要通過學習得到的系數,轉置后成為行向量。兩者相乘后得到預測打分h。

這個就是一個組合問題,已知一些數據,如何求里面的未知參數,給出一個最優解。 一個線性矩陣方程,直接求解,很可能無法直接求解。有唯一解的數據集基本是不存在的。基本上都是解不存在的超定方程組(未知數的個數小於方程的個數)。因此,需要退一步,將參數求解問題,轉化為求最小誤差問題,求出一個最接近的解,這就是一個松弛求解。

求一個最接近解,直觀上,就能想到,誤差最小的表達形式。仍然是一個含未知參數的線性模型,一堆觀測數據,其模型與數據的誤差最小的形式,模型與數據差的平方和最小:


這就是損失函數(cost function)的來源,文中之后我們稱之為目標函數。接下來,就是求解這個函數最小值的方法,有最小二乘法,梯度下降法等(利用這些方法使這個函數的值最小)。

**********最小二乘法:************

多元函數求極值的方法,對θ求偏導,讓偏導等於0,求出θ值。當θ為向量時,需要對各個θi求偏導計算。

為了便於理解,可以先看當數據集中的樣本只有一個特征時的情況,參看之前的最小二乘法博文,可以直接得出theta的值(原先博文中表示為beta)。當含有多個特征時,需要進行矩陣計算從而求出各個θi:

如上圖中將目標函數拆解為兩個式子相乘的形式()其中的X表示獲取的數據集轉換成的矩陣,與列向量相乘后得到預測打分(列向量),與真實打分y向量想減后平方。上圖中的下半部分對於拆解后的目標函數進行求導,令求導后的式子=0,如下圖:

 

由此可以得到向量的值。

其中補充說明:

 只在X存在逆矩陣時才可以使用。關於逆矩陣:如下定義:(來自百度百科。。。。)

A是數域上的一個n階方陣,若在相同數域上存在另一個n階矩陣B,使得: AB=BA=I。 則我們稱BA的逆矩陣,而A則被稱為可逆矩陣。A是可逆矩陣的充分必要條件是

,也就是可逆陣必是滿秩陣,即可逆矩陣就是非奇異矩陣[1]  (當
時,A稱為奇異矩陣
      可逆陣 等價於 滿秩陣 等價於 非奇異陣。(只有滿秩陣的行列式不為0)
求法:

伴隨矩陣法

如果矩陣
可逆,則
其中
是的 伴隨矩陣
注意:
中元素的排列特點是的第k 元素是A的第k 元素的 代數余子式。要求得
即為求解
的余因子矩陣的 轉置矩陣

初等變換法

如果矩陣 AB互逆,則 AB= BA= I。由條件 AB= BA以及 矩陣乘法的定義可知,矩陣 AB都是 方陣。再由條件 AB= I以及定理“兩個矩陣的乘積的 行列式等於這兩個矩陣的行列式的乘積”可知,這兩個矩陣的行列式都不為0(又因為只有滿秩陣的行列式不為0,所以A,B均為滿秩陣)。也就是說,這兩個 矩陣的秩【對於m*n矩陣,變換成零行全部處於下方/零列全部處於右側(具體采用哪種變換要看m和n的大小 )的那種形式,此形式此處不好做多講解,可以看一下線性代數基礎,變成此形式后數非零行數目/非零列數目。得出矩陣的秩。注意:矩陣的行秩==列秩,(矩陣的行秩與列秩求法是分別變換矩陣后求最大無關行向量組/最大無關列向量組) 因為可逆陣只可能是方陣,下面有證明 】所以:這兩個矩陣的秩:等於它們的級數(或稱為階,也就是說,A與B都是方陣,且rank(A) = rank(B) = n)。換句話說,這兩個矩陣可以只經由初等行變換,或者只經由初等列變換,變為單位矩陣。因為對矩陣 A施以初等行變換(初等列變換)就相當於在 A的左邊(右邊)乘以相應的 初等矩陣,所以我們可以同時對 AI施以相同的初等行變換(初等列變換)。這樣,當矩陣 A被變為 I時, I就被變為 A的逆陣 B
 
     性質:
  1. 可逆矩陣一定是方陣。因為可逆陣中:A*B=B*A=I,如果不是方陣,那么(m*m和n*n的陣不會是同一個I)
  2. 如果矩陣A是可逆的,A的逆矩陣是唯一的。

*****************梯度下降法:**************************

分別有梯度下降法,批梯度下降法,增量梯度下降。本質上,都是偏導數,步長/最佳學習率,更新,收斂的問題。這個算法只是最優化原理中的一個普通的方法,可以結合最優化原理來學,就容易理解了。(梯度下降中用到的目標函數不一定是之前提到的那個距離最小函數,在之后的邏輯回歸中,要用到梯度上升,在那里細述)

 

******************極大似然法************************************

極大似然的核心思想為:

當從模型總體隨機抽取n組樣本觀測值后,最合理的參數估計量應該使得從模型中抽取該n組樣本觀測值的概率最大。打個比方:一個袋子中有20個球,只有黑白兩色,有放回的抽取十次,取出8個黑球和2個白球,計算袋子里有白球黑球各幾個。那么我會認為我所抽出的這個樣本是被抽取的事件中概率最大的。p(黑球=8)=p^8*(1-p)^2,讓這個值最大。極大似然法就是基於這種思想。

 

極大似然估計的定義如下:

 


 


 


 


 


 


 


求解方法同樣采用多元函數求極值法。

2、邏輯回歸

 

邏輯回歸與線性回歸的聯系、異同?

 

邏輯回歸的模型 是一個非線性模型,sigmoid函數,又稱邏輯回歸函數。但是它本質上又是一個線性回歸模型,因為除去sigmoid映射函數關系,其他的步驟,算法都是線性回歸的。可以說,邏輯回歸,都是以線性回歸為理論支持的。只不過,線性模型,無法做到sigmoid的非線性形式,sigmoid可以輕松處理0/1分類問題。

在另一篇博文(logistic)中有對邏輯回歸的詳細說明。在邏輯回歸中,重新定義了cost function,

另外它的推導含義:仍然與線性回歸的最大似然估計推導相同,最大似然函數連續積(這里的分布,可以使伯努利分布,或泊松分布等其他分布形式),求導,得損失函數。

(參看logistic那篇博文)

\begin{align}J(\theta) = -\frac{1}{m} \left[ \sum_{i=1}^m y^{(i)} \log h_\theta(x^{(i)}) + (1-y^{(i)}) \log (1-h_\theta(x^{(i)})) \right]\end{align}

3、一般線性回歸(這部分尚未做過多研究)

 

線性回歸 是以 高斯分布 為誤差分析模型; 邏輯回歸 采用的是 伯努利分布 分析誤差。

 

而高斯分布、伯努利分布、貝塔分布、迪特里特分布,都屬於指數分布。

 

clip_image040

 

而一般線性回歸,在x條件下,y的概率分布 p(y|x) 就是指 指數分布.

 

經歷最大似然估計的推導,就能導出一般線性回歸的 誤差分析模型(最小化誤差模型)。

 

softmax回歸就是 一般線性回歸的一個例子。

 

有監督學習回歸,針對多類問題(邏輯回歸,解決的是二類划分問題),如數字字符的分類問題,0-9,10個數字,y值有10個可能性。

 

而這種可能的分布,是一種指數分布。而且所有可能的和 為1,則對於一個輸入的結果,其結果可表示為:

 

\begin{align}h_\theta(x^{(i)}) =\begin{bmatrix}p(y^{(i)} = 1 | x^{(i)}; \theta) \\p(y^{(i)} = 2 | x^{(i)}; \theta) \\\vdots \\p(y^{(i)} = k | x^{(i)}; \theta)\end{bmatrix}=\frac{1}{ \sum_{j=1}^{k}{e^{ \theta_j^T x^{(i)} }} }\begin{bmatrix}e^{ \theta_1^T x^{(i)} } \\e^{ \theta_2^T x^{(i)} } \\\vdots \\e^{ \theta_k^T x^{(i)} } \\\end{bmatrix}\end{align}
參數是一個k維的向量。
而代價函數:
\begin{align}J(\theta) = - \frac{1}{m} \left[ \sum_{i=1}^{m} \sum_{j=1}^{k}  1\left\{y^{(i)} = j\right\} \log \frac{e^{\theta_j^T x^{(i)}}}{\sum_{l=1}^k e^{ \theta_l^T x^{(i)} }}\right]\end{align}

是邏輯回歸代價函數的推廣。


而對於softmax的求解,沒有閉式解法(高階多項方程組求解),仍用梯度下降法,或L-BFGS求解。

 

當k=2時,softmax退化為邏輯回歸,這也能反映softmax回歸是邏輯回歸的推廣。

 

線性回歸,邏輯回歸,softmax回歸 三者聯系,需要反復回味,想的多了,理解就能深入了。

**********************************************************************************

4. 擬合:擬合模型/函數

由測量的數據,估計一個假定的模型/函數。如何擬合,擬合的模型是否合適?可分為以下三類

合適擬合

欠擬合

過擬合


看過一篇文章(附錄)的圖示,理解起來很不錯:

 欠擬合:
邏輯回歸欠擬合-我愛公開課-52opencourse.com


合適的擬合
邏輯回歸合適的擬合-我愛公開課-52opencourse.com

過擬合
邏輯回歸過擬合-我愛公開課-52opencourse.com

過擬合的問題如何解決?

問題起源?模型太復雜,參數過多,特征數目過多。

方法: 1) 減少特征的數量,有人工選擇,或者采用模型選擇算法

http://www.cnblogs.com/heaad/archive/2011/01/02/1924088.html (特征選擇算法的綜述)

     2) 正則化,即保留所有特征,但降低參數的值的影響。正則化的優點是,特征很多時,每個特征都會有一個合適的影響因子。

7. 錯誤函數/代價函數/損失函數:

線性回歸中采用平方和的形式,一般都是由模型條件概率的最大似然函數 概率積最大值,求導,推導出來的。

統計學中,損失函數一般有以下幾種:

1) 0-1損失函數

L(Y,f(X))={1,0,Yf(X)Y=f(X)

2) 平方損失函數

L(Y,f(X))=(Yf(X))2

3) 絕對損失函數

L(Y,f(X))=|Yf(X)|

4) 對數損失函數

L(Y,P(Y|X))=logP(Y|X)

損失函數越小,模型就越好,而且損失函數 盡量 是一個凸函數,便於收斂計算。

線性回歸,采用的是平方損失函數。而邏輯回歸采用的是 對數 損失函數。 這些僅僅是一些結果,沒有推導。


8. 正則化:

為防止過度擬合的模型出現(過於復雜的模型),在損失函數里增加一個每個特征的懲罰因子。這個就是正則化。如正則化的線性回歸 的 損失函數:

正則化正式的定義-我愛公開課-52opencourse.com

lambda就是懲罰因子。

正則化是模型處理的典型方法。也是結構風險最小的策略。在經驗風險(誤差平方和)的基礎上,增加一個懲罰項/正則化項。

線性回歸的解,也從

θ=(XTX)1XTy


轉化為

不可逆后的正規方程-我愛公開課-52opencourse.com

括號內的矩陣,即使在樣本數小於特征數的情況下,也是可逆的。


邏輯回歸的正則化:

正則化邏輯回歸Cost Function-我愛公開課-52opencourse.com


從貝葉斯估計來看,正則化項對應模型的先驗概率,復雜模型有較大先驗概率,簡單模型具有較小先驗概率。這個里面又有幾個概念。

什么是結構風險最小化?先驗概率?模型簡單與否與先驗概率的關系?

邏輯回歸logicalistic regression 本質上仍為線性回歸,為什么被單獨列為一類?

其存在一個非線性的映射關系,處理的一般是二元結構的0,1問題,是線性回歸的擴展,應用廣泛,被單獨列為一類。

而且如果直接應用線性回歸來擬合邏輯回歸數據,就會形成很多局部最小值。是一個非凸集,而線性回歸損失函數 是一個 凸函數,即最小極值點,即是全局極小點。模型不符。

非凸函數-我愛公開課-52opencourse.com


若采用 邏輯回歸的 損失函數,損失函數就能形成一個 凸函數。


凸函數-我愛公開課-52opencouse.com



多項式樣條函數擬合

多項式擬合,模型是一個多項式形式;樣條函數,模型不僅連續,而且在邊界處,高階導數也是連續的。好處:是一條光滑的曲線,能避免邊界出現震盪的形式出現(龍格線性)
http://baike.baidu.com/view/301735.htm


以下是幾個需慢慢深入理解的概念:

無結構化預測模型

結構化預測模型

什么是結構化問題?

adaboost, svm, lr 三個算法的關系。

三種算法的分布對應 exponential loss(指數 損失函數), hinge loss, log loss(對數損失函數), 無本質區別。應用凸上界取代0、1損失,即凸松弛技術。從組合優化到凸集優化問題。凸函數,比較容易計算極值點。

 

 

 

 


 

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM