Logistic Regression and its Maximum Likelihood Estimation
从 Linear Regression 到 Logistic Regression
给定二维样本数据集 \(D = \left\{ (\vec{x}_{1}, y_{1}), (\vec{x}_{2}, y_{2}), \ldots, (\vec{x}_{n}, y_{n}) \right\}\),其中 \(\vec{x}_{1}, \ldots, \vec{x}_{n} \in X\) 为 \(d\) 维向量(即 \(X\) 的size 为 \(n \times d\)), \(y_{1}, \ldots, y_{n} \in Y\)。我们希望得到一条直线 \(Y = X\beta + \varepsilon\) 来刻画 \(X\) 和 \(Y\) 之间的一般关系,由于真实数据集存在随机项 \(\varepsilon_{i} \sim N(0, \sigma^{2})\),一般情况下这条直线不可能精准地穿过所有的数据点,因此我们希望它尽可能地贴近所有的数据点。如何定义这个 “尽可能地贴近”?数学上来说,我们通过求最小化均方误差(MSE)来实现,即:
\]
注意到表达式中的 \(X \beta\) 已经包含了直线的常数项。初学者可能会碰到的一个问题是,为什么上式中的最小化目标是 \(|| Y - X\beta ||^{2}\),而不是 \(|| Y - X\beta - \varepsilon||^{2}\)?原因是,直线 \(Y = X \beta + \varepsilon\) 是我们的 model ground truth,我们容忍随机变量 \(\varepsilon \sim N(0, \sigma^{2})\) 作为误差存在,而误差作为随机项无法消除,是数据集本身的特性,并非是模型的问题。我们通过解以上最优化问题,能够得到一个最优参数 \(\beta^{*}\),反过来我们将 \(X\) 代入得到的模型 \(\hat{Y} = X \beta^{*}\),此时的 \(\hat{Y}\) 代表着预测值,它会与 ground truth \(Y\) 产生一个残差 \(e = Y - \hat{Y}\)。注意到 \(e\) 和 \(\varepsilon\) 在定义上是不同的,\(\varepsilon\) 是理论模型中的随机变量,它是无法被描述为具体某个值的,而残差 \(e\) 则是针对一系列已观测的数据点根据线性回归模型求出的具体值。
上述最优化问题的偏导求解如下:
\frac{\partial S}{\partial \beta} & = \frac{\partial ||Y - X \beta||^{2}}{\partial \beta} \\
& = \frac{\partial (Y - X \beta)^{T} (Y - X \beta)}{\partial \beta} \\
& = -X^{T} (Y - X \beta) + \big[ (Y - X \beta)^{T} (-X) \big]^{T} \\
& = -2 X^{T}(Y - X \beta)
\end{align*}
\]
令 \(\frac{\partial S}{\partial \beta} = 0\),即:
& \frac{\partial S}{\partial \beta}= -2 X^{T} (Y - X \beta) = 0 \\
& \implies X^{T} Y = X^{T} X \beta \\
& \implies \beta^{*} = (X^{T} X)^{-1} X^{T} Y
\end{align*}
\]
因此,我们拟合出的直线 \(\hat{Y} = X \beta\) 可以直接写作:
\]
Logistic Regression
这和 Logistic Regression 有何联系呢?Logistic Regression 是一个二分类模型,对于每一个 \(\vec{x} \in X\) 我们希望根据 \(\vec{x}\) 得到其对应的 label \(y \in \left\{ 0, 1 \right\}\),在离散空间上取值。一个思想是,我们设计一个中间函数 \(g(z) \in \left\{ 0, 1 \right\}\),例如:
0, \qquad z \leq 0 \\
1, \qquad z > 0
\end{cases}
\]
如此,我们便将连续的 \(z\) 转换为二元取值 \(g(z)\),再采取类似的方法优化 \(g\) 中的参数,使得预测结果贴近真实的 \(Y\)。然而如上设计的 \(g\) 并不连续,故而不可微,这并不符合广义线性模型(GLM)的条件。我们希望这么一个中间函数 \(g\),它的取值在 \((0, 1)\) 上,并且单调可微,因此便有了 sigmoid 函数的提出:
\]
不难判断出对于 \(\forall z \in \mathbb{R}: ~ \sigma(z) \in (0, 1)\),且 \(\sigma(z)\) 在 \(\mathbb{R}\) 上单调递增且可微。我们令:
& y = \sigma(z) = \frac{1}{1 + e^{-z}}\\
& z = \vec{w}^{T} \vec{x} + b \\
\implies & y = \frac{1}{1 + e^{-(\vec{w}^{T} \vec{x} + b)}}
\end{align*}
\]
我们发现,对于输入任意的 \(\vec{x} \in X\),sigmoid 函数先将 \(\vec{x}\) 转化为一个取值在 \((0, 1)\) 上的标量。除此之外还有:
& \ln \frac{y}{1-y} = \ln \big( e^{\vec{w}^{T} \vec{x} + b} \big) = \vec{w}^{T}\vec{x} + b \\
\implies & \ln \frac{y}{1-y} = \vec{w}^{T}\vec{x} + b
\end{align*}
\]
这样等式的右边又回到 Linear Regression 的简单结构。
Maximum Likelihood Estimation
我们会发现存在这么一个问题,即,数据集最终的 label 取值在 \(\left\{ 0, 1 \right\}\) 中,为离散值,而经由 sigmoid 计算得到的值却在 \((0, 1)\) 间连续取值。这个问题的解决办法是,我们不再将 sigmoid 函数生成的值(\(y\))视作 label,而是视作 “对于给定的 \(\vec{x}\),其 label 为 \(y=1\)” 的概率,即:
\ln \frac{P(y=1 ~ | ~ \vec{x})}{1 - P(y=1 ~ | ~ \vec{x})} = \ln \frac{P(y=1 ~ | ~ \vec{x})}{P(y=0 ~ | ~ \vec{x})} = \vec{w}^{T} \vec{x} + b
\]
注意到以上第一个式子中等式两边的 \(y\) 的含义并不相同,等式左侧的 \(y\) 代表着 “对于给定的 \(\vec{x}\) 其 label 为 \(1\) 的概率”,而等式右边的 \(y\) 为真实 label \(\in \left\{ 0, 1 \right\}\)。
我们会发现,由 total probability:\(P(y=1 ~ | ~ \vec{x}) + P(y=0 ~ | ~ \vec{x}) = 1\),\(\frac{P(y=1 ~ | ~ \vec{x})}{P(y=0 ~ | ~ \vec{x})}\) 在 \(P(y=1 ~ | ~ \vec{x})\) 较大(\(P(y=0 ~ | ~ \vec{x})\) 较小)时较大,极端情况下将趋于正无穷,对数值也将趋于正无穷;相反,在 \(P(y = 1 ~ | ~ \vec{x})\) 较小(\(P(y=0 ~ | ~ \vec{x})\) 较小)时较小,极端情况下将趋于 \(0\),对数值将趋于负无穷。当模型无法判断对于一个 \(\vec{x}\) 其 label 更偏向于 \(0\) 还是 \(1\) 时,此时 \(P(y=1 ~ | ~ \vec{x}) = P(y=0 ~ | ~ \vec{x}) = 0.5\),使得对数值为 \(0\)。因此,在这种假设下,当训练好的模型计算的 \(\vec{w}^{T} \vec{x} + b > 0\),模型将认为其 label 为 \(1\);相反,当 \(\vec{w}^{T} \vec{x} + b < 0\) 时模型认为其 label 为 \(0\)。
在这种情况下,显然:
& P(y=1 ~ | ~ \vec{x}) = \frac{1}{1 + e^{-(\vec{w}^{T} \vec{x} + b)}} = \frac{e^{\vec{w}^{T} \vec{x} + b}}{1 + e^{\vec{w}^{T} \vec{x} + b}} \\
& P(y=0 ~ | ~ \vec{x}) = 1 - P(y=1 ~ | ~ \vec{x}) = \frac{1}{1 + e^{\vec{w}^{T} \vec{x} + b}} \\
\end{align*}
\]
我们希望对于拥有真实 label \(y_{i} = 1\) 的所有 \(\vec{x}\),模型得到的 \(P(y = 1 ~ | ~ \vec{x}; \vec{w}, b)\) 越大越好,即:
\]
同理,对于拥有真实 label \(y_{i} = 0\) 的所有 \(\vec{x}\),模型得到的 \(P(y=0 ~ | ~ \vec{x}; \vec{w}, b)\) 越大越好,即:
\]
如何将以上两个目标统一起来(将两个式子写入一个式子中,使得该式摆脱对下标 \(y_{i}\) 的依赖)呢?即,我们希望建立一个式子 \(P(y = y_{i} ~ | ~ \vec{x_{i}}; \vec{w}, b)\),表示对于任意 \(\vec{x_{i}} \in X\) 以及真实 label \(y_{i} \in \left\{ 0, 1 \right\}\),模型预测成功(\(y = y_{i}\))的概率。当这个综合表达式被建立后,我们便可以通过最大似然估计(MLE)求出在训练集上最优的参数 \(\vec{w}, b\),即:
\]
周志华的《机器学习》里提到这么一种构建方法:
\]
这样构建能够满足我们的目标,即:当 \(y_{i} = 1\) 时,\(P(y_{i} ~ | ~ \vec{x_{i}}; \vec{w}, b) = P(y=1 ~ | ~ \vec{x_{i}}; \vec{w}, b)\);当 \(y_{i} = 0\) 时,\(P(y_{i} ~ | ~ \vec{x_{i}}; \vec{w}, b) = P(y = 0 ~ | ~ \vec{x_{i}}; \vec{w}, b)\)。但是,这样会使得 MLE 求解变得复杂:
\max\limits_{\vec{w}, b} L(\vec{w}, b) & = \max\limits_{\vec{w}, b} \quad \prod\limits_{i} \big( y_{i} P(y=1 ~ | ~ \vec{x_{i}}; \vec{w}, b) + (1 - y_{i}) P(y = 0 ~ | ~ \vec{x_{i}}; \vec{w}, b) \big) \\
& = \max\limits_{\vec{w}, b} \quad \prod\limits_{i} \big( y_{i} \frac{e^{\vec{w}^{T} \vec{x} + b}}{1 + e^{\vec{w}^{T} \vec{x} + b}} + (1 - y_{i}) \frac{1}{1 + e^{\vec{w}^{T} \vec{x} + b}} \big)
\end{align*}
\]
哪怕取对数似然:
\max\limits_{\vec{w}, b} l(\vec{w}, b) & = \max\limits_{\vec{w}, b} \quad \ln \Big( \prod\limits_{i} \big( y_{i} P(y=1 ~ | ~ \vec{x_{i}}; \vec{w}, b) + (1 - y_{i}) P(y = 0 ~ | ~ \vec{x_{i}}; \vec{w}, b) \big) \Big) \\
& = \max\limits_{\vec{w}, b} \quad \ln \Big( \prod\limits_{i} \big( y_{i} \frac{e^{\vec{w}^{T} \vec{x} + b}}{1 + e^{\vec{w}^{T} \vec{x} + b}} + (1 - y_{i}) \frac{1}{1 + e^{\vec{w}^{T} \vec{x} + b}} \big) \Big) \\
& = \max\limits_{\vec{w}, b} \quad \sum\limits_{i} \ln \big( y_{i} \frac{e^{\vec{w}^{T} \vec{x} + b}}{1 + e^{\vec{w}^{T} \vec{x} + b}} + (1 - y_{i}) \frac{1}{1 + e^{\vec{w}^{T} \vec{x} + b}} \big) \\
& = \max\limits_{\vec{w}, b} \quad \sum\limits_{i} \ln \frac{y_{i} e^{\vec{w}^{T} \vec{x} + b} + 1 - y_{i}}{1 + e^{\vec{w}^{T} \vec{x} + b}} \\
& = \max\limits_{\vec{w}, b} \quad \sum\limits_{i} \big( \ln (y_{i} e^{\vec{w}^{T} \vec{x} + b} + 1 - y_{i}) - \ln (1 + e^{\vec{w}^{T} \vec{x} + b}) \big)
\end{align*}
\]
并不能直接得到书中的目标结果:
\]
一个更好的 \(P(y_{i} ~ | ~ \vec{x_{i}}; \vec{w}, b)\) 设计方法是:
\]
这种形式也能满足我们上述的要求,并且我们对参数求解 MLE:
\max\limits_{\vec{w}, b} l(\vec{w}, b) & = \max\limits_{\vec{w}, b} \quad \ln \prod\limits_{i} \big( P(y=1 ~ | ~ \vec{x_{i}}; \vec{w}, b)^{y_{i}} \cdot P(y = 0 ~ | ~ \vec{x_{i}}; \vec{w}, b)^{1 - y_{i}} \big) \\
& = \max\limits_{\vec{w}, b} \quad \sum\limits_{i} \ln \big( P(y=1 ~ | ~ \vec{x_{i}}; \vec{w}, b)^{y_{i}} \cdot P(y = 0 ~ | ~ \vec{x_{i}}; \vec{w}, b)^{1 - y_{i}} \big) \\
& = \max\limits_{\vec{w}, b} \quad \sum\limits_{i} \big( y_{i} \ln P(y=1 ~ | ~ \vec{x_{i}}; \vec{w}, b) + (1 - y_{i}) \ln P(y = 0 ~ | ~ \vec{x_{i}}; \vec{w}, b) \big) \\
& = \max\limits_{\vec{w}, b} \quad \sum\limits_{i} \big( y_{i} \ln \frac{e^{\vec{w}^{T} \vec{x} + b}}{1 + e^{\vec{w}^{T} \vec{x} + b}} + (1 - y_{i}) \ln \frac{1}{1 + e^{\vec{w}^{T} \vec{x} + b}} \big) \\
& = \max\limits_{\vec{w}, b} \quad \sum\limits_{i} \big( y_{i} (\vec{w}^{T} \vec{x} + b) - y_{i} \ln (1 + e^{\vec{w}^{T} \vec{x} + b}) + (y_{i} - 1) \ln (1 + e^{\vec{w}^{T}\vec{x} + b}) \big) \\
& = \max\limits_{\vec{w}, b} \quad \sum\limits_{i} \big( y_{i} (\vec{w}^{T} \vec{x} + b) - \ln (1 + e^{\vec{w}^{T} \vec{x} + b}) \big) \\
& = \min\limits_{\vec{w}, b} \quad \sum\limits_{i} \big( - y_{i} (\vec{w}^{T} \vec{x} + b) + \ln (1 + e^{\vec{w}^{T} \vec{x} + b}) \big)
\end{align*}
\]
即为书中所求。
Logistic Regression and its Maximum Likelihood Estimation的更多相关文章
- Linear Regression and Maximum Likelihood Estimation
Imagination is an outcome of what you learned. If you can imagine the world, that means you have lea ...
- Maximum Likelihood及Maximum Likelihood Estimation
1.What is Maximum Likelihood? 极大似然是一种找到最可能解释一组观测数据的函数的方法. Maximum Likelihood is a way to find the mo ...
- 似然函数 | 最大似然估计 | likelihood | maximum likelihood estimation | R代码
学贝叶斯方法时绕不过去的一个问题,现在系统地总结一下. 之前过于纠结字眼,似然和概率到底有什么区别?以及这一个奇妙的对等关系(其实连续才是f,离散就是p). 似然函数 | 似然值 wiki:在数理统计 ...
- 最大似然估计 (Maximum Likelihood Estimation), 交叉熵 (Cross Entropy) 与深度神经网络
最近在看深度学习的"花书" (也就是Ian Goodfellow那本了),第五章机器学习基础部分的解释很精华,对比PRML少了很多复杂的推理,比较适合闲暇的时候翻开看看.今天准备写 ...
- 最大似然估计(Maximum likelihood estimation)(通过例子理解)
似然与概率 https://blog.csdn.net/u014182497/article/details/82252456 在统计学中,似然函数(likelihood function,通常简写为 ...
- 均匀分布(uniform distribution)期望的最大似然估计(maximum likelihood estimation)
maximum estimator method more known as MLE of a uniform distribution [0,θ] 区间上的均匀分布为例,独立同分布地采样样本 x1, ...
- 最大似然预计(Maximum likelihood estimation)
一.定义 最大似然预计是一种依据样本来预计模型參数的方法.其思想是,对于已知的样本,如果它服从某种模型,预计模型中未知的參数,使该模型出现这些样本的概率最大.这样就得到了未知參数的预计值. 二 ...
- 【MLE】最大似然估计Maximum Likelihood Estimation
模型已定,参数未知 已知某个随机样本满足某种概率分布,但是其中具体的参数不清楚,参数估计就是通过若干次试验,观察其结果,利用结果推出参数的大概值.最大似然估计是建立在这样的思想上:已知某个参数能使这个 ...
- 最大似然估计(Maximum likelihood estimation)
最大似然估计提供了一种给定观察数据来评估模型参数的方法,即:"模型已定,参数未知".简单而言,假设我们要统计全国人口的身高,首先假设这个身高服从服从正态分布,但是该分布的均值与方差 ...
- MLE vs MAP: the connection between Maximum Likelihood and Maximum A Posteriori Estimation
Reference:MLE vs MAP. Maximum Likelihood Estimation (MLE) and Maximum A Posteriori (MAP), are both a ...
随机推荐
- py文件转换为so文件
将py文件编译为so文件 利用上面代码生成so文件生成的文件不方便取放,名字也不一样 通过执行发现转换执行了下面三句 /usr/local/python3/bin/cython test.py gcc ...
- 最新升级优化 shopee|美客多 Mercadolibre|shopfiy|lazada|独立货代贴单系统 可规模化的贴单打单系统 源码下载独立部署
七想网络 跨境猴 最新优化改进版本的 虾皮代打包-虾皮代贴单 独立部署源码版本货代贴单系统 介绍: 台湾海外仓_shopee货代_虾皮物流–虾皮代贴单 虾皮代打包-虾皮代贴单-虾皮货代平台 shope ...
- 【Vue项目】尚品汇(六)ShopCar组件开发 购物车模块
4 购物车 4.1 购物车商品数量控制 Detail\index.vue <div class="cartWrap"> <div class="cont ...
- Spring注解@Conditional相关用法
1.@Conditional注解 @Conditional 是Spring4新提供的注解. 它的作用是按照一定的条件进行判断,满足条件给容器注册bean,否则不注入. 可以作用在方法上,也可以作用在类 ...
- [aac @ 0x1dd24c0] Input contains NaN/+-Inf
ffmpeg编码pcm为aac时报错:[aac @ 0x1dd24c0] Input contains NaN/+-Inf 在./configure选项后面加上下列选项就可以 --enable-enc ...
- Java的初始化块
三种初始化数据域的方法: 在构造器中设置值 在声明中赋值 初始化块(initialization block) 初始化块 在一个类的声明中,可以包含多个代码块.只要构造类的对象,这些块就会被执行. c ...
- [C++项目] 职工管理系统
文章目录 职工管理系统 1.管理系统需求 2.创建项目 2.1 创建项目 2.2 添加文件 3.创建管理类 3.1创建文件 3.2 头文件实现 3.3 源文件实现 4.菜单功能 4.1 添加成员函数 ...
- PaddlePaddle 飞桨复现 ResNeXt
import paddle.nn as nn import paddle class BN_Conv2D(nn.Layer): """ BN_CONV_RELU &quo ...
- 2020-08-18:介绍下MR过程?
福哥答案2020-08-18:[来自[MapReduce执行过程及运行原理详解] 答案](https://www.panziye.com/bigdata/625.html)MapReduce执行的4个 ...
- 2020-11-20:java中,听说过CMS的并发预处理和并发可中断预处理吗?
福哥答案2020-11-20:[答案来自此链接:](http://bbs.xiangxueketang.cn/question/391)1.首先,CMS是一个关注停顿时间,以回收停顿时间最短为目标的垃 ...