逻辑斯蒂回归_逻辑斯蒂回归详细解析 | 统计学习方法学习笔记 | 数据分析 | 机器学习...

02ee5f9fffaa3b2c1cf46f832f8d58c1.png

本文包括:

  1. 重要概念
  2. 逻辑斯蒂回归和线性回归
  3. 二项逻辑斯谛回归模型
  4. 逻辑斯蒂回顾与几率
  5. 模型参数估计
  6. 多项逻辑斯谛回归
  7. 其它有关数据分析,机器学习的文章及社群

1.重要概念:

在正式介绍逻辑斯蒂回归模型之前,需要先对一些基本概念有所了解,如果明白这些概念可以直接跳过。

分布函数和密度函数:对于一个连续型随机变量,密度函数是指该变量在其可取值范围内为一个特定值的概率,分布函数即在一个特定值和小于该特定值的范围内出现的概率,可以理解为密度函数的面积比率。

用逻辑斯蒂分布举例来说(下图),在密度函数中,可以看到在x=0时出现峰值,即x取0的概率最大,从0开始往无穷小和无穷大都在递减。再看分布函数,可以看到当x=0时,密度函数取值为0.5,对照密度函数,在小于等于0的部分,面积是总面积的一半。

aa9d1b30e63f0ccaa2b8785021ba35a6.png

似然函数:在统计学中,概率描述了已知参数时的随机变量的输出结果,似然则用来描述已知随机变量输出结果时,未知参数的可能取值。那么似然函数就是用来求得未知参数的估计值所使用的函数。

极大似然估计:通过最大化似然函数求得未知参数的估计值。这里讲一下为什么是极大而非其它的方法求参数的估计值。

在机器学习中,我们有大量的记录构成训练集,需要根据训练集进行学习获得模型,根据具体的问题,我们可以将一个特定的模型套用在这个具体问题中。现在,我们有了一个含有未知参数的模型,以及大量训练集记录。

根据模型,我们可以假设Y=1的概率为P,Y=0的概率为1-P(这里的P包含了模型中的未知参数)。假设训练集中有10个记录,3个为1,7个为0,那么得到这个最终结果的概率为P^3*(1-P)^7。

现在重点来了,既然现实情况中已经出现了3个1和7个0的情况,那么我们的模型应该让这种情况出现的概率最大,因为毕竟这个结果已经出现了。

也就是说,我们应当最大化P^3*(1-P)^7,以此推得P中所包含的未知参数的估计值,并最终得到我们想要的模型。


2.逻辑斯蒂回归和线性回归:

在线性回归(感知机)中,我们知道一个分离超平面w·x将特征空间分成两个部分,实例在不同的子空间中则被分为相对应的类。但是线性回归的一个问题在于,我们不知道一个新输入的实例,它属于一个类的概率是多少。

换句话说,新输入实例在特征空间中的位置可能与分离超平面距离非常近,也有可能非常远,如果距离较远,那么它更有可能被分成它所在一侧对应的类,但是如果与超平面的距离非常近,说明它被分成另一类的可能性也很大,比如被分成A的可能性为51%,而分成B类的可能性为49%,此时线性回归会将其分为A类,而忽略了49%分成B类的可能性,也就是说,线性回归仅给出结论,未给出概率。

于是,为了得到这一概率,我们引入了Sigmoid函数:

Sigmoid函数能够将线性回归产生的值(-∞,+∞)转换到(0,1)区间内,而概率的取值也在(0,1)内,这样,就可以显示一个实例被分为一个类的概率是多少了。


3.二项逻辑斯谛回归模型:

首先来看逻辑斯蒂函数的一般形式,其分布具有以下分布函数和密度函数:

式中,μ为位置参数,γ>0为形状参数。

aa9d1b30e63f0ccaa2b8785021ba35a6.png

分布函数以(μ,1/2)为中心对称,满足:

形状参数γ的值越小,分布函数曲线在中心附近增长得越快。

现在,我们让μ取0,γ取1,即得到我们在逻辑斯蒂回归中使用的函数:

采用上式,我们将线性回归产生的值代入到sigmoid函数之中,可得:

二项逻辑斯谛回归模型是一种分类模型,由条件概率分布P(Y|X)表示。这里,随机变量x取值为实数,随机变量Y取值为1或0。

这样,我们就将范围为实数的线性回归产生的值转变为逻辑斯蒂回归中仅在(0,1)范围之内。

逻辑斯谛回归仅对二分类的问题有效,我们可以比较P(Y=1|x)和P(Y=0|x)两个条件概率值的大小,将实例x分到概率较大的那一类,同时也能得知分成两种类别的可能性是多少。


4.逻辑斯蒂回归与几率:

一个事件的几率是指该事件发生的概率与该事件不发生的概率的比值。如果事件发生的概率是p,那么该事件的几率是

,该事件的对数几率或logit函数是:

我们将逻辑斯蒂回归的P代入,可得:

通过上式我们知道,通过几率的概念对线性函数进行转换,可以得到逻辑斯蒂回归公式。

