zoukankan      html  css  js  c++  java
  • 机器学习基石 之 三大学习原则(Three Learning Principles)

    三大学习原则(Three Learning Principles)

    奥卡姆剃刀 ‘Occam’s razor’

    引用两个名言

    An explanation of the data should be made as simple as possible, but no simpler. —Albert Einstein
    entia non sunt multiplicanda praeter necessitatem (entities must not be multiplied beyond necessity) —William of Occam (1287-1347)

    以上实际上就是奥卡姆剃刀的来源,奥卡姆剃刀的具体解释是:

    ‘Occam’s razor’ for trimming down unnecessary explanation

    image-20200416212224409.png

    实际上就是线性先行的策略,或者说简单先行的策略,因为简单意味着模型复杂度较低)(simple: small hypothesis/model complexity),这就使得的(Omega(N, mathcal{H}, delta))更小,使得 (E_{ ext{out}})(E_{ ext{in}}) 相差不会太高。这里的(Omega)代表模型复杂度惩罚项(penalty for model complexity),在VC Dimension中有定义。

    其指导意见(direct action)是: 线性先行(linear first); 经常考虑是否已经尝试了简单模型(always ask whether data over-modeled)

    采样偏差 ‘Sampling Bias’

    在机器学习可行性分析时,是基于一个前提,那就是 data in/out of sample 是独立同分布的。

    ‘minor’ VC assumption: data and testing both iid from (P)

    所以本原则阐释的是一种现象即如果数据的采样渠道有偏差的话,学习的结果也会是存在类似偏差的。( if the data is sampled in a biased way, learning will produce a similarly biased outcome.)虽然使用交叉验证可以避免一些过拟合问题,但是值得注意的是测试数据,并非未采样数据。

    数据窥探 ‘Data Snooping’

    数据窥探最常见的就是可视化数据后,利用人类智能选取模型,但是一定要考虑到脑袋已经帮助了很多(经过了很复杂的计算),也就是说模型复杂度没那么简单(careful about your brain’s ‘model complexity’),可能会导致过拟合。所以说为了 VC safety 应当尽量避免数据窥探。

    If a data set has affected any step in the learning process, its ability to assess the outcome has been compromised.

    当然在学习过程的任何一个步骤,都可能存在数据窥探,这会导致其输出评估可能会存在问题,使得模型不准确。

    事实上很难避免数据窥探,那应当如何处理呢,这里有两种方法

    • extremely honest: lock your test data in safe (非常诚实,一点也不看测试资料)
    • less honest: reserve validation and use cautiously (不诚实,对验证结果持保留意见,并谨慎使用)

    在实际运用中有两个比较实用的指导方案:

    • be blind: avoid making modeling decision by data (避免通过数据选择模型)
    • be suspicious: interpret research results (including your own) by proper feeling of contamination(对原先的研究成果持怀疑态度)
    任世事无常,勿忘初心
  • 相关阅读:
    关于全志A20的Ubuntu12.04 64位系统下环境配置及编译过程笔记【转】
    使用buildroot创建自己的交叉编译工具链【转】
    什么是make config,make menuconfig,make oldconfig,make xconfig,make defconfig,make gconfig?【转】
    JZ2440专用dnw 支持xp、win7、win8和win10系统【转】
    win10 x64下的DNW驱动不完全安装方法【转】
    GlusterFS
    iOS唯一标示符引导
    lftp使用
    教你10步闯进google play排行榜前列
    ${ }的用法
  • 原文地址:https://www.cnblogs.com/FlameBlog/p/14715265.html
Copyright © 2011-2022 走看看