作者 | Chilia

整理 | NewBeeNLP

最近准备开始如同考研一般的秋招复习了!感觉要复习的东西真的是浩如烟海;) 有2023届做算法的同学可以加入我们一起复习~

  • 关于BERT,面试官们都怎么问

  • 关于Transformer,面试官们都怎么问

  • 关于ELMo,面试官们都怎么问

  • 关于SVM,面试官们都怎么问

  • 关于逻辑回归,面试官们都怎么问

1. 介绍

逻辑回归假设数据服从「伯努利分布」(因为是二分类),通过「极大化似然函数」的方法,运用梯度下降来求解参数,来达到将数据二分类的目的。

决策函数

「x」是m维的样本特征向量(input);y是标签label,为正例和负例。这里 是模型参数,也就是回归系数。则该样本是正例的概率为:

这里使用sigmoid函数的目的是为了把普通的线性回归问题转化为输出为[0,1]区间的二分类问题。

sigmoid函数

损失函数

在统计学中,常常使用极大似然估计法来求解参数。即找到一组参数,使得在这组参数下,我们的数据的似然度(概率)最大。

设:

那么,似然函数为:

为了更方便求解,我们对等式两边同取对数,写成「对数似然函数」

从另一个角度来讲,对于一个样本来说,它的「交叉熵损失函数」为:

所有样本的交叉熵损失函数为:

这就是对数似然函数取相反数嘛!所以,在逻辑回归模型中,「最大化对数似然函数和最小化损失函数实际上是等价的」

梯度下降求解

对一个样本做梯度下降,

并行化

LR的一个好处就是它能够并行化,效率很高。使用小批量梯度下降:

这些操作均可用矩阵运算来并行解决。

2. 常见面试题

Q1: LR与线性回归的区别与联系

逻辑回归是一种广义线性模型,它引入了Sigmoid函数,是非线性模型,但本质上还是一个线性回归模型,因为除去Sigmoid函数映射关系,其他的算法都是线性回归的。

逻辑回归和线性回归首先都是广义的线性回归,在本质上没多大区别,区别在于逻辑回归多了个Sigmoid函数,使样本映射到[0,1]之间的数值,从而来处理分类问题。另外逻辑回归是假设变量服从伯努利分布,线性回归假设变量服从高斯分布。逻辑回归输出的是离散型变量,用于分类,线性回归输出的是连续性的,用于预测。逻辑回归是用最大似然法去计算预测函数中的最优参数值,而线性回归是用最小二乘法去对自变量量关系进行拟合。

Q2: 连续特征的离散化:在什么情况下将连续的特征离散化之后可以获得更好的效果?例如CTR预估中,特征大多是离散的,这样做的好处在哪里?

答:在工业界,很少直接将连续值作为逻辑回归模型的特征输入,而是将连续特征离散化为一系列0、1特征交给逻辑回归模型,这样做的优势有以下几点:

  • 离散特征的增加和减少都很容易,易于模型的快速迭代,容易扩展;

  • 离散化后的特征对异常数据有很强的鲁棒性:比如一个特征是年龄>30是1,否则0。如果特征没有离散化,一个异常数据“年龄300岁”会给模型造成很大的干扰;

  • 逻辑回归属于广义线性模型,表达能力受限;单变量离散化为N个后,每个变量有单独的权重,相当于为模型引入了非线性,能够提升模型表达能力,加大拟合。具体来说,离散化后可以进行特征交叉,由M+N个变量变为M*N个变量;

  • 特征离散化后,模型会更稳定,比如如果对用户年龄离散化,20-30作为一个区间,不会因为一个用户年龄长了一岁就变成一个完全不同的人。当然处于区间相邻处的样本会刚好相反,所以怎么划分区间是门学问。

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

先说结论,如果在损失函数最终收敛的情况下,其实就算有很多特征高度相关也不会影响分类器的效果。可以认为这100个特征和原来那一个特征扮演的效果一样,只是可能中间很多特征的值正负相消了。

为什么我们还是会在训练的过程当中将高度相关的特征去掉?

  • 去掉高度相关的特征会让模型的可解释性更好

  • 可以大大提高训练的速度。如果模型当中有很多特征高度相关的话,就算损失函数本身收敛了,但实际上参数是没有收敛的,这样会拉低训练的速度。其次是特征多了,本身就会增大训练的时间。

一起交流

想和你一起学习进步!『NewBeeNLP』目前已经建立了多个不同方向交流群(机器学习 / 深度学习 / 自然语言处理 / 搜索推荐 / 图网络 / 面试交流 / 等),名额有限,赶紧添加下方微信加入一起讨论交流吧!(注意一定o要备注信息才能通过)

END -

从顶会论文看对比学习的应用!

2021-11-22

2021最新 北京互联网公司

2021-10-24

『优势特征知识蒸馏』在淘宝推荐中的应用

2021-10-22

聊一聊算法工程师复现算法的踩坑总结

2021-10-17

