1. 程式人生 > >邏輯迴歸(Logistic Regression)演算法小結

邏輯迴歸(Logistic Regression)演算法小結

一、邏輯迴歸簡述:

  回顧線性迴歸演算法,對於給定的一些n維特徵(x1,x2,x3,......xn),我們想通過對這些特徵進行加權求和彙總的方法來描繪出事物的最終運算結果。從而衍生出我們線性迴歸的計算公式:

      

向量化表示式:    

                         

這一系列W值(w1,w2,w3....wn)和截距b就是擬合了我們這些特徵對應於結果f(x)的線性關係,當我們給出新的一些特徵x的是時候,可以根據這些W值特徵x進行內積加截距b來預測出給定的新特徵x對應的結果f(x)。

   然而在採用迴歸模型分析實際問題中,我們想得出的結果不單純是一個結果f(x)值,我們需要得出一個分類結果。比如我們給定一些指標年齡、性別、體質指數、平均血壓、疾病指數,來判斷就一個人是否患有糖尿病(Y=0表示未患病,Y=1表示患病),我們想要的結果f(x)不是一個連續變數,而是一個二分類變數(0-1)。這個時候單純的線性迴歸得出的f(x)就不是我們想要的結果,我們需要對得出的線性迴歸結果f(x)通過一個sigmoid函式轉換成我們的邏輯迴歸模型,從而得出我們想要的結果。從中我們可以總結:線性迴歸模型通常是處理因變數是連續變數的問題,如果因變數是定性變數,線性迴歸模型就不在適用,需要採取邏輯迴歸模型進行求解

。也就引出我們邏輯迴歸的公式:

                                                                                  

                                                       

 

 

      邏輯迴歸(Logistic Regression)是用於處理因變數為分類變數的迴歸問題,常見的是二分類或二項分佈問題,也可以處理多分類問題。線性迴歸通過sigmoid函式轉換得出一個概率值,y值的取值範圍[0,1],我們根據sigmoid函式的特性,在(0,0.5)這個點上隨著x的變化呈現出不同的變化趨勢,如圖所示:

從圖中可以得出以下資訊:我們線性迴歸得出的f(x)即圖中的Z取值範圍(-∞,+∞),我們為了的解決二分類問題,我們對得出的結果Z通過sigmoid函式轉換使我們的結果取值在[0,1]之間。通俗的說就是如果有了一個測試點x,那麼就可以用Sigmoid 函式算出來的結果來當做該點x屬於類別1和0的概率大小。 當我們的Z>0時得出Z值越大我們將其劃分為1的概率越大,反之,得出的Z<0,Z越小我們將其劃分為0的概率越大。

二、邏輯迴歸損失函式:(注:由於很多公式不好用鍵盤敲出,本人截取了很多別的博主的公式,導致通篇公式不一致)

  基於當y取1的時候,我們的h(x)越趨近於1 要求我們的損失函式越小,當y=0時我們的h(x)越趨近於0要求我們的損失函式越小,我們需要對得出的h(x)取對數才能貼合我們的損失函式要求,故得出損失函式如下:

  

有了損失函式,我們可以通過梯度上升法對我們的損失函式進行求解,得出Θ的最佳引數。