通俗易懂--逻辑回归算法讲解(算法+案例)

1.逻辑回归(Logistic Regression)

GitHub地址(代码加数据)git

1.1逻辑回归与线性回归的关系

逻辑回归是用来作分类算法的,你们都熟悉线性回归,通常形式是Y=aX+b,y的取值范围是[-∞, +∞],有这么多取值,怎么进行分类呢?不用担忧,伟大的数学家已经为咱们找到了一个方法。github

首先咱们先来看一个函数,这个函数叫作Sigmoid函数:算法

image

函数中t不管取什么值,其结果都在[0,-1]的区间内,回想一下,一个分类问题就有两种答案,一种是“是”,一种是“否”,那0对应着“否”,1对应着“是”,那又有人问了,你这不是[0,1]的区间吗,怎么会只有0和1呢?这个问题问得好,咱们假设分类的阈值是0.5,那么超过0.5的归为1分类,低于0.5的归为0分类,阈值是能够本身设定的。微信

好了,接下来咱们把aX+b带入t中就获得了咱们的逻辑回归的通常模型方程:app

image

结果P也能够理解为几率,换句话说几率大于0.5的属于1分类,几率小于0.5的属于0分类,这就达到了分类的目的。机器学习

1.2损失函数

逻辑回归的损失函数跟其它的不一样,先一睹尊容:函数

image

解释一下,当真实值为1分类时,用第一个方程来表示损失函数;当真实值为0分类时,用第二个方程来表示损失函数,为何要加上log函数呢?能够试想一下,当真实样本为1是,但h=0几率,那么log0=∞,这就对模型最大的惩罚力度;当h=1时,那么log1=0,至关于没有惩罚,也就是没有损失,达到最优结果。因此数学家就想出了用log函数来表示损失函数,把上述两式合并起来就是以下函数,并加上正则化项:学习

image

最后按照梯度降低法同样,求解极小值点,获得想要的模型效果。搜索引擎

1.3多分类问题(one vs rest)

其实咱们能够从二分类问题过分到多分类问题,思路步骤以下:3d

1.将类型class1看做正样本,其余类型所有看做负样本,而后咱们就能够获得样本标记类型为该类型的几率p1。

2.而后再将另外类型class2看做正样本,其余类型所有看做负样本,同理获得p2。

3.以此循环,咱们能够获得该待预测样本的标记类型分别为类型class i时的几率pi,最后咱们取pi中最大的那个几率对应的样本标记类型做为咱们的待预测样本类型。

image

总之仍是以二分类来依次划分,并求出几率结果。

1.4逻辑回归(LR)的一些经验

  • 模型自己并无好坏之分。

  • LR能以几率的形式输出结果,而非只是0,1断定。

  • LR的可解释性强,可控度高(你要给老板讲的嘛…)。

  • 训练快,feature engineering以后效果赞。

  • 由于结果是几率,能够作ranking model。

1.5LR的应用

  • CTR预估/推荐系统的learning to rank/各类分类场景。

  • 某搜索引擎厂的广告CTR预估基线版是LR。

  • 某电商搜索排序/广告CTR预估基线版是LR。

  • 某电商的购物搭配推荐用了大量LR。

  • 某如今一天广告赚1000w+的新闻app排序基线是LR。

1.6Python代码实现

GitHub地址(代码加数据)

寻觅互联网,少有机器学习通俗易懂之算法讲解、案例等,项目立于这一问题之上,整理一份基本算法讲解+案例于文档,供你们学习之。通俗易懂之文章亦不能够面概全,但凡是有不正确或争议之处,望告知,自当不吝赐教! . . . .

image

欢迎添加微信交流!请备注“机器学习”。

相关文章
相关标签/搜索