機器學習筆記3:邏輯迴歸
機器學習筆記3:邏輯迴歸
Andrew Ng機器學習課程學習筆記3
邏輯迴歸就是分類問題,比如把郵件標示為垃圾郵件和正常郵件,判斷腫瘤是良性的還是惡性的.
Sigmoid function
線性迴歸方程中,hθ(x) 的取值y是連續的,而邏輯迴歸中輸出則是離散的。以兩個類別為例,結果消極時y的取值為0,結果積極時y的取值為1。一般來說y不可能小於0,也不會大於1。為了適應這種特點,邏輯迴歸的方程是線上性迴歸方程hθ(x)的基礎上增加了一個閾值函式Sigmoid function,將變數對映到0,1之間。
Sigmoid function,也可以說是Logistic function,其表示式為
在實數範圍內時,其影象如下,是一個單調遞增的S型函式。
迴歸方程:
由於g(z)是單調遞增的,且g(0)=0.5。故θTX大於零時,迴歸方程的輸出y=1, θTX小於零時,迴歸方程的輸出y=0。預測y的取值(為0或1)等價於判斷θTX與0之間的大小關係,θTX = 0 所代表的線就是Decision Boundary(決策邊界)邊界的一邊是積極結果1,另一邊是消極結果1。
另外,θTX = 0 可能是直線,也可能是曲線,這個取決於輸入引數X的情況。
cost function:
對於線性迴歸而言,代價函式是
。如果仍然用這個表示式作為邏輯迴歸的代價函式,那麼代價函式將不再是covex(凸函式),而是non-covex(非凸函式)。由於非凸函式,在使用梯度下降演算法求解時,很容易得到區域性解,不利於問題的解決,故邏輯迴歸的的代價函式是:
即,
目標:
目標就是讓代價函式最小。
Gradient descent
梯度下降法,最小化代價函式的一種方法。
具體的實現如下:
repeat until convergence{
} (simultaneously update all θ_j)
將式子中的微分項替換掉即
repeat until convergence{
} (simultaneously update all θ_j)
Optimization algorithms
—Gradient descent
— Conjugate gradient
—BFGS
—L-BFGS
多個輸出的邏輯迴歸
分類問題不一定是有兩個類別,很多時候是有多個類別的。
這種情況下,將多類別的問題分化為多個二元問題即可。假設有三個輸出a,b,c。這個時候,先將a視為一類,將b和c視為一類,得到hθa(x),計算是a概率;然後將b視為一類,將a和c視為一類,得到hθb(x),計算是b的概率;最後c視為一類,將a和b視為一類,得到hθc(x),計算是c的概率;綜合三個結果的概率就可以得知最可能的預測結果。