机器学习三原则

| 研究学术  | 机器学习基础 

使用奥卡姆剃刀

An explanation of the data should be made as simple as possible, but no simpler.
—Albert Einstein? (1879-1955)


entia non sunt multiplicanda praeter necessitatem (entities must not be multiplied beyond necessity)
—William of Occam (1287-1347)

奥卡姆剃刀(Occam’s rezor):剃掉不必要的解释。对机器学习,适合数据的最简单模型也是最合理的模型。

  • 简单的假设$h$:小的$\Omega(h)$,假设的参数少;
  • 简单的模型$\mathcal H$:小的$\Omega(\mathcal H)$,包含较少的假设,成长函数增长很慢。

当$\Omega(\mathcal H)$小时,$\Omega(h)$也小。当假设集大小为$2^\ell$时,每个假设最多有$\ell$个参数1。在实际应用中,通过正则化或从简单模型开始尝试,都可以得到简单的假设。

对于简单模型,$m_\mathcal H(N)$小,难以将数据拟合好(拟合好的概率为$m_{\mathcal H}(N)\over 2^N$2)。对简单的模型,如果数据被分开,那么数据是规律的;对于复杂的模型,如果数据能分开,就不能判断数据是否有规律(复杂模型能把任何数据分开)。

在实际应用中,从简单的线性模型开始尝试,经常考量数据是否被模型过度表示(data over-modeled)。

避免抽样偏差

如果数据通过有偏抽样得到[1],学习到的结果也是有偏的。

若从$P_1(\mathbf x,y)$的数据中学习,却在$P_2\neq P_1$的数据中测试,VC理论不适用。相当于学了数学却要参加英语考试。VC理论的前提是训练和测试数据都iid来自同一分布。

通过信用卡用户的信用记录,判断是否给新顾客信用卡。——由于没有未开通信用卡用户的信息,这两者分布可能很不一样……

在实际应用中,尽可能的了解测试环境,使训练环境和测试环境尽量一致。

绝不偷看数据

If you torture the data long enough, it will confess.

使用数据的任何过程都相当于间接偷看了数据。为了让VC维可靠,选择$\Phi$时不应当偷看数据

简单的偷看也会导致结果偏差很大
图 1: 简单的偷看也会导致结果偏差很大 [PNG]

对使用同样数据集$\mathcal D$的论文,后来作者针对以前论文改进,阅读以前论文也就相当于偷看资料。若把这些论文看成一篇长长的论文,付出的模型复杂度为$d_{VC}(\cup_m\mathcal H_m)$,泛化能力差。

偷看数据很难避免,合理处理偷看数据:

合理处理偷看数据

“be blind”是指尽量避免用数据做决定,不要在看了数据之后再决定采用什么样的特征等操作。也就是避免human learning的复杂度进入。

其它三原则

三大工具
图 2: 三大工具 [PNG]
三大理论边界
图 3: 三大理论边界 [PNG]

参考资料

  1. [1]达莱尔·哈夫, 统计陷阱. 上海: 上海财经大学出版社, 2002.

脚注

  1. 为什么最多$\ell$个参数? 

  2. 这个比率什么意思? 


打赏作者


上一篇:验证     下一篇:分类器融合(5):梯度提升决策树