机器学习 | 逻辑回归

news2024/11/17 16:01:58

一.基本原理

面对一个分类问题,建立代价函数,通过优化方法迭代求解出最优的模型参数,然后测试验证我们这个求解的模型的好坏。逻辑回归是一种分类方法,主要用于二分类问题,应用于研究某些事件发生的概率

二.优缺点

优点

  • 计算代价不高,易于理解和实现
  • 速度快,适合二分类问题
  • 简单易于理解,直接看到各个特征的权重
  • 能容易更新模型吸收新的数据
  • 不受多重共线性的影响(可通过正则化消除)

缺点

  • 容易产生欠拟合
  • 分类精度不高
  • 很难处理样本不平衡问题
  • 准确率不是很高,因为形式简单(类似于线性模型),很难拟合数据的真实分布
  • 很难解决非线性问题,因为逻辑决策面是线性的
  • 无法筛选特征,应用中常用GBDT(筛选特征)+ 逻辑回归组合
  • 对数据和场景的适应能力有局限性,不如决策树算法适应性那么强

三.适用场景

  • 是很多分类算法的基础组件:它的好处是输出值自然地落在0到1之间,并且有概率意义。因为它本质上是一个线性的分类器,所以处理不好特征之间相关的情况。虽然效果一般,却胜在模型清晰,背后的概率学经得住推敲。它拟合出来的参数就代表了每一个特征对结果的影响。也是一个理解数据的好工具
  • 一般分类问题都可以使用,尤其因变量是二分类
  • 不要求自变量和因变量是线性关系
  • 信用评分卡
  • 计算营销活动成功率
  • 特定某天是否发生地震
  • 广告点击预测
  • 概率辅助决策
  • 寻找危险因素

四.常见面试题

1.逻辑回归能否解决非线性分类问题?

2.逻辑回归为什么用sigmoid,而不用其他函数? 

  • sigmod 本身的性质:输出范围有限,数据在传递的过程中不容易发散;输出范围为(0,1),所以可以用作输出层,输出表示概率;抑制两头,对中间细微变化敏感,对分类有利
  • 之所以LR 用sigmod,不是因为LR 选择了 sigmod ,而是用 指数簇分布和 最大熵原理 推导出来的形式,就是这个样子,后来起名叫sigmod


3.逻辑回归的系数想要都是正数,应该怎能做?
比如你训练好的模型是y = x1 - x2,这时候x2的系数是负数,然后你只要把样本x2这个维度的数字全取-j就好了,重新再次训练就全是正数了

4.为什么LR需要归一化或者取对数,为什么LR把特征离散化后效果更好?
目的是它能够让它符合我们所做的假设,使我们能够在已有理论上对其分析 
LR更适合处理稀疏数据 
逻辑回归属于广义线性模型,表达能力受限;单变量离散化为N个后,每个变量有单独的权重,相当于为模型引入了非线性,能够提升模型表达能力,加大拟合;(哑变量) 
特征离散化以后,起到了简化了逻辑回归模型的作用,降低了模型过拟合的风险

5.logistic的优化方法
这里理解题意为如何优化LR的效果
①引入非线性(能为模型引入非线性信息;onehot还能提高LR计算能力;同时还能处理缺失值特征;还能提高对异常值的鲁棒性)

  • 特征分箱+onehot
  • 特征项引入n次方

②处理共线性特征

  •  计算特征间的pearson或者互信息,将相似的特征剔除
  •  GBDT+LR,用树模型构造特征,能得到组合特征信息,并避免原始特征中的共线性问题

③特征标准化,样本归一化
④去异常值

6.LR与线性回归的区别与联系?
@nishizhen 
个人感觉逻辑回归和线性回归首先都是广义的线性回归, 其次经典线性模型的优化目标函数是最小二乘,而逻辑回归则是似然函数,另外线性回归在整个实数域范围内进行预测,敏感度一致,而分类范围,需要在[0,1]。逻辑回归就是一种减小预测范围,将预测值限定为[0,1]间的一种回归模型,因而对于这类问题来说,逻辑回归的鲁棒性比线性回归的要好
@乖乖癞皮狗:逻辑回归的模型本质上是一个线性回归模型,逻辑回归都是以线性回归为理论支持的。但线性回归模型无法做到sigmoid的非线性形式,sigmoid可以轻松处理0/1分类问题

