首页 > 代码库 > 机器学习浅析之最优解问题

机器学习浅析之最优解问题

概率论是机器学习基础,为了更好的理解机器学习中的一些算法,而每个机器学习问题的背后,都有一个求最优解的问题。这里用最浅显的语言描述概率论的基础知识用于求最优解问题的应用。

首先,联合概率p(x,y)表示两个事件同时发生的概率,而条件概率p(x|y)表示在已知事件y发生的情况下,事件x发生的概率。在机器学习中,联合概率和条件概率分别对应于生成模型和判别模型。

模型设计

对于一个机器学习问题,会有一个真实的模型来解决它,我们假设这个模型为y=R(x);而我们并不清楚真实模型到底是什么样的,我们只好设计一个模型来解决该问题,假设这个模型为h=f(x).真实模型与我们设计的模型之间误差越小,说明我们的模型越好。

于是我们采用损失函数来衡量我们设计的模型h=f(x)的好坏。损失函数包括平方损失,绝对损失,似然损失函数等等。关于损失函数我们放在后面讨论。

损失函数的期望被称为期望风险,即我们的模型与真实模型之间误差的期望;但是由于我们并不知道真实模型,所以需要从训练集中的输出y当作真实模型的输出来使用,这样计算出来的风险叫做经验风险

根据大数定理:实验次数足够多的时候,事件出现的频率无限接近于该事件真实发生概率。即当样本对趋于无穷大时,经验风险越接近期望风险。所以我们可以最小化经验风险来估计期望风险。

参数求解

为了找到合适的模型,我们可以选择我们熟悉的模型(线性模型,高斯模型等等),只需带入样本数据,计算出参数即可,这就是参数估计。而对于不熟悉的模型,估计参数被称为非参数估计。

参数估计有很多中方法,例如最小二乘法,最大似然估计,贝叶斯估计等等。下面讨论这三种估计。

最大似然估计

最大似然估计代表了频率派的观点:参数虽然未知但是客观存在的,当参数求出来后,x,y也就知道了。

假设我们观察的变量是x,观察的变量取值(样本)为x={x1,..,xN},要估计的模型参数是θ,x的分布函数是p(x|θ)。那么最大似然函数就是θ的一个估计值,它使得事件发生的可能性最大:

通常认为x是独立同分布的:

所以最大似然估计的一般求解流程就是:

最大似然估计中,参数θ是一个固定的值,只要能够拟合样本数据就可以了。但是当样本过少的时候就容易出现过拟合现象,会得到诸如只要没见过飞机相撞,飞机就一定不会相撞的扭曲事实。

贝叶斯估计

贝叶斯派将参数θ作为随机变量,服从某一分布。正因为参数是不固定的,对于给定的x无法用确定的y来表示,而是用概率的方式来表达。

我们希望求出观察到样本x的情况下,θ的分布情况p(θ|x)。根据贝叶斯定理可得:

上面的后验概率通常是很难计算的,因为要对所有的参数进行积分,而且,这个积分其实就是所有θ的后验概率的汇总,其实它是与最优θ是无关的,而我们只关心最优θ(p(x)相同)。在这种情况下,我们采用了一种近似的方法求后验概率,这就是最大后验估计:

最大后验估计相比最大似然估计,只是多了一项先验概率,它正好体现了贝叶斯认为参数也是随机变量的观点,在实际运算中通常通过超参数给出先验分布。最大似然估计其实是经验风险最小化的一个例子,而最大后验估计是结构风险最小化的一个例子。如果样本数据足够大,最大后验概率和最大似然估计趋向于一致,如果样本数据为0,最大后验就仅由先验概率决定。尽管最大后验估计看着要比最大似然估计完善,但是由于最大似然估计简单,很多方法还是使用最大似然估计。

最小二乘法估计

最小二乘法估计是建立在模型服从高斯分布的假设之上。当从模型总体随机抽取M组样本观测值后,最合理的参数估计值应该使得模型能最好地拟合样本数据,也就是估计值和观测值之差的平方和最小。而对于最大似然估计,当从模型总体随机抽取M组样本观测值后,最合理的参数估计值应该使得从模型中抽取该M组样本观测值的概率最大。

机器学习浅析之最优解问题