文章目录
Logistic Regression
非线性函数的提出
对于二分类问题,给定特征向量 X X X,希望对它的类别进行预测,记预测值为 y ^ \hat{y} y^,真实值 y = 0 y = 0 y=0 或 1 1 1 ,产生预测值的一种简单方法是做线性回归
y ^ = θ T x + b \hat{y} = \theta^Tx + b y^=θTx+b
然而,这对于二分类来说并不是一个好的做法,因为如果想让 y ^ \hat{y} y^表示实际值 y y y等于1的几率的话, y ^ \hat{y} y^的值应该在0到1之间,可是 w T x + b w^Tx + b wTx+b 的值可能比 1 1 1要大得多,或者出现负值。因此,我们考虑将线性函数转换为非线性函数。
g ( y ) = 1 1 + e − y g(y) = \frac{1}{1 + e^{-y}} g(y)=1+e−y1
从函数图像上,可以看出,这个函数可以将函数值映射到区间 [ 0 , 1 ] [0,1] [0,1]上。
损失函数与极大似然估计的关系
损失函数为
L ( y ^ , y ) = − y log ( y ^ ) − ( 1 − y ) log ( 1 − y ^ ) L(\hat{y}, y) = -y\log(\hat{y}) - (1-y)\log(1 - \hat{y}) L(y^,y)=−ylog(y^)−(1−y)log(1−y^)
直观的理解,当 y = 1 y=1 y=1时,损失函数 L = − log ( y ^ ) L = -\log(\hat{y}) L=−log(y^),如果想要让损失函数 L L L尽可能小,那么 y ^ \hat{y} y^要尽可能大。当 y = 0 y=0 y=0时, L = − log ( 1 − y ^ ) L = -\log(1 - \hat{y}) L=−log(1−y^), y ^ \hat{y} y^要尽可能小。因此,这个函数适合作为分类问题的损失函数。
从概率论的角度上看,记
y ^ = p ( y = 1 ∣ x ) \hat{y} = p(y = 1|x) y^=p(y=1∣x)
则有
1 − y ^ = p ( y = 0 ∣ x ) 1 - \hat{y} = p(y=0|x) 1−y^=p(y=0∣x)
结合上面两条式子,有
p ( y ∣ x ) = y ^ y ( 1 − y ^ ) ( 1 − y ) p(y|x) = \hat{y}^y (1 - \hat{y})^{(1-y)} p(y∣x)=y^y(1−y^)(1−y)
根据极大似然估计,我们需要最大化 p ( y ∣ x ) p(y|x) p(y∣x)。
maximize p ( y ∣ x ) ⇔ maximize log ( p ( y ∣ x ) ) ⇔ maximize y log y ^ + ( 1 − y ) log ( 1 − y ^ ) ⇔ minimize − y log y ^ − ( 1 − y ) log ( 1 − y ^ ) = L ( y ^ , y ) \begin{aligned} &\text{maximize} ~~~~~p(y|x)\\ \Leftrightarrow ~~ &\text{maximize} ~~~~~\log(p(y|x))\\ \Leftrightarrow ~~ &\text{maximize} ~~~~~ y\log\hat{y} + (1-y)\log(1-\hat{y}) \\ \Leftrightarrow ~~ &\text{minimize} ~~~~~ -y\log\hat{y} - (1-y)\log(1-\hat{y}) = L(\hat{y},y) \end{aligned} ⇔ ⇔ ⇔ maximize p(y∣x)maximize log(p(y∣x))maximize ylogy^+(1−y)log(1−