广义线性模型_广义线性模型(第六章补充)

上一篇文章(第六章)主要介绍了最大熵模型,并从中推导出逻辑斯谛回归,感觉意犹未尽。在复习了CS229 Lecture note之后,我决定重新整理思路:从广义线性模型的角度来看逻辑斯谛回归。最后,基于样本特征 X 分布的假设,生成和逻辑斯谛回归一样的模型。

一、背景

6a39eaae30a7239742619dc2bde799a8.png

上图参考了b站“机器学习白板推导系列”:https://www.bilibili.com/video/BV1aE411o7qd?p=39

实际上,逻辑斯谛回归是广义线性模型的一种,而广义线性模型与最大熵模型都是源于指数族分布。因此直接从最大熵模型推出逻辑斯谛回归,确实有些不太自然的地方(具体在“特征函数”的取值上,违背了原来特征函数的取值假设),但从广义线性模型出发就没有违和感了。

二、指数族分布

什么是指数族分布呢?它是一个分布家族,包括:高斯分布、伯努利分布、二项分布、泊松分布等常见分布。

关于“指数族分布”可以参考这篇文章:https://zhuanlan.zhihu.com/p/89155678,是根据“白板推导”整理而成的笔记。

(1)一般形式

指数族分布具有以下一般形式:(此处使用CS229的符号规则)

其中:

是分布对应的随机变量,
称为“自然参数”,一般为向量。
是 y的充分统计量,就是足以对表随机变量 y 主要特征的值,例如:样本均值、样本方差等。

一般表示两个向量的内积,
有相同的维度。如果
为标量,则
也为标量,
表示两个数的乘积。

称为 log 配分函数,它主要起到归一化的作用,使得密度函数积分结果为1。

(2)高斯分布

为了简化计算,假设高斯分布的方差为1:

它的指数族形式如下:

(3)伯努利分布

它的指数族形式如下:

三、广义线性模型

广义线性模型用来解决“给定

预测
”的问题,它
基于以下三个假设
  • ,经常假设

假设一: 认为 y 是服从指数族分布的。由于广义线性模型既可用于“回归”,也可用于“分类”,因此不同分布将生成不同模型。回归对应连续型分布,分类对应离散型分布。

假设二:

就是需要“学习”的模型,它等于
。为什么?
就是给定数据x的条件下,预测 y 的值,它的数学期望不就是预测模型本身吗?

假设三:“自然参数”是样本x的线性组合,因此它是一个“线性模型”。

见证奇迹的时刻,看如何通过三个假设,得到不同的线性模型:

(1)线性回归

线性回归对应高斯分布:

。此假设的合理性在于,如果 y = h(x) 为线性模型,实际值与预测值的误差是由随机扰动引起的,这部分误差是服从高斯分布的。

根据假设二,线性模型有如下形式:

线性回归模型的输出:

(2)Logistic Regression

逻辑斯谛回归对应伯努利分布:

,逻辑斯谛回归的输出,并不是分类结果,而是一个概率 p(y=1 | x)。当此概率大于0.5时 ,y=1,否则y=0。因此它等于伯努利分布的概率参数。

逻辑斯谛回归的分类结果:

(3)Softmax Regression

Softmax 与 多项逻辑斯谛回归是等价的,下面将证明这一点,它被用于解决多分类问题。由于涉及多分类,不能简单地假设

,此时
都是向量。下面将展示这个较为复杂的推导过程:

用分布参数

表示 y 属于第 i 分类的概率:

时,

时,

由此可见,上述 k 个参数

并非完全独立的,它们的和等于1。

(一个 k-1 维的向量):

, ... ,

其中

表示向量
的 第 i 个分量。

接下来是关键一步,由于

,可用“示性函数”表示,

由此得到 softmax 的概率质量函数

如果把

展开,分别合并到前 k-1 项里面,可得

以上就是 softmax 的指数族形式

最后,寻找“自然参数”

与 “分布参数”
的关系:

由于

, 那么
,即

把上式左右两边累加起来,得到:

, 即

将“即”字后面的两个式子整理一下,得到:

... 式(1)

但请注意:

只有 k-1 个分量,如果令
, 使得

... 式(2)

刚好满足

根据假设三:

,其中
,将其代入 式(1)、式(2)得到

时,
... 式(3)

时,
... 式(4)

上述式(3)、式(4)就是 Softmax Regression 模型,与多项逻辑斯谛回归模型一样。

中概率最大的那一项,决定了 y 的取值。

四、线性从何而来

