1. 程式人生 > >機器學習筆記3:邏輯迴歸

機器學習筆記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,其表示式為
g

( z ) = 1 1 + e
z
g(z) = \dfrac{1}{1+e^{-z}}
在實數範圍內時,其影象如下,是一個單調遞增的S型函式。
Sigmoid function函式

迴歸方程:
h

θ ( x ) = g ( θ T X ) h_θ(x) = g(θ^TX)
g ( z ) = 1 1 + e z g(z) = \dfrac{1}{1+e^{-z}}
由於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:
  對於線性迴歸而言,代價函式是 J ( θ ) = 1 2 m i = 1 m ( h θ ( x ( i ) ) y ( i ) ) 2 J(θ) = \dfrac{1}{2m} \sum_{i=1}^{m}(h_θ(x^{(i)})-y^{(i)})^{2} 。如果仍然用這個表示式作為邏輯迴歸的代價函式,那麼代價函式將不再是covex(凸函式),而是non-covex(非凸函式)。由於非凸函式,在使用梯度下降演算法求解時,很容易得到區域性解,不利於問題的解決,故邏輯迴歸的的代價函式是:
J ( θ ) = 1 m i = 1 m C o s t ( h θ ( x ( i ) ) , y ( i ) ) ) J(θ) = \dfrac{1}{m} \sum_{i=1}^{m}Cost(h_θ(x^{(i)}),y^{(i)}))
C o s t ( h θ ( x ) , y ) = { l o g ( h θ ( x ) )   i f y = 1 l o g ( 1 h θ ( x ) )   i f y = 0 Cost(h_θ(x),y) =\left\{ \begin{aligned} -log(h_θ(x)) \ \quad if \quad y = 1 \\ -log(1-h_θ(x)) \ \quad if \quad y = 0 \\ \end{aligned} \right.
即,
J ( θ ) = 1 m [ i = 1 m y ( i ) l o g ( h θ ( x ( i ) ) + ( 1 y ( i ) ) ( 1 l o g ( h θ ( x ( i ) ) ) ] J(θ) = \dfrac{1}{m}[ \sum_{i=1}^{m}y^{(i)}log(h_θ(x^{(i)}) + (1-y^{(i)})(1-log(h_θ(x^{(i)}))]
目標:
  目標就是讓代價函式最小。
m i n i m i z e θ J ( θ ) \begin{array}{c} minimize\\ θ \end{array}J(θ)
Gradient descent
  梯度下降法,最小化代價函式的一種方法。
  具體的實現如下:
  repeat until convergence{
   θ j : = θ j α J ( θ ) θ j θ_j:=θ_j-α\dfrac{∂J(θ)}{∂θ_j}
  }        (simultaneously update all θ_j)
  將式子中的微分項替換掉即
  repeat until convergence{
   θ j : = θ j α i = 1 m ( h θ ( x ( i ) y ( i ) ) x j ( i ) θ_j:=θ_j-α\sum_{i=1}^{m}(h_θ(x^{(i)}-y^{(i)})x^{(i)}_j
  }        (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的概率;綜合三個結果的概率就可以得知最可能的預測結果。