北京大学王立威教授:机器学习理论的回顾与展望(二)_LOL外围网站

互联网

本文摘要:(公共编号:)AI科学技术评论根据王立威教授在中国人工智能学会AIDL第二期人工智能最前沿讲座*机械学习最前沿不报告的《机械学习理论:总结与未来发展》编辑整理,在不改变意图的基础上稍作删改。

LOL外围

(公共编号:)AI科学技术评论根据王立威教授在中国人工智能学会AIDL第二期人工智能最前沿讲座*机械学习最前沿不报告的《机械学习理论:总结与未来发展》编辑整理,在不改变意图的基础上稍作删改。王立威王立威在北京大学教授主要研究领域为机器学习。此外,还包括COLT、NIPS、JMLR、UPAMI等权威会议期刊公开发表了60多篇论文。2010年入选,AI’s10totoWatch,是第一位获得该奖项的亚洲学者。

2012年获得首批国家自然科学基金优秀青年基金,新世纪优秀人才。任命NIPS等权威会议,AreaChair和许多学术期刊编辑委员会。以下是王立威教授现场演讲的第二部分,主要复盖面积VC理论的说明。

接下来,我想向大家说明机械学习中的第一个理论,也是机械学习中至今影响仅次于、范围最广的理论。这个理论被称为VC理论,VC这个字代表了两个名字的首字,他们是Vapnik和Chervonenkis。最初,机械学习中除了深入自学外,还有非常重要的算法,实质上是实现纯理论的学者明确提出的。

其中SVM是VC理论中的Vapnik明确提出的。我们来考虑VC理论是如何解读机器学习理论的。这里有很多定义,我一个接一个地向大家说明,只向个别名词说明。

有些数据,例如,这个数据是图像,可以指出图像空间中不存在的数据,对这个图像进行分类的话,可以把类别标记也看作子集。自学时,只有最重要的假设,也是基本的理论框架,假设我们观察到的数据是随机产生的。例如,我们现在必须接受任务,研究图像分类问题。

我现在手里有一千万张照片。例如,ImageNet,可以想象这个ImageNet是世界上可能的相关图像随机提取的。这个假设只是合理的。

这里的数据是随机提取的,这个随机提取是根据某个生产状态随机提取的。并且,将来从这些数据中学习分类器,学习模型后,可以假设应用于场合的数据。也就是说,我们实际应用的时候,那些数据也应该随机提取,训练数据应该从一定程度上提取,这样的假设是必然的。

如果我将来应用的场合和我训练的场合不是同一个产地的话,可以稍微区别一点,但是如果场合和训练的场合没有任何关系的话,机器学习就不能成功。这是一些基本的定义。

另一个定义是,自学时必须有模型。这个模型可能是直线模型。例如,前面推荐的例子也可能是SVM这样的非直线模型。如果是线性模型的话,SVM可以看作是低维度空间,也可以看作是无限维度的线性模型。

或者你正在学习深度自学和网络,但不管你使用哪种模型,你都允许分类器集中在某个子集中。线性模型是所有线性模型的子集,SVM是Hilbert空间的线性分类器。如果是Network的话,Network的水平、结构是一样的,在这样的水平结构下,所有可能的Network子集。

因为不同的参数不会得到不同的网络。当然,如果你的层数和结构星型,我可以再次扩大我的子集。

这样的子集一般被称为假设空间。换句话说,你自学的模型总是从限定版中得到的,不是自由选择的。

这个概念只是最重要的。总结刚才提到的胡克法则和开普勒法则,但与这个问题有关。胡克法则本质上已经将假设空间允许在线模型中。

允许后,找最差的线性模型适应环境的数据。开普勒模型允许在椭圆模型中。

因此,假设模型也是最重要的。有了刚才这些基本概念,我们来说明一下自学理论最重要的概念——一般化。什么是一般化,一般化只是非常简单。

以前,自学的目的是理解模型,使该模型在未来应用于场景的数据中具有非常低的精度。一般化错误是指将来模型应用于场景下的错误率,称为一般化。为什么它被称为普通化?我们可以比较经验上的错误或训练数据上的错误。

一般来说,大家在训练一个问题的时候,可以得到很多训练数据,学习分类器,在训练数据上得到错误率。这个训练的错误率和刚才谈到的一般错误率本质上在后面,这两者有非常本质的不同。

这个区别正是机器学习理论需要研究的内容。刚才,我们谈到了大规模法则和中心无限大规模法则。我们谈到的是,例如,抛弃硬币和多次抛弃后的平均值最终不会倾向于数学希望。如果我们仔细考虑技术细节,我们刚才的自学,如果有等价的分类器,这个分类器的错误率,比如训练数据的错误率,实质上每个训练数据是否正确,这个值是所有训练数据的平均值:错误记录1,正确记录0,这样的平均值。

根据我们刚才谈到的大数法则、中心无限大定理,甚至不等式,说明随着训练数据的减少,你等价的数据在训练子集中的错误率应该倾向于数学希望。让我们看看这个数学希望是我们前面定义的所谓一般错误。一般错误只是你错误率的数学希望。未来未见的数据错误率是你的期望值。

