机器学习笔记(VII)线性模型(III)对数几率回归和极大似然估计
背景知识
常见回归模型
线性回归(linear regression):
y=\mathbf{w}^T\mathbf{x}+b\tag{1}
但是有时候预测值会逼近 y \mathbf{y}的衍生值比如输出标记在指数尺度上变化。
对数线性回归(log-linear regression):
\ln{y}=\mathbf{w}^T\mathbf{x}+b\tag{2}
广义线性模型(generalized linear model):
y=g^{-1}(\mathbf{w}^T\mathbf{x}+b)\\ \Updownarrow\\ g(y)=\mathbf{w}^T\mathbf{x}+b\tag{3}
其中 g(⋅) g(\cdot)称为联系函数, g−1(⋅) g^{-1}(\cdot)是 g(⋅) g(\cdot)的反函数
对数几率回归
阶跃函数
y=\left\{ \begin{aligned} 0, \quad&z\lt0;\\ 0.5, \quad&z=0;\\ 1, \quad&z\gt0;\\ \end{aligned} \right.
对于二分类任务,其输出标记 y∈{0,1} y\in\left\{0,1\right\}
线性回归模型产生的预测值 z=wTx+b z=\mathbf{w}^T\mathbf{x}+b,因此最理想的情况就是“单位阶跃函数”但是按照广义线性模型的公式(3),”单位阶跃函数”没有反函数
反函数存在条件
函数存在反函数的充要条件是,函数的定义域与值域是一一映射;严格增(减)的函数一定有严格增(减)的反函数【反函数存在定理】.
对数几率函数(logistic function)
y=\dfrac{1}{1+e^{-z}}\tag{4}
这是一种“Sigmoid函数”,它将 z z的值转化为一个接近0或者1的yy的值,
将式(4)代入式(3)得到
y=\dfrac{1}{1+e^{-(\mathbf{w}^T\mathbf{x}+b)}}
类似(2)式,此时可以化为:
\ln{\dfrac{y}{1-y}}=\mathbf{w}^T\mathbf{x}+b\tag{5}
此时如果将 y y视为样本x\mathbf{x}作为正例的可能性,则 1−y 1-y视为其实反例的可能性,两者的比值
\dfrac{y}{1-y}称为几率,反映了 x \mathbf{x}作为正例的相对可能性,对几率取对数则得到“对数几率”(log odds,AKA logit)
\ln{\dfrac{y}{1-y}}
极大似然估计
如何确定
y=\dfrac{1}{1+e^{-(\mathbf{w}^T\mathbf{x}+b)}} 中的 w \mathbf{w}和 b b
在(5)式中,将yy视为类后验概率估计 p(y=1∣x) p(y=1\mid\mathbf{x})则可以重新改写为
p(y=1\mid\mathbf{x})=\dfrac{e^{\mathbf{w}^T\mathbf{x}+b}}{1+e^{\mathbf{w}^T\mathbf{x}+b}}\\ p(y=0\mid\mathbf{x})=\dfrac{1}{1+e^{\mathbf{w}^T\mathbf{x}+b}}\\
于是可以通过”极大似然估计”(maximum likelihood method)来估计 w \mathbf{w}和 b b
给定数据集
D=\left\{(\mathbf{x}_1,y_1),(\mathbf{x}_2,y_2),\dots,(\mathbf{x}_m,y_m)\right\}=\left\{(\mathbf{x}_i,y_i)\right\}_{i=1}^{m}
最大化“对数似然”
\ell(\mathbf{w},b)=\sum\limits_{i=1}^{m}\ln{p(y_i\mid\mathbf{w}_i;\mathbf{w},b)}\tag{likehood}
likehood最大就是要每个样本属于其真实标记的概率越大越好。似然项:
p(y_i\mid\mathbf{w}_i;\mathbf{w},b)
简单处理
1:令 β=(w;b),x^=(x;1) \mathbf{\beta}=(\mathbf{w};b),\hat{\mathbf{x}}=(\mathbf{x};1)此时 wTx+b⇒βTx^ \mathbf{w}^T\mathbf{x}+b\Rightarrow\mathbf{\beta}^T\hat{\mathbf{x}}
2:令
p_1(\hat{\mathbf{x}}_i;\mathbf{\beta})=p(y=1\mid\hat{\mathbf{x}};\mathbf{\beta})\\p_0(\hat{\mathbf{x}};\mathbf{\beta})=p(y=0\mid\hat{\mathbf{w}};\mathbf{\beta})=1-p_1(\hat{\mathbf{x}};\mathbf{\beta})
3:将likehood中的似然项改写为
\begin{aligned} p(y_i\mid\mathbf{x}_i;\mathbf{w},b)&=y_ip_1(\hat{\mathbf{x}}_i;\mathbf{\beta})+(1-y_i)p_0(\hat{\mathbf{x}}_i;\beta)\\ \end{aligned}\tag{result}\\
因为 yi∈{0,1} y_i\in\left\{0,1\right\}
所以 yi=0 y_i=0则
\begin{aligned} p(y_i=0\mid\mathbf{x}_i;\mathbf{w},b)&=0\times p_1(\hat{\mathbf{x}}_i;\mathbf{\beta})+(1-0)p_0(\hat{\mathbf{x}}_i;\beta)\\ &=p_0(\hat{\mathbf{x}}_i;\beta) \end{aligned}
如果 yi=1 y_i=1则
\begin{aligned} p(y_i=1\mid\mathbf{x}_i;\mathbf{w},b)&=1\times p_1(\hat{\mathbf{x}}_i;\mathbf{\beta})+(1-1)p_0(\hat{\mathbf{x}}_i;\beta)\\ &=p_1(\hat{\mathbf{x}}_i;\beta) \end{aligned}
则两种情况相加
此时
\ln{p_0(\hat{\mathbf{x}};\beta)}=-\ln(1+e^{\beta^T\hat{\mathbf{x}}})\tag{s0}
同样
\ln{p_1(\hat{\mathbf{x}};\beta)}=\beta^T\hat{\mathbf{x}}-\ln(1+e^{\beta^T\hat{\mathbf{x}}})\tag{s1}
综合两种情况:
p(y_i\mid\mathbf{x}_i;\mathbf{\beta})=y_1\beta^T\hat{\mathbf{x}}-\ln(1+e^{\beta^T\hat{\mathbf{x}}})
如果 yi=0 y_i=0则 p(yi∣xi;β)=s0 p(y_i\mid\mathbf{x}_i;\mathbf{\beta})=\text{s0}
如果 yi=1 y_i=1则 p(yi∣xi;β)=s1 p(y_i\mid\mathbf{x}_i;\mathbf{\beta})=\text{s1}
则最终结果为:
\ell(\beta)=\sum\limits_{i=1}^{m}\left(y_1\beta^T\hat{\mathbf{x}}-\ln(1+e^{\beta^T\hat{\mathbf{x}}})\right)
此时可以使用不同的方法计算最优解 β∗ \beta^*
\beta^*=\mathop{\arg\min}\limits_{\beta}\ell{(\beta)}
机器学习笔记(VII)线性模型(III)对数几率回归和极大似然估计相关推荐
- 逻辑回归_极大似然估计
二.逻辑回归原理 逻辑回归又叫对数几率回归,是一种广义的线性回归分析模型.虽然名字里有回归,但其实是分类模型,常用于二分类. 1.什么是逻辑回归 由于逻辑回归的原理是用逻辑函数把线性回归的结果 ...
- 机器学习-对数几率回归
目录 前言 一.对数几率回归的机器学习三要素 二.对数几率回归 2.1 算法原理 2.1.1 广义线性模型 2.1.2 对数几率回归 2.2 利用极大似然估计推导损失函数 2.2.1 确定概率密度(质 ...
- 机器学习入门学习笔记:(2.3)对数几率回归推导
理论推导 在以前的博客(机器学习入门学习笔记:(2.1)线性回归理论推导 )中推导了单元线性回归和多元线性回归的模型. 将线性回归模型简写为:y=ωTx+by = \omega^Tx+b: ...
- 机器学习(二)线性模型——线性回归、对数几率回归、线性判别分析
一.线性回归 线性回归(linear regression:试图学得一个线性模型以尽可能准确地预测实值输出标记. 1.最简单的形式:输入属性的数且只有一个, 最小二乘法:基于均方差误差最小化来进行模型 ...
- 机器学习教程 之 线性模型:线性回归、对数几率回归、线性判别分析
常用的三个线性模型的原理及python实现--线性回归(Linear Regression).对数几率回归(Logostic Regression).线性判别分析(Linear Discriminan ...
- 机器学习 | 对数几率回归
机器学习 | 对数几率回归 名词解释 对数几率回归 名词解释 回归:预测连续的值,例如预测气温 分类:预测离散的值,例如垃圾分类 线性回归:通过一个线性组合预测连续的值,是回归模型 对数几率回归:用S ...
- 机器学习之逻辑回归(对数几率回归)
机器学习算法之逻辑回归(对数几率回归)- 做分类的 一.概述: 逻辑(logistic)回归, 又称logistic回归分析,是一种广义的线性回归分析模型,常用于数据挖掘,疾病自动诊断,经济预测等领域 ...
- 小白学机器学习西瓜书-第三章对数几率回归
小白学机器学习西瓜书-第三章对数几率回归 3.3 对数几率回归 3.3.1 对数几率函数 3.3.1 估计参数 上一部分我们介绍了线性回归,包括简单的二元回归和多元回归,这两个主要解决的是拟合预测的问 ...
- 对数几率回归-机器学习
数据集百度网盘,就是西瓜书3.0a的数据. 首先,加载数据,load_data(file)函数. def load_data(file):s =[]with open(file) as f:for l ...
最新文章
- 微信小程序,是不是一盘可口的菜!
- python 发布到linux_Linux(CentOS)下的Python3部署流程
- 索尼因需量大增而增加PSVR产量
- jq点击按钮打开和关闭弹出层,点击除了当前按钮以外的地方关闭弹出层
- bzoj3527: [Zjoi2014]力 fft
- perl语言编程 第四版_被称作“胶水语言”的PERL,在芯片设计和验证中可以这样使用...
- Java发送https请求,综合post请求,get请求,获取网络返回的信息
- html怎么设背景颜色加上文字,怎么给视频添加文字 视频底部加文字,设置文字背景颜色、文字显示时间...
- 表格超出_?那些年Word表格你肯定踩过的坑
- 安卓游戏等待服务器响应时间,电竞显示器响应时间原理及最佳游戏设置方法
- 为Mac设置“屏幕使用时间”,来了解您的设备使用情况
- warning: LF will be replaced by CRLF in ****. The file will have its original line endings in y
- stm32中断源有哪些_143条 超详细整理STM32单片机学习笔记(必看)
- javaCV简单解析gb28181的rtp ps流,并推流到rtmp服务
- 脑洞全开YY无罪-益智类游戏“脑力大战”引发思考
- P5195 [USACO05DEC]Knights of Ni S
- python-递增的三元子序列
- 开心移动企业管理平台SaaS OA
- ts重点学习136-声明合并
- Java——超市会员管理系统(JDBC+MySQL+Apache DBUtils)