归纳偏好
归纳偏好(inductive bias),机器学习算法在学习过程中对某种类型假设的偏好。
任何一个有效的机器学习算法必有其归纳偏好,否则它将被假设空间中看似在训练集上等效的假设所迷惑,而无法生成确定的学习结果,这也是机器学习中非常重要的概念,举例说明。
如果我们在购买某个股票时假定根据两个主要特征:股票经纪公司等级和股票最近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. 如果不是所有的目标函数都能求出具体的解,那么有没有万能的方法来求解?