邏輯回歸:比概念稍微深入一點的細節

1 邏輯回歸的定位

首先,邏輯回歸是一種分類(Classification)算法。比如說:

  • 給定一封郵件,判斷是不是垃圾郵件
  • 給出一個交易明細數據,判斷這個交易是否是欺詐交易
  • 給出一個腫瘤檢查的結果數據,判斷這個腫瘤是否為惡性腫瘤

邏輯回歸是互聯網上最流行也是最有影響力的分類算法,也是深度學習(Deep Learning)的基本組成單元。

2 一個邏輯回歸的例子

比如有下面一組數據:
一門考試之前學生的復習時間與這個學生最后是否Pass這門考試的數據

數據:學生復習時間與考試通過

通過這些數據,利用邏輯回歸算法進行模型訓練,可以得到最終的模型結果是這個樣子:

logistic equation

這樣,給出任何復習時間,就可以預測出是否通過的概率

模型應用

3 邏輯回歸擬合函數:Sigmod函數(邏輯函數)

可以看到,邏輯回歸最后的分類結果是0/1,因此,我們選擇Sigmod函數(貌似是一個專業術語)來擬合訓練數據。Sigmod函數的形式如下,它的x可以無限取值,但是y就在(0,1)之間

Sigmod函數

對于最簡單的,只有一個自變量(x)的二元分類(y=0/1)邏輯回歸中,構造出來的擬合函數為

最簡單的邏輯回歸擬合函數

所以,要得到最終的模型,就是根據樣本點,計算a和b的值.

在上一節的復習時間和考試的例子中,最終計算出參數a=1.5046,b=-4.0777,因此可以得到下面的擬合函數的圖像:


模型的圖像

4 模型參數的計算方法

Coursera上Stanford大學的機器學習課程是很好的入門課程(雖說入門,但是我學習起來還是特別的吃力),主講人Andrew Ng(吳恩達)原來是Google大腦的負責人,現在在百度負責百度大腦和深度學習,是業界最牛的人之一了。他的課程中詳細講解了在邏輯回歸中如何來計算模型的參數,我把結論的一頁截圖放在下面:


Coursera上Stanford的機器學習課程截圖

其中,J就是進行擬合的成本函數:

Cost Function

看起來比較復雜,用我們上一節的例子來解釋:

  • m:代表給出的訓練樣本數,也就是20
  • h函數:其實代表的是我們的Sigmoid函數,把樣本的X值帶進去,就得到的是參數a,b的函數
  • y:就是樣本中實際的y,只有0,1兩個選擇

把樣本的數據都帶入,最后得到的就是參數a,b的一個方程,邏輯回歸就是求出一個最好的a,b的值,使得這個成本函數J的值最小。
那么,最終求解a和b就是一個純數學問題了,比如可以用最小二乘法和梯度下降法來求解,純數學的問題就不在這里展開了

5 多分類邏輯回歸

生活中不僅僅只有分成兩類的問題,還有分成多個類的問題,比如把郵件分成工作郵件、朋友郵件和垃圾郵件。
多分類的一般思想是:利用多次分成兩類,計算劃分到每一類的概率,取概率最大的。用郵件分類的例子來說就是:

  • 將郵件分成“工作/非工作郵件”,可以根據上文的算法得出工作郵件的概率
  • 將郵件分成“朋友/非朋友郵件”,計算出朋友郵件的概率
  • 將郵件分成“垃圾/非垃圾郵件”,計算出垃圾郵件的概率

比較三個概率,取最大的那個概率,作為這個郵件的分類結果。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容