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

    艺少




  • 相关阅读:
    241. Different Ways to Add Parentheses java solutions
    89. Gray Code java solutions
    367. Valid Perfect Square java solutions
    46. Permutations java solutions
    116. Populating Next Right Pointers in Each Node java solutions
    153. Find Minimum in Rotated Sorted Array java solutions
    判断两颗树是否相同
    求二叉树叶子节点的个数
    求二叉树第k层的结点个数
    将二叉排序树转换成排序的双向链表
  • 原文地址:https://www.cnblogs.com/huty/p/8519238.html
Copyright © 2011-2022 走看看