2.2 逻辑回归-机器学习笔记-斯坦福吴恩达教授
邏輯回歸
上一節我們知道,使用線性回歸來處理 0/1 分類問題總是困難重重的,因此,人們定義了邏輯回歸來完成 0/1 分類問題,邏輯一詞也代表了是(1) 和 非(0)。
Sigmoid預測函數
在邏輯回歸中,定義預測函數為:
hθ(x)=g(z)h_θ(x)=g(z)hθ?(x)=g(z)
其中, z=θTxz=θ^Txz=θTx 是分類邊界,且 g(z)=11+e?zg(z)=\frac 1{1+e^{?z}}g(z)=1+e?z1? 。
g(z)g(z)g(z) 稱之為 SigmoidFunctionSigmoid\ FunctionSigmoid?Function,亦稱 LogicFunctionLogic\ FunctionLogic?Function,其函數圖像如下:
可以看到,預測函數 hθ(x)h_θ(x)hθ?(x) 被很好地限制在了 0、1 之間,并且,sigmoidsigmoidsigmoid 是一個非常好的閾值函數:閾值為 0.5 ,大于 0.5 為 1 類,反之為 0 類。函數曲線過渡光滑自然,關于 0.5 中心對稱也極具美感。
決策邊界
決策邊界,顧名思義,就是用來劃清界限的邊界,邊界的形態可以不定,可以是點,可以是線,也可以是平面。Andrew Ng 在公開課中強調:“決策邊界是預測函數 hθ(x)hθ(x)hθ(x) 的屬性,而不是訓練集屬性”,這是因為能作出“劃清”類間界限的只有 hθ(x)hθ(x)hθ(x) ,而訓練集只是用來訓練和調節參數的。
- 線性決策邊界:
hθ(x)=g(θ0x0+θ1x1+θ2x2)h_θ(x)=g(θ_0x_0+θ_1x_1+θ_2x_2)hθ?(x)=g(θ0?x0?+θ1?x1?+θ2?x2?)
- 非線性決策邊界:
hθ(x)=g(θ0x0+θ1x1+θ2x2+θ3x12+θ4x22)h_θ(x)=g(θ_0x_0+θ_1x_1+θ_2x_2+θ_3x^2_1+θ_4x^2_2)hθ?(x)=g(θ0?x0?+θ1?x1?+θ2?x2?+θ3?x12?+θ4?x22?)
預測代價函數
對于分類任務來說,我們就是要反復調節參數 θθθ ,亦即反復轉動決策邊界來作出更精確的預測。假定我們有代價函數 J(θ)J(θ)J(θ) ,其用來評估某個 θθθ 值時的預測精度,當找到代價函數的最小值時,就能作出最準確的預測。通常,代價函數具備越少的極小值,就越容易找到其最小值,也就越容易達到最準確的預測。
下面兩幅圖中,左圖這樣犬牙差互的代價曲線(非凸函數)顯然會使我們在做梯度下降的時候陷入迷茫,任何一個極小值都有可能被錯認為最小值,但無法獲得最優預測精度。但在右圖的代價曲線中,就像滑梯一樣,我們就很容易達到最小值:
邏輯回歸定義的代價函數為:
J(θ)=1m∑i=1mCost(hθ(x(i)),y(i))J(θ)=\frac1m∑_{i=1}^mCost(h_θ(x^{(i)}),y^{(i)})J(θ)=m1?i=1∑m?Cost(hθ?(x(i)),y(i))
為保證代價函數呈凸形曲線,則定義Cost(hθ(x(i)),y(i))Cost(h_θ(x^{(i)}),y^{(i)})Cost(hθ?(x(i)),y(i))
Cost(hθ(x),y)={?log(hθ(x)),ify=1?log(1?hθ(x)),ify=0Cost(h_θ(x),y)= \begin{cases} ?log(h_θ(x)), & \ if\ y=1\\ ?log(1?h_θ(x)), &\ if\ y=0 \end{cases}Cost(hθ?(x),y)={?log(hθ?(x)),?log(1?hθ?(x)),??if?y=1?if?y=0?
該函數等價于:
Cost(hθ(x),y)=?ylog(hθ(x))?(1?y)log(1?hθ(x))Cost(h_θ(x),y)=?y\ log(h_θ(x))?(1?y)\ log(1?h_θ(x))Cost(hθ?(x),y)=?y?log(hθ?(x))?(1?y)?log(1?hθ?(x))=(log(g(Xθ))Ty+(log(1?g(Xθ))T(1?y)=(log(g(Xθ))^Ty+(log(1?g(Xθ))^T(1?y)=(log(g(Xθ))Ty+(log(1?g(Xθ))T(1?y)
代價函數隨預測值 hθ(x)h_θ(x)hθ?(x) 的變化如下:
可以看到,當 hθ(x)≈yhθ(x)≈yhθ(x)≈y 時, cost≈0cost≈0cost≈0 ,預測正確。
最小化代價函數
與線性回歸一樣,也使用梯度下降法來最小化代價函數:
- 批量梯度下降法
重復直到收斂(Repeatuntilconvergence):重復直到收斂(Repeat until convergence):重復直到收斂(Repeatuntilconvergence):
fori=1tom:for\ i=1\ to\ m:for?i=1?to?m:
forj=1ton:for\ j=1\ to\ n:for?j=1?to?n:
θj:=θj+1m∑i=1m(yi?hθ(x(i)))xj(i)θ_j:=θ_j+\frac 1m∑_{i=1}^m(y_i?h_θ(x^{(i)}))x^{(i)}_jθj?:=θj?+m1?i=1∑m?(yi??hθ?(x(i)))xj(i)?
通過矩陣型表示
重復直到收斂(Repeatuntilconvergence):重復直到收斂(Repeat until convergence):重復直到收斂(Repeatuntilconvergence):
θ:=θ+α?1mXT(y?g(Xθ))θ:=θ+α?\frac1mX^T(y?g(Xθ))θ:=θ+α?m1?XT(y?g(Xθ))
- 隨機梯度下降法
重復直到收斂(Repeatuntilconvergence):重復直到收斂(Repeat until convergence):重復直到收斂(Repeatuntilconvergence):
fori=1tom:for\ i=1\ to\ m: for?i=1?to?m:
θ:=θ+α?(yi?hθ(x(i)))xj(i)θ:=θ+α?(y_i?h_θ(x^{(i)}))x^{(i)}_jθ:=θ+α?(yi??hθ?(x(i)))xj(i)?
總結
以上是生活随笔為你收集整理的2.2 逻辑回归-机器学习笔记-斯坦福吴恩达教授的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2.1 0/1分类问题-机器学习笔记-斯
- 下一篇: 2.3 利用正规化解决过拟合问题-机器学