Coursera台大机器学习课程笔记12 -- Hazard of Overfitting

这一节讲的是overfitting,听完对overfitting的理解比以前深刻多了。

先介绍了过拟合,后果就是Ein很小,而Eout很大。然后分别分析了造成过拟合的原因。

首先是对横型复杂度对过拟合的探讨。模型越复杂,越可能产生过拟合。然后给出了造成这一结果的原因:样本数量太小。这是在有noise的情况下,

那么假如没有noise呢?

用下面两幅图来表明各个参数的影响:

从图中可看出,noise和模型复杂度都会对过拟合产生影响。其中需要注意的是右图左下角的那块区域。采用了复杂的模型

就相当于产生了noise,这被称为deterministic noise(比较难理解),与之对应的是stochastic noise。总结过拟合的原因就是四个:

数据量N少,随机噪音高,确定性噪音高,过量的VC维。

最后提出了解决过拟合的方法,包括数据清理/裁剪(data cleaning/pruning),数据提示(data hinting),正则化(regularization),确认(validation),并

以开车举例来说明这些方法的作用,后两种方法也是后两节课的内容。

data cleaning/pruning就是改正或删除错误的样本点,处理简单,但通常这样的样本点不易被发现。

data hinting就是通过产生虚拟样本来产生更多的样本数量

时间: 2024-07-30 15:20:03

Coursera台大机器学习课程笔记12 -- Hazard of Overfitting的相关文章

Coursera台大机器学习课程笔记8 -- Linear Regression for Binary classification

之前一直在讲机器为什么能够学习,从这节课开始讲一些基本的机器学习算法,也就是机器如何学习. 这节课讲的是线性回归,从使Ein最小化出发来,介绍了 Hat Matrix,要理解其中的几何意义.最后对比了linear regression 和 binary classification,并说明了linear regression 为什么可以用来做 binary classification .整节课的内容可以用下面的图来表示: 与其他课程的线性回归相比,这门课要更加理论,看完后对这门课有了更深的理解

Coursera台大机器学习课程笔记13 -- Regularization

这一节讲的是正则化,在优化中一直会用到正则化项,上课的时候老师一句话代过,没有作过多的解释.听完这节课后, 才明白好大学和野鸡大学的区别有多大.总之,这是很有收获的一节课. 首先介绍了为什么要正则化,简单说就是将复杂的模型用简单的模型进行表示,至于如何表示,这中间有一系列推导假设,很有创意. 第二小节深入的解释了优化中拉格朗日乘子,提出了argument error的概念.关于乘子和正则化项的关系:乘子大,正则化项小,即C小,则模型越简单. 虽然有图,但听起来仍然十分的抽象. 第三小节是关于正则

Coursera台大机器学习课程笔记9 -- Logistic Regression

这一节课主要讲如何用logistic regression做分类. 在误差衡量问题上,选取了最大似然函数误差函数,这一段推导是难点. 接下来是如何最小化Ein,采用的是梯度下降法,这个比较容易. 参考:http://beader.me/mlnotebook/section3/logistic-regression.html http://www.cnblogs.com/ymingjingr/p/4330304.html

Coursera台大机器学习课程笔记10 -- Linear Models for Classification

这一节讲线性模型,先将几种线性模型进行了对比,通过转换误差函数来将linear regression 和logistic regression 用于分类. 比较重要的是这种图,它解释了为何可以用Linear Regression或Logistic Regression来替代Linear Classification 然后介绍了随机梯度下降法,主要是对梯度下降法的一个改进,大大提高了效率. 最后讲了多类别分类,主要有两种策略:OVA和OVO OVA思想很简单,但如果类别很多并且每个类别的数目都差不

Coursera台大机器学习课程笔记6 -- The VC Dimension

这节课同样非常的抽象,主要讲的是VC Dimension,这节课最重要的是这幅图: 参考:http://www.cnblogs.com/HappyAngel/p/3633989.html

Coursera台大机器学习基础课程学习笔记1 -- 机器学习定义及PLA算法

这学期学了机器学习这门课,想趁期末看看台大的这门课再把课程梳理一遍. 笔记可以参考这位博主,写得还不错:http://www.cnblogs.com/HappyAngel/p/3456762.html 其中证明PLA算法确实能够越来越接近最完美的感知机以及PLA算法最后一定能停下来那部分非常的精彩. 最后对那些线性不可分的数据,提出了一个Pocket PLA算法,实质就是PLA算法,只不过稍有不同,但也能满足一定的要求.

Coursera台大机器学习技法课程笔记01-linear hard SVM

极其淡腾的一学期终于过去了,暑假打算学下台大的这门机器学习技法. 第一课是对SVM的介绍,虽然之前也学过,但听了一次感觉还是很有收获的.这位博主总结了个大概,具体细节还是 要听课:http://www.cnblogs.com/bourneli/p/4198839.html 这位博主总结的很详细:http://www.cnblogs.com/xbf9xbf/p/4617120.html

Coursera台大机器学习技法课程笔记11-Gradient Boosted Decision Tree

将Adaboost和decision tree相结合,需要注意的地主是,训练时adaboost需要改变资料的权重,如何将有权重的资 料和decision tree相结合呢?方法很类似于前面讲过的bagging,通过采样资料来使资料获得不同的权重. 一棵完全的树的权值会无限大,可能出现过拟合.因此需要得到一棵弱分类的树,方法如下: 接下来比较深入的分析adaboost.经过代换,出现了如下惊人的结果: 某个资料的权重正比于投票分数 联系到之前学习的SVM,发现了一个秘密:投票的分数就是某个点到分隔

Coursera台大机器学习技法课程笔记03-Kernel Support Vector Machine

这一节讲的是核化的SVM,Andrew Ng的那篇讲义也讲过,讲的也不错. 首先讲的是kernel trick,为了简化将低维特征映射高维特征后的计算,使用了核技巧.讲义中还讲了核函数的判定,即什么样的函数K能使用kernel trick. 此外,核函数还可以衡量两个特征的相似度,值越大,越相似. 接着讲的是Polynomial Kernel,需要注意的是核函数的系数和常量,这会影响到最终的margin. 再接着讲了高斯Kernel,它能将原始数据映射到无限维!但是如果参数选的不好就会出现过拟合