決策邊界、代價函數、多元分類

1.決策邊界:根據logistic迴歸方程的假設函數h(x)=g(\Theta T*x),g(z)=1/(1+e^(-z)),g(z)\in{0,1},可知當g(z)>=0.5時z>=0,相反z<0,分類時只要滿足\Theta T*x>=0就可以實現分類,當參數\Theta確定時,即可繪製出一條線,關於線性可分,非線性可分,請移步這裏(看完記得回來哦,接下來的內容更精彩)https://blog.csdn.net/u014755493/article/details/70182532。另:決策邊界只由參數theta決定,跟訓練集無關,而參數theta由訓練集訓練模型得到。

2.代價函數

當J(theta)中藍色部分由粉色部分代替時,J(theta)的曲線可能如下圖,使用梯度下降時會有很多局部最優點,很難找到全局最優, 

             

爲此,我們將代價函數轉化如左圖。

        

下圖是代價函數的曲線,解釋一下,當h(x)=0(或者1)時,也就意味着,我們把本該爲1(0)的類別預測成了0(1),已經是錯誤分類了,此時代價非常大,所以代價函數值趨於無窮。

            

爲了方便寫出代價函數和推導出梯度下降算法,我們可以將代價函數合併成一個式子Cost(h(x),y)=-ylog(h(x))-(1-y)log(1-h(x))

此時J(theta)=-1/m\Sigmaylog(h(x))-(1-y)log(1-h(x))  (自動腦補i,theta)。梯度下降算法如下:

 

關於推導過程請參考https://blog.csdn.net/qq_29762941/article/details/80232908

邏輯迴歸的梯度下降公式和線性迴歸形式上很像,但是注意,由於h(x)的公式不一樣(線性迴歸h(x)=theta轉置*x,邏輯迴歸h(x)=1/(1+e^(-theta轉置*x))),所以其實二者是完全不同的。(特徵縮放也可應用到邏輯迴歸中)

3.利用邏輯迴歸解決多分類問題

主題思想是專注於某一類別(簡稱目標類別),然後將所有的數據劃分爲目標類別和其他(就是其他所有的類別放在一起),訓練出一個分類器,然後重複此過程,直至生成n個分類器(n是我們的類別數目),給定數據x將其帶入邏輯迴歸方程中,概率最大的分類器即爲該數據的類別。

4.關於擬合問題(例子:預測房價,假設理想狀態下應該是二次函數,這樣容錯率也很高。)

欠擬合:訓練出來模型在訓練集和測試集上都表現得很差,通俗一點說,就是欠缺一點點,我們訓練出來得模型低於理想模型,以至於對於訓練集得數據不能很好的分類/預測,更別提測試集了,另一種叫法叫高偏差;對於本例來說,預測成了線性函數;

過擬合:訓練集上表現得很好,測試集上表現得很差,又叫高方差;對於本例來說,預測成了四次函數;在訓練集特徵多、數據量少的時候容易發生。解決方法:①減少特徵數量(人爲的篩選,或者使用模型選擇算法去選擇留哪些特徵,但是可能會導致重要信息的缺失,建議選擇第二種)②正則化,保留所有特徵,改變的是量級或者參數theta。

5.正則化

思想:在最小化代價函數時加個約束\lambda,形式如下因爲我們不知道應該改變哪個參數,所有全部都約束一下,其實 i從0還是1開始都可,問題不大,但是約定俗成從1開始,跟着大夥走吧。這個就是正則化項,\lambda叫正則化參數,當\lambda過大時,所有的theta都接近於0,這時擬合出來的就是一條y=C(常數)的水平直線,所以要選擇合適的值。

5.1線性迴歸的正則化

這是未加正則化時的梯度下降算法,,當加入正則化,J對theta求導就變化了,合併同類項得由於alpha,\lambda均大於0,且\lambda<m,所以是一個極小得正值,再看theta更新得公式,加了正則化項後每次更新其實只是在未加正則化時theta縮小了一丟丟而已。

之前吳大叔講過求解theta還可以用正則方程,即theta=(x的轉置*x)求逆*x的轉置*y,加入正則化後依舊可用,只是變成了具體的就不再贅述了。

5.2邏輯迴歸的正則化

這是未加正則化的邏輯迴歸代價函數

這是加正則化的邏輯迴歸代價函數具體的可以參考第二個知識點。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章