如果选择一个公式代表“逻辑斯谛回归”,该选择哪个公式呢?我认为是:

或者
,其中

也就是“对数几率”等于 x 的线性函数。

从这个公式出发,可以推导出逻辑斯谛回归的全部公式。

如果把右侧的线性模型记作 s,上式可以表示为

,由此可见 p 是 s 的 sigmoid 函数。

sigmoid 的作用是将

映射至
,于是分类结果 s :正数(代表正类),负数(代表负类)被转换为一个处于0到1之间的概率值 p。

回顾感知机模型(线性模型),通过模型的符号标记分类结果,逻辑斯谛回归只是进一步把符号转换为概率值。如果把线性模型替换为其他非线性模型,只要用正数、负数表示不同分类,将其代入 sigmoid 函数,仍可得到不同的概率输出。

最后一个问题:为什么选择线性模型

呢?或者说为什么

仅仅是因为线性模型最简单吗?此处试图从另一个角度看待这个问题。根据贝叶斯定理,

其中

是由训练集样本决定的常数(设为
),
假设服从高斯分布,且在Y的不同取值情况下方差相同(或者简单设为1),但均值不同。于是有

上式等号右侧为 x 与 参数

的线性模型。

在更为一般的情况下,如果将

换成其他“指数族分布”,结果仍然是线性模型。

请参阅:https://tech.meituan.com/2015/05/08/intro-to-logistic-regression.html

延伸阅读部分。

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

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

相关文章

安卓开发怎么调用photopicker_谷歌出手整顿安卓应用程序乱象:无良权限的APP们再见了!...

相信你在使用安卓手机的时候一定有过这样的经历,在明确拒绝了软件调用电话、手机通讯录、短信等敏感内容的访问权后,APP表示无法继续运行然后强退。如果这款APP不具备可替代性,恐怕最终结果是,用户不得不选择妥协。关于应用程序度…

react router官方文档_阿里开源可插拔 React 跨端框架 UmiJS

点击上方“开发者技术前线”,选择“星标”18:30 在看 真爱作者:Tamic | 编辑: 可可阿里之前开源:阿里闲鱼开源 Flutter 应用框架 Fish Redux! 今天介绍的是前端React 框架- UmiJS。介绍umi官方宣称是一个…

java约瑟夫环迭代器_Josephus约瑟夫环问题的不同实现方法与总结

/************************************************************************//* Josephus问题——数组实现 *//************************************************************************/#include #include int Josephus(int t…

ios 下拉放大 上拉缩小_为啥鞠婧祎发量这么多?截图放大十倍她的“发缝”,网友:真密集...

​鞠婧祎,这位女明星真的是黑,红,黑,红。这不是秘密。鞠婧祎最近几天的确很受欢迎。甚至头发也受到质疑。一般而言,娱乐业的演艺人员由于多年来的工作时间安排不规则以及采取巴拉克拉法帽的行为,通常都有使…

python背景图片加载代码_2019.12.05-背景图片设置代码