关于逻辑回归,面试官都怎么问相关推荐

  1. 面试官都在问 | Linux命令mpstat详解

    面试官都在问 | Linux命令mpstat详解 1. mpstat的基本用法 mpstat的全称为Multiprocessor Statistics,是一款常用的多核CPU性能分析工具,用来实时查询 ...

  2. 阿里的面试官都喜欢问哪些问题?

    作者:徐刘根 | 公众号:Java之间 金九银十是招聘的旺季,小编在这里也给大家整理了一套阿里面试官最喜欢问的问题或者出场率较高的面试题,助校招或者社招路上的你一臂之力! 首先我们需要明白一个事实,招 ...

  3. 分享一道大厂面试官都喜欢问的玻璃球问题

    最近在跟身边的同学进行秋招分享的时候,发现很多同学在面试的时候都被问到了一个玻璃球会不会被摔碎的问题,有些让简单讲一下思路,有的则是要现场写一下实现的代码,下面就简单介绍一个这个题目. 问题是这样的, ...

  4. 面试 HTTP ,99% 的面试官都爱问这些问题!

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 本文来源:Java建设者 HTTP 和 HTTPS 的区别 HTT ...

  5. 为什么面试官都爱问源码?这几个公众号告诉你!

    技术之路就是漫长的打怪升级,不断学习前人的踩坑经验才能提升自己,切忌闭门造车.所谓独乐乐不如众乐乐,强烈推荐以下公众号,让你的生活多点意思????,希望小伙伴们能在 coding 的路上走的更远. 「 ...

  6. 面试官都爱问的java模式之装饰模式!!!

    简言: Java中的23种设计模式: Factory(工厂模式),Singleton(单例模式),Adapter(适配器模式),FactoryMethod(工厂方法模式),Prototype(原始模型 ...

  7. 面试 HTTP ,99% 的面试官都爱问这些问题

    HTTP 和 HTTPS 的区别 HTTP 是一种 超文本传输协议(Hypertext Transfer Protocol),HTTP 是一个在计算机世界里专门在两点之间传输文字.图片.音频.视频等超 ...

  8. 面试官都爱问的java模式之建造者模式!!!

    开心一刻: 同事妻管严,零花钱少的可怜,今天一起打牌他输了400块没钱了.想想也可怜,就请他吃饭,吃饭时他说兄弟借十块钱吧,买张请柬回去好报帐,我当时就呆了,又TM学会一招... 简言: 建造者模式定 ...

  9. 技术面试官应该怎么问?面试者应该怎么答?

          每年年初都是招聘.求职的旺季,不管你是企业面试官,还是职场小鸟,都应该要清楚对方问的是什么,意图在哪里,不要答非所问,一脸迟疑. 年初以来,面试过很多人,面试的内容无非就那么几类,反反复复 ...

最新文章

  1. 初探linux子系统集之led子系统(一)【转】
  2. Exception in thread “main“ org.apache.hadoop.hbase.client.RetriesExhaustedException: Can‘t get the l
  3. 《Head First Python》第五章--理解数据
  4. yolo 负样本_目标检测介绍之YOLO与SSD
  5. idea怎么打包有依赖关系的项目_项目需求不明确,项目各模块逻辑关系不清晰,怎么排计划?...
  6. 买卖股票的最佳时机II
  7. LeetCode MySQL 585. 2016年的投资(窗口函数over(partition by xx))
  8. new java.util.date_java.util.Date的替代品
  9. 企业网络分配项目,从连接到登陆,一步步来详解交换机配置
  10. 网站日志统计案例分析与实现
  11. 计算机术语中cook,计算机中的cookie是什么意思
  12. JVisualVM 简介
  13. 宝峰c1对讲机写频软件_宝峰888s写频软件
  14. Unity3D-VR《静夜诗》5-李白吟诗
  15. 计算机网络知识点及例题总结(五)数据链路层与局域网
  16. 2022最新软件测试面试题(附答案)来测试下你的水平
  17. 小男孩学机器人编程好还是学钢琴好
  18. 高边坡监测主要监测的内容
  19. 公司财务发工资时,记录了当时发工资的资料Employee.txt 1.定义公司员工类Employee,属性有:工号,姓名,性别,工资(double类型),进行属性的隐藏和封装,重写toString.
  20. mysql master status_MySQL show master / slave status 命令参数

热门文章

  1. A股收盘:沪指收涨0.66% 深成指收涨1.01%
  2. SAP License:SAP All-in-One产品特点
  3. SAP License:SAP自学SAP常见的问题二
  4. ClickHouse安装部署与SQL实战
  5. openldap quick start guide
  6. NYOJ-71-独木舟上的旅行
  7. Linq 中的 left join
  8. Android---- android计量单位--dip、px、sp之间区别与联系pixs =dips * (densityDpi/160). dips=(pixs*160)/d...
  9. 半监督主动式机器学习的技术优势:银行金融风控场景分析
  10. [C语言] 单向链表的构建以及翻转算法_图文详解(附双向链表构建代码)