首页 > 代码库 > logistic回归

logistic回归

这是分类算法。之前的回归问题尝试预测的变量y是连续变量,在这个分类算法中,变量y是离散的,y只取{0,1}两个值。

 

一般这种离散二值分类问题用线性回归效果不好。比如x<=3,y=0;x>3,y=1,那么当x>3的样本占得比例很大是,线性回归的直线斜率就会越来越小,y=0.5时对应的x判决点就会比3大,造成预测错误。

 

若y取值{0,1},首先改变假设的形式,使假设得到的值总在[0,1]之间,即:

所以,选取如下函数:

 

其中:

 

g函数一般被称为logistic函数,图像如下:

 

z很小时,g(z)趋于0,z很大时,g(z)趋于1,z=0时,g(z)=0.5

 

对假设的概率解释:

假设给定x以为参数的y=1和y=0的概率:

 

可以简写成:

 

参数的似然性:

 

求对数似然性:

 

为了使似然性最大化,类似于线性回归使用梯度下降的方法,求对数似然性对的偏导,即:

 

因为求最大值,此时为梯度上升。

偏导数展开:

 

则:

 

即类似上节课的随机梯度上升算法,形式上和线性回归是相同的,只是符号相反,为logistic函数,但实质上和线性回归是不同的学习算法。

logistic回归