機器學習方法(五):邏輯迴歸Logistic Regression,Softmax Regression
歡迎轉載,轉載請註明:本文出自Bin的專欄blog.csdn.net/xbinworld。
技術交流QQ群:433250724,歡迎對演算法、技術、應用感興趣的同學加入。
前面介紹過線性迴歸的基本知識,線性迴歸因為它的簡單,易用,且可以求出閉合解,被廣泛地運用在各種機器學習應用中。事實上,除了單獨使用,線性迴歸也是很多其他演算法的組成部分。線性迴歸的缺點也是很明顯的,因為線性迴歸是輸入到輸出的線性變換,擬合能力有限;另外,線性迴歸的目標值可以是
邏輯迴歸可以說是最為常用的機器學習演算法之一,最經典的場景就是計算廣告中用於CTR預估,是很多廣告系統的核心演算法。
邏輯迴歸Logistic Regression
邏輯迴歸(LR),雖然叫回歸,然是從目標函式來看,它是設計用來做分類的,經典的LR是用於二分類的情況的,也就是說只有0,1兩類。
定義一個樣本
這就是sigmoid函式的形式,繪製出來是這樣的形式:
、
圖1
可以看到,取值範圍是在(0,1)的,因此近似可以理解為一個概率的取值。在神經網路模型中,sigmoid函式是一種激勵函式,其他常見的還有tanh函式,以及其他一些函式。(這些激勵函式後面介紹神經網路模型的時候再展開)
記sigmoid函式為
給定一個數據集S,其中有N個樣本,那麼可以寫出目標函式:最小化負對數似然函式:
可以看到目標函式本質上是一個求和的形式,為了防止數值本身過大,一般會用平均值形式:
如何優化這個目標函式呢?採用標準的梯度下降
通過梯度下降,我們就可以求出
就可以求出屬於1類的概率,只要概率大於0.5,我們就可以分類為1;當然,如果保留概率本身的數值,我們也可以認為是做了一個迴歸預測,只不過取值範圍是(0,1)。
Softmax Regression
上面介紹的邏輯迴歸是針對二分類問題的,可以看下圖圖2,實線部分就是表示邏輯迴歸的model,多個輸入,一個輸出,
圖2
如果有多類,我們可以採用多個二分類,且互相間是獨立的;另外一種情況,類別之間不是獨立的,而是同時在多個類中進行分類,這個時候就需要用softmax了(圖2中,虛線部分又增加了一個輸出,實際上邏輯迴歸是softmax的一個特例)。
當有k個類別時,一個樣本