热门标签 | HotTags
当前位置:  开发笔记 > 开发工具 > 正文

逻辑斯蒂回归_逻辑回归2逻辑回归由来

1高斯分布首先,LR的假设只有一个,就是两个类别的特征服从均值不等,方差相等的高斯分布,也就是为什么会假设它们服从高斯分布&
0a2a4e2f09bec50aaa25cebcba0777ce.png

1 高斯分布

首先,LR的假设只有一个,就是两个类别的特征服从均值不等,方差相等的高斯分布,也就是

为什么会假设它们服从高斯分布?一方面是因为高斯分布是比较容易处理的分布,另一方面,从信息论的角度上看,当均值和方差已知时(尽管你并不知道确切的均值和方差,但是根据概率论,当样本量足够大时,样本均值和方差以概率1趋向于均值和方差),高斯分布是熵最大的分布,为什么要熵最大?因为最大熵的分布可以平摊你的风险,这就好比不要把鸡蛋放到同一个篮子里,想想二分查找中,为什么每次都是选取中间点作为查找点?就是为了平摊风险。为什么假设方差相等?为了后面处理起来方便....不相等的话没法消去。。。

接下来就是贝叶斯决策的东西了,首先,我们定义风险

其中,

是把样本预测为0时的风险,
是把样本预测为1时的风险,
是样本实际标签为
时,却把它预测为
是所带来的风险。

在LR里,我们认为预测正确并不会带来风险,因此

都为0,此外,我们认为当标签为0而预测为1 和 当标签为1而预测为0,这两者所带来的风险是相等的,因此
相等,方便起见,我们记为
。这里你可能认为我说的是废话,但在一些领域里,比如医学、风控等,这些λ在大多数情况下是不相等的,有时候我们会选择“宁可杀错一百也不能放过一个”

所以,上面定义的风险就可以简化为

现在问题来了,我拿到一个样本,我应该把它预测为0还是预测为1好?按照风险最小化的原则,我们应该选择风险最小的,也就是,当

时,预测为0的风险要小于预测为1的风险,即

时,应该把样本预测为0,从而也就是书上提到的:比较两个条件概率,并把样本分配到概率最大的那个类上。

我们两边除一下,就会得到

我们对不等式左边的部分取一下对数,(为什么取对数?因为之前我们提过,两个类别的特征服从均值不等,方差相等的高斯分布,

取对数方便处理高斯分布里的指数),再利用贝叶斯公式进行展开,归一化常数扔掉,我们将得到

为了方便起见,我们假设x是一维的,当然也很容易推广到多维的情况,我们套入高斯分布的公式,此外,由于

都是常数,第二项我们简记为常数
继续展开,将得到

打开括号,化简,就会得到

整理整理,就会得到

也就是

两面取指数,并且利用上

这个概率公理,移一下,你就会看到熟悉的logistic公式

2 对数几率

现在考察逻辑斯蒂回归模型的特点,一个事件的几率是指该事件发生的概率与该事件不发生的概率的比值,如果事件发生的概率是

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

对于逻辑斯蒂回归而言,得

这就是说,在逻辑斯蒂回归模型中,输出

的对数几率是输入
的线性函数,或者说,输出
的对数几率是由输入
的线性函数表示的模型,即逻辑斯蒂回归模型。

换一个角度看,考虑对输入

进行分类的线性函数
,其值域为实数域,通过逻辑斯蒂回归模型可以将线性函数
转化为概率:

这时,线性函数的值越接近正无穷,概率值就越接近1;线性函数的值越接近负无穷,概率值就越接近0。

3 最大熵原理

我们现在尝试把最大熵模型推导成logistic回归模型:

最大熵模型定义了在给定输入变量

时,输出变量
的条件分布:

如果我们我们限定

为二元变量,即
,那么就可以把最大熵模型转换为logistic回归模型,我们还需要定义特征函数为:

即仅在

时抽取
的特征,在
时不抽任何特征(直接返回全为0的特征向量。)

将这个特征函数带回最大熵模型,我们得到

时:

时,得

我们发现,当类别标签只有两个时,最大熵模型就是logistic回归模型,表面上看,logistic回归模型里面的特征函数的确只考虑

不考虑
,然而通过上面的推导,我们发现其实
抽取的特征仅仅在
时被用到。



