Stanford ML - Logistic Regression 逻辑回归

根据课程里讲,逻辑回归主要用来做分类,比如检测垃圾邮件之类的,这类问题用线性回归不能很好的解决。逻辑回归的回归函数(分类器)是:


其中g为sigmoid function,如下。这个函数的值域为0到1,表示在给定的theta和x的情况下,y等于1的概率。从图中可以看出,只要z大于0,也就是theta' * x大于0, y为1的概率就大于50%。当z为0时,y为0、为1的概率各位50%,我们称这个时候x的图形为Decision Boundary,它划分出了不同的分类。



逻辑回归的Cost Function为:


同样的,我们这里要找一个theta,使Cost Function最小。一种通用的方法还是梯度下降,同样的带进去求偏导,注意需要把sigmoid function展开,最终得:


可以看出,这跟线性回归的形式保持一致,相当完美;只是回归函数不一样。


另外一种求theta的优化方法是用库函数fminunc,不需要选择learning rate,速度也较快 - 只提供Cost Function J和Gradient的计算即可,纯粹的套公式如下:

J = y' * log(sigmoid(X*theta)) + (1 - y)' * log(1 - sigmoid(X*theta));
J = -J/m;

for j = 1:size(theta)
    grad(j) = (sigmoid(X*theta) - y)' * X(:,j);
    grad(j) = grad(j) / m;
end

前面讲的都是0/1分类,如果是多值分类呢?可以变通一下,用一个PK多个的思想,简化为0/1分类。对每个值i都训练一个分类器,当输入一个新值时,计算所有分类器的得分,最终划分到得分最大的分类器对应的分类。


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值