|||
上一节我们尝试解决“房价与房子大小”之间关系的时候,使用了线性回归去拟合一个线性的方程,使得这个线性方程与所获得的房价与房大小数据最大限度地吻合。
所以,我们的问题的解决思路是,
把数据当成事实
用一个特定的模型(e.g.线性方程或非线性方程)去匹配数据
这些数据被当成了上帝,而让我们用模型去匹配他们。数据就是事实,当误差很大时,只能说明模型不够好,仍需努力来匹配我们的数据。
刚才是数据是事实,换个角度来看,数据应该是事实的一个表现。也就是”房价数据”应该是“房价与房子大小关系”的一个表现。现在假设北京某地房价和房子大小之间关系已经确定了
房价=房子大小*500,
但是我们不知道,现在拿到了5个数据,
(500, 1), (502, 1), (1510, 3), (1120, 2), (1500, 2). 会发现这5个数据并不符合关系。这是为什么,这是因为这些数据里面并不仅仅包含了"房价”与"房子大小”之间的关系,还很可能包含了, "房价”与“新旧”,“房屋”与“朝向”,“房屋”与“小区环境”...等等各种因素,而且这些因素很可能是可以观察到,也有可能是观察不到的。
所以说想完美准确的预测房价与房子大小的关系是有可能的!! 只要找出所有影响房价的因素.
找到所有影响房价的因素这是不可能的!! 所以我们可能勉为其难,只需要一个最近似的关系就好了,所以只要把其他因素都看成是一些与房子大小无关的小噪声就好了。于是,
y就是我们的房价,f(x)就是房价与房子大小之间的关系,epsilon就是一些与房子大小无关的小噪声,当然,因为epsilon是一个随机的东西,我们可以用随机变量E来表示它,
无论如何, 现在我们有了一串X,Y,就可以尝试地找出一个最有可能的f(x)去拟合数据了。
什么叫最有可能?
假如有M个f(x), 那么我们需要评估哪个模型最有可能产生这一串数据D (Y, X). 可能性应该用概率来表示,
是f(x)的参数, 如果这些数据与数据之间是独立的,就有
下面这个方程,表示了模型产生数据X,Y的可能性
因为X,Y已经确定了,现在要使得可能性最大,我们只能通过调整的值了。
对任意一个数据,(xi, yi),我们可以计算
现在要计算一个模型产生数据的可能性,我们只要知道这个模型预测值与实际值之间的误差,和这个噪声随机变量E的分布就可以了。
解决最大似然问题的流程到这,问题已经可以解决了,也就是,对于已有的数据D(X,Y)和任意一个参数为的f(x),找到最好的参数我们需要,
选择一个模型f(x), 和初始化其参数
估测噪声随机变量E的分布情况(e.g. 均匀分布,高斯分布...), 得到Likelihood表达式
计算Likelihood函数, 并调整使得Likelihood达到最大
调整的方法可以使用像前一章中介绍的“导数下降法”,当然也可以直接找极值点(导数为0)来得到其极大极小值。
Likelihood 函数会随着模型f(x)的选择和噪声随机变量E的选择出现不同的情况。下面就由我展示一下,最大似然怎么与前面两位回归(线性回归(Linear Regression)和分类回归(Logistic Regression))联系起来的吧!
这时候,模型我选 f(x) = ax + b, 噪声随机变量 E一个正态分布N(0,2).
要让Likelihood最大,只需要把最小化就好了。啊啊啊!这个公式熟悉么? 这正是前面线性回归的cost函数吗?原来线性回归只是最大似然的一种特殊情况!
这时候,模型我选f(x)=, 这时随机噪声变量的分布就不再是高斯分布了,是一个极其复杂的分布。但是幸运的是,我们可以得到Likelihood的表达式, 因为
统一一下这个式子,
于是有,
最后可以看到,这个Likelihood函数变成了,分类回归中的cost函数的取负。所以最大化Likelihood就等同于最小化分类回归中的cost函数。
以上两类问题,线性回归和分类回归,都可以由最大似然估计法推导而来,说明了最大似然估计法是一种更普适的描述模型匹配的方法。
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-11-23 10:09
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社