css背景.box{width: 320px;height: 160px;border:5px solid #000;margin-bottom: 50px;background-color: gold;background-image: url(images/new.png);font-size: 40px;color: red;}.box2{width: 320px;height: 160px;border:5px solid #000;margin-bottom: 50px;background-…

苹果无线耳机使用方法_苹果官方:如果 AirPods Pro 出现这些问题,我们将免费更换!...

今年的 iPhone 12 系列并没有像往常一样附赠充电器、耳机,而受到同样待遇的还有 iPhone 11 系列,现在的 iPhone 11 系列不仅包装与 iPhone 12 系列一样变小了,而且同样也不再附赠充电器和耳机,但 iPhone 11 系列价格更低了。根据数…

opencv4.5.0安装包_UG NX12.0 软件介绍(附安装包)

【软件名称】 UG NX12.0【文件大小】 5.67GB 【语言支持】 简体中文【系统类型】 64位【兼容系统】 Win7 / Win8 / Win10【下载链接】 文末扩展链接获取软件简介:西门子公司推出了最新版的Siemens NX 12.0版本(UG12.0),该软件提供了当今市场上唯一可扩展…

java国际化bundle_Java国际化(i18n)ResourceBundle类

ResourceBundle类用于存储区域设置敏感的文本和对象。 通常使用属性文件来存储特定于语言环境的文本,然后使用ResourceBundle对象来表示它们。 以下是在基于Java的应用程序中使用特定于语言环境的属性文件的步骤。第1步:创建属性文件假设我们需要英文语言环境的属性…

win7备份工具_win7系统小白一键系统详细教程

很多朋友给小白留言说,使用了新版小白的一键备份后,不知道如何还原系统。体验过新版的朋友们最大的感受就是这个工具越来越小了。接下来,win7系统的一键还原将为您带来一个详细的教程。在系统一键备份方面,如何减少系统一键还原&a…

python selenium iframe怎么定位_python+selenium 切换iframe

转载自http://www.cnblogs.com/yoyoketang/p/6128619.html前言有很多小伙伴在拿163作为登录案例的时候,发现不管怎么定位都无法定位到,到底是什么鬼呢,本篇详细介绍iframe相关的切换以http://mail.163.com/登录页面10为案例,详细介…

iis php网站500错误原因_如何解决iis php 500错误问题

iis php500错误的解决办法:1、打开PHP.ini,设置显示错误;2、把“require(./xxx.php)”改成“require(xxx.php)”;3、给网站的上级目录赋予iis用户读权限即可。推荐:《PHP视频教程》本方法适用于任何品牌的电脑。IIS 配…

win10右键一直转圈_Win10总是自动更新?教你如何关掉自动更新

小白系统免费的人工客服点击联系win10怎么关闭自动更新呢?平时不定期的对系统进行更新虽然可以给让我电脑的运行变得更加流畅,但是,不少用户却遇到了win10更新之后不兼容等一系列的问题,因此,就都将要将自动更新功能关…

php七牛分片上传_七牛视频切片方案 - 张小超fly的个人空间 - OSCHINA - 中文开源技术交流社区...

使用七牛 sdk 上传视频并做分片操作。step1 生成 tokenconst qiniu require("qiniu"); var accessKey proc.env.QINIU_ACCESS_KEY; var secretKey proc.env.QINIU_SECRET_KEY; var mac new qiniu.auth.digest.Mac(accessKey, secretKey); var bucket proc.env.Q…

springboot 中文文档_还在用 Swagger生成接口文档?我推荐你试试它

JApiDocs是一个无需额外注解、开箱即用的SpringBoot接口文档生成工具。编写和维护API文档这个事情,对于后端程序员来说,是一件恼人但又不得不做的事情,我们都不喜欢写文档,但除非项目前后端代码都是自己写的,否则API文…

wringPi 初始化GPIO 为上拉_玩转GPIO之PWM点亮呼吸灯(非树莓派)

在这篇文章,我介绍了基于逸宸电子开发的总线适配器来点亮LED灯的基本方法!myastrotong:玩转GPIO之点灯(非树莓派)​zhuanlan.zhihu.com这款总线适配器的介绍见这里:工业级高速USB转SPI I2C PWM GPIO UART C…

php箱子,webshell箱子php版本.rar

压缩包 : webshell箱子php版本.rar 列表api.phpconfig.phpindex.php安装说明.txtadmin/config.phpadmin/exit.phpadmin/help.phpadmin/index.phpadmin/login.phpadmin/root.phpadmin/shell.phpdata/1141056911#!.datimages/0.gifimages/1.gifimages/10.gifimages/2.gifimages/3…

dnf如何快速拾取物品_DNF手游泰拉该如何获取,游戏蜂窝辅助托管快速获取泰拉...

在DNF手游中,一共存在三种的核心货币——点券,泰拉还有金币。点券是用来买商城道具的主要流动货币,金币则是用来打造装备的,而泰拉是有两种货币的共同点,所以它既能在商城购买各种道具,又能兑换金币。所以说…

php抓取页面生成html,PHP smiple html dom抓取页面内容

之前做页面抓取,数据采集等功能的时候,第一个想到的就是用正则表达式去匹配页面内容。但是对于像我这种,正则只懂皮毛的人来说,写正则是真的很恶心的一件事。去网上找,也不一定能改成自己需要的正则。今天给大家推荐一…

java商城_java网上商城系统怎么样?优势又有哪些?

导读:大家都知道Java是一款非常实用的开发语言,而通过Java开发的商城吸引也因为其强大安全性能与使用性能等优势受到了很多企业商家的青睐,那么一款功能丰富的Java商城系统也自然成为...大家都知道Java是一款非常实用的开发语言,而…

php socket keepalive,linux keepalive探测对应用层socket api的影响

问题大部分人都知道tcp的keepalive. 假设读者知道keepalive会如何触发. 这篇文章想讨论keepalive触发后, 对socket使用者的影响.keepalive设置修改/etc/sysctl.confubuntu# vim /etc/sysctl.confubuntu# sysctl -pfs.file-max 131072net.ipv4.tcp_keepalive_time 10net.ipv4.…