逻辑斯蒂回归
Logistic Regression
-
sigmoid函数:
$g(z)=\frac{e^{z}}{1+e^{z}}$函数图像如下,令 $z=\theta^Tx$
$g(x)=\frac{e^{\theta^Tx}}{1+e^{\theta^Tx}}$
$\theta^Tx$的结果是整个实数域,通过sigmoid函数可以映射到区间[0,1],得到概率
可以把分类问题理解成事件发生的概率$p$,比如对邮件分类来说更有可能属于哪一类,分到哪一类的概率最大。既然是概率,值介于0到1,而我么最初的线性分类器$\theta^Tx$的值域是整个实数域,所以需要进行变换。
从实数域映射到$[0,1]$。 令$z=\theta^Tx$, 其结果是任意实数,$f=e^z$可以将$z$映射到正实数域$(0,\infty)$,再从正实数域映射到$[0,1]$可以用$g=\frac{f}{1+f}$,函数图像如下:
从概率$[0,1]$映射到实数域即$\theta^Tx$。知道概率$p$,几率(odds)表示事件发生的概率和该事件不发生的概率的比值,$odds=\frac{p}{1-p}$,可以转换到正实数域$[0,\infty]$,再使用log函数$log(odds)=log(\frac{p}{1-p})$转换到实数域$(-\infty,\infty)$,函数图像分别如下:
通过上面的转换可以将线性分类器和概率值联系起来,即$log(\frac{p}{1-p})=\theta^Tx$,可以求出来$p=\frac{e^{\theta^Tx}}{1+e^{\theta^Tx}}$,得到sigmoid函数。
-
最大似然估计
现在知道了
$P(y=1|x)=\frac{e^{\theta^Tx}}{1+e^{\theta^Tx}}=g(x)$,$P(y=0|x)=\frac{1}{1+e^{\theta^Tx}}=1-g(x)$
由于$y\in{0,1}$,可以写成
$P(y_i|x)=P(y=1|x)^{y_i} \cdot P(y=0|x)^{1-y_i}$
所以似然函数是:
对数形式是:
对数函数并不会影响原函数的凹凸性质,不会改变原函数的极值点。求解最大似然函数等价于求解代价函数$J(\theta)=-log(\ell(\theta))$的最小值。因此定义逻辑斯底回归的代价函数:
为了求$minJ(\theta)$使用梯度下降法更新$\theta$:
所以通过
来更新$\theta_i$,其中$\alpha$是学习率 。
随机梯度下降法:
每次使用一个样本更新$\theta$
批量随机梯度下降法(Mini Batch Gradient Descent):
$b$是mini-batch size,训练如下图:
-
正则化
L1范数是$\sum_{i=1}^n|\omega_i|$
L2范数是$\frac{1}{2}\sum_{i=1}^n\omega_i^2$
L2正则化
$J$对$\theta$求导:
其中$j\in{1,2,3…}$,$j=0$时$\theta_0$是偏置项。所以:
如果初始$J(\theta)$先不除以$m$,那
于是
对于随机梯度下降法有