逻辑回归与线性回归的区别与联系
逻辑回归与线性回归都属于广义线性回归模型,其区别与联系从以下几个方面比较:
分类与回归
:回归模型就是预测一个连续变量(如降水量,价格等)。在分类问题中,预测属于某类的概率,可以看成回归问题。这可以说是使用回归算法的分类方法。输出
:直接使用线性回归的输出作为概率是有问题的,因为其值有可能小于0或者大于1,这是不符合实际情况的,逻辑回归的输出正是[0,1]区间。见下图,参数估计方法
:- 线性回归中使用的是最小化平方误差损失函数,对偏离真实值越远的数据惩罚越严重。这样做会有什么问题呢?假如使用线性回归对{0,1}二分类问题做预测,则一个真值为1的样本,其预测值为50,那么将会对其产生很大的惩罚,这也和实际情况不符合,更大的预测值说明为1的可能性越大,而不应该惩罚的越严重。
- 逻辑回归使用对数似然函数进行参数估计,使用交叉熵作为损失函数,对预测错误的惩罚是随着输出的增大,逐渐逼近一个常数,这就不存在上述问题了1
也正是因为使用的参数估计的方法不同,线性回归模型更容易受到异常值(outlier)的影响,有可能需要不断变换阈值(threshold),线性回归分类的情况见下面两图:
无异常值的线性回归情况:
蓝线为求得的h(x),上图中可选阈值为0.5作为判断肿瘤是否是良性。
有异常值的线性回归情况:
这个时候再想有好的预测效果需调整阈值为0.2,才能准确预测。- 使用逻辑回归的方法进行分类,就明显对异常值有较好的稳定性。如下图:
参数解释
:- 线性回归中,独立变量的系数解释十分明了,就是保持其他变量不变时,改变单个变量因变量的改变量。
- 逻辑回归中,自变量系数的解释就要视情况而定了,要看选用的概率分布是什么,如二项式分布,泊松分布等
refer
[1] https://stackoverflow.com/questions/12146914/what-is-the-difference-between-linear-regression-and-logistic-regression
[2] https://gerardnico.com/data_mining/simple_logistic_regression
[3] https://stats.stackexchange.com/questions/22381/why-not-approach-classification-through-regression
逻辑回归与线性回归的区别与联系相关推荐
- 【AI面试题】逻辑回归和线性回归的区别
逻辑回归和线性回归之间既有区别又有联系.逻辑回归和线性回归最大的不同点是逻辑回归解决的是分类而线性回归解决的是回归问题.逻辑回归又可以认为是广义线性回归的一种特殊形式,其特殊之处在于其目标(label ...
- 逻辑回归和线性回归的区别_机器学习简介之基础理论- 线性回归、逻辑回归、神经网络...
本文主要介绍一些机器学习的基础概念和推导过程,并基于这些基础概念,快速地了解当下最热技术AI的核心基础-神经网络. 主要分为三大部分:线性回归,逻辑回归,神经网络. 首先看下机器学习的定义及常用的分类 ...
- 逻辑回归和线性回归的区别_[PRML]线性分类模型贝叶斯逻辑回归
线性分类相关文章:1.Fisher线性判别分析(LDA)[1]2.广义模型与线性模型& 判别分析 [2]3.逻辑回归[3]4.线性分类模型简介5.感知机原理及代码复现6.概率生成模型7.概率判 ...
- 逻辑回归与线性回归的区别
- 机器学习面试——逻辑回归和线性回归
1.什么是广义线性模型(generalize linear model)? 普通线性回归模型是假设X为自变量,Y为因变量,当X是一维的,y是一维的,共进行n次观测,则 其中,w是待估计的参数,称为回归 ...
- 逻辑回归、线性回归直观感受
在学习线性回归和逻辑回归的时候,遇到过一些问题: 1.为什么线性回归中y是服从正态分布的: 2.为什么逻辑回归是用于分类任务的,却叫做回归: 3.逻辑回归中的损失函数为什么不能用线性回归中的均方差公式 ...
- 逻辑回归与线性回归算法梳理
逻辑回归算法梳理 逻辑回归与线性回归算法 1线性回归 2 逻辑回归 2.1 逻辑回归原理 2.2 逻辑回归损失函数 2.3 简化后的逻辑回归损失函数 3 联系与区别 3.1 联系 3.2 区别 4 正 ...
- 逻辑回归阈值_逻辑回归or线性回归,傻傻分不清楚
欢迎关注"生信修炼手册"! 线性回归作为一种常用的关联分析工具,其功能强大,解释度高,但是其缺点也是很明显的.其只适用于处理连续型的变量,无法处理离散型的变量,比如对于case/c ...
- java算法:逻辑回归和线性回归
线性回归: 参考:https://blog.csdn.net/dong_lxkm/article/details/80551795 通过阶梯递减,训练出我们想要的参数: 事先给出一个我我们想要的值,比 ...
最新文章
- 动画演示10个有趣但毫无用处的Linux命令
- 物联网网关市场预计到2026年将增长21.5亿美元
- 使用getopts处理输入参数
- 【Android】AsyncTask原理应用及源码关键部分解析
- Error: pgraster_wkb_reader: grayscale band type 10 unsupported
- postsharp初体验
- webform数据导出
- php中的图像下载函数,PHP实现的下载远程图片自定义函数分享
- 背计算机专业英语词汇,计算机专业英语词汇1500词(五)
- HTML5 Canvas和EaselJS入门(译)
- Excel 导入数据库中java.lang.StringIndexOutOfBoundsException: String index out of range: -50提示解决原因...
- 关于蛙跳算法的计算机文献,文化蛙跳算法性能分析研究.PDF
- java通过jdbc访问数据库
- JVisualVM初步使用
- 《Linux内核分析》期末总结
- tw8836flash制作
- easyUI filebox限定文件大小
- 免费思维导图软件分享
- 大前端学习笔记 -- 搭建自己的服务器端渲染 (SSR)
- Windows手动配置ip