Google ClassroomGoogle Classroom
GeoGebraGeoGebra Classroom

三、极大似然估计求解

当似然函数为最大值时,得到的即可认为是模型的参数。求似然函数的最大值,如梯度上升,可以对似然函数稍作处理,使之变为梯度下降,然后使用梯度下降的思想来求解此问题,变换的表达式如下: 由于在原似然函数的前面乘了一个负值,由原来的梯度上升变为梯度下降,其好处在于快速收敛,便于训练数据的取得。
因为要使用当前的 值通过更新得到新的 值,所以需要知道 更新的方向,即当前 是加上一个数还是减去一个数离最终结果近,所以得到 后对其求导便可得到更新方向。对 参数来讲,求偏导过程如下: 设: (2-6-1) 可以先求 。 设,则 (2-6-2) 将式(2-6-2)代入式(2-6-1),则可得 同理,对于 b 参数,其求偏导的过程为
二特征变量逻辑回归极大似然估计梯度下降举例演示:设有事物 具备两个特征向量 ,其逻辑回归方程为,为简化计算,预设 ,随机选取一组数据,根据 值以 0.5 为界分为 A、B 两类。然后选取 10 组数据作为样本进行梯度下降计算。计算过程的编程文件可以扫描以下二维码下载验算,也可作为简单梯度下降的计算工具使用。



根据计算,以学习率 a  0.1 为例,分别呈现初始参数以及迭代次数在 30、60、100、135 等处的参数值,并绘制梯度下降图,如图 2-6-15 所示。由图可以看出,参数值按正确方向下降,并逐步逼近理想参数点。同时,通过图示也呈现出梯度下降不可避免的问题:一是梯度衰减,即收敛程度越来越小,逼近步幅逐渐缩短,造成大量算力耗损也很难达到理想值;二是此梯度方程有明显的梯度平原区,即图形的陡度消失,造成损失函数无差值或极小,使得梯度迭代无法继续进行。除以上两个问题之外,梯度下降法还经常存在局部最小值问题,这些问题在目前的理论界还没有很好的解决办法,在此不再赘述。为动态展示梯度下降过程(见图 2-6-16)。
【知识点引入】目标函数、损失函数、代价函数。 三种拟合示意如图 2-6-17 所示。



图 2-6-17 三种拟合图示意

上面三个图的函数为 。给定 ,三个函数都会输出一个 ,这个输出的 与真实值 y 是有偏差的。为了表示拟合得好坏,需要用一个函数度量拟合的程度:,这个函数就称之为损失函数(loss function),或者称之为代价函(cost function)。 接下来还要引入一个概念,叫作风险函数(risk function)。风险函数是损失函数的期望,这是由于我们输入输出的 遵循一个联合分布,但是这个联合分布是未知的,所以无法计算。但是因为有历史数据,即训练集, 关于训练集的平均损失称作经验风险(empirical risk), 即,所以我们的目标就是最小化,称之为经验风险最小化。 但是如果仅仅求解经验风险最小化,还无法很好地解决现实中的数据运算问题。比如图2-6-17 所示的三个函数,很显然图 2-6-17(c)的数据拟合得最好,但是函数呈现最复杂,已经达到了四次方,因为它过度学习历史数据,导致它在真正预测时效果会很不好,这种情况称为过拟合(over-fitting)。这就引出了另一个概念,不仅要让经验风险最小化,还要让结构风险最小化。这时我们定义一个函数 ,这个函数专门用来度量模型的复杂度,在机器学习中也叫正则化 (regularization),常用的有 L1, L2 范数。 至此,最终的优化函数为:,即最优化经验风险和结构风险,而这个函数就被称为目标函数。结合上面图示例子来分析:中间的 结构风险最小(模型结构最简单),但是经验风险最大(对历史数据拟合得最差);最右面的 经验风险最小(对历史数据拟合得最好),但是结构风险最大(模型结构最复杂),而 达到了二者的良好平衡,最适合用来预测未知数据集。