一个直观的理解是,对于上式,分子是y=1的概率,而分母是y≠1的概率,显然wx+b越大,y=1的概率越大,也就是实例点x在y=1的一侧距离分离超平面越远,则y=1的概率越大。


5.模型参数估计:

设:

似然函数为:

为了计算方便,我们对似然函数取对数,得到对数似然函数:

以上公式的第二个等式使用了上一节谈到的几率。注意,这里的式子中w和xi都是进行扩展后的w和xi,即权值向量中最后一项为b,xi最后一项为1。

现在根据极大似然估计法,对L(w)求导:

接下来通常采用的方法是梯度下降法及拟牛顿法来求得w的估计值,待后续更新。


6.多项逻辑斯谛回归:

逻辑斯蒂回归需要将线性回归通过sigmoid函数进行转换,但这种方法仅对二分类的问题有效,如果碰到多分类的问题逻辑斯蒂回归就失效了。

于是,对于多分类的问题,我们使用softmax函数代替sigmoid函数,可以将softmax函数看做sigmoid函数的推广。

Softmax函数:

Softmax函数计算新输入实例被分为每一个类的概率,并选择概率最大的对应的类作为新输入实例的类。

多项逻辑斯蒂回归:


github:

如果觉得对您有帮助,还烦请点击下面的链接,帮忙github点个star~谢谢~

Zhouxiaonnan/machine-learning-notesandcode

所有笔记目录:包括《统计学习方法》中各个模型的理论和python复现部分,以及数据分析Mysql查询优化。

舟晓南:所有笔记目录 | 数据分析 | 机器学习 | 深度学习等

如何转行数据分析师:

舟晓南:如何转行和学习数据分析 | 工科生三个月成功转行数据分析心得浅谈

舟晓南:求职数据分析师岗位,简历应该如何写?|工科生三个月成功转行数据分析心得浅谈

欢迎关注专栏:

学习笔记:数据分析,机器学习,深度学习​zhuanlan.zhihu.com
2eb0c434662f09a9adbda491b9675ec9.png

数据分析,机器学习学习社群正式启动~

需要学习资料,想要加入社群均可私信~

在这里会分享各种数据分析相关资源,技能学习技巧和经验等等~

详情私信,一起进步吧!

写于成都 2020-9-10

第一次修改 2020-9-26

第二次修改 2020-11-5

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

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

相关文章

交通流预测 | Matlab基于KNN-BiLSTM的交通流预测(对比SVR、LSTM、GRU、KNN-LSTM)

