1. 程式人生 > >機器學習十大演算法2----logistics迴歸

機器學習十大演算法2----logistics迴歸

補充:

風險極小化準則:由樣本的隨機性 故L(y,f(x,a))是r.v  故考慮期望R(a)=∫LdP(x,y)

模式識別:y∈{0,1}, L(y,f(x,a))=P(y!=f(x,a))

迴歸估計:L(y,f(x,a))=(y-f(x,a))^2

密度估計:L(y,f(x,a))=-logP(x,a)

經驗函式極小:Remp(a)=1/lΣQ(zi,a)

PLA:  y∈{1,-1}  h(x)=sign(W'X)   err=||y^!=y||

線性迴歸:y∈R  h(x)=W'X   err=(y^-y)^2

LR  返回離散值

X--LR-->Pro--sigmoid-->[0,1]--sign->0/1

H:h(x)=sigmoid(W'X)       由指數族中自然引數與引數的轉化而來   W'X-->引數   h(x)-->自然引數

目標:正確分類概率最大   分類是否正確服從二項分佈  

max  L(W)=πP(1|xi)^yi(1-P(1|xi)^1-yi      

max L(W)<==>min  L(Y,P(Y|X))=J(w)=1/Nlog(u(W'X))   由於非凸;為密度估計

優化目標:1/Nlog(u(W'X)) 

迭代思想:隨機梯度迭代  Wt+1<----Wt+sigmoid(-yiW'xi)yixi

可優化地方:步長隨迭代次數增加而變小  4/(1+i+j)+0.01

                   梯度上升 計算量大-->隨機梯度替換(資料集少時,迭代次數小)-->步長(開始變化很大,隨迭代次數增加變小)

為什麼使用h(x)=sigmoid(W'X)?

\Theta i為正樣本概率,則yi~B(1,\Theta i)

P(y|\Theta )=\Theta ^{y}(1-\Theta )^{1-y} =exp(yln\frac{\Theta }{1-\Theta }+ln(1-\Theta ))=exp(\psi (y)\eta (\Theta )+A(\eta ))

\eta =ln(\frac{\Theta }{1-\Theta })==>\Theta =sigmoid(\eta )

此外,還可從其他角度找出h(x)形式 

當多個分類時,分類結果服從多項式分佈,仍可由指數族的形式推出softmax函式進而推出softmax迴歸(注意,引數為k-1個 )