1. 程式人生 > >斯坦福大學深度學習筆記:邏輯迴歸

斯坦福大學深度學習筆記:邏輯迴歸

z

邏輯迴歸(LOGISTIC REGRESSION)

           Logistic regression (邏輯迴歸)是當前業界比較常用的機器學習方法,用於估計某種事物的可能性。之前在經典之作《數學之美》中也看到了它用於廣告預測,也就是根據某廣告被使用者點選的可能性,把最可能被使用者點選的廣告擺在使用者能看到的地方,然後叫他“你點我啊!”使用者點了,你就有錢收了。這就是為什麼我們的電腦現在廣告氾濫的原因了。

1.分類問題

分類問題中,我們嘗試預測的是結果是否屬於某一個類(例如正確或錯誤)。分類問題的例子有:判斷一封電子郵件是否是垃圾郵件;判斷一次金融交易是否是欺詐,判定是否有腫瘤等等。
         我們從二元的分類問題開始討論。
         我們將因變數(dependant variable)可能屬於的兩個類分別稱為負向類(negative class)和正向類(positive class),則因變數

           
         y=0為negative class

       y=1為positive class

   2.數學模型

           以腫瘤問題為例,我們對腫瘤問題用線性迴歸的方法求出了適合資料的一條直線:


          線性迴歸給了我們一條直線,而對於分類問題,我們要輸出是或否,我們可以預測

       當hθ大於等於0.5時,預測y=1
       當hθ小於0.5時,預測y=0

       但如何這是有了一個很大的腫瘤這個時候0.5作為閥值來預測腫瘤是不是良性的就不合適了,所以我們引入新的數學模型,邏輯迴歸 讓模型輸出的範圍在0到1之間。

         邏輯迴歸模型的假設是:hθ(x)=g(θTX)

         其中:

        X是特徵向量
        g代表邏輯函式(logistic function)是一個常用的邏輯函式為S形函式(Sigmoid function),公式為:

              其圖形為:

              所以我們得到:

           

              hθ(x) = 對於給定的輸入x,y=1的概率。

              例如,如果對於給定的x,通過已經確定的引數計算得出hθ(x)=0.7,則表示有百分之70的機率y為正向類,相應地y為負向類的機率為1-0.7=0.3。

  3.判定邊界

       我們通過影象可以看出θTx = 0是一個決策邊界,當它大於0或小於0時,邏輯迴歸模型分別預測不同的分類結果。例如,

hθ(x)=g(θ0+θ1x1+θ2x2)

       θ0,θ1,θ2分別取-3, 1, 1,

       則當3+x1+x2≥0時, y = 1; 則x1+x2 =3是一個決策邊界,圖形表示如下:

          決策邊界-我愛公開課-52opencourse.com

         上述只是一個線性的決策邊界,當hθ(x)更復雜的時候,我們可以得到非線性的決策邊界,例如:

            非線性的決策邊界1-我愛公開課-52opencourse.com

        這個描述的邊界為一個圓

               這裡當x1^2+x2^2≥1時,y=1

              

          我們可以用非常複雜的模型來適應非常複雜形狀的判定邊界。

4.代價函式

             我們習慣用平方差來定義代價函式,但這裡我們用平方差定義hθ(x) 我們得到的是一個非凸函式。它會有很多區域性最小值,這樣會影響我們用階梯下降演算法尋找最小值。

         

             所以我們重新定義了代價函式:

        

        

        

       對於Cost(hθ(x),y)我們先看 y=1的情況

                    

      當y=1但hθ不為1時誤差隨著hθ的變小而變大。如果在y=1時得到hθ(x)=0 那Cost→∞,這是對學習演算法很大的懲罰。

     對於Cost(hθ(x),y)我們先看 y=0的情況

      

       當y=0但hθ不為0時誤差隨著hθ的變大而變大。

       由於只有兩種分類,我們可以把Cost(hθ(x),y)簡化如下:

        http://52opencourse.com/?qa=blob&qa_blobid=9363185766021245374

      

       代入代價函式得到:

 

       在得到這樣一個代價函式以後,我們便可以用梯度下降演算法來求得能使代價函式最小的引數了。
       演算法為:

    

       求導後得到:

          

        注:雖然得到的梯度下降演算法表面上看上去與線性迴歸的梯度下降演算法一樣,但是這裡的hθ(x)=g(θTX)與線性迴歸中不同,所以實際上是不一樣的。另外,在執行梯度下降演算法之前,進行特徵縮放依舊是非常必要的。
一些梯度下降演算法之外的選擇:
除了梯度下降演算法以外還有一些常被用來令代價函式最小的演算法,這些演算法更加複雜和優越,而且通常不需要人工選擇學習率,通常比梯度下降演算法要更加快速。這些演算法有:共軛梯度(Conjugate Gradient),區域性優化法(Broyden fletcher goldfarb shann,BFGS)和有限記憶體區域性優化法(LBFGS)