在上一篇推送中我们总结了机器学习第一课:一些最最基本的概念,比如特征,训练集,维数,假设空间等,通过一个例子说明什么是机器学习的泛化能力。接下来,再通过一个例子说明什么是归纳偏好。
归纳偏好
例子
如果我们在购买某个股票时假定根据两个主要特征:股票经纪公司等级和股票最近3个月的涨幅情况,进而判断是否购买某只股。
假定股票经纪公司等级取值为3种:A等,B等,C等,不要忘记还要考虑到一种特殊取值 *,即公司等级取ABC中哪个值这个股票我都要买(也就是说这个特征对于我是否买这只股是无关紧要的);
股票最近3个月的涨幅情况取值为2种:涨,降,取值哪个都合适 *。
那么根据这两个特征和特征取值,并且股票的标签 y 取值为买或不买,因此我们可以得到一个由12种类型的假设组成的假设空间,如下所示:
1. A等 涨
2. A等 降
3. A等 *
4. B等 涨
5. B等 降
6. B等 *
7. C等 涨
8. C等 降
9. C等 *
10. * 涨
11. * 降
12. * *
根据由3条股票的记录组成的训练集,如下所示:
A等 涨 买
B等 涨 买
C等 降 不买
根据这3条训练记录,得出了其中两个与训练集一致的假设,这两个假设组成的空间称为样本空间(version space):
1. * 涨 买
2. C等 * 不买
以上两个假设都能使得3条训练集成立,也就是说只要涨我们就买股票,只要是C等,我们就不买股票,并且我们的机器学习算法对股票经纪公司等级和股票最近3个月的涨幅情况这两个特征没有任何偏好,如果没有归纳偏好,就会出现同一只股票的预测有时该买,有时不该买的情况。
接下来,来了一只股票,其特征值为 C等 涨,如果随机选取了第一个假设,我们判断要买,但是如果我们选取了第二个假设,我们判断不能买。一回买一回不买,显然我们制定的这个机器学习算法失灵了。
解决的办法,要么制定特征的归纳偏好,如果偏向于股票经纪公司等级,觉得这个特征更重要,那么我们买;
要么进来更多的训练数据,消除12种假设中的11个,只留下唯一的一个。
总结
以上两个例子阐述了机器学习中非常重要的两个概念:
接下来,我们将阐述机器学习中,最简单也是最基本最重要的一个算法,大致以发问式地思路展开:
1. 回归,从最简单的线性回归入手,最小二乘法基于的前提条件是什么?如果数据误差不满足高斯分布,还能用这个算法吗?
2. 最小二乘法,如何用数学的方法直接求出权重参数?
3. 是不是机器学习的目标函数都能像它一样精确地求出具体的权重参数的计算表达式?
4. 如果不是所有的目标函数都能求出具体的解,那么有没有万能的方法来求解?