热门标签 | HotTags
当前位置:  开发笔记 > 大数据 > 正文

数据挖掘知识点串烧:逻辑回归

数据挖掘知识点串烧:逻辑回归本文为数据茶水间群友原创,经授权在本公众号发表。关于作者:DD-Kylin,一名喜欢编程与机器学

数据挖掘知识点串烧:逻辑回归

本文为数据茶水间群友原创,经授权在本公众号发表。

关于作者:DD-Kylin,一名喜欢编程与机器学习的统计学学生,勤学好问,乐于钻研,期待跟大家多多探讨机器学习的相关内容~

0x00 前言

我们知道,回归模型可以解决因变量为连续变量的问题,但是,如果因变量为分类变量的话,用回归的方法就行不通了。这个时候我们就得选择用其他的分类方法了,如决策树、随机森林、SVM等。而本篇文章要说的逻辑回归也是一种很好的分类方法。我们需要明确的一点是,逻辑回归虽然是“回归”,但是它本质上是一种二分类算法,用来处理二分类问题的

0x01 走近逻辑回归

问题1:你能说说什么是逻辑回归吗?

回答:逻辑回归是一种二分类算法,一般用来解决二分类问题,但是它也可以用来解决多分类问题,当使用它来解决多分类问题的时候,由于逻辑回归的特点,我们一般将多分类问题转化为二分类问题。这里多分类问题的转化有三种拆分策略,分别是一对一、一对其余和多对多。通过多分类拆分策略,我们可以使用逻辑回归来进行多分类问题的预测。但是这种方法我们一般不用,因为多分类问题我们可以使用随机森林、朴素贝叶斯、神经网络这些更好的算法进行预测。

问题2:逻辑回归是二分类算法,那它究竟是如何进行分类的?