7.LR与SVM的联系与区别?

联系

  • LR和SVM都可以处理分类问题,且一般都用于处理线性二分类问题(在改进的情况下可以处理多分类问题) 
  • 两个方法都可以增加不同的正则化项,如L1、L2等等。所以在很多实验中,两种算法的结果是很接近的

区别 

  • LR是参数模型,SVM是非参数模型
  • 从目标函数来看,区别在于逻辑回归采用的是Logistical Loss,SVM采用的是hinge loss.这两个损失函数的目的都是增加对分类影响较大的数据点的权重,减少与分类关系较小的数据点的权重 
  • SVM的处理方法是只考虑Support Vectors,也就是和分类最相关的少数点,去学习分类器。而逻辑回归通过非线性映射,大大减小了离分类平面较远的点的权重,相对提升了与分类最相关的数据点的权重 
  • 逻辑回归相对来说模型更简单,好理解,特别是大规模线性分类时比较方便。而SVM的理解和优化相对来说复杂一些,SVM转化为对偶问题后,分类只需要计算与少数几个支持向量的距离,这个在进行复杂核函数计算时优势很明显,能够大大简化模型和计算 
  • Logic 能做的 SVM能做,但可能在准确率上有问题,SVM能做的Logic有的做不了

8.LR和朴素贝叶斯的区别与联系? 

9.逻辑回归为什么要对特征进行离散化?

  •  逻辑回归属于广义线性模型,表达能力受限;单变量离散化为N个后,每个变量有单独的权重,相当于为模型引入了非线性,能够提升模型表达能力,加大拟合;离散特征的增加和减少都很容易,易于模型的快速迭代
  • 稀疏变量内积乘法运算速度快,计算结果方便存储,容易扩展
  • 方便交叉与特征组合:离散化后可以进行特征交叉,由M+N个变量变为M*N个变量,进一步引入非线性,提升表达能力
  • 简化模型:特征离散化后,起到了简化逻辑回归模型的作用,降低了模型过拟合的风险

10.逻辑回归在训练的过程中,如果有很多的特征高度相关或者说有一个特征重复了100遍,会造成什么样的影响?

  • 如果在损失函数最终收敛的情况下,有很多特征高度相关也不会影响分类器的效果
  • 对特征本身来说的话,假设只有一个特征,在不考虑采样的情况下,你现在将它重复100遍。训练完以后,数据还是这么多,但是这个特征本身重复了100遍,实质上将原来的特征分成了100份,每个特征都是原来特征权重值的百分之一
  • 如果在随机采样的情况下,其实训练收敛完以后,还是可以认为这100个特征和原来那一个特征扮演的效果一样,只是可能中间很多特征的值正负相消了

11.用逻辑回归时,特征中的某些值很大,意味着这个特征重要程度很高吗?

  • 这里的特征是指输入特征,输入特征和模型没有任何直接关系
  • 逻辑回归需要的数据,一般情况下需要进行离散化,以保证模型的鲁棒性
  • 但是一般情况下会根据逻辑回归中参数的大小来判断其对应特征的重要程度,在线性模型中(特征归一化后)我们认为特征对应的参数值越大,其特征重要性越高

12.逻辑回归和多重线性回归的区别?

  • 逻辑回归于多重线性回归实际上有很多相同之处,最大的区别就在于它们的因变量不同,其他基本都差不多。正因为如此,这两种回归可以归于同一个家族,即广义线性模型。这一家族中的的模型形式基本上都差不多,不同的就是因变量不同
  • 如果是连续的,就是多重线性回归
  • 如果是二项分布,就是逻辑回归
  • 如果是poisson分布,就是poisson回归
  • 如果是负二项分布,就是负二项回归

13.逻辑回归为什么不使用均方误差函数做损失函数,而是使用交叉熵损失函数?

