1.逻辑回归概述

逻辑回归是一个线性的二分类模型,主要是计算在某个样本特征下事件发生的概率,比如根据用户的浏览购买情况作为特征来计算他是否会购买这个商品,LR的最终值是根据一个线性和函数再通过一个sigmoid函数来求得的,该线性和函数是权重与特征值的累加以及加上偏置求出来的,所以训练LR也就是训练线性和函数的各个权重w。
权重w一般使用最大似然法来估计,估计出似然函数的负号极小值就会得到最优w解,通常采用随机梯度下降和拟牛顿法来进行优化。

**一句话总结:**逻辑回归假设数据服从伯努利分布,通过极大化似然函数的方法,运用梯度下降来求解参数,来达到将数据二分类的目的。

2.逻辑回归的目的

将数据进行二分类

3.逻辑回归是如何做分类的
逻辑回归作为一个回归函数,如何用于分类问题。 逻辑回归中,对于每个 x,其条件概率 y 的确是一个连续的变量。而逻辑回归中可以设定一个阈值,y 值大于这个阈值的是一类,y 值小于这个阈值的是另外一类。至于阈值的选择,通常是根据实际情况来确定,一般情况下选取 0.5 作为阈值来划分。

4.逻辑回归损失函数
逻辑回归的损失函数是其极大似然函数。

5.逻辑回归的参数求解方法
极大似然函数无法直接求解,一般是通过对该函数进行梯度下降来不断逼近其最优解。这里需要注意的点是要对梯度下降有一定的了解,就梯度下降本身来看的话就有随机梯度下降,批梯度下降,small batch 梯度下降三种方式,面试官可能会问这三种方式的优劣以及如何选择最合适的梯度下降方式。

  • 批梯度下降会获得全局最优解,缺点是在更新每个参数的时候需要遍历所有的数据,计算量会很大,并且会有很多的冗余计算,导致的结果是当数据量大的时候,每个参数的更新都会很慢。
  • 随机梯度下降是以高方差频繁更新,优点是使得 sgd 会跳到新的和潜在更好的局部最优解,缺点是使得收敛到局部最优解的过程更加的复杂。
  • 小批量梯度下降结合了批梯度下降和随机梯度下降的优点,每次更新的时候使用 n个样本。减少了参数更新的次数,可以达到更加稳定收敛结果,一般在深度学习当中我们采用这种方。

6.逻辑回归中为什么使用对数损失而不用平方损失
对于逻辑回归,这里所说的对数损失和极大似然是相同的。 不使用平方损失的原因是,在使用 Sigmoid 函数作为正样本的概率时,同时将平方损失作为损失函数,这时所构造出来的损失函数是非凸的,不容易求解,容易得到其局部最优解。 而如果使用极大似然,其目标函数就是对数似然函数,该损失函数是关于未知参数的高阶连续可导的凸函数,便于求其全局最优解。
7.逻辑回归的如何分类
这个在上面的时候提到了,要设定一个阈值,判断正类概率是否大于该阈值,一般阈值是0.5,所以只用判断正类概率是否大于0.5即可。

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

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

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

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

10. 逻辑回归的优缺点总结
优点

  • 形式简单,模型的可解释性非常好。从特征的权重可以看到不同的特征对最后结果的影响,某个特征的权重值比较高,那么这个特征最后对结果的影响会比较大。
  • 模型效果不错。在工程上是可以接受的(作为baseline),如果特征工程做的好,效果不会太差,并且特征工程可以大家并行开发,大大加快开发的速度。
  • 训练速度较快。分类的时候,计算量仅仅只和特征的数目相关。并且逻辑回归的分布式优化sgd发展比较成熟,训练的速度可以通过堆机器进一步提高,这样我们可以在短时间内迭代好几个版本的模型。
  • 资源占用小,尤其是内存。因为只需要存储各个维度的特征值。
  • 方便输出结果调整。逻辑回归可以很方便的得到最后的分类结果,因为输出的是每个样本的概率分数,我们可以很容易的对这些概率分数进行cut off,也就是划分阈值(大于某个阈值的是一类,小于某个阈值的是一类)。

缺点:

  • 准确率并不是很高。因为形式非常的简单(非常类似线性模型),很难去拟合数据的真实分布。
  • 很难处理数据不平衡的问题。举个例子:如果我们对于一个正负样本非常不平衡的问题比如正负样本比10000:1.我们把所有样本都预测为正也能使损失函数的值比较小。但是作为一个分类器,它对正负样本的区分能力不会很好。
  • 处理非线性数据较麻烦。逻辑回归在不引入其他方法的情况下,只能处理线性可分的数据,或者进一步说,处理二分类的问题 。
  • 逻辑回归本身无法筛选特征。有时候,我们会用gbdt来筛选特征,然后再上逻辑回归。