那个大数法则为什么会丢弃你的问题需要解决呢?我只要训练,找一个训练的模型,他在训练上有一个小错误,根据大数法则不是希望错误率低吗?希望错误率正好是我们将来应用于场景的错误率。这里有什么问题吗?其中最重要的逻辑错误之一是,自学过程是指在相当大的模型集中选择明确的模型过程,选择这个过程不能再应用刚才我们说的大数法则,如果对这个细节感兴趣的话,大家回来后就会仔细考虑我上页的PPT内容选择这个过程是极其核心的。

由于你附加的模型范围相当大,此时选择的模型的训练错误率不一定与希望相似,可能差异很大。用胡克法则推荐直观的例子。例如,这里有弹簧,实验100次。如果我把这个模型的空间放在所有可能的99阶段的多种类型的话,我一定能从这个模型的空间中找到99阶段的多种类型,我们观察到的100个数据几乎复盖面积。

此时,你的训练错误率为零,此时一般化的结果是多少?也就是说,当你新实验并获得新数据时,你希望的错误率是多少?如果给你99级的多种类型,它的变动很多的话,新的数据来了之后,这个99级的多种类型的认同性能非常差,从直观上可以看出没有稳定性。这叫过度数值。

因为你是指相当大的子集中选择的这个模型,所以这个模型很好地处理你的数据,但是过度的数值没有超过一般化的目的。在这里,我一句话,虽然我不会在后面谈论这个问题,但今天可能有很多老师和同学都在深入自学,也可能有相当多的老师和同学训练神经网络的经验。大家在训练神经网络的过程中是否有这样的经验,在非常部分的训练实验中,你的训练错误可以非常低。但是,在我的测试数据中,开始这个测试数据可能会减少,但是在训练到一定程度后进行训练,测试错误增加了。

这是训练深度自学时经常不到的问题。这就是典型的过度数值。在训练数据中做得很好,但测试数据的差异相当大。

但是,这种现象也是机器学习最明显的现象,而且我并不是因为深刻的自学时代到来了,所以不存在过度的数值。即使用相当大的数据集也不存在。

LOL外围网站

朱军老师刚告诉大家,随着深度自学近年来的发展,避免数值是最重要的。所以,在今天所谓的大数据时代,在深度自学的时代,还是经常发生的,之后更加细致地谈论这个问题,要意识到如何解决问题。回到刚才的问题,如何确保机器学习具有良好的一般化能力?这里提到了最重要的概念uniformgeneration。

简而言之,你现在的目的是确保你学到的分类器将来有很好的效果,为了确保这一点,实际上在相当大程度上确保你刚才模型选定的这个空间中所有的分类器都需要更好的一般化能力,同时具有更好的一般化能力。只有在这样做的时候,学习分类器才能有更好的一般化能力。

在观察训练数据之前,不告诉我学习的是哪个分类器,如果能确保对方集中可能的分类器都有良好的一般化能力,就能确保学习的也有这样的能力。那么,如何确保所有子集中选定的分类器具有良好的一般化能力呢?它与什么有关?我今天不怎么说很多学上的细节。其核心点是你选择模型的子集有多大。明确了这个符号,如果你选择的模型集受到限制的话,只含有限制多的分类器,这个符号表示不含分类器的数量。

简而言之,模型中包含的分类器越多,为了确保学习的分类器具有良好的一般化能力,需要更好的数据。回到胡克的例子,如果使用非常简单的模型,例如使用阶段性的模型,稍后我会谈。

阶段性的模型是比较小的子集,但实质上含有无限的要素。线性的模型有无限的多个,那是倒数。

这个地方从直观的角度可以指出是比较小的模型,其中包含的要素的数量很少。由于一级线性模型在某种程度上是一个相对较小的子系列,此时只需要少数实验,10个观测数据可能可以学习更好的模型,另一个新的数据可能更好。但是,如果知道想学习99阶多种模型的话,所需要的数据量会变大。

刚才我们说,你有100个数据想学习99阶段的多种类型,这个自学理论告诉他100个数据太少,需要1万个数据。当你观察到10,000个数据时,你可以使用99个项目来再次观察。

哪个最糟糕的99个项目需要更符合我的训练数据?你可能不会惊讶地找到这个99个项目。99和98仍然是第二个项目前的系数。实质上,这是一个现象。让我总结一下。

这个自学理论告诉他,如果我想在候选人的子集中自由选择模型的话,必要的数据量一定与模型的复杂性有关。用今天更少见的深度自学来形象比喻,如果想训练一千层的网络,比如说这个网络有几百万个节点,想训练十层的网络,这个网络可能是几千个节点,想想哪个网络需要的训练数据量更多承认模型简单,深层节点数多,必要的训练数据量多。换一种回应方式,假如我等你10万个数据得话,你应当随意挑选哪些规模的网络培训,这对实际应用有挺大的指导意义,假如你不了解这一机器学习的基本思想,那麼就沒有指导意义。因此,机器学习可以告诉他你应该在什么范围内自由选择模型的复杂性,从本质上看机器学习理论是用来做什么的。