逻辑回归使用mse为损失函数时,是非凸的损失函数,不方便优化;而对数损失(二元交叉熵损失)能保证损失函数为凸函数,优化到全局最低点

另外,逻辑回归的交叉熵损失函数也是可以通过最大似然估计推导出来的

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/111556.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

day28【代码随想录】回溯之组合、组合总和|||、电话号码的字母组合

文章目录前言一、组合(力扣77)剪枝优化二、组合总和 III(力扣216)剪枝优化三、电话号码的字母组合(力扣17)总结前言 1、组合 2、组合总和||| 3、电话号码的字母组合 一、组合(力扣77&#xff0…

第1章 计算机组成原理概述

文章目录前言1.0 课程简介1.0.1 课程的地位1.0.2 课程学习思路1.0.3 课程组成1.1 计算机系统简介1.1.1 计算机组成1.计算机的类型2.计算机的组成3.软件组成1.1.2 计算机系统的层次结构1.物理层方面2.程序员角度1.1.3 计算机体系结构与计算机组成1.2 计算机的基本组成1.2.1 冯诺…

esp8266测试1.44英寸TFT屏(驱动7735)的demo

参考这教程: 使用esp8266点亮福利屏型号st7735的1.44的TFT屏 管脚连接: 我的用的TFT1.44寸ST7735,与NodeMCU针脚接线成功连接 VCC——3V GND——G LED——3V CLK——D5 SDI——D7 RS——D6 RST——D4 CS——D8 这里给出常用的屏幕管脚定义 以及esp8266…

女生也能学编程:行政女生转行学编程获13000元薪资

“女生不能学编程” “女生学编程找不到工作” “企业根本不会招女生” …… 这样类似的说法,让非常多的女生放弃了学编程,但达妹今天要明确的说,这种说法是 错误的! 只要你愿意改变,有梦想,想追求更好的…

想要快速准备好性能数据?方法这不就来了!

[内部资源] 想拿年薪30W的软件测试人员,这份资料必须领取~ Python自动化测试全栈性能测试全栈,挑战年薪40W 性能测试的一般流程 收集性能需求——>编写性能脚本——>执行性能测试——>分析测试报告——>系统性能调优。 在收集性能需求后…

Spring IOC\AOP\事务\注解

DAY1 一、引言 1.1 原生web开发中存在哪些问题? 传统Web开发存在硬编码所造成的过度程序耦合(例如:Service中作为属性Dao对象)。 部分Java EE API较为复杂,使用效率低(例如:JDBC开发步骤&…

17. 【gRPC系列学习】http2 各类型帧的含义

本节介绍http2有哪些类型的帧以及各帧的主要作用,是rfc7540规范标准定义,文末有参考链接,为后续介绍gRPC帧处理做技术储备。 1. 帧结构 帧长度3个字节 24 bit帧类型1个字节,含义如下:FrameData FrameType = 0x0FrameHeaders FrameType = 0x1FramePriority …

MySQL#4(JDBC常用API详解)

目录 一.简介 1.概念 2.本质 3.优点 4.步骤 二.API详解 1.DriverManager(驱动管理类) 2.Connection 3.Statement 4.ResultSet 5.PreparedStatement 一.简介 1.概念 JDBC就是使用Java语言操作关系型数据库的一套API(Java DataBase Connectivity)Java 数据库连接 2.本…

年货节微信活动有哪些_分享微信小程序商城开发好处

新年临近,又是百姓们囤年货的日子。各行业的微商商城或者线下实体店的商家们,趁此机会别,做一波优惠促销活动,今年的业绩就靠它来个完美的收尾啦! 1.类型:转盘拆福袋等抽奖活动 点击对应抽奖按钮&#xff0…

Doo Prime 提供高达 1000 倍杠杆,助您撬动无限机遇

2022 年 11 月 19 日,Doo Prime 正式将全部账户类型的可选杠杆从 1:500 上调至 1:1000 倍,提供更灵活的杠杆选择,让全球客户有机会以更少的资金撬动更高的潜在利润,进一步拓展投资机遇。 *备注:杠杆调整详情请参阅下文…

Sentinel系列——概述与安装1-1

Sentinel系列——概述与安装1-1概述服务雪崩解决方法基本概念资源规则Sentinel 是如何工作的安装Sentinel下载地址启动修改sentinel启动参数设置启动端口设置用户名密码概述 随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel 是面向分布式、多语言…

面试官问 Redis 的数据结构的时候怎么答能加分?

一提到 Redis,我们的脑子里马上就会出现一个词:“快。”但是你有没有想过,Redis 的快,到底是快在哪里呢?实际上,这里有一个重要的表现:它接收到一个键值对操作后,能以微秒级别的速度…

【代码随想录】鱼与钰遇雨数据结构与算法刷题笔记

代码随想录 https://www.programmercarl.com/ 编程素养 代码风格 C代码风格参考google C style Guide 我使用的是驼峰命名法&#xff0c;其中空格留白的规则如下例&#xff1a; class Solution { public:void moveZeroes(vector<int>& nums) {int slowIndex 0…

化妆品商城小程序制作步骤_分享化妆品商城小程序开发好处

第一&#xff0c;用套餐做团购活动&#xff0c;主打节日套餐 随着疫情的反反复复&#xff0c;越来越多的用户都减少出门&#xff0c;那么就会减少到线下门店选购商品的机会&#xff0c;那么有一款化妆品商城小程序就可以直接在手机上下单&#xff0c;非常方便&#xff0c;那么我…

清华百度升级AIR白皮书2.0:发布车路协同重大突破

12月23日&#xff0c;全球首份车路协同自动驾驶技术创新白皮书《面向自动驾驶的车路协同关键技术与展望》升级发布2.0版(以下称“白皮书2.0”)&#xff0c;并向全行业公开征集意见。 该白皮书是全球车路协同技术研究领域最权威的报告之一&#xff0c;由张亚勤院士牵头&#xff…

DELMIA软件:机器人工作站中旋转台外围设备的运动仿真操作方法

目录 任务介绍 旋转台设备运动机构分析 旋转台设备模型导入与装配 旋转台设备示教编程 设备工艺添加与工艺序列设计 仿真运行 任务介绍 在DELMIA软件中制作旋转台设备运动机构&#xff0c;并实现机器人与旋转台设备联合运动虚拟仿真。仿真过程中&#xff0c;旋转台设备自…

机器学习肝炎预测模型machine learning for hepatitis prediction model

作者Toby&#xff0c;来自机器学习肝炎预测模型 肝炎是由细菌、病毒、寄生虫、酒精、药物、化学物质、自身免疫等多种致病因素引起的肝脏炎症的统称。儿童及成年人均可患病&#xff0c;病毒感染导致的病毒性肝炎较为常见。 由于过度饮酒、吸入有害气体、摄入受污染的食物、泡菜…

代码随想录刷题记录 day51 下一个更大元素II + 接雨水

代码随想录刷题记录 day51 下一个更大元素II 接雨水 503. 下一个更大元素 II 思想 和每日温度的思路是一样的&#xff0c;单调栈中存放的是元素的下标&#xff0c;需要学习的是如何模拟遍历两次数组。 for(int i1;i<nums.length*2;i){ ​ //这其中所有有关于i的 都用i …

不学PPMT,做自己,FARMER BOB的“高山之道”和破局之路

1999年&#xff0c;有着“潮流玩具教父”之称的中国香港艺术家Michael Lau&#xff08;刘建文&#xff09;&#xff0c;率先开创一种艺术玩具&#xff0c;将艺术、设计、潮流、绘画、雕塑等多元素理念融入玩具载体。 后来&#xff0c;大家都把这种玩具称为“潮玩”&#xff0c…

从车辆工程转行程序员两年,我是这样走过来的

毕业已经两年&#xff0c;这意味着从车辆工程转行做程序员已经两年。 这两年来&#xff0c;我从一个C语言都用不熟悉的菜鸟&#xff0c;一步步到现在负责软件多个模块的开发和维护。我走过很多弯路&#xff0c;也踩过很多坑&#xff0c;当然也从中不停地学习和成长。 这篇文章把…