推荐阅读
  • 目录实现效果:实现环境实现方法一:基本思路主要代码JavaScript代码总结方法二主要代码总结方法三基本思路主要代码JavaScriptHTML总结实 ... [详细]
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • 关于我们EMQ是一家全球领先的开源物联网基础设施软件供应商,服务新产业周期的IoT&5G、边缘计算与云计算市场,交付全球领先的开源物联网消息服务器和流处理数据 ... [详细]
  • 推荐系统遇上深度学习(十七)详解推荐系统中的常用评测指标
    原创:石晓文小小挖掘机2018-06-18笔者是一个痴迷于挖掘数据中的价值的学习人,希望在平日的工作学习中,挖掘数据的价值, ... [详细]
  • 解决Cydia数据库错误:could not open file /var/lib/dpkg/status 的方法
    本文介绍了解决iOS系统中Cydia数据库错误的方法。通过使用苹果电脑上的Impactor工具和NewTerm软件,以及ifunbox工具和终端命令,可以解决该问题。具体步骤包括下载所需工具、连接手机到电脑、安装NewTerm、下载ifunbox并注册Dropbox账号、下载并解压lib.zip文件、将lib文件夹拖入Books文件夹中,并将lib文件夹拷贝到/var/目录下。以上方法适用于已经越狱且出现Cydia数据库错误的iPhone手机。 ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • Google Play推出全新的应用内评价API,帮助开发者获取更多优质用户反馈。用户每天在Google Play上发表数百万条评论,这有助于开发者了解用户喜好和改进需求。开发者可以选择在适当的时间请求用户撰写评论,以获得全面而有用的反馈。全新应用内评价功能让用户无需返回应用详情页面即可发表评论,提升用户体验。 ... [详细]
  • 本文介绍了在git中如何对指定的commit id打标签,并解决了忘记打标签的问题。通过查找历史提交的commit id,可以在任意时间点打上标签。同时,还介绍了git中的一些常用命令和操作。 ... [详细]
  • 【MicroServices】【Arduino】装修甲醛检测,ArduinoDart甲醛、PM2.5、温湿度、光照传感器等,数据记录于SD卡,Python数据显示,UI5前台,微服务后台……
    这篇文章介绍了一个基于Arduino的装修甲醛检测项目,使用了ArduinoDart甲醛、PM2.5、温湿度、光照传感器等硬件,并将数据记录于SD卡,使用Python进行数据显示,使用UI5进行前台设计,使用微服务进行后台开发。该项目还在不断更新中,有兴趣的可以关注作者的博客和GitHub。 ... [详细]
  • 自动轮播,反转播放的ViewPagerAdapter的使用方法和效果展示
    本文介绍了如何使用自动轮播、反转播放的ViewPagerAdapter,并展示了其效果。该ViewPagerAdapter支持无限循环、触摸暂停、切换缩放等功能。同时提供了使用GIF.gif的示例和github地址。通过LoopFragmentPagerAdapter类的getActualCount、getActualItem和getActualPagerTitle方法可以实现自定义的循环效果和标题展示。 ... [详细]
  • 本文介绍了Linux系统中正则表达式的基础知识,包括正则表达式的简介、字符分类、普通字符和元字符的区别,以及在学习过程中需要注意的事项。同时提醒读者要注意正则表达式与通配符的区别,并给出了使用正则表达式时的一些建议。本文适合初学者了解Linux系统中的正则表达式,并提供了学习的参考资料。 ... [详细]
  • CF:3D City Model(小思维)问题解析和代码实现
    本文通过解析CF:3D City Model问题,介绍了问题的背景和要求,并给出了相应的代码实现。该问题涉及到在一个矩形的网格上建造城市的情景,每个网格单元可以作为建筑的基础,建筑由多个立方体叠加而成。文章详细讲解了问题的解决思路,并给出了相应的代码实现供读者参考。 ... [详细]
  • 本文介绍了在Python中检查字符串是否为字母、数字或空白字符的几种方法,包括使用str.isalnum()、str.isalpha()、str.isdigit()和str.isspace()等函数进行判断。 ... [详细]
  • Java验证码——kaptcha的使用配置及样式
    本文介绍了如何使用kaptcha库来实现Java验证码的配置和样式设置,包括pom.xml的依赖配置和web.xml中servlet的配置。 ... [详细]
author-avatar
狡兔死走狗喷Henry
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有