不是明确的证明,而是告诉他高水平的想法。这里告诉他的是,当你有一些数据时,你应该根据你的数据来自由选择模型的复杂性。如果大家不相信回来实验的话,拿着1万个数据,用几百层的神经网络训练的话,就不会再发生我刚才说的过度数值了。

我想你实现10次实验至少会发生8、9次。刚才谈到VC理论,如果只是这么简单的故事,就不能说是理论。理论技术的核心是需要非常正确的分析叙述。这个分析的叙述本质上可以对无限大的儿子进行简单的叙述。

如果是有限的子集,这个子集的要素数就是描绘它的大小,这个子集是无限大的时候,怎么描绘呢?因此,v、c两人明确提出理论,将无限大子集中描绘的参数称为VC维度。它非常好地描绘了无限大的子集。如果它包含分类器,它的复杂性有多大?大家都找不到它的应用范围很广,也找不到它在计算机的许多领域得到广泛应用。简单来说,VC维度越大,说明模型就越简单。

这样的模式要想训练得好,就必须有。许多培训数据。感兴趣的老师和同学们,如果能清楚地看到例子的话,罕见的模型可以计算VC维度。如果使用线性模型这种古典模型,可以大致分析说明。

如果你的模式VC维度是10,你需要多少训练数据?我指出,VC维度大约需要10倍,即100个培训数据。因此,如果你的VC维度是1亿模型,只有1千个训练数据,就不可能训练,过度数值的认可相当严重。但是,VCdimesnion比数据量小得多的话,南北还有一个极端的数值严重不足。

也就是说,最差的模型还不能进行数值训练数据,所以在这些方面需要更加注意。最后总结一下,VC维度描绘的是什么?VC维度描绘的是从什么样的模型集中训练,描绘的是模型集的复杂性,研究的是结构性质。

VC维度本身没有告诉我算法。只告诉他你现在有这样一个VC维度。你可以对任何模型组合,比如估计它的VC维度。

你可以告诉我你必须使用多少培训数据,但是这对你的自学算法有什么用?VC维度只是没有问题。你的自学算法交织VC维度,实质上是指在这个模型集中找到比训练错误大的东西。

大家看不见。后面的许多自学理论和VC理论是最重要的,VC理论与算法没有太大关系,研究子集大小的复杂性。有了VC维D之后,我大概就可以知道一般错误和训练错误之间有什么分析关系了。

核心是√D/N,n是数据量,d是VC,dimesnion,所以刚才数据量至少是VC,dimesnion的10倍,跟踪数据足够小。这个地方可以用图来表现一般的错误和训练的错误。该图横坐标是模型集的复杂性,左低右低的纵轴代表错误,该曲线是经验错误,该u型曲线是一般化/测试错误。

随着你的模型最简单,也就是说数值严重不足、训练失误和一般失误相当大,最右边得到过度的数值,也就是说训练失误很低,但模型非常复杂,一般失误也相当大,所以必须找到非常合适的复杂性作为最后模型自由选择的范围。这是VC理论获得的思想。

大家一定要找到适合复杂性的模型。刚说的VC理论本身与算法无关,但机械学习最后实施算法的方法是利用VC理论的思想协助设计算法吗?只是,中用最少的是正则化。许多人可能听说过这种方法。例如,在结构风险最小化(SRM)中明确提出的是,通过水平(hierarchy)实现模型的子集。

更好的正则化是,我优化的目标是我训练的数据,但我必须追加模型的复杂性。刚才谈到模型的复杂性对一般化错误的影响,使用算法的话,自然的思想就是使用正则化。这是算法层面的构建,这是最重要的。

SEM,非常典型的L2正则化,前面是所谓的训练损失。还有L1的正则化、LASSO等。

还有Boosting,它是一个递进的过程,每一个递进一步,分解一基本分类器,最后将所有基本分类器整合到一起。看来随着递减的大幅度,模式不会更简单。

如何解决问题模型过于简单的最后过度数值?earlystoping是一种方法。你在深度自学中使用过earlystoping吗?在很多情况下使用Network的情况下,实际上必须停止使用earlystoping,训练一定的epoch。有时候,如果大幅度返还的话,我最后很可能不会有太多的数值。

1000个和50个的结果可能不同。但是,一千个以后的epoch可能比50个小得多,但是你回到1000个时候的测试错误可能已经很大了。

本文是北京大学王立威教授《机械学习理论总结与未来发展》的主题报告(二),如果以前的主题报告没有关注AI科学技术评论,则以前的报告。版权文章允许禁止发布。下一篇文章发表了注意事项。

本文关键词:LOL外围,LOL外围网站

本文来源:LOL外围-www.dsdsuda.com

相关文章

网站地图xml地图