zoukankan      html  css  js  c++  java
  • 台大机器学习基石课程之机器学习基本原理和概念

    前段时间在网上看到了coursera公开课台大机器学习基石课程,比较全面而且清晰地将机器学习所需的基本知识、理论基础给与了讲解。foundation中有几个比较重要的概念和思想,先进行一下回顾,然后开启对后续技法课程的学习和总结。

    1. VC dimension(VC维,非常重要的概念)

    能够shutter 二分类问题的上限。也是衡量模型复杂度的工具(类似自由度的概念)。之所以这个概念比较重要是它能够解释为什么机器能够学习。
    1),以概率统计中常用的手段:用sample来估计整体,机器学习也是如此,就是说,通过对采样得到的sample进行学习,能够用来对out of sample进行估计、处理、预测、分类等等。所谓的学习就是从一堆Hypothesis(set)中,利用sample,通过learning algorithm赛选出合适的hypothesis - g的过程。
    2)塞选的标准通常是各种类型的error(0/1error,square error...),这些误差是用来调节W权重,最后得到比较小Error (in sample)的hypothesis(g)。
    3)这个g只是在in sample上表现比较好,其实在in sample上表现好并没什么卵用,因为如果你只是处理in sample数据的话就没有必要进行机器学习,之所以使用机器学习,就是因为不可能得到所有的data,你只能sample一部分的sample。所以最好的g应当是在out of sample上表现好的。因为,我们并不能测得error in sample,所以最好的办法就是建立error in sample 与error out of sample的联系,能不能有一个upper bound来衡量两者之间的关系呢?答案是肯定,那就是Hoeffding's 不等式。
    4)hoeffding不等式说明了一个问题,如果Hypothesis set中hypothesis能shutter很多种类(就是VC dimension很大),就会导致这个Error in sample与Error out of sample相差很大,也就是指模型复杂度很大。这样error in sample 你能做的很小,但是error out of sample会很大。
    5)VC维大=>模型复杂度高=>error in sample 小=>模型不够平滑=>generalization能力弱=>error out of sample大=>overfitting=>模型并没有卵用。


    2. Generalization(泛化能力)

    1)衡量模型在out of sample上的表现;
    2)通常曲线越平滑,泛化能力越强,但error in sample就可能越大,underfitting;曲线也复杂,error in sample就可能做的越小,但泛化能力越弱,overfitting;


    3. Regularization(正则化)

    1)用来控制模型复杂度,从而实现Error in sample与Error out  of sample的逼近,也就是使得既具有较好的精度,又有较好的泛化能力;

    2)不同的regularizer对应不同的回归方法:L1,L2,...实际上就是一种惩罚措施。用来权衡是要好的error和好的generalization能力;


    4. Validation

    用来衡量机器学习泛化能力的一种方法。因为机器学习得到的Hypothesis是为了在out of sample上进行处理,而不是在in sample上处理。所以,用来评价机器学习是否学到位的一种手段就是从validation。一般的做法是将先验的数据集分开为训练集和验证集,用训练集进行Hypothesis的学习,用验证集决定学习的终止条件,并给出学习的Hypothesis性能指标。但是如果将数据集分开,那么用于训练的样本就变少了。我们知道训练集的样本数N是机器学习中防止overfitting的一重大的因素。如果模型复杂度较高的话,通常需要增加训练样本的数量来克服由于模型复杂度导致的overfitting的风险。比如神经网络就是一种典型的例子。所以最好是能够不减少训练集的样本数,而且还能进行validation。这样就提出了leave one out的validation和N-folder validation。



    除了以上四个我觉得极为重要的概念和思想,还有一些主要内容比如:导致overfitting的几种原因:过度使用vc dimension,noise和limited data size N,解决overfitting的几种方法、技巧:validation(cross validation,leave one out validation, N-folder valiation...),data hinting, data cleaning/pruning, regularization, start from simple model等等。这里都不再进行总结

    *********************************

    2015-8-16

    艺少




  • 相关阅读:
    Ubuntu16.04下搭建LAMP环境
    关于下载SAE日志签名认证的方法——PHP版
    时隔这么长时间,又回来写博客了
    转战网站后台与python
    学习之路
    周末随笔
    Shell基础-环境变量配置文件
    关于骑行
    MYSQL 8.0 linux安装步骤
    一个golang项目笔记 (二) 动态加载库
  • 原文地址:https://www.cnblogs.com/huty/p/8519238.html
Copyright © 2011-2022 走看看