机器学习为什么需要训练,训练出来的模型具体又是什么?

一直搞不懂为什么机器学习中训练是训练什么?其中的参数还是?训练的模型又是怎样的?
关注者
242
被浏览
35158
很久没从事专业相关工作,尽力说一下自己的理解,可能有些表述不是特别精确,烦请指正并见谅。

先从有监督问题谈起,形式上,无论解析还是非解析,有监督问题都可看作根据已知数据在全体映射空间\mathcal{F}中寻找最优映射f^*(\bf{x})=\bf{y},其中\bf{x}为输入,\bf{y}为输出。寻找符合已知数据的映射很简单,难点在于理论上来说,未知输入等可能对应任意输出,这样一来预测则成为无稽之谈(No Free Lunch)。
举个例子,求解找规律题目“1, 2, 3, 4, ( ), 6”,一般人都会在括号里填5。然而理论
上来说这个括号里可以是任意数字,比如4。不知道大家是否考虑过凭什么“每次增1”是规律
而“先增三次1然后保持不变然后再持续增1”就不可以是规律。那是因为我们不知不觉中使用了
题目并未给出的一些前提假设,比如奥卡姆剃刀原则,“每次增1”看起来明显比后者更简洁优
雅,更容易被人接受。
解释这个概念就不能不提到Inductive Bias,意指在求解学习问题前必须拥有的一系列前提假设。当我们选定一个广义上的model,其实可以看作选定了一组inductive bias。特定的model/inductive bias可以在浩瀚的全体映射空间\mathcal{F}中圈定出一个子空间\mathcal{\hat{F}},然后通过inductive bias提供的方式(一般为某种loss function)寻找符合已知数据的model参数,从而又在\mathcal{\hat{F}}中进一步缩小搜索范围直至确定最优次优映射\hat{f}(f^*可能本不在\mathcal{\hat{F}}中)。

所以应了那句话,“All models are wrong, but some are useful.” 得出什么样的答案,很大程度上取决于我们使用什么样的假设。

那么此问题的答案是:模型是求解学习问题的一系列前提假设/inductive bias,根据已知数据寻找模型参数的过程就是训练,最终搜索到的映射\hat{f}被称为训练出来的模型。


注:

1. 这里所谓的“最优”,“次优”,“符合”等描述是根据预先设定好的测量标准/目标函数进行
阐释的,属于model/inductive bias的一部分。

2. 之所以说“广义上的model”,是因为一般形式上会对prior distribution,model(实际指映射
表达式)以及loss function等进行区分,这里为方便阐述,不加区分的算成广义上
的model,因其均为inductive bias。


无监督问题大致上也类似,前提假设甚至会表现得更为明显,有一则段子:

@南大周志华
“聚类的故事:老师拿来苹果和梨,让小朋友分成两份。小明把大苹果大梨放一起,小个头的放一起,老师点头,恩,体量感。小芳把红苹果挑出来,剩下的放一起,老师点头,颜色感。小武的结果?不明白。小武掏出眼镜:最新款,能看到水果里有几个籽,左边这堆单数,右边双数。老师很高兴:新的聚类算法诞生了”

PS: 人类的各种错觉,比如视错觉,也可看成是一系列人脑硬编码的inductive bias,用以辅助学习方便解决现实问题,所以各假设都具有其对应的适用范围。

参考:
机器学习物语(1):世界观设定 « Free Mind
Inductive bias
University of Edinburgh MLPR 2012 Lecture - Introduction