Logistic regression 是一個資料分析技術,被用來做分類(classification)。它大概是分類演算法中最簡單的模型。因此,很適合當初學者的第一個分類演算法。
Table of Contents
Sigmoid Function
在介紹 logistic regression 之前,我們先來了解 sigmoid function(又稱 logistic function)。Sigmoid function 的 formula 如下。它的輸出介於 0 和 1 之前。
如下圖所示,Sigmoid function 的兩端會非常接近 0 和 1。
Logistic Regression Model
Logistic regression 的 model 是,先將 x
帶入到 linear regression 的 model,得到 y
。再將 y
帶入到 sigmoid function,得到一個介於 0 和 1 的值。Logistic regression model 的 formula 如下。
所以,logistic regression model 的輸出值總是介於 0 和 1 之間。假設 x
是腫瘤的大小,當 y
是 0 表示非惡性腫瘤,當 y
是 1 表示惡性腫瘤。如果,將 x
帶入 logistic regression model 並得到 0.7,這表示有 70% 的機率 y
是 1。
因為 y
是 0 的機率加上 y
是 1 機率總和為 1,所以當有 70% 的機率 y
是 1,那代表有 30% 的機率 y
是 0。
Decision Boundary
剛剛提到 logistic regression 的輸出值是介於 0 到 1 之間,其代表著 y
是 1 的機率。因此,我們需要設定一個 threshold。當 fw,b
大於等於 threshold 時,ŷ
為 1,反之當 fw,b
小於 threshold 時,ŷ
為 0。
仔細看下去,當 z
大於等於 0 時,fw,b
也就是 g(z)
就會大於等於 threshold 0.5。所以,z
為 0 的左邊是 ŷ
為 0,右邊是 ŷ
為 1。此界線稱為 desicion boundary。
下面的例子中,我們可以透過 z = 0
來計算出 boundary decision。
Cost Function 和 Loss Function
Cost function 是用來衡量 fw,b
的準確率。有了 cost function,我們就可以衡量調整後的 w
和 b
是否比原來的好。
Logistic regression 的 cost function 如下:
其中 L
是 loss function 如下:
我們可以將 loss function 裡的兩個式子合併成一個,如下。
以下將 loss function 展開後的 cost function。
Gradient Descent
以下為 logistic regression 的 gradient descent 演算法。
其中 cost function 的導數計算方法如下:
Logistic regression 的 cost function 的導數計算方式看起來一樣,但其實他們的 fw,b
不一樣。
結語
Logistic regression 模型和 linear regression 很像。所以,在學習 logistic regression 之前,不仿先將 linear regression 學好。
參考
- Andrew Ng, Machine Learning Specialization, Coursera.