二、求解模型参数
逻辑回归模型的数学形式已经确定,即 ,接下来就是如何求解模型中的参数,即公式中的 值和 值。在统计学中,常常使用极大似然估计法来求解,即找到一组参数,使得在这组参数下,数据的似然度(概率)最大。
极大似然估计法是对独立样本(各样本均是独立事件)开展的参数估计方法,所以应首先对概率中的独立事件作出严谨的说明。
定义:对于事件和事件,如果满足公式:,那么称它们是独立的。若两个事件 和不独立,则称它们是相依的,或者相互不独立。
如果从条件概率的角度来理解,即,可导出:(可理解为在 事件发生的条件下 事件发生的概率与 事件自然发生的概率是一致的,即 事件的发生与 事件无关),公式的抽象性难以进一步理解独立事件的本质属性,可以用维恩图形象地剖析独立事件的内涵。条件概率的维恩图如图 2-6-10 所示。
图 2-6-10 条件概率的维恩图
两个独立事件 ,如果用面积占比来表示, 而 ,即 ,这也就说明了事件 的样本空间对事件 样本空间的切割后这部分(即形成维恩图中红色部分空间,即中间交叉部分)在 中的比例和事件 E 在原来总体样本空间 中的比例是一致的,实际上这种“同比例切割”的特性,是确定 与 是否独立的一个标志,如果 事件样本空间同比例切割 事件空间,那么 和 就是独立的。这样的描述和传统意义上的描述“F 事件的发生并不影响 发生的概率,那么 和 就是独立的”好像是不相一致的,但事实上用“同比例切割”有时候更容易判断两个事件是否是独立的。相反的,不能同比例切割的话,那可以判断 和 是不独立的。
如果再做进一步思考,观察另一幅维恩图,如图 2-6-11 所示。
图 2-6-11 维恩图
图中 和 没有相交,按照“同比例切割”的观点, 事件和 事件是“不独立”的。这个图告诉我们,两个不相交的事件,反而是“相互不独立”的。除了一种情况,事件 不可能出现,也就是 。
这给我们一种新的认识:世界上两个没有任何交集的人,却相互不独立。造成这种错觉的原因是,讨论问题的角度不一样,相交讨论的是两个事件的集合,而“独立性”与否讨论的是比例(也就是概率)的问题。另外,概率论中的“独立”都是特别针对概率值的影响,而人的独立性讨论的是人格特征。概率论中只是借用了“独立”这个词,概念上被赋予了严格的数学意义。
引例 1:从一副洗好的 52 张扑克牌里随机抽取一张牌,令 E 表示事件“抽取的牌为一张A”,令 F 表示事件“抽取的牌为一张黑桃”,那么 和 就是独立的。
因为 ,而 , ,符合 对独立事件的判断定义。
这个例子也可以用“同比例分割”的方法来判断。原始样本空间大小为 52,事件 空间大小有 4(因为有 4 张牌 A),因此事件 在原来空间中的分割比例是 4/52。相交事件 样本空间(既是牌 A 又是黑桃)1,事件 的样本空间很明显是 13(因为有 13 张黑桃),因此, 在 中的分割比例为 1/13。4/52=1/13,因此是独立的。
引例 2:掷两枚均匀的骰子,令 表示事件“骰子点数和为 6”,令 表示事件“第一枚骰子点数为 4”,那么。因为总的样本空间组合是 36 个,而“骰子点数和为 6”并且“第一枚骰子点数为 4”的组合只有 1 个。而
因此,和 不独立。也可以用“同比例分割”法来判断, 相交事件在 中分割的比例
为 1/6,而 事件在原来空间的比例是 5/36。
(一)极大似然估计
首先引入经典贝叶斯公式:
【知识点引入】全概率公式。
设随机试验 共有 种可能的结果 ,这些结果两两不可能同时出现,即两两相互独立,那么,任一随机事件的概率满足:
以上解题过程看起来非常明晰,但在解决实际问题时并不简单,因为先验概率 和类条件概率(各类的总体分布) 都是未知的。我们能获得的数据可能只有有限数目的样本数据,根据仅有的样本数据进行分类时,一种可行的办法是需要先对先验概率和类条件概率进行估计,然后再套用贝叶斯分类器。
先验概率的估计较简单:① 每个样本所属的自然状态都是已知的(有监督学习);② 依靠经验进行判断,比如德尔菲法,也称专家调查法;③ 用训练样本中各类出现的频率估计,比如公园里的男女比例。
类条件概率的估计就非常困难了,原因包括:① 概率密度函数包含了一个随机变量的全部信息;② 概率密度函数可以是满足下面条件的任何函数 ;③ 在很多情况下,已有的训练样本数总是太少;④ 当用于表示特征的向量 的维数较大时,就会产生严重的计算复杂度问题(算法的执行时间、系统资源开销等)。总之要直接估计类条件概率的密度函数很难。
解决的办法就是,把估计完全未知的概率密度转化为估计参数。这里就将概率密度估计问题转化为参数估计问题,极大似然估计就是一种参数估计方法。概率密度函数的选取很重要,模型正确,在样本区域无穷时,会得到较准确的估计值,如果模型是错误的,那么参数估计是毫无意义的。
参数估计的重要前提是:训练样本的分布能代表样本的真实分布。每个样本集中的样本都是所谓独立同分布的随机变量,即满足独立同分布条件(IID 条件),且有充分的训练样本。
【知识点引入】IID 即独立同分布(Independent and Identically Distributed)。
在概率统计理论中,IID 指随机过程中,任何时刻的取值都为随机变量,如果这些随机变量服从同一分布,并且互相独立,那么这些随机变量是独立同分布。如果随机变量 和 独立,是指 的取值不影响 的取值, 的取值也不影响 的取值且随机变量和 服从同一分布,这意味着 和 具有相同的分布形状和相同的分布参数,对离散随机变量具有相同的分布律,对连续随机变量具有相同的概率密度函数,有着相同的分布函数,相同的期望、方差。如试验条件保持不变,一系列的抛硬币的正反面结果是独立同分布。
极大似然估计原理:极大似然估计提供了一种给定观察数据来评估模型参数的方法,即“模型已定,参数未知”。通过若干次试验,观察其结果,利用试验结果得到某个参数值能够使样本出现的概率为最大,则称为极大似然估计。
由于样本集中的样本都是独立同分布,可以只考虑一类样本集 ,来估计参数向量,已知的样本集为 。
似然函数(likelihood function):联合概率密度函数 称为相对于 的的
似然函数。
这里可以将样本集 D 看作在以 为参数的某种概率函数模型的不同取值,或者在同一条件下试验 次,第一次取得 值,第二次取得 值,直至第 次取得 值的概率。
最大似然估计(Maximum Likelihood Estimation,MLE)求解:如果是参数空间中能使似然函数 最大的值,则应该是“最可能”的参数值,那么就是 的极大似然估计量。它是样本集的函数,记作:,则 称为极大似然估计值。
【知识点引入】数学符号 arg 的全称为 argument of the maximum/minimum。
arg max :当 取最大值时, 的取值。
arg min :当 取最小值时,的取值。
实际上为了便于分析,定义了对数似然函数:
第一种情况:未知参数只有一个(为标量)。
在似然函数满足连续、可微的正则条件下,极大似然估计量是下面微分方程的解:
或者等价于
第二种情况:未知参数有多个( 为向量)。
则可表示为具有个分量的未知向量:
记梯度算子:
若似然函数满足连续可导的条件,则最大似然估计量就是如下方程的解。
方程的解只是一个估计值,只有在样本数趋于无限多的时候,它才会接近于真实值。
引例一:设样本服从正态分布 ,则似然函数为
它的对数:
求导,得方程组(这里将作为一个整体变量对待):
联合解得
似然函数有唯一解,而且它一定是最大值点,因为或或0 时,非负函数 ,是连续函数。由此 和 的极大似然估计值是。
下面我们以模型的方式动态演示正态分布的极大似然估计,模型首先设定一个正态分布函数并呈现其图像,然后给出不同样本总量下正态分布模拟数,并按照上述公式求解其极大似然估计值 和 ,然后描绘极大似然估计值为参数的正态分布图像,可以清晰呈现其与设定的正态分布曲线的贴合变化,并能给出具体的参数差额量。模型展现的一般趋势是,随着样本量的不断增加,其差额不断缩减,与原正态分布曲线的贴合度更高。如图 2-6-12所示高斯分布极大似然估计对比图。
引例二:设样本服从均匀分布 ,则 的概率密度函数为
对于样本
很显然, 作为 和 的二元函数是不连续的,这时不能用导数来求解,而必须从极大似然估计的定义出发求 的最大值,为使 达到最大,应该尽可能地小,但又不能小于 ,否则 。类似地 不能大过 ,因此,
a 和 b 的极大似然估计:
引例三:伯努利分布的极大似然函数公式推导。首先要说明的是,伯努利分布是一个离散型随机变量分布。如将随机变量 X 1表示抛硬币正面朝上,设正面朝上的概率为 p ,那么随机变量 X 的概率密度函数(Probability Density Function,PDF)为
{
需要说明的是,我们一般用大写字母 或 来表示概率质量函数,而用小写字母 或者来表示概率密度函数。
如逻辑分布(连续型随机变量分布):
分布函数:
密度函数:
再如正态分布(也叫高斯分布,连续型随机变量分布):
分布函数:
密度函数:
以上公式表达是一个二阶式,不利于算法推演,所以伯努利分布的概率密度函数也可写成 。当然,根据伯努利分布的计算方式,完全可以将其表达式写成,但这样的表达方式完全不能保证与二项分布特性的统一,也无法揭示与二项分布的本质关联,所以,一般都将伯努利分布的概率密度函数表达为 。
从本质来讲,极大似然估计的过程是:通过若干次试验,观察结果并记录,利用试验的结果来推测某个参数,使得样本出现的概率(这里体现为似然函数)为最大,则称为极大似然估计。简单来讲,即“模型已定,参数未知”,接下来就需要求解伯努利分布的极大似然估计值。需要注意的是,伯努利极大似然估计函数的求解参数是 p 值。
这里假设进行了 n 次伯努利试验,得到的样本集为
例如,,由于每次试验是独立的,也就是说这些样本是独立同分布的,那么这些样本在同参数的伯努利试验中按序出现的概率就是这些样本单独出现的概率的乘积,这就是伯努利分布的似然函数(Likelihood Function)。
为便于求偏导计算极值,一般列出对数似然函数:
根据极限求导理论,要想使这一函数取最大值,就需要求出导函数等于 0 时的 值,即函数取最大值时的参数值。
由上式可得
上式 的精度与样本总量的大小密切相关,显然,一般来说,样本总量越大, 值越接近设定的模型参数值。为形象地表示这一趋势性,以模型的方式动态演示。模型中,先设定一个伯努利分布,然后用不同数量的伯努利随机数计算最大似然估计的参数值,其差额 。可以明显看出,随着样本总量的增加,其差额的一般趋势是逐渐缩减的,如图 2-6-13 所示伯努利分布极大似然估计对比图。
总结,求最大似然估计量的一般步骤:
(1)写出似然函数;
(2)对似然函数取对数,并整理;
(3)求导数;
(4)解似然方程。
最大似然估计的特点:
① 比其他估计方法更加简单;
② 收敛性:无偏或者渐近无偏,当样本数目增加时,收敛性质会更好;
③ 如果假设的类条件概率模型正确,则通常能获得较好的结果。但如果假设模型出现偏差,将导致非常差的估计结果。
再次回到对逻辑回归函数的极大似然估计的求解问题,其数学模型公式为,因为逻辑回归从本质上来讲是解决二分类问题的数学模型,其分类要么是 0,要么是 1,与伯努利分布极大似然估计的求解思路有一致性。因此,设:
则其似然函数为(请借鉴伯努利分布的极大似然估计函数的求解过程)
将,即代入上式,可得
(二)梯度下降
一般来说,关于求解函数的最优解(极大值和极小值),在数学中一般会对函数求导,然后让导数等于 0,获得方程,最后通过解方程直接得到结果。但是在机器学习中,函数常常是多维高阶的,得到导数为 0 的方程后很难直接求解(有些时候甚至不能求解),逻辑回归的最大似然估计函数就属于无法求解的情况,所以就需要通过其他方法来获得函数的极值,而
梯度下降就是其中一种方法。
关于梯度下降,先从一个简单的二次函数来举例,比如 函数, 的一阶导数为 ,令 ,即可求得该函数的最小极值点为 (0, 0) 。
这里不采用导数求解法,用梯度下降的方法来模拟其求解的迭代过程。先给出梯度下降的一般公式:
设有函数 ,对 求偏导,得 将 作为 的下降方向,其下降幅度为
,其中 为迭代次数, 为步长值,每次更新参数后,可以通过比较小于阈值或者到达最大迭代次数来停止迭代。
对于简单二次函数,将初始值选为 ,步长值 ,以迭代 16 次为停止标志。需要说明的是,这里只是作为简单案例来演示梯度下降的数学原理,在实际运算中,即使迭代值要小得多,但迭代次数也会达到几百上千次,因此必须要按照算法编程,用计算机运算来实现。
表 2-6-2 为每次迭代的计算结果,同时以图示的方式显示。
表 2-6-2 二次函数梯度下降表

以上案例中,将步长设置为 0.1,看上去是逐步收敛的,但是不同的 值的收敛程度是不一样的,如果将 值设置过大,甚至会造成不收敛。仍以该二次函数举例,不同的 值其y 值的梯度降幅呈现不同的形态,如图 2-6-14 所示。
图 2-6-14 不同 值 的梯度降幅
由图 2-6-14 可见,选择相对正确的值对极大似然估计函数的收敛相当重要。梯度下降的学习率不能太大,理论上学习率越小越好
关于梯度下降的学习率,这里有必要做进一步的说明。如图 2-6-15 所示,一个简单的二次函数,如果学习率选择不当,就会造成梯度下降无法达到效果的情况。图 2-6-15(a)学习率为 0.1,是正常梯度下降的效果,图 2-6-15(b)学习率为 0.9,其梯度下降就产生震荡效应,梯度下降就无法得到满意效果。在实际应用中,梯度下降的学习率一般取千分之一精度,才有可能取得满意的迭代效应。
图 2-6-15 梯度下降学习率示意
![]() | | ![]() |
为动态展示梯度下降不同学习率的变化状态,请在下图操作。