1. 邏輯迴歸(Logistic)
用於解決二元分類問題
1. 介紹
從兩個備選類中,將給定數據分到這兩個類之中的一個類去。
1. 邏輯函數/模型(logit model)
Logit函數 F(x)=1+e−x1
取值:當f(x)≥0.5,取y = 1,否則取y = 0
注意觀察Logit函數導數的樣子
2. Logit與二元迴歸
我們可以將f(x)看作是“在給定輸入x下,y=1的概率”即 P(y=1∣x)
於是, 可以得到P(y=1∣x)=f(x)=1+e−(θ0+θ1x)1
3. 使用邏輯迴歸解決二元分類問題
P(y=1∣x;θ)=f(x;θ)=1+e−θTx1
解釋:求訓練得到的係數θ,給定x下y=1的概率。也就等於後面的1+e−θTx1
θ爲向量,θ=[θ0,θ1,θ2,...]
x也向量,x=[1,x1,x2,...] [^2]:X從1開始的原因是:線性擬合的的一個參數是1∗θ
θTx=∑i=0θixi (x0=1)
【實驗】2.1 使用邏輯函數 完成對購車的預測
2. 使用Logit進行預測的模型解釋
1. 損失函數定義
P(y=1∣x;θ)=f(x;θ)=1+e−θTx1
損失函數:J(θ)=p=−n=1∑N[y(i)ln(P(Y=1∣X=x(i);θ)+(1−y(i))ln(1−P(Y=1∣X=x(i);θ))]
2. 損失函數的解釋
對於給定第i個模型的概率,yi表示第i個數據爲1,它乘以ln(P(Y=1∣X=xi;θ)表示乘以在參數θ下 x=x(i)的條件下 y爲1的概率,如果猜測符合實際,這個值將會=0。同理,右邊(1−y(i))ln(1−P(Y=1∣X=x(i);θ))]在預測正確的情況下也會趨於0。故此,損失函數J(θ)較好的表示了預測值和真值的相差程度,因此將至用於度量模型的損失值。
3. 損失函數的特點
損失函數是凸函數,可導
▽θJ(θ)=i∑x(i)(f(x(i);θ)−y(i))
4. 計算方式
- 隨機初始化
- 計算梯度
- 梯度下降
5. Logit函數求梯度
(過程略)關鍵結論如下
- f(Z)′=(1+eZ1)′=...=f(Z)[1−f(Z)]
- l(θ)=logL(θ)=log(i=0∏nyiPi∗i=0≡0∏n(1−yi)(1−Pi))
- dθdln(θ)=i=1∑N(yi−Pi)xi
- log(L(θ))爲期望,我們需要最大化期望,這需要梯度上升法。爲滿足一般使用梯度下降法的習慣,故取loss(θ)=−l(θ)。由此,對loss求θ求導就爲∂θ∂loss(θ))=i=1∑N(Pi−yi)x
【實驗2.2 使用Logit模型來對垃圾短信進行分類】