Stanford ML - Logistic Regression 逻辑回归

本文介绍了逻辑回归的基本概念及其在二分类问题中的应用。通过sigmoid函数将线性回归的输出映射到0到1之间,表示概率。文章还讨论了成本函数及梯度下降等优化方法,并提出使用fminunc库函数作为另一种求解参数θ的方式。最后,对于多分类问题,提出了one-vs-all策略。
摘要由CSDN通过智能技术生成

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


其中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都训练一个分类器,当输入一个新值时,计算所有分类器的得分,最终划分到得分最大的分类器对应的分类。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值