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

1.逻辑回归(Logistic Regression)

GitHub地址(案例代码加数据)

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

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

首先我们先来看一个函数,这个函数叫做Sigmoid函数:

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

好了,接下来我们把aX+b带入t中就得到了我们的逻辑回归的一般模型方程:

结果P也可以理解为概率,换句话说概率大于0.5的属于1分类,概率小于0.5的属于0分类,这就达到了分类的目的。

1.2损失函数

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

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

最后按照梯度下降法一样,求解极小值点,得到想要的模型效果。

1.3多分类问题(one vs rest)

其实我们可以从二分类问题过度到多分类问题,思路步骤如下:

1.将类型class1看作正样本,其他类型全部看作负样本,然后我们就可以得到样本标记类型为该类型的概率p1。

2.然后再将另外类型class2看作正样本,其他类型全部看作负样本,同理得到p2。

3.以此循环,我们可以得到该待预测样本的标记类型分别为类型class i时的概率pi,最后我们取pi中最大的那个概率对应的样本标记类型作为我们的待预测样本类型。

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

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地址(代码加数据)

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

.

.

.

.

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

原文地址:https://www.cnblogs.com/mantch/p/10162418.html

时间: 2024-10-07 22:56:42

通俗易懂--逻辑回归算法讲解(算法+案例)的相关文章

通俗易懂--SVM算法讲解(算法+案例)

1.SVM讲解 新闻分类案例 SVM是一个很复杂的算法,不是一篇博文就能够讲完的,所以此篇的定位是初学者能够接受的程度,并且讲的都是SVM的一种思想,通过此篇能够使读着会使用SVM就行,具体SVM的推导过程有一篇博文是讲得非常细的,具体链接我放到最后面,供大家参考. 1.1支持向量机(SVM)的由来 首先我们先来看一个3维的平面方程:Ax+By+Cz+D=0 这就是我们中学所学的,从这个方程我们可以推导出二维空间的一条直线:Ax+By+D=0 那么,依次类推,更高维的空间叫做一个超平面: x代表

逻辑回归(分类算法)

1.什么是逻辑回归 在前面讲述的回归模型中,处理的因变量都是数值型区间变量,建立的模型描述是因变量的期望与自变量之间的线性关系.比如常见的线性回归模型: 而在采用回归模型分析实际问题中,所研究的变量往往不全是区间变量而是顺序变量或属性变量,比如二项分布问题.通过分析年龄.性别.体质指数.平均血压.疾病指数等指标,判断一个人是否换糖尿病,Y=0表示未患病,Y=1表示患病,这里的响应变量是一个两点(0-1)分布变量,它就不能用h函数连续的值来预测因变量Y(只能取0或1).总之,线性回归模型通常是处理

Python逻辑回归原理及实际案例应用

前言 上面我们介绍了线性回归, 岭回归, Lasso回归, 今天我们来看看另外一种模型-"逻辑回归". 虽然它有"回归"一词, 但解决的却是分类问题 目录 1. 逻辑回归 2. 优缺点及优化问题 3. 实际案例应用 4. 总结 正文 在前面所介绍的线性回归, 岭回归和Lasso回归这三种回归模型中, 其输出变量均为连续型, 比如常见的线性回归模型为: 其写成矩阵形式为: 现在这里的输出为连续型变量, 但是实际中会有"输出为离散型变量"这样的需求,

Lineage逻辑回归分类算法

Lineage逻辑回归分类算法 1.概述 Lineage逻辑回归是一种简单而又效果不错的分类算法 什么是回归:比如说我们有两类数据,各有50十个点组成,当我门把这些点画出来,会有一条线区分这两组数据,我们拟合出这个曲线(因为很有可能是非线性),就是回归.我们通过大量的数据找出这条线,并拟合出这条线的表达式,再有新数据,我们就以这条线为区分来实现分类. 下图是一个数据集的两组数据,中间有一条区分两组数据的线. 显然,只有这种线性可分的数据分布才适合用线性逻辑回归  2.算法思想 Lineage回归

机器学习:逻辑回归(基础理解)

逻辑回归(Logistic Regression) 一.行业算法应用率 具统计,2017年,除了军事和安全领域,逻辑回归算法是在其它所有行业使用最多了一种机器学习算法: Logistic Regression(逻辑回归) Decision Trees(决策树) Random Forests(随机森林) Neural Networks(人工神经网络 NNs)--深度学习算法 人工神经网络(Artificial Neural Networks,简写为ANNs)也简称为神经网络(NNs)或称作连接模型

逻辑回归算法-通俗易懂易实现

转自https://www.cnblogs.com/hum0ro/p/9652674.html,看到介绍的逻辑回归很容易理解算法原理及实现,拿来存档做记录 一直做图像处理算法和视频方面的嵌入式应用软件,早起研究和应用过神经网络算法,一直没有了解其他分类的机器学习算法,这段时间用空学习研究这些算法,如k-means,em聚类算法,查阅了许多资料,算法推倒的,结合举例说明有个直观印象,这样可以更好地理解算法,方便实现 1.什么是逻辑回归 在前面讲述的回归模型中,处理的因变量都是数值型区间变量,建立的

随机梯度下降的逻辑回归算法(SGDLR)

由于第一次实验的实验报告不在这台机器,先写这一算法吧. SGDLR(the Stochastic Gradient Descent for Logistic Regression),要讲解这一算法,首先要把名字拆为几块. 1 随机   2 梯度下降   3逻辑回归 先贴一篇文章:http://blog.csdn.net/zouxy09/article/details/20319673 这篇文章中解释的还不错. 其实这一算法,通俗来讲是这样子的: 1.手中肯定有很多带有label标记的数据,这是训

常见机器学习算法原理+实践系列1(逻辑回归)

一,逻辑回归Logistic Regression 逻辑回归是线性模型Y=f(x)=b0+b1*x的延伸,一般用来做2分类问题,输出标记C={0,1},C就是classification的意思,通俗的讲,就要建立Y和C之间的关系,Y是多少的时候,C是0,Y是多少的时候,C是1,传统的线性回归输出的y是实数,在负无穷到正无穷之间,而C是0,1两种,使用Sigmoid函数就可以把y从负无穷到正无穷之间转换到0,1之间,该函数为:y=1/(1+e-z),其中z=wTX,x为自变量,w为权重.P记为发生

逻辑回归算法的原理及实现(LR)

Logistic回归虽然名字叫"回归" ,但却是一种分类学习方法.使用场景大概有两个:第一用来预测,第二寻找因变量的影响因素.逻辑回归(Logistic Regression, LR)又称为逻辑回归分析,是分类和预测算法中的一种.通过历史数据的表现对未来结果发生的概率进行预测.例如,我们可以将购买的概率设置为因变量,将用户的特征属性,例如性别,年龄,注册时间等设置为自变量.根据特征属性预测购买的概率.逻辑回归与回归分析有很多相似之处,在开始介绍逻辑回归之前我们先来看下回归分析. 回归分