逻辑回归算法为什么用的是sigmoid函数而不用阶跃函数?
在分类问题中,预测的变量yyy是离散的值,考虑二分类任务输出标记y∈{
0,1}y \in \{ 0,1\}y∈{
0,1},而线性回归模型产生的预测值z=wTx+bz = {w^T}x + bz=wTx+b是实数,我们需要将实数值zzz转换为0/1值。最理想的是单位阶跃函数(unit-step function)
y={
0,z<0;0.5,z=0;1,z>0;y =\begin{cases} {0,} & {z < 0;} \\ {0.5,} & {z = 0;} \\ {1,} & {z > 0;} \\ \end{cases}y=⎩⎪⎨⎪⎧0,0.5,1,z<0;z=0;z>0;
即若预测值zzz大于0就判断为正例,小于0则判断为反例,预测值为临界值0则等于0.5。
显然这个单位阶跃函数不连续,阶跃函数虽然能够直观刻画分类的错误率,但是由于其非凸、非光滑的特点,使得算法很难直接对该函数进行优化。而sigmoid函数本身的特征(光滑无限阶可导),以及完美的映射到概率空间,就用于逻辑回归了。对率函数正是这样一个可替代单位阶跃函数的替代函数:y=11+e−zy = \frac{1}{
{1 + {e^{ - z}}}}y=1+e−z1
Sigmoid函数即形似S的函数,对率函数是Sigmoid函数最重要的代表,它将zzz值转化为接近0或1的值,并且其输出值在z=0z=0z=0附近变化很陡。
把zzz带入上述方程可得到:y=11+e−(wTx+b)y = \frac{1}{
{1 + {e^{ - ({w^T}x + b)}}}}y=1+e−(wTx+b)1
可做变换:
lny1−y=wTx+b\ln \frac{y}{
{1 - y}} = {w^T}x + bln1−yy=wTx+b
若将yyy视为样本xxx作为正例的可能性,则1−y1-y1−y是其反例的可能性,两者的比值y1−y\frac{y}{
{1 - y}}1−yy,反映了xxx作为正例的相对概率,对概率取对数则得到“对数概率”lny1−y\ln \frac{y}{
{1 - y}}ln1−yy。
逻辑回归为什么是线性模型?
考虑单调可微函数g(⋅)g( \cdot )g(⋅),令y=g−1(wTx+b)y = {g^{ - 1}}({w^T}x + b)y=g−1(wTx+b) 得到这样的模型称为“广义线性模型”,其中的函数g(⋅)g( \cdot )g(⋅)称为“联系函数”。
而逻辑回归公式:
y=11+e−z=11+e−(wTx+b)y = \frac{1}{
{1 + {e^{ - z}}}}= \frac{1}{
{1 + {e^{ - ({w^T}x + b)}}}}y=1+e−z1=1+