机器学习基本概念-2

Capacity

上篇博客说过,ML的central challenge就是model的泛化能力,也就是generalization.

The ability to perform well on previously unobserved inputs is called generalization.

那什么是Capacity呢?通俗的说就是你的model能够很好地表达examples的数量.

The ability of the learner (or called model) to discover a function taken from a family of functions.

比如说,下面的几个predictor:

  1. Linear predictor y = wx + b
  2. Quadratic predictor y = W2X^2 + W1X + b
  3. Degree-4 polynomial predictor y = b+W1x+W2X^2+W3X^3+W4X^4

明显对于4次多项式函数,其能够capture更复杂的functions.

对于线性的predictor,其能够很好地的代表线性数据,假设此时能够代表的examples的数量是n1,对于二次函数很明显其能够拟合线性的(W2=0)也能够拟合二次的(W2!=0),假设此时能够代表的examples的数量是n2: 明显的, n2 > n1,quadratic predictor family更加丰富(richer).

Capacity can be measured by the number of training examples {Xi , Yi} that the learner could always fit, no matter how to change the values of Xi and Yi.

Underfitting && Overfitting

说这个的话,还是先从训练(Training)开始说起,大家可能经常说训练,但是什么是Training呢?

Training: estimate the parameters of f from training examples {Xi , Yi)}.

Training中,我们会定义一个cost function或者叫objective function,训练中我们需要做的就是最优化次此函数,此时会产生training error. 衡量model的generalization,我们会让model作用在一个单独的set上,叫做test set,同样的也会产生generalization error或者叫test error.

决定算法的优秀程度的因素(factor)就是:

  1. Make the training error small.
  2. Make the gap between training and test error small.

这两个factor实际对应的就是UnderfittingOverfitting.

从学习feature的能力方面描述就是:

Underfitting就是learner不能有效的学习到training examples的特征. Overfitting就是learning对于training examples fits well,但是泛化能力很弱.

从training error和test error方面,大牛Bengio是这样描述的:

Underfitting occurs when the model is not able to obtain a sufficiently low error value on the training set. Overfitting occurs when the gap between the training error and test error is too large.

下面的图直观的表示了Underfitting和Overfitting:

我们通过控制model的capacity,可以看出其更加倾向于Underfitting或者是Overfitting.

model的capacity小的话,可能会出现Underfitting的状况; model的capacity太大的话,可能会出现Overfitting的状况.

Models with low capacity may struggle to fit the training set. Models with high capacity can overfit by memorizing properties of the training set that do not serve them well on the test set.

比如说,对于二次函数可以很好表达的examples,你使用线性去拟合,此时就会出现Underfitting,表现就是training error和test error都很大,同时两者之间的gap很小.

Overfitting的话,其典型表现如下:

很明显,对于上面的图,其发生了Overfitting,下面的图才是此数据点应该有的decision boundary.

常见的发生Underfitting的原因是:

  • Model is not rich enough.
  • Difficult to find the global optimum of the objective function on the training set or easy to get stuck at local minimum.
  • Limitation on the computation resources (not enough training iterations of an iterative optimization procedure).

常见的发生Overfitting的原因是:

  • The family of functions is too large (compared with the size of the training data) and it contains many functions which all fit the training data well.
  • Without sufficient data, the learner cannot distinguish which one is most appropriate and would make an arbitrary choice among these apparently good solutions.
  • In most cases, data is contaminated by noise. The learner with large capacity tends to describe random errors or noise instead of the underlying models of data (classes).

所以谨慎的决定你的model的capacity,我们需要找到Underfitting和Overfitting的过渡点,即找到optimal capacity.

optimal capacity 此时test error和training error的gap最小.

同样的随着training examples的增加,optimal capacity也在变化,如下图:

如果capacity过大,如何减小呢?常用的有如下几种方式:

  • Reduce the number of features.
  • Reduce the number of independent parameters.
  • Add regularization to the learner.
  • Reduce the network size of deep models.
  • Reduce the number of training iterations.

这篇就说到这,下篇继续

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏新智元

机器学习:用初等数学解读逻辑回归

逻辑回归问题的通俗几何描述 逻辑回归处理的是分类问题。我们可以用通俗的几何语言重新表述它: 空间中有两群点,一群是圆点“〇”,一群是叉点“X”。我们希望从空间...

33915
来自专栏大数据挖掘DT机器学习

GBDT(MART) 迭代决策树入门及源码解析

GBDT(Gradient Boosting Decision Tree) 又叫 MART(Multiple Additive Regression Tr...

4476
来自专栏数据科学与人工智能

【陆勤践行】面试之机器学习算法思想简单梳理

找工作时(IT行业),除了常见的软件开发以外,机器学习岗位也可以当作是一个选择,不少计算机方向的研究生都会接触这个,如果你的研究方向是机器学习/数据挖掘之类,且...

1988
来自专栏xingoo, 一个梦想做发明家的程序员

吴恩达机器学习笔记 —— 14 无监督学习

还有一个算法在这次的课程中没有提到,就是kmeans++,它与上面的kmeans不同的是,选择中心点是首先随机选择一个,然后选择一个离当前最远的作为下一个中心点...

630
来自专栏Brian

统计学基础一之数据描述和随机变量

---- 概述 最近在梳理统计学基础,发现一些统计学的基本知识已经全部还给老师。由于在学习和工作中用到一部分,所以又重新拿了起来。统计学:主要分为描述统计学和推...

2484
来自专栏机器学习算法与Python学习

精华 | 机器学习岗面试,这些是基础!(ML,DL,SL相关知识整理)

关键字全网搜索最新排名 【机器学习算法】:排名第一 【机器学习】:排名第二 【Python】:排名第三 【算法】:排名第四 明天推出第3期送书活动 数量10本 ...

3787
来自专栏IT派

理解SVM的三层境界(三)

第三层、证明SVM 说实话,凡是涉及到要证明的东西.理论,便一般不是怎么好惹的东西。绝大部分时候,看懂一个东西不难,但证明一个东西则需要点数学功底,进一步,证明...

2897
来自专栏WD学习记录

机器学习深度学习 笔试面试题目整理(3)

(2)逻辑回归的基本概念    这个最好从广义线性模型的角度分析,逻辑回归是假设y服从Bernoulli分布。

721
来自专栏机器学习算法与Python学习

干货 | 机器学习算法大总结(ML岗面试常考)

键字全网搜索最新排名 【机器学习算法】:排名第一 【机器学习】:排名第二 【Python】:排名第三 【算法】:排名第四 找工作时(IT行业),除了常见的软件...

3436
来自专栏大数据挖掘DT机器学习

机器学习中的数学(6)-强大的矩阵奇异值分解(SVD)及其应用

上一次写了关于PCA与LDA的文章,PCA的实现一般有两种,一种是用特征值分解去实现的,一种是用奇异值分解去实现的。在上篇文章中便是基于特征值分解的一种解释。 ...

2867

扫码关注云+社区