基於 TensorFlow 的邏輯迴歸詳解
阿新 • • 發佈:2018-12-30
Logistic ( 邏輯迴歸 )
一、基本概念簡介以及理論講解
1.1、迴歸
- 迴歸一般用於解決那些連續變數的問題,如:線性迴歸,它是通過最小化誤差函式,來不斷擬合一條直線,以計算出權重 w 和 偏差 b 的過程,它的目標是基於一個連續方程去預測一個值。
- 這裡要講解的 Logistic 迴歸,卻常用於分類問題,也就是將觀測值貼上某個標籤,或者是分入某個預先定義的類別之中。迴歸應該是尋找一個連續值,而分類是尋找一個離散值。故理解常用於分類問題的 Logistic 迴歸的關鍵在於,我們是將先尋找到的該樣本屬於某個類可能性的連續值對映到了某一個類(我們一般將某一個類的 label 建模成離散值)。這就是 Logistic 常用於分類卻叫做迴歸的原因 。
1.2、Logistic 函式的逆函式 –> Logit 函式
- 在瞭解 Logistic 函式之前,我們先來了解一下它的逆函式 Logit 函式,即對數機率函式。正如我們所瞭解的一樣逆函式之間關於 y = x 直線對稱,自變數 x 和因變數 y 互為對偶位置,因此,Logit 函式和 Logistic 函式有很多性質都有關聯。
- Logit 函式的變數需要一個概率值 p 作為自變數,如果是二分類問題,確切一點是伯努利分佈(即二項分佈),如果是多分類問題,則是多項分佈。
1.2.1、伯努利分佈
- 它又稱為二項分佈,也就是說它只能表示成功和失敗兩種情況。當是二分類問題時,都可用該分佈
- 取 1,表示成功,以概率 p 表示
- 取 0,即失敗,以概率 q = 1-p 表示
- 伯努利分佈的概率函式可以表示為: Pr(X=1) = 1 - Pr(X=0) = 1-q = p
- 此外,Logistic 函式也是屬於廣義線性模型(GLM)的一種,在建立廣義線性模型之前,我們還需要從線性函式開始,從獨立的連續變數對映到一個概率分佈。
- 而如果是針對二分類的 Logistic 迴歸,由於是二分類屬於二值選項問題,我們一般會將上面的概率分佈建模成一個伯努利分佈(即二項分佈),而將上述的獨立的連續變數建模成線性方程迴歸後的 y 值,最後再通過連線函式,這裡採用對數機率函式 Ligit ,將連續的 y = wx +b 的線性連續變數對映到二項分佈。
- 只是,我們先將 Logit 函式,它的對映是從自變數 p(即二項分佈發生的機率) 到 函式值(即y=wx+b,也就是連線函式y即 logit(p)) 的對映,故逆函式 Logistic 函式即上一段所講,便可以將連續值對映到二項分佈,從而用做分類問題。
1.2.2 Logit 函式
- Logit 函式又稱對數機率函式,其中 p 是二項分佈中事件發生的概率,用發生的概率 p 除以不發生的概率 1-p, 即(p /1-p)稱為事件的發生率,對其取對數,就成了對數機率函式(Logit 函式) 。
- 從圖中我們可以看到,該函式實現了從區間[0,1] 到區間(-,+ ) 之間的映。我們只要將 y 用一個輸入的線性函式替換,那麼久實現了輸入的線性變化到區間 [0,1] 之間的對映。
1.3、對數機率函式的逆函式 Logistic 函式
由上面的講解可知,我們先計算對數機率函式的逆函式後得如下結果:這裡我們記 logistic(z) 為 g (z), 轉換之後, 就是上面提到的二項分佈發生的概率 p
它是一個 Sigmoid 函式。影象如下:
其中,我們認為 Sigmoid 函式最為漂亮的是它的求導後形式非常簡介、易用。如下:
- 這個導函式很重要,讀者可以自行推導,個人認為這是最為重要的基礎知識, 推導過程如下: