分類問題的標籤能夠是$y\epsilon \left \{ 0,1 \right \},y\epsilon \left \{ 0,1,2 \right \},y\epsilon \left \{ 0,1,2,3,... \right \}$,對應分別爲二元、三元、…分類問題。借鑑線性迴歸算法,咱們但願預測樣本屬於每一個標籤的機率$p\left \{ y=i \right \}$ ,並且$p\epsilon \left [ 0,1 \right ]$。將機率最大的標籤做爲分類結果。這裏的機率就對應爲假設函數$h_\theta (x)$,與線性迴歸不一樣,logistic迴歸要求$h_\theta (x)\epsilon \left \lfloor 0,1 \right \rfloor$。因而新的$h_\theta (x)$函數的構造以下:算法
以二元分類爲例,從假設函數中能夠發現,當$\theta^Tx>0$時,機率大於0.5,所以預測y=1;反之預測y=0。$\theta^Tx=0$就是決策邊界,其展開形式爲:$\theta_0x+\theta_1x+\theta_2x+...=0$。對應的邊界線以下圖所示:函數
這裏的邊界就是一條直線,將空間劃分爲兩個區域。若是是多項式迴歸,那麼邊界多是下面形式: 學習
以二元分類爲例,Logistic迴歸同線性迴歸同樣,都要肯定合適的模型參數,來更好地預測機率。一樣,使用代價函數來評價$\theta$好壞,logistic迴歸裏採用對數代價形式:優化
當所給標籤爲1時,若是預測的機率接近1,則代價接近0;若是預測的機率接近0,則代價接近無窮。當所給標籤爲0時,若是預測的機率接近1,則代價接近無窮;若是預測的機率接近0,則代價接近1。spa
用代價函數去懲罰模型參數:3d
對式3-1求偏導可得:orm
解決多分類的一種思想是分解爲多個二分類,爲每個二分類都維護一個假設函數,記成下面的形式: blog
例如三分類中,咱們維護三個假設函數:$h_\theta^{(0)}(x)、h_\theta^{(1)}(x)、h_\theta^{(2)}(x)$,表示屬於三個類的機率,當更新$h_\theta^{(0)}(x)$時,將標籤爲0的視做0,將標籤爲1、2都視做1。$h_\theta^{(1)}(x)、h_\theta^{(2)}(x)$也相似。最終預測分類的時候,比較三個假設函數值的大小,取機率最大的做爲分類標準。內存
除了梯度降低算法,還有如下優化算法,採用優化算法,能夠自動選擇合適學習率,收斂更快;通常採用這些優化算法而非梯度降低,這裏暫不深究算法原理與實現。ci
它的每個降低方向是與上一次共軛的,其優勢是所需存儲量小,收斂快,穩定性高,並且不須要任何外來參數。
下圖綠線爲共軛梯度法。
牛頓法的突出優勢是收斂很快,可是運用牛頓法須要計算二階偏導數,並且目標函數的Hesse矩陣可能非正定。爲了克服牛頓法的缺點,人們提出了擬牛頓法,它的基本思想是用不包含二階導數的矩陣近似牛頓法中的Hesse矩陣的逆矩陣。
在BFGS算法中,當優化問題規模很大時,矩陣的存儲和計算將變得不可行。爲了解決這個問題,就有了L-BFGS算法。L-BFGS的基本思想是隻保存最近的m次迭代信息,從而大大減小數據的存儲空間。
過擬合是指當特徵量較多,或特徵中有高階項,而數據較少時,存在過度擬合的狀況,與之相反的狀況爲欠擬合。這兩種狀況都對預測不利。
解決過擬合的辦法一種是減小特徵量,但會形成特徵信息減小;另外一種是正則化。
對於通常地代價函數,單獨地加上對參數的懲罰,以下:
這個代價函數由兩部分組成:前部分是誤差,可讓函數更加貼合點,後部分能夠限制參數的大小。當λ取值較大,爲了最小化代價,每一個參數都會趨近0,最終擬合結果就是$h_\theta(x^{(i)})=0$。若是λ適當,則既能夠很好地貼合數據點,又能避免過擬合現象。
迴歸算法的正則化更新方程以下,對線性迴歸和邏輯迴歸都適用:
通常$1-\alpha\frac{\lambda }{m}$的值很是接近1,例如0.98。對於正規方程的正則化公式以下,採用正則化的另外一個好處是它能保證正規方程是必定可逆的。