[小白式机器学习(一)] logistic regression(LR)对数几率回归 / 逻辑回归 公式推导
因为是傻瓜式教程,所以一定会非常详细!一些概念link到了Wiki的相应解释上。
欢迎捉虫~!
二分类和回归的关系
考虑 表示的二分类或回归问题,其中 是输入, 是输出。
1. 在二分类中, 的值取0或1,代表被分为正类或负类。在回归中, 的取值为连续值。
2. 在线性回归模型中,,此处 为参数向量, 为输入样本向量。
3. 进一步,广义线性回归模型可以写为 或者 的形式,其中 为单调可微函数。所以在对数回归中,模型是。
sigmoid函数与LR的关系
sigmoid函数:在数学上是拥有性感的s形曲线样子的函数:
通常说的sigmoid函数指的是这个logistic函数: 。本文所指的sigmoid函数就是该logistic函数:
sigmoid函数具有以下特点:
- 值域在(0,1)
- 求导非常容易 (求导过程见附录,或Wiki)
我们希望在做二分类时,输出 不再是非0即1的取值,而是希望输出一个有概率意义的 之间的值,表示的是分为正类的概率(所以是分为负类的概率),然后再做二分类,所以我们挑选sigmoid函数作为广义线性回归的,即
所以,现在 。
前面说到,输出值 代表分到正类的概率, 代表分到负类的概率,那么 ,称为几率,称为对数几率(logit)。 的本质是用 线性回归模型逼近对数几率,我们管这叫对数几率回归( logit regression / logistics regression)。
条件概率
-
代表分到正类的概率,即为条件概率:。
代表分到负类的概率,即为条件概率:。 - 我们有
- 假设数据集共有 个样本,记第i个样本输入(m维向量)和样本标签分别为 。条件概率其实和参数 有关,那么正确分类的条件概率应该写为: ,简记为 。
(意思是输入变量 取 时,输出=真实标签 的概率) -
-
- 也等价于
其中称为示性函数,当条件被满足就取1,否则取0。
在二分类型况下,怎么样的函数能满足这样的条件呢?和就可以呀!
从原始概率来看,即
最大似然求解
似然的解释见附录或Wiki
我们希望,求得参数 ,使“抽取的样本 属于本身的标签 的概率最大
”即尽量大。
换句话说,就是极大化对数似然:
那么我们的目标就是
中我们用到,是因为连乘比起连加,求最优的难度更大,所以用对数函数转换一下,方便求解。
将 带入 ,得:
化简:
我们有
回忆 实际就是 嘛!
最终目标函数成了最小化这个loss了,如何最小化?它关于x可导又连续,学过凸优化的都知道怎么做了吧?牛顿法、梯度下降等可以迭代求解最优。从搞神经网络的角度看,sigmoid是经典的**函数,LR完全可以等价成一层的神经网络,**函数是sigmoid!这里回忆一下,sigmoid函数的优良性质之一:导数好求。所以对于一切需要求梯度的方法,代码实现的难度就降低了。
附录
sigmoid函数求导
记
似然
我们从机器学习的角度看
- 记 为模型(参数)。
- 记 为训练数据集,是真实数据空间的抽样集合,训练数据集越大,D的分布越接近真实数据空间的分布。
-
记 为一个观测,也可以理解为一个训练样本,是真实数据空间的一个抽样,即随机变量X的一个取值。
-
似然/似然函数(likelihood):给定参数时,事件出现的可能性。
“似然”和“概率”可以算作同义词。通常,似然用于数据已知时描述模型参数(数据已知了还要描述数据出现的可能性,可不是就和参数有关嘛)。而概率通常用于描述未知的事件出现的可能性。似然的举例如下:- 当假设数据集中的每个样本在样本空间中都是独立的时候,参数 相对于样本集的似然为
- 参数 相对于一个观测 的似然为
是一个关于 的函数。特别的,当 是随机变量时, 是条件概率,也可以写为。
- 贝叶斯推理的观点:
是服从分布 的随机变量,分布 是关于模型的假设,称为先验,先验概率(piror probability)也记为;给定数据集能得到模型 的概率称为后验概率(posterior probability);参数 下数据集样本都在观测都出现的概率 为似然(likelihood);数据集的联合概率为。
Reference:
周志华 -《机器学习》
ufldl - softmax
图片均来自维基百科