目录 预测效果基本介绍程序设计参考资料 预测效果 基本介绍 交通流预测 | Matlab基于KNN-BiLSTM的交通流预测(对比SVR、LSTM、GRU、KNN-LSTM) 程序设计 完整程序和数据获取方式:私信博主回复Matlab基于KNN-BiLSTM的交通流预测(对…

JMetro“ Metro”选项卡,Java的TreeView和ContextMenu(JavaFX)

我刚刚发布了JMetro的新更新,将版本升级到3.3.0。 在此更新中,您将找到: 新的TreeView Fluent设计系统(Metro)启发风格; 新的Tabs和TabPane FDS启发风格; 新的上下文菜单采用深色FDS启发的样…

数据挖掘原理与算法_技术分享|大数据挖掘算法之FPGrowth算法

程一舰数据技术处我们常说我们生活在信息时代,实际上,我们更多的还是生活在数据时代。因为从过去到现在累积了大量的数据,对数据的挖掘和分析也仅是从最近几年大数据和人工智能技术的发展而兴起。我们对现有数据价值的利用还远低于数据本身拥…

neo4j数据浏览器_Neo4j:在Neo4j浏览器的帮助下探索新数据集

neo4j数据浏览器在查看新的Neo4j数据库时,我发现遇到的一件困难就是确定其中包含的数据的结构。 我习惯于关系数据库,在该数据库中您可以轻松获取表列表和外键,以便您将它们相互连接。 传统上,使用Neo4j时很难做到这一点&#x…

mfc中怎么集成文件_怎么把几个pdf合并并打印在一份文件中?

a为什么我们要把pdf文件合并呢?当然我们要知道什么是pdf文件才能进行更多的操作,Pdf是我们许多人都会用到的一种存储文件的格式,它的内容基本是以图像的形式表现,所以我们在播放和打印的时候可以不用担心出现格式错乱的问题。PDF格…

php中日期选择代码,实现JS日期时间选择器

这次给大家带来实现JS日期时间选择器,实现JS日期时间选择器的注意事项有哪些,下面就是实战案例,一起来看一下。flatpickr 是一个轻量级、注重精益、由 UX 驱动和可扩展的 JavaScript 日期时间选择器。下载 演示 GitHubflatpickr 不依赖于任何…

php steam 第三方登录,Steam第三方登录

Steam第三方登录Laravel PHP7.3前端登录界面if(isset($steamprofile))window.οnlοadfunction(){var steamprofile {!!$steamprofile!!};var steamid {{$steamid}};if(steamid){$.post(/ajax/SocilaAuthLogin,{data:{userdata:steamprofile,type:steamLogin},},function(dat…

setitimer 创建两个定时器_UE4 Timer(定时器)相关源码分析

前言文章属于旧有文章搬运, 之前在csdn上面2019.11.6修改Timer是定时器, 用途:延时执行事件周期性执行事件参考官方文档Using TimersTimer可以...Timer能...Timer...... 编不下去了, 自己百度谷歌吧(手动狗头)TimerManagerTimer的管理类是FTimerManager, 是一个全局的Timer管理…

is array php,PHP 源码 — is_array 函数源码分析

php 中的 is_arrayphp 中的 is_array,它的签名是 is_array ( mixed $var ) : bool实现的源码在\ext\standard\type.c中可以找到PHP_FUNCTION(is_array)所处的位置,大概位于 273 行。在 PHP 中,这个系列的函数,是由很多个&#xff…

apache mahout_使用Apache Mahout创建在线推荐系统

apache mahout最近, 我们一直在为Yap.TV实施推荐系统:您可以在安装应用程序并转到“ Just for you”标签后才能看到它的运行情况。 我们以Apache Mahout为基础进行建议。 Mahout是一个“可扩展的机器学习库”,包含使用协作过滤算法的基于用户…

Java应用程序的简单令牌认证

“我喜欢编写身份验证和授权代码。” 〜从来没有Web开发人员。 厌倦了一次又一次地建立相同的登录屏幕? 尝试使用Okta API进行托管身份验证,授权和多因素身份验证。 JSON Web令牌已Swift成为保护Web应用程序安全的标准,并取代了Cookie和会话…

matlab中rb代表什么意思,你知道“川藏线上”女游客举着“求RB”的牌子是啥意思吗?暗语啊!...

现在穷游好像一种旅行圈的时髦,很多人都想着穷游能够锻炼人的意志,能够促进人与人的交流与合作,能够在路上遇到不一样的精彩,能够发现人性与真善美。现在穷游的人不在少数,尤其是在川藏线上,想要穷游入藏的…

华为主题锁屏壁纸换不掉_华为手机总多出莫名的照片?那是因为这3个设置没关闭,赶紧自查...

随着华为在科技、5G以及数码领域的表现越来越好,使用华为手机的人也越来越多。不知道你在使用华为手机的过程中,有没有这样的感觉,华为手机总是多出莫名其妙的照片,即使删除了下次还会出现。如果有这样的情况,可能是手…

php nginx 域名重定向,Nginx默认虚拟主机、用户认证、域名重定向

Nginx默认虚拟主机定义默认虚拟主机配置文件,在http下面加入include vhost/*.conf在/usr/local/nginx/conf/下创建目录#mkdir vhost/ //创建vhost目录#cd vhost/ //进入目录#vim aaa.com.conf //编辑文件server{listen 80 default_server; // 有这个标记的就是默认虚拟主机serv…

Java:使用SingletonStream获得性能

仅具有一个元素的Java流有时会在应用程序中造成不必要的开销。 了解如何使用SingletonStream对象并为其中某些此类流获得十倍的性能,并了解如何同时简化代码。 背景 Java 8中的Stream库是有史以来Java语言最强大的功能之一。 一旦您开始了解它的多功能性和所产生的…

php调用pdf2html,php html2pdf

*安装composer运行html2pdf时,readme里面建议按照composer-setup.exe安装过程中出现openssl的问题,在php.ini中开启相应extension即可,路径写绝对路径,否则按默认路径找不到在html2pdf的文件路径下,cmd运行composer in…

JDK 11:新的默认收集方法toArray(IntFunction)

“ JDK 11 Early-Access发行说明 ”表明JDK 11的Early Access Build 20在Collection接口上包括一个新的默认方法 ,该方法 “允许将集合的元素转移到所需运行时类型的新创建的数组中”。 这个新的默认方法 [ Collection.toArray(IntFunction) …

获取清空textarea的文字内容_运用|你会做 词云图(文字云) 吗?

词云图,也叫文字云,是对文本中出现频率较高的“关键词”予以视觉化的展现,词云图过滤掉大量的低频低质的文本信息,使得浏览者只要一眼扫过文本就可领略文本的主旨。今天,兰色就分享一下词云图的做法。制作步骤:1、打开词云图网站打开网页https://wordart…

如何在Spring Boot App中集成H2数据库

你好朋友, 在本教程中,我们将尝试探索如何在Spring Boot应用程序中与H2数据库集成。 在进行检查之前,让我们了解有关H2数据库的一些基础知识,如下所述,然后我们将讨论H2数据库与Spring Boot的集成。 什么是H2数据库…

python在路径里添加变量_想学Python?那就先从头开始吧!

作为人工智能和大数据时代最具竞争力的 Python 语言,越来越多的出现在各大编程热搜排行榜上。首先你要了解什么是python了解Python语言Python是一种解释型, 面向对象, 动态数据类型的高级程序设计语言.Python由Guido van Rossum(荷兰) 于1989…