LR(逻辑回归)
开篇寄语
一直想总结下机器学习相关的知识,先从最简单的LR开始吧,温故而知新。自己的写作功底比较弱,所以也借鉴了几位前辈的博客
1、Sigmoid 与 Logistic Regression
sigmoid函数是lr的核心,它将普通的线性回归值域映射到了[0,1]
g ( z ) = 1 1 + e − z g(z)=\dfrac{1}{1+e^{-z}} g(z)=1+e−z1
回顾一下线性回归, h θ ( x ) = θ T X h_{\theta}(x)=\theta^{T} X hθ(x)=θTX,令 z = h θ ( x ) z=h_{\theta}(x) z=hθ(x),代入公式可得到
g ( x ) = 1 1 + e − θ T X g(x)=\dfrac{1}{1+e^{-\theta^{T}X}} g(x)=1+e−θTX1
实际上,逻辑回归是非线性回归的一种,只不过能用于二分类问题,所以很特殊,也很经典。
(PS:不知道还有没有其它可用于分类的非线性回归,或者是sigmoid简单的变形)
2、概率分布
为什么LR能用于二分类问题呢,我们来算一下,首先是Y为0或者1的条件概率分布
P ( Y = 1 ∣ X ) = 1 1 + e − w x = e w x 1 + e w x P ( Y = 0 ∣ X ) = 1 − P ( Y = 1 ∣ X ) = 1 1 + e w x \begin{aligned} P(Y=1|X) = \frac{1}{1+e^{-wx}} = \frac{e^{wx}}{1+e^{wx}} \\ P(Y=0|X) = 1- P(Y=1|X) = \frac{1}{1+e^{wx}} \end{aligned} P(Y=1∣X)=1+e−wx1=1+ewxewxP(Y=0∣X)=1−P(Y=1∣X)=1+ewx1
发生事件的几率定义为发生与不发生的比值
o d d s = p 1 − p odds = \frac{p}{1-p} odds=1−pp
取其对数概率
l o g i t ( p ) = l o g p 1 − p logit(p)=log\frac{p}{1−p} logit(p)=log1−pp
那么Y=1的几率就是
l o g P ( Y = 1 ∣ x ) 1 − P ( Y = 1 ∣ x ) = l o g P ( Y = 1 ∣ x ) P ( Y = 0 ∣ x ) = w . x log \frac{P(Y=1|x)}{1−P(Y=1|x)}=log \frac{P(Y=1|x)}{P(Y=0|x)}=w.x log1−P(Y=1∣x)P(Y=1∣x)=logP(Y=0∣x)P(Y=1∣x)=w.x
即,当 w.x的值越大,P(Y=1|x) 越接近1;w.x越小(f负无穷大),P(Y=1|x) 越接近0,
其实这个从sigmoid图像也可以看得出来,不过另外一位先辈是这样写的,先暂且这么理解
3、参数求解
1,参数估计-最大似然函数
我们用最大化似然函数来估计参数,首先构建最大似然函数
L ( θ ) = ∏ P ( y i = 1 ∣ x i ) y i ( 1 − P ( y i = 1 ∣ x i ) ) 1 − y i L(\theta) = \prod P(y_i=1|x_i)^{y_i}(1-P(y_i=1|x_i))^{1-y_i} L(θ)=∏P(yi=1∣xi)yi(1−P(yi=1∣xi))