二项逻辑回归
二项逻辑回顾是分类模型
,由条件概率 P(Y|X) 表示,其中随机变量 X 取值为实数,而随机变量 Y 取值为 1 或 0
模型公式
模型参数估计
逻辑回归的参数模型一般使用梯度下降函数来求解参数 w
这里说一下似然估计
,似然估计是利用已知的样本集反推最有可能导致结果的参数值,即什么参数会导致训练集的呈采集数据那样分布的。比如有一个训练集 X ,我们通过对 X 进行反推去找出让训练集呈现如同 X 一样分布的 w,当然了,是最大可能性的 w,因为 w 会有很多个,我们只找出可能性最大的那一个。
步骤如下:
- 根据二项逻辑回归模型公示写出似然函数
- 对似然函数求极大化找出参数,在吴恩达机器学习公开课中似然函数是作为损失函数来表示
- 极大化似然函数可以通过梯度下降法来求解
参考《统计学习方法》,吴恩达机器学习公开课
最大熵模型
最大熵模型的作用是在没有太多特征数据的情况下,默认模型的概率分布是最均匀的,也就是混乱度是最大的,熵越大,混乱度越大。所以称为最大熵。我们是默认自然界的事物总是向混乱的趋势发展,所以我们在没有太多特征数据的情况下,默认模型的概率也是按照混乱趋势来进行分布。
-
经验分布:
-
边缘分布:
特征函数
我们定义一组函数 f(x,y) ,用于描述 x 与 y 之间的关系,它是二值函数,如果 x 与 y 满足某一事实,则为1,否则为0
-
特征函数关于经验分布的期望值:
- 经验函数关于
模型P(X|Y)
与边缘分布的期望值:
引入特征函数是因为 x 在某种情况下(这里的情况可以理解为一个特征),输出 y 的概率会更好,我们需要求的是在满足这些情况下的最大熵模型,即在特征情况发生时, 输入 y 的概率增大,其余情况 y 的概率平分
模型求解原理
最大熵模型通过最大化条件概率分布的条件熵 H(P)
来求解模型
而最大化则是在 将所有的特征函数作为约束条件的情况下,最大化条件熵求解得到模型
引入特征函数的意义在于:让模型 P(Y|x) 在满足特征的情况下,使得模型的的熵最大
由此最大熵模型可以形式化为求解约束最优化问题
我们在样本量足够大的情况下,可以认为:而这个就是我们的约束条件,这个约束条件对所有的 f(x,y) 都成立
请注意到:*f(x,y) 是存在多个的
对偶化
约束最优化问题可以通过对偶问题来解决。
-
原始问题:
-
对偶问题:
这里不对拉格朗日函数进行描述,请查看《统计学习方法》,但是要注意到,在引入拉格朗日乘子后,我们的拉格朗日函数就多了一个参数 w ,而这个参数就是我们要求的模型参数了,即求解 w 就是求解模型
通过求解对偶问题的最优解找出原始原题的最优解,我们先对对偶问题的最小化求解,记有式子,称为对偶函数:我们对对偶函数进行求导并让求导式子等于 0(这里的求导也就是将 w 作为常数,而P(Y|X)做为变量进行求导) ,可以求出 P(Y|X) 的表达式(P就是P(Y|X)的缩写,求出来P的表达式是带有 w 的,详见《统计学习方法》)
那么求出了最小化之后,我们需要对最大化问题进行求解,那么问题归结为最大化对偶函数来求解,如下:(左边就是我们求出来的解了)
将P(Y|X) 代入拉格朗日函数,通过式子推导我们可以得到结论:最大化对偶函数等价于最大熵模型的极大似然估计(详见《统计学习方法》)
所以问题形式化为求解最大熵模型的极大似然函数,关于最大熵模型的似然函数推导的过程在下方
极大化似然函数
极大化似然函数可以通过以下几种办法进行求解
- 改进的迭代尺度法:就是不断通过推导出函数下界,最终对下界求收敛值来求解参数
- 拟牛顿法
总结流程
- 确定最大熵模型为条件概率 P(Y|X),也就是求解熵最大的 P(Y|X) 表达式
- 引入特征函数作为约束
- 确定模型的形式化问题,即最大化的约束下的条件熵
- 约束问题转化为对偶形式来解决,此时拉格朗日函数引进了参数 w
- 通过求解对偶问题的最小化部分来求得 P(Y|X) 带有参数 w 的表达式
- 求解对偶问题的最大化部分
- 通过证明可以知道对最熵模型的极大似然估计就是求解对偶问题的最大化
- 通过拟牛顿法等方法进行极大似然估计求解参数 w
- 解决问题
极大化似然函数
最大熵模型似然函数推导
对于样本集中的每个样本X,设其概率为p(x)
似然函数在数值上等于概率,但似然函数是利用已知的样本结果
反推最有可能导致这样结果的参数值
例如,假设 w 是参数,x 是变量,那么x我们有样本集,我们可以通过 x 反推 w。
根据似然函数
的定义,我们有以下的式子
假设变量x有k个取值,分别为v1,v2,v3,...,vk 我们使用 C(X=vi) 表示在样本集X的值为 vi 的频数,即出现了多少次 vi ,我们有如下式子
注意:上式中的累乘个数从 n 变成了 k
两边分别去n的开方
所以最终可以得到似然函数
如下
上式中左边一项是 1/n
次方,是一个单调递增函数,所以我们极大化左边一项,就相当于极大化下面的式子(只是左边去掉了1/2次方
,并简写了表达式),注意,连乘号下面从 i 变成了 x ,这里的 x 是值输入变量 X 的取值,我们一共有 k 个取值嘛,那 x 就是K个取值中的 1 个
注意:累乘的个数从 k 变成了 x,这里说明一下,这个只是简写而已,本质上是一样的,因为P(x)=P(vi),我们只是把 vi 换成了 x
假设对数似然函数
是对原本的似然函数
取对数,我们可以得到如下式子:
对于最大熵的似然函数,我们用(x,y)代替原来的x(即原来是单个变量的分布,现在是两个变量的概率分布)。因为最大熵是2个变量的概率分布,即在输入x的情况,得到y的条件概率,不是单个变量的概率分布。得到如下式子:
其中第二项可知为常数,此时似然函数可以取第一项进行极大化即可,所以最大熵的似然函数如下,将其极大化即可
参考:
似然函数的本质意义:https://blog.csdn.net/weixin_40499753/article/details/82977623
最大熵模型中的对数似然函数的解释:https://blog.csdn.net/wkebj/article/details/77965714
最大熵模型中的数学推导:https://blog.csdn.net/v_july_v/article/details/40508465
后语
逻辑回归在吴恩达的机器学习中有更为详细的描述,思路也不难,建议没接触的读者去了解。笔者发现吴恩达对于逻辑回归的损失函数的表达就是书中的似然函数。如果笔者有错漏的地方,也烦请各位读者海涵指正。