回答:逻辑回归是通过判断数据属于某一类的概率值大小来决定要将该数据判为哪一类。这里需要引入sigmoid函数(Y = 1/(1+e-z) , 其中z = wTx+b

640?wx_fmt=jpeg

0x02 再会逻辑回归

问题1:逻辑回归进行分类时的阈值是一定的吗?可不可以人为地进行调整呢?

回答:不一定。可以通过人为地进行修改的。逻辑回归输出的是概率,即将Sigmoid函数输出的y视为正例的可能性,我们可以自定义分类阈值来改变分类的结果。

问题2:逻辑回归中的极大似然法是用来做什么的?

回答:因为sigmoid函数中,z = wTx+b,其中 w和b都是未知的,使用极大似然估计法是为了求出w和b使得每个样本属于其真实标记的概率值越大越好。 但是最大化似然函数的求解有点困难,所以将其转为求解最小值,即在求得的目标似然函数前面加上一个负号转为求解最小值。由于改变符号后的目标函数是高阶可导连续凸函数,于是可以使用梯度下降法、牛顿法等来求解它的最小值,通过函数的转化就可以较为轻松地求出w和b,进而也就能知道sigmoid函数的输出了。

注:逻辑回归是一种判别模型

问题3:逻辑回归有哪些应用?

回答:逻辑回归的应用其实跟它的算法特点有很大的关系。由于逻辑回归是一种性能很好的二分类算法。所以逻辑回归几乎可以应用于任何需要二分类的问题。如癌症检测、垃圾邮件分类、广告点击预测、医疗效果分析等。

0x03 优点VS缺点

问题:逻辑回归的优点是什么?缺点又是什么?

回答:

逻辑回归的优点分别是:

  • 1、形式简单,模型的可解释性非常好。从特征的权重可以看到不同的特征对结果的影响程度。如果特征的权重较大,则说明这个特征对数据结果的影响程度较大。
  • 2、它不是仅仅预测出类别,还能知道近似概率预测,这对许多需利用概率辅助决策的任务很有用。
  • 3、逻辑回归求解的目标函数是任意可导的凸函数,有很好的数学性质,现有的许多优化算法都能直接用于求解最优值

逻辑回归的缺点分别是:

  • 1、很难处理数据不平衡的问题。举个栗子,如果某个平台用户不下单与用户下单的数量比为10000:50,那么这个数据是一个类别很不平衡的数据,机器可以把所有的样本都预测为用户不下单,这样也可以使损失函数变得很小。但是作为一个分类器,它对正负样本的分类就显得很不友好了。
  • 2、逻辑回归本身无法筛选特征,如果特征高度相关,会拉低训练的速度。而特征数量过多的时候,则会造成过拟合现象。
  • 3、逻辑回归处理非线性的问题较为麻烦。逻辑回归在不引入其它方法的情况下,只能处理线性可分的问题或者说是二分类的问题。

0x04 总结

关于逻辑回归,我一直觉得它是一个很简单但是很强大的算法,直到在写这篇文章的时候,才发现原来它有那么多知识点需要理解。本文也只是起到一个抛砖引玉的作用,如果大家想了解更多的话,建议各位可以去看一下书,练一下真实的案例,肯定可以收获更多的理解!下面留几个讨论题:

  • 1、逻辑回归输出的概率值是真实的概率吗?
  • 2、逻辑回归中是如何区别正例跟反例的呢?
  • 3、如何衡量逻辑回归的模型效果?
  • 4、手推逻辑回归~

更多数据挖掘内容:

数据挖掘面试题之:梯度提升树

数据挖掘面试题之:朴素贝叶斯

数据挖掘面试题之:生成模型 VS 判别模型

数据挖掘知识点串烧:SVM

特征工程系列:数据清洗

特征工程系列:特征筛选的原理与实现(上)

特征工程系列:特征筛选的原理与实现(下)

特征工程系列:特征预处理(上)

特征工程系列:特征预处理(下)

640?wx_fmt=jpeg



推荐阅读
  • 在机器学习领域,深入探讨了概率论与数理统计的基础知识,特别是这些理论在数据挖掘中的应用。文章重点分析了偏差(Bias)与方差(Variance)之间的平衡问题,强调了方差反映了不同训练模型之间的差异,例如在K折交叉验证中,不同模型之间的性能差异显著。此外,还讨论了如何通过优化模型选择和参数调整来有效控制这一平衡,以提高模型的泛化能力。 ... [详细]
  • 知识图谱与图神经网络在金融科技中的应用探讨
    本文详细介绍了融慧金科AI Lab负责人张凯博士在2020爱分析·中国人工智能高峰论坛上的演讲,探讨了知识图谱与图神经网络模型如何在金融科技领域发挥重要作用。 ... [详细]
  • Python 数据可视化实战指南
    本文详细介绍如何使用 Python 进行数据可视化,涵盖从环境搭建到具体实例的全过程。 ... [详细]
  • 吴石访谈:腾讯安全科恩实验室如何引领物联网安全研究
    腾讯安全科恩实验室曾两次成功破解特斯拉自动驾驶系统,并远程控制汽车,展示了其在汽车安全领域的强大实力。近日,该实验室负责人吴石接受了InfoQ的专访,详细介绍了团队未来的重点方向——物联网安全。 ... [详细]
  • AI炼金术:KNN分类器的构建与应用
    本文介绍了如何使用Python及其相关库(如NumPy、scikit-learn和matplotlib)构建KNN分类器模型。通过详细的数据准备、模型训练及新样本预测的过程,展示KNN算法的实际操作步骤。 ... [详细]
  • 计算机学报精选论文概览(2020-2022)
    本文汇总了2020年至2022年间《计算机学报》上发表的若干重要论文,旨在为即将投稿的研究者提供参考。 ... [详细]
  • 机器学习(ML)三之多层感知机
    深度学习主要关注多层模型,现在以多层感知机(multilayerperceptron,MLP)为例,介绍多层神经网络的概念。隐藏层多层感知机在单层神经网络的基础上引入了一到多个隐藏 ... [详细]
  • 【转】强大的矩阵奇异值分解(SVD)及其应用
    在工程实践中,经常要对大矩阵进行计算,除了使用分布式处理方法以外,就是通过理论方法,对矩阵降维。一下文章,我在 ... [详细]
  • 机器学习算法:SVM(支持向量机)
    SVM算法(SupportVectorMachine,支持向量机)的核心思想有2点:1、如果数据线性可分,那么基于最大间隔的方式来确定超平面,以确保全局最优, ... [详细]
  • 本文节选自《NLTK基础教程——用NLTK和Python库构建机器学习应用》一书的第1章第1.2节,作者Nitin Hardeniya。本文将带领读者快速了解Python的基础知识,为后续的机器学习应用打下坚实的基础。 ... [详细]
  • 非计算机专业的朋友如何拿下多个Offer
    大家好,我是归辰。秋招结束后,我已顺利入职,并应公子龙的邀请,分享一些秋招面试的心得体会,希望能帮助到学弟学妹们,让他们在未来的面试中更加顺利。 ... [详细]
  • 本文介绍如何使用OpenCV和线性支持向量机(SVM)模型来开发一个简单的人脸识别系统,特别关注在只有一个用户数据集时的处理方法。 ... [详细]
  • 如何撰写数据分析师(包括转行者)的面试简历?
    CDA数据分析师团队出品,作者:徐杨老师,编辑:Mika。本文将帮助您了解如何撰写一份高质量的数据分析师简历,特别是对于转行者。 ... [详细]
  • 从0到1搭建大数据平台
    从0到1搭建大数据平台 ... [详细]
  • CISSP 第8章 软件开发安全概述与实践
    本文探讨了软件开发中的安全问题,包括但不限于满足功能需求与安全性之间的平衡、SDLC(软件开发生命周期)中安全的重要性、OWASP的最佳实践、不同的开发模型、能力成熟度模型、变更控制流程、软件托管服务以及不同代际的编程语言等。此外,还涉及了Web环境下的特定威胁、多层次的攻击防御、数据仓库与数据挖掘技术及其应用模型、恶意软件的识别与防范措施等内容。 ... [详细]
author-avatar
帝姬
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有