為何 logistic regression 要求 maximum likelihood ?
在機器學習中,我們通常是最小化損失函數,但在logistic regression 中,我們求 maximum likelihood,兩者是等效的。
$$
P(Y=1|x)=\pi(x) , P(Y=0|x)=1-\pi(x)
$$$$
likelihood->L(w) = \prod[\pi(x_i)]^{y_i}[1-\pi(x_i)]^{1-y_i}
$$$$
log likelihood->lnL(w) = \sum[y_iln\pi(x_i)+(1-y_iln(1-\pi(x_i)))]
$$$$
\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad=\sum[y_iln\frac{\pi(x_i)}{1-\pi(x_i)}+ln(1-\pi(x_i))]
$$$$
max\quad lnL(w) = min \quad-lnL(w)
$$$$
取整個數據的平均對數似然損失 J(w) = -\frac{1}{N}lnL(w)
$$ 所以最大化似然函數與最小化對數似然損失是等價的 !!
logistic regression 跟 maximum entropy model 關係?
其實兩者 logistic regression就是 maximum entropy model 類別為兩類的情況,當處理多類別時,就是 maximum entropy model。
sigmoid 跟 softmax 關係?
softmax 可以處理多類別,當類別為二元分類時即是 sigmoid
牛頓法
可以使用梯度下降法或牛頓法,這次我採用牛頓法進行實作,程式碼在這 !!! https://github.com/citya1472581234/machine_learning/tree/master/logistic_regression
以下是實作 logistic regression 的 loss 與 accuracy 的變化。