机器学习面试题之逻辑回归(二)相关推荐

  1. 吴恩达机器学习之逻辑回归(二分类)

    吴恩达机器学习之逻辑回归 逻辑回归 二分类逻辑回归 二分类逻辑回归案例 python代码实现(含详细代码注释): 案例中几个问题的解析 不同于线性回归,逻辑回归的hθ(x)还需要用sigmoid函数处 ...

  2. 机器学习系列(1)_逻辑回归初步

    转载自: 机器学习系列(1)_逻辑回归初步 - 寒小阳 - 博客频道 - CSDN.NET http://blog.csdn.net/han_xiaoyang/article/details/4912 ...

  3. Coursera公开课笔记: 斯坦福大学机器学习第六课“逻辑回归(Logistic Regression)”

    Coursera公开课笔记: 斯坦福大学机器学习第六课"逻辑回归(Logistic Regression)" 斯坦福大学机器学习第六课"逻辑回归"学习笔记,本次 ...

  4. Scikit-Learn 机器学习笔记 -- 线性回归、逻辑回归、softmax回归

    Scikit-Learn 机器学习笔记 – 线性回归.逻辑回归.softmax回归 参考文档: handson-ml import numpy as np from matplotlib import ...

  5. 斯坦福大学机器学习第四课“逻辑回归(Logistic Regression)”

    斯坦福大学机器学习第四课"逻辑回归(Logistic Regression)" 本次课程主要包括7部分: 1) Classification(分类) 2) Hypothesis R ...

  6. 【机器学习】Logistic Regression逻辑回归原理与java实现

    [机器学习]Logistic Regression逻辑回归原理与java实现 1.基于概率的机器学习算法 2.逻辑回归算法原理 2.1.分离超平面 2.2.阈值函数 2.3.样本概率 2.4.损失函数 ...

  7. 吴恩达机器学习第二次作业——逻辑回归

    逻辑回归 一.逻辑回归 1,数据可视化 2,sigmoid函数,逻辑回归模型 3,代价函数以及梯度 4,评价逻辑回归 二.正规化逻辑回归 1,数据可视化 2,特征映射(Feature Mapping) ...

  8. 深度学习 神经网络(5)逻辑回归二分类-Pytorch实现乳腺癌预测

    深度学习 神经网络 逻辑回归二分类-乳腺癌预测 一.前言 二.代码实现 2.1 引入依赖库 2.2 加载并查看数据集 2.3 数据处理 2.4 数据分割 2.5 迭代训练 2.6 数据验证 一.前言 ...

  9. 吴恩达机器学习(四)逻辑回归(二分类与多分类)

    目录 0. 前言 1. 假设函数(Hypothesis) 2. 决策边界(Decision Boundary) 3. 代价函数(Cost Funciton) 4. 梯度下降(Gradient Desc ...

最新文章

  1. 根据前序、中序序列重建一棵二叉树的代码实现
  2. mysql 插入数据 自增长_MySQL ------ 插入数据(INSERT和insert select)(二十)
  3. 神策数据荣获“金猿奖 - 2017 金融科技优秀产品奖”
  4. 19.并发容器之BlockingQueue
  5. Python 中文Key 报错问题
  6. 九零后女孩币圈变形记
  7. poj 1324 Holedox Moving
  8. 5、maplotlib中的轴刻度和轴线
  9. git常用命令(不定时更新)
  10. TransBigData 针对交通时空大数据处理的Python包
  11. Android developer 阅读笔记--应用资源概览
  12. 笔记本实现有线路由器功能
  13. MapReduce各个执行阶段
  14. OCR财务报表识别方案应用
  15. canvas 花蕊绽放
  16. 分享诗集-中国原创诗歌创作分享中心,欢迎博客园喜欢诗词的加入【诗词在线】...
  17. Xilinx Ultrascale+ 使用PRC向ICAP E3核输入码流重构时无反应
  18. mac(5) : 使用终端解压rar文件
  19. Django+模板引擎+Bootstrap +sqlite3 个人博客管理系统(附开源代码)
  20. 啧啧啧。。。加壳失败

热门文章

  1. 618手机争夺战:5G时代首场大考,荣耀再度领跑
  2. 2021年全国职业院校技能大赛 “大数据技术与应用”—模拟赛题(二)
  3. 苹果系统微信实况图照片发送-竞品分析初步思考
  4. 路径MTU(PMTU)发现控制与DF位
  5. Python 他来了,他来了!
  6. java 设置页面宽度_java – PDFBox设置A5页面大小
  7. 韶关python培训班_新华字典:韶_“韶”的意思,五笔,笔画,拼音,五行_HttpCN
  8. 微信公众号开发系统入门教程之公众号与小程序、APP的区别
  9. 架构设计文章读后感6
  10. MODBUS TCP/IP通信协议及测试方法