作者:LogM
本文原載於 https://segmentfault.com/u/logm/articles ,不允許轉載~
本文爲舊博客文章,公式顯示異常,請至 https://segmentfault.com/a/1190000019635861 查看。
1. 邏輯迴歸模型
邏輯迴歸模型的公式可以寫作:
$$P(Y=1|x) = \frac{1}{1+e^{-wx}}$$
$$P(Y=0|x) = \frac{e^{-wx}}{1+e^{-wx}}$$
2. 邏輯迴歸的機率
事件的機率(odd)被定義爲:
$$odd = \frac{p}{1-p}$$
所以,對數機率(log odds)或稱 logit 函數爲:
$$logit(p) = log \frac{p}{1-p}$$
帶入邏輯迴歸模型後,有:
$$log \frac{P(Y=1|x)}{1-P(Y=1|x)} = w \cdot x$$
可以發現,對數機率 $logit(p)$ 與 $x$ 是線性關係,所以可以稱作"迴歸"。
3. sigmoid 函數是怎麼來的
邏輯迴歸需要解決的二分類問題,實際上是要建模:
$$P(Y=1|x) = f(wx)$$
$Y|x$ 的分佈是伯努利分佈,$wx$ 的分佈是正態分佈,函數 $f(x)$ 需要將正態分佈映射到伯努利分佈。什麼樣的函數具有這樣的性質呢?數學家找到了 $f(x) = sigmoid(x)$。
4. 最準確的解釋
其實上面解釋"邏輯迴歸爲什麼叫回歸"和"邏輯迴歸爲什麼使用sigmoid"的過程是不太準確的,是爲了方便讀者理解。對大多數同學來說,理解上面的解釋就足夠了。
如果要準確理解"邏輯迴歸"的話,需要讀者事先知道廣義線性模型
,這需要比較深的數學基礎。
這塊涉及的知識太多,我這邊就簡單提一下,需要讀者自己去看PRML
這本書。
線性迴歸是"廣義線性模型"的一種,邏輯迴歸也是"廣義線性模型"的一種。線性迴歸的聯結函數是恆等函數,所以線性迴歸不需要激活函數;邏輯迴歸的聯結函數是sigmoid函數,所以邏輯迴歸的激活函數是sigmoid函數。