Coursera-AndrewNg(吳恩達)機器學習筆記——第三周


一.邏輯回歸問題(分類問題)

  1. 生活中存在着許多分類問題,如判斷郵件是否為垃圾郵件;判斷腫瘤是惡性還是良性等。機器學習中邏輯回歸便是解決分類問題的一種方法。
    二分類:通常表示為yϵ{0,1},0:“Negative Class”,1:“Possitive Class”。
  2. 邏輯回歸的預測函數表達式hθ(x)(hθ(x)>=0 && hθ(x)<=1):

    其中g(z)被稱為邏輯函數或者Sigmiod函數,其函數圖形如下:

    理解預測函數hθ(x)的意義:其實函數hθ(x)的值是系統認為樣本值Y為1的概率大小,可表示為hθ(x)=P(y=1|x;θ)=1-P(y=0|x;θ).

  3. 決策邊界(Decision boundary):y=0和y=1的分界線,由邏輯函數圖形可知,當y=1時,g(z)>=0.5,z>=0,也就是說θTX>=0,這樣我們就可以通過以xi為坐標軸,作出θTX=0這條直線,這條直線便是決策邊界。如下圖所示:
  4. 代價函數(Cost Function)J(θ):一定要是一個凸函數(Convex Function),這樣經過梯度下降方便找到全局最優 。

    根據以上兩幅圖我們可以看出,當預測值hθ(x)和實際值結果y相同時,代價值為0;當預測值hθ(x)和實際結果y不同時,代價值無窮大。組合在一起可以寫為:

    向量化后可寫為:

  5. 梯度下降算法:和線性回歸中使用的一樣

    向量化:
  6. 高級優化方法(用來代替梯度下降選擇參數θ):Conjugate gradient(共軛梯度法)、BFGS、L-BFGS,只需要掌握用法即可,不需了解原理。
    優點:不需要手動選擇學習速率α,收斂速度比梯度下降快,更復雜。
    %首先寫一個函數用來計算代價函數和代價函數的梯度
    function [jVal, gradient] = costFunction(theta) jVal = [...code to compute J(theta)...]; gradient = [...code to compute derivative of J(theta)...]; end

    %然后在命令行中通過調用fminunc()函數來計算參數θ

    options = optimset('GradObj', 'on', 'MaxIter', 100);
    initialTheta = zeros(2,1);
    [optTheta, functionVal, exitFlag] = fminunc(@costFunction, initialTheta, options);

  7. 多分類問題:可以轉化為n+1個二分類問題看待,如下:

    通過這種形式,我們可以預測出結果最接近哪個y值。

二.過擬合問題和解決方法

  1. Underfit:欠擬合問題具有高偏差;Overfit:過擬合問題具有高方差。

  2. 過擬合的定義:如果訓練集中有過多的特征項,訓練函數過於復雜,而訓練數據又非常少。我們學到的算法可能會完美的適應訓練集,也就是說代價會接近與0。但是卻沒有對新樣本的泛化能力。

  3. 解決方法:手動的選擇合適的特征;或者使用模型選擇算法(用來選取特征變量)。

  4. 正規化(Regularization):正則化中我們將保留所有的特征變量,但是會減小特征變量的數量級(參數數值的大小θ(j)),相當於減少參數θ(j)所對應的多項式對整個預測函數的影響。以下內容以線性回歸為例。
    正規化代價函數:其中λ過大會導致欠擬合。

    正規化梯度下降:θ0不需要

    其中當參數Θ不為θ0時,梯度下降形式又可以改寫為:

    正規化正規方程:其中L為(n+1)*(n+1)維矩陣。

  5.  正規化邏輯回歸:

    代價函數:

    梯度下降形式和線性回歸相同。

  6. 正規化邏輯回歸中高級的求解參數θ方法:
     

    無~~~~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM