LR(Logistic Regression)深入理解 (續)

因爲實習,耽擱了些許時間,這是上一篇的未完成部分。特此補上。
本文要解決的有兩個問題:

1. LR和ME(最大熵)的關係
2. LR的並行化

把這兩個問題分開來學習,也是因爲這裏邊的內容較多,理解起來也更費勁。好了,直奔主題。

先來看ME最大熵模型。首先需要理解的是最大熵的原理。一句話概括就是:在學習概率模型時,熵最大的模型就是最好的模型。
此處需要注意的是,這裏的概率模型空間並不是隨意取的,而是在一定的約束條件在選取的,所以也可以將最大熵原理表述爲:在滿足約束條件下的模型集合中選取熵最大的模型。

接下來看看最大熵模型的定義。

這裏寫圖片描述
則我們說模型集合C中,使得H(p)熵最大的模型就是最大熵模型。

我們說邏輯斯蒂迴歸模型和ME模型都能用來做二分類和多分類問題;他們又都屬於對數線性模型;而且一般都採用極大似然估計求解。既然有這麼多的相似之處,那麼他們之間存在着什麼關係呢?

接下來我們就從數學推倒的角度來徹底的分析一番。
首先我們先設定一些基本符號概念:

這裏寫圖片描述
再次,我們對邏輯斯蒂的二分類模型一般化,則有:
這裏寫圖片描述
此時二分類的邏輯斯蒂模型求解問題就變成了多分類模型的求解問題。
這裏寫圖片描述
對數似然函數的偏導求解較爲複雜,大傢俬下可手動推一下。。。
最大化似然函數,也就是取偏導爲0時的參數,我們看看偏導爲0時會發現什麼。即:
這裏寫圖片描述

上述是對邏輯斯蒂迴歸的理論分析,接下來我們來看看最大熵模型。
要想弄清楚最大熵和邏輯斯蒂模型之間的關係,最直接的辦法就是找尋他們的概率分佈函數之間的關係。上邊已經給出了最大熵模型的數學定義,現在我們來看看怎麼求解這一模型。
最大熵模型的學習等價於約束最優化問題,即:

這裏寫圖片描述

因爲一般最優化問題都市最小化,所以可以將上述問題等價爲最小化問題,即:

這裏寫圖片描述
因爲存在約束條件,而求解約束最優化問題可以通過引入拉格朗日乘子來解決,從而將約束的最優化問題轉化爲無約束的最優化問題。好,我們接下來看看會發現什麼。。。

首先引入拉格朗日乘子。定義拉格朗日函數:

這裏寫圖片描述
此外,似然函數的最大化已然轉換成最小化問題,而想借助構建的拉格朗日函數求解這一最小化問題,也就變成了先對拉格朗日函數求最大化,然後再最小化,即:

這裏寫圖片描述
依據拉格朗日的對偶特性,其對偶問題是:
這裏寫圖片描述
這時我們就可以先求解最小化問題,記爲:
這裏寫圖片描述
具體求解過程如下:
這裏寫圖片描述

令偏導爲0,得到:
這裏寫圖片描述

這也就證明了邏輯斯蒂迴歸是最大熵模型的一個特例。

好好好,終於解決了一個大難題。接下倆我們看看LR的並行化實現。。。

在此我就不普及並行化的概念和意義所在了,不太清楚的請自行私下啃書腦補。
並行化計算將分爲兩大部分講解:

1. 數據分割
2. 並行計算

先來看看數據分割的問題。LR中最基本也是最關鍵的步驟就是梯度計算,而很多諸如改進迭代尺度法、牛頓法、擬牛頓法等都是對梯度計算的優化,由此,並行化其實也是對目標函數的梯度計算的一種優化方法。
通過前邊的梯度計算公式,我們知道,計算只涉及到向量間的點積和加減,而這些基本操作都可以很容易的在每次迭代過程中分拆爲相互獨立的計算步驟。不同節點進行獨立的計算,然後將結果歸併起來。

最簡單的並行計算就是按行並行的方法,即將樣本矩陣按行劃分,將樣本特徵向量分到不同的計算節點。但在針對高維特徵向量做計算時,需要對它們進行邏輯迴歸,因此還需要將高維特徵向量拆分爲若干小向量進行求解。
先來談談怎麼做數據分割。假設所有計算節點排列成M行N列,按行劃分,每個計算節點分配m/M個樣本特徵向量和分類標籤;按列劃分,則每個計算節點分配n/N個樣本特徵向量和分類標籤。如下圖所示。
這裏寫圖片描述
由梯度計算可知,其計算結果依賴於兩大項計算單元:權值向量和特徵向量的點積+標量和特徵向量的乘積。這樣就可以將梯度計算分爲兩個並行計算步驟,然後再歸併結果。
具體步驟如下:

  1. 各節點並行計算權值向量和特徵向量之間的點積;
  2. 對行號相同的的節點計算結果進行歸併;
  3. 各節點獨立計算標量和特徵向量之間的乘積;
  4. 對列號相同的節點計算結果進行歸併;

    這裏寫圖片描述

整個並行計算的流程圖如下:
這裏寫圖片描述

PS:關於LR的並行計算仍在學習中,這裏也只是淺嘗輒止,後邊會繼續就這一塊做更詳細的學習和總結。
PPS:關於LR的主題暫且告一段落。後續將是Paper的閱讀和其他算法的個人理解和總結.

參考資料:
【1】http://blog.csdn.net/cyh_24/article/details/50359055
【2】http://blog.sina.com.cn/s/blog_6cb8e53d0101oetv.html
【3】統計機器學習(李航)
【4】Deep Learning(Yoshua Bengio & Ian Goodfellow & Aaron Courville)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章