機器學習課程筆記(2)
阿新 • • 發佈:2018-12-18
分類問題(接1)
logistic迴歸中的代價函式:
對於原來的迴歸方程, J(θ)=1/m∑1/2(hθ(x)-y)2
與線性迴歸相同,所不同的是線性迴歸中hθ(x)為f(x),logistics中hθ(x)為sigmoid-f(x)
我們先設cost(h(x)-y)=1/2(h(x)-y)2 , 由於sigmoid函式是非線性的(即之前提到的h(x)=1/(1+e-fθ(x)) ),若將其直接用於原來的迴歸方程,得到的J(θ)將是非凸函式 這樣用梯度下降法可能得到的不是‘最優解’。因此我們可以修改一下代價函式使之在運用sigmoid的同時還能是凸函式。 修改:cost(h(x)-y)={-log(h(x))------if y=1//-log(1-h(x))----if y=0 因為結果只可能為0或1,當y=0,
梯度下降不是唯一用來更新θ的演算法,還可以使用BFGS,L-BFGS,共軛梯度法,這些演算法雖然更復雜,但不用手動調整學習率α,而且收斂更快。
問題:如何實現多元分類?
前面主要討論二元分類,即結果只有可能為0或1,對於多元分類,我們可以類比一下: 二元分類是比較“結果為1的概率”。若其大於0.5,則認為結果為1,這裡面其實省略了“結果為0的概率”,之所以省掉是因為兩種結果非此即彼。所以正規的步驟應該是比較“結果為0的概率”和“結果為1的概率”哪一個更大。 對於多元分類,可以計算結果為1,2,3,…的概率哪一個更大,輸出的結果當然是概率最大的那一個。如一個三元分類:
logistics迴歸中的正則化
和線性迴歸中的類似,cost(h(x)-y)=-y*log(h(x))-(1-y)*log(1-h(x))括號內加入懲罰項λ/2m∑θ2
神經網路演算法
→為了解決特徵量過多的問題(如判斷一張圖片裡有沒有汽車,這牽扯到每一個畫素點),解決複雜的線性假設 模仿大腦神經元的演算法