-
逻辑回归模型背景
逻辑回归模型是机器学习中最常见的一种基础模型,模型为:
f_w,b(x)=\sigma(\sum_{i}w_i \cdot x_i+b) \ \ (1) 其中比较核心是sigmoid function,也就是公式(1)的函数。
\sigma(z)=\frac {1}{1+e^{-z}} (1)
sigmoid function的函数图像如下图,根据该函数的特点,可以视为类1的后验概率估计p(y=1|z),也就是说如果取一个z点,通过该函数计算的结果可以作为z点属于类别1的概率大小。通常在逻辑回归二分类中,我们取值\sigma(z)>=0.5 时,y为1,否则y为0。
之前看书一直以为公式(1)是拍脑袋出来的,其实不然,细看之下其实有很多有趣的巧合,深感数学真是博大精深。
-
从最大熵模型推导
《The equivalence of logistic regression and maximum entropy models》 这篇论文推导的非常透彻,看下来收货不小,简要摘入一些易于理解的部分。
-
首先对于字母与符号的声明如下:
(1)x(1),x(2),...,x(m) 表示n维空间的一个样本,x(i)表示第i个样本,x(i)_j表示第i个样本的第j维的数据(因为x是一个n维向量)
(2)y(1),y(2),...,y(m)表示 k 维空间的一个观测结果,记k从1,2,…,k变化,即分类问题中的k个类别。
(3)π(x)是学习得到的概率函数。 π(x)_u表示数据样本x属于类别u的概率,我们希望π( )具有如下性质:
1.样本x属于类别v的概率大于0,显然概率必须大于0。即 π(x)_v>0
2. \sum_{v=i}^{k}\pi(x)_v=1 样本x属于各个类别的概率和为1。
3.\pi(x(i))_{y(i)} 在所有类别概率中最大。
(4)A(u,v)是一个指示函数,当u=v时A(u,v)=1,当u≠v时A(u,v)=0,如A(u,y(i))表示第i个观测结果是否为u。
-
简要推导:
其中第(3).3中的最后一个条件等价于尽可能的让\pi(x(i)) \rightarrow y(i) 即 \pi(x(i)) \rightarrow A(u,y(i)),理想情况为\pi(x(i))= A(u,y(i)),固有:
\sum_{i=1}^{m}x(i)_j\pi(x(i))_u=\sum_{i=1}^{m}x(i)_jA(u,y(i)) \ \ (2)
对所有类别及所有样本取\pi( )的熵,可以得到:
f(v,i)=- \sum_{v=1}^{k} \sum_{i=1}^{m}\pi(x(i))_v log(\pi(x(i))_v) \ \ (3)
得到一个优化问题:
\begin{cases} maxf(v,i)=max\left(- \sum_{v=1}^{k} \sum_{i=1}^{m}\pi(x(i))_v log(\pi(x(i))_v) \right) \\ \pi(x)_v>0\\ \sum_{v=1}^{k}\pi(x)_v=1 \\ \sum_{i=1}^{m}x(i)_j\pi(x(i))_u=\sum_{i=1}^{m}x(i)_jA(u,y(i)) \end{cases} (4)
利用拉格朗日对偶性求这个优化问题的对偶问题。
L=\sum_{j=1}^n\sum_{v=1}^k\lambda_{v,j} \left(\sum_{i=1}^m\pi(x(i))_vx(i)_j-A(v,y(i))x(i)_j \right)
+\sum_{v=1}^{k}\sum_{i=1}^{k}\beta_i(\pi(x(i))_v-1)-\sum_{v=1}^{k} \sum_{i=1}^{m}\pi(x(i))_v log(\pi(x(i))_v) ) \ (5)
满足\beta<0,有KKT条件有:
\frac{\partial L}{\partial {\pi(x(i))_u}} =\lambda_u \cdot x(i)+\beta_i-\log(\pi(x(i))_u)-1=0 \ \ \ (6)
计算得到:
\pi(x(i))_u =e^{\lambda_u\cdot x(i)+\beta_i-1} \ \ \ (7)
将(7)式代入到\sum_{v=1}^{k}\pi(x)_v=1可知:\sum_{v=1}^{k}e^{\lambda_u\cdot x(i)+\beta_i-1}=1即e^\beta=\frac{1}{\sum_{v=1}^{k}e^{\lambda_u\cdot x(i)-1}}代入(7)式计算得:
\pi(x(i))_u =\frac {e^{\lambda_u\cdot x}}{\sum_{v=1}^{k}e^{\lambda_u\cdot x}} \ \ (8)
即多分类问题对应的softmax函数。
-
softmax如何联系上sigmoid
但是二分类问题时,式(8)中u自取0与1,则(8)可以改写为:
\pi(x(i))_1 =\frac {e^{\lambda_1\cdot x}}{e^{\lambda_0\cdot x}+e^{\lambda_1\cdot x}} \ \ (9)
将分子除分母得:
\pi(x(i))_1 =\frac {1}{1+e^{-(\lambda_1-\lambda_0)\cdot x}} \ \ (10)
就形成了sigmoid function。
-
更直观的理解
知乎上有个关于softmax到sigmoid的理解写的不错,引用如下:
-
从最根本的广义线性模型角度推导
大神NG的lecture notes http://cs229.stanford.edu/notes/cs229-notes1.pdf上讲的比较清楚。
首先指数分布族的标准表达式为式:
p(y;η)=b(y)exp(η^TT(y)-a(η)) \ \ (11)
其中,η是分布的自然参数(natural parameter)或典范参数(canonical parameter),T(y)叫做充分统计量,通常情况下T(y)=y;a(η)是对数分配函数,而a、b与T一般都是给定的,随着η的变化,会得到不同的分布。
对伯努利分布的指数分布族标准表达式进行简单推导,如式(12):
p(y;\phi)=\phi^y(1-\phi)^{1-y}=e^{y\log\phi+(1-y)\log(1-\phi)} =e^{ \left((\log{(\frac{\phi}{1-\phi}})y)+\log(1-\phi)\right )} \ (12)
对应标准表达式式(11)可知:η=\log(\phi/(1- \phi))。
指数家族的问题可以通过GLM(广义线性模型)来解决,在给定x和参数后,y的条件概率p(y|x,θ) 需要满足下面三个假设:
(1)y | x; θ ∼ ExponentialFamily(η).
(2)h(x) = E[y|x]. 即给定x,目标是预测T(y)的期望,通常问题中T(y)=y
(3)η和x之间是线性的,即η = θ^Tx。
我们知道逻辑回归二分类模型的假设前提为:逻辑回归服从伯努利分布,设y|x;θ服从伯努利分布,所以可知它的期望为\phi,根据构建GLM的第2、3条假设可反推出假设函数h(x)为:
H_θ(x)= E[y|x; θ]= \phi=\frac1{(1+e-η)}= \frac1{(1+e^{-θ^Tx})} \ \ (13)
-
从贝叶斯模型角度推导
从贝叶斯模型到逻辑回归公式只要一步,真是巧妙。
p(c_1|x)=\frac{p(x|c_1)p(c_1)}{p(x|c_1)p(c_1)+p(x|c_2)p(c_2)}
=\frac1{1+\frac{p(x|c_2)p(c_2)}{p(x|c_1)p(c_1)}}= \frac1{1+exp(-z)}
其中z=\ln\frac{p(x|c_2)p(c_2)}{p(x|c_1)p(c_1)}