广义线性模型——逻辑回归(logistic regression)

广义线性模型:使用单调可微的联系函数g(.),令hΘ(x) = g(ΘTx)

 

logistic regression用来干什么?

完成分类任务。

 

为什么要用logistic regression?

如果使用线性回归处理分类任务会存在以下两个问题:

(1)预测值y取值为0或者1,但是hΘ(x)的值可能远大于1或者远小于0。因此根据hΘ(x)的值判断类别的话存在困难(阈值不好取,增删数据之后参数改变阈值也必须改变)。

(2)实际中很多问题,预测值与特征值并不是直线关系。

为了更好地进行分类,我们需要把输出值控制在0-1之间。在这里我们引入logistic/sigmoid function

令g(z) = 1 / (1 + e-z);  g' = g *(1 - g); 0 < g < 1;

hΘ(x) =  1 / (1 + eTx);  0 < h < 1

有了h,我们就能根据h的值判断x的类别。比如我们可以预测:

相当于:

从上面的转化中我们可以看出,把目标函数的输出值从一个很大的范围缩到了(0,1)

得到的ΘTx即为边界:

      

 使用这个算法,我们可以用非常复杂的模型来适应非常复杂形状的判定边界。

例如有这样的分布:

假设目标函数:

参数是[-1 0 0 1 1],则我们得到的判定边界恰好是圆点在原点且半径为1 的圆形。

 

怎么用logistic regression?

 选择合适的cost function:

采用此代价函数,hΘ(x)与y就同步了。而且是凸函数。

下面采用梯度下降法来更新参数Θ:

 

注:经过推导可以发现逻辑回归的参数更新公式和线性回归的参数更新公式一致。但是注意,hΘ(x)不一样。

另外,这里在运行梯度下降算法之前进行特征缩放仍然是非常必要的。

 

转载于:https://www.cnblogs.com/J-K-Guo/p/7185078.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值