1. 程式人生 > >【番外】線性迴歸和邏輯迴歸的 MLE 視角

【番外】線性迴歸和邏輯迴歸的 MLE 視角

線性迴歸

z = w T x + b z = w^T x + b

,得到:

y = z + ϵ ,   ϵ N

( 0 , σ 2 ) y = z + \epsilon, \, \epsilon \sim N(0, \sigma^2)

於是:

y x N ( z , σ 2 ) y|x \sim N(z, \sigma^2)

為啥是 y x y|x ,因為判別模型的輸出只能是 y x y|x

它的概率密度函式:

f Y X ( y ) = 1 2 π σ exp ( ( y z ) 2 2 σ 2 ) = A exp ( B ( y z ) 2 ) ,   A , B > 0 f_{Y|X}(y)=\frac{1}{\sqrt{2 \pi} \sigma} \exp(\frac{-(y -z)^2}{2\sigma^2}) \\ = A \exp(-B (y - z)^2), \, A, B > 0

計算損失函式:

L = i log f Y X ( y ( i ) ) = i ( log A B ( y ( i ) z ( i ) ) 2 ) = B i ( y ( i ) z ( i ) ) 2 + C L = -\sum_i \log f_{Y|X}(y^{(i)}) \\ = -\sum_i(\log A - B(y^{(i)} - z^{(i)})^2) \\ = B \sum_i(y^{(i)} - z^{(i)})^2 + C

所以 min L \min L 就相當於 min ( y ( i ) z ( i ) ) 2 \min (y^{(i)} - z^{(i)})^2 。結果和最小二乘是一樣的。

邏輯迴歸

z = w T x + b , a = σ ( z ) z = w^T x + b, a = \sigma(z) ,我們觀察到在假設中:

P ( y = 1 x ) = a P ( y = 0 x ) = 1 a P(y=1|x) = a \\ P(y=0|x) = 1 - a

也就是說:

y x B ( 1 , a ) y|x \sim B(1, a)

其實任何二分類器的輸出都是伯努利分佈。因為變數只能取兩個值,加起來得一,所以只有一種分佈。

它的概率質量函式(因為是離散分佈,只有概率質量函式,不過無所謂):

p Y X ( y ) = a y ( 1 a ) 1 y p_{Y|X}(y) = a^y(1-a)^{1-y}

然後計算損失函式:

L = i log p Y X ( y ( i ) ) = i ( y ( i ) log a ( i ) + ( 1 y ( i ) ) log ( 1 a ( i ) ) ) L = -\sum_i \log p_{Y|X}(y^{(i)}) \\ = -\sum_i(y^{(i)} \log a^{(i)} + (1-y^{(i)})\log(1-a^{(i)}))

和交叉熵是一致的。

可以看出,線上性迴歸的場景下,MLE 等價於最小二乘,在邏輯迴歸的場景下,MLE 等價於交叉熵。但不一定 MLE 在所有模型中都是這樣。