算法介绍及实现——逻辑回归

目录

1、首先认识线性回归

2、逻辑回归

        2.1 假设函数

        2.2 损失函数

        2.3 多分类问题

3、总结


1、首先认识线性回归

        首先来一个引例,对于一个房价预测项目,我们想要建立房子特征(如大小,楼层,地段,使用年限等)和价格之间联系。那么机器学习的思路就是,我们去收集大量的房屋的特征及其对应的价格信息,秉承从数据中学习的思路,然后使用相关算法得到我们的模型,就这个引例而言,我们将这种问题归为回归(regression)问题,因为需要得到一个确切的数值,而在机器学习中回归问题的经典算法就是线性回归。

        就上述引例而言,我们可以把数据集表示为(X1,X2,...,Xn,y),X1至Xn是一个房子各个特征数值,而y是房子的房价。那么线性回归的任务就是要找一个假设函数h,使得在某种准则下的误差最小,其中h为(c0和cn的初始值是随机的):

h=c0+c1*x1+c2*x2+...+cn*xn

准则为:

cost =\sum (y-h)^2

         然后就是训练模型,对于我有一批(M个)样本,首先我就把M个样本的特征数据代入假设函数中,会对应计算出假设函数的预测值,这个假设函数的预测值和真实房价值y之间肯定有很大的差距(因为初始参数是乱设置的),我们可以通过把M个样本的误差加和计算得到误差。得到误差后需要对模型进行训练,让这个参数逐渐变得合适,使得假设函数的预测和真值y尽可能的接近,训练过程就是基于误差对参数进行调整(梯度下降),然后得到最优参数之后,这个模型就完成了,当我们收集到一个新的房子的这些特征数据时,就可以基于这个模型给定可能的房价。这就是机器学习中的线性回归模型。

2、逻辑回归

        逻辑回归虽然名字叫回归,但它本身是一个分类(classification)算法。

        2.1 假设函数

        还是基于上述那个引例,我不需要得到一个精确的数据值,我只想得到它是0类还是1类(先只讨论二分类问题)。那么我就需要把所计算的结果映射到0到1之间,这就需要逻辑函数(sigmoid函数)将其映射到0到1之间,sigmoid函数的表达式及图像如下:

 所以我们给出逻辑回归的假设函数的定义:
        h=g(z)    g为逻辑函数sigmoid

       z = c0 + c1*x1 + c2*x2 +...+cn*xn

在线性回归中,我们的假设函数的输出值的意义是:预测对应特征的房价值。那么在逻辑回归中,假设函数的输出的意义是:计算对应特征分类结果为1类的概率。也就是说,如果我们有一个样本特征的假设函数的输出是0.8,那就代编这个样本为类别1的概率为0.8

        一般情况下,我们把概率大于0.5的归为1类,概率小于0.5的归为0类,所以:h=0.5就是我们一般情况下的决策边界,h=0.5在逻辑函数中对应代表着的是 z=0,当然,决策边界是可调的。

        现在对于二分类问题(0 1分类),我们知道如何基于一组特征数据去预测它所属于的类别,接下来讲就是基于误差优化模型。

        2.2 损失函数

        对于二分类问题的数据集而言,与上述引例类似,只不过最后的y值不是0就是1,代表着样本的类别。我们对M个样本,基于这样的假设函数对类别做出预测,我们怎么衡量我们分类结果的误差呢?这是一个网图(侵权删除)查看源图像

 就上述这个误差函数表达了什么意思呢,能看出来,如果一个类别本身是1的样本,你越把他估计为0类(假设函数的输出越接近为0)那么他的误差越大,同样的,对于一个本身是0类的样本,你假设函数的输出越大(越靠近1),那么他的误差也就越大。这样就合理的实现对分类训练中的纠正。将其统一为一个式子就如下:

         这样对于一个分类问题我们就就能计算其分类误差,然后再基于分类误差去进行梯度下降更新参数继续进行训练,直到找到合适的参数。

        2.3 多分类问题

        多分类问题其实就是多次二分类问题,比如一个5分类问题,就只需要做4次二分类就能解决。

3、总结

        所以逻辑回归分类算法的主要流程是:

        1. 首先我们得有数据集吧(一些包含了特征数据和类别数据的样本。)

        2. 我们构建一个假设函数,随机赋予其参数初始值。

        3. 将样本数据的特征数据带入假设函数中得到(为类别1的)概率值,然后再基于样本的真实类别和输出的概率计算误差。

        4. 梯度下降,基于误差更新模型(假设函数)的参数。然后重复 3 直到训练结束。

至于算法实现,调用python的sklearn下现有函数无比方便,不赘述了。


 山高路远,共勉!


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值