第二部分:几个简单的研究思路
在这部分,我的关注则回到机器学习的研究本身上来。机器学习内容博大精深,而且新方法、新技术正源源不断地被提出、被发现。这里,我试图用“多级”、“自适应”以及 “平均”等概念来简约纷繁多彩的机器学习模型和计算方法背后的一些研究思路和思想。希望这些对大家理解机器学习已有的一些模型、方法以及未来的研究有所启发。
- 多级 (Hierarchical)
首先,让我们来关注“多级”这个技术思想。我们具体看三个例子。
第一个例子是隐含数据模型,它就是一种多级模型。作为概率图模型的一种延伸,隐含数据模型是一类重要的多元数据分析方法。隐含变量有三个重要的性质。第一,可以用比较弱的条件独立相关性代替较强的边界独立相关性。著名的de Finetti 表示定理支持这点。这个定理说,一组可以交换的随机变量当且仅当在某个参数给定条件下,它们可以表示成一组条件随机变量的混合体。这给出了一组可以交换的随机变量的一个多级表示。即先从某个分布抽一个参数,然后基于这个参数,独立地从某个分布抽出这组随机变量。第二,可以通过引入隐含变量的技术来方便计算,比如期望最大算法以及更广义的数据扩充技术就是基于这一思想。具体地,一些复杂分布,比如t-distribution, Laplace distribution 则可以通过表示成高斯尺度混合体来进行简化计算。第三,隐含变量本身可能具有某种有可解释的物理意思,这刚好符合应用的场景。比如,在隐含狄利克雷分配(LDA)模型,其中隐含变量具有某种主题的意思。
第一个例子是隐含数据模型,它就是一种多级模型。作为概率图模型的一种延伸,隐含数据模型是一类重要的多元数据分析方法。隐含变量有三个重要的性质。第一,可以用比较弱的条件独立相关性代替较强的边界独立相关性。著名的de Finetti 表示定理支持这点。这个定理说,一组可以交换的随机变量当且仅当在某个参数给定条件下,它们可以表示成一组条件随机变量的混合体。这给出了一组可以交换的随机变量的一个多级表示。即先从某个分布抽一个参数,然后基于这个参数,独立地从某个分布抽出这组随机变量。第二,可以通过引入隐含变量的技术来方便计算,比如期望最大算法以及更广义的数据扩充技术就是基于这一思想。具体地,一些复杂分布,比如t-distribution, Laplace distribution 则可以通过表示成高斯尺度混合体来进行简化计算。第三,隐含变量本身可能具有某种有可解释的物理意思,这刚好符合应用的场景。比如,在隐含狄利克雷分配(LDA)模型,其中隐含变量具有某种主题的意思。
Laten Dirichlet Allocation
第二个例子,我们来看多级贝叶斯模型。在进行MCMC抽样后验估计时,最上层的超参数总是需要先人为给定的,自然地,MCMC算法收敛性能是依赖这些给定的超参数的,如果我们对这些参数的选取没有好的经验,那么一个可能做法我们再加一层,层数越多对超参数选取的依赖性会减弱。
Hierarchical Bayesian Model
第三例子,深度学习蕴含的也是多级的思想。如果把所有的节点全部的放平,然后全连接,就是一个全连接图。而CNN深度网络则可以看成对全连接图的一个结构正则化。正则化理论是统计学习的一个非常核心的思想。CNN和RNN是两大深度神经网络模型,分别主要用于图像处理和自然语言处理中。研究表明多级结构具有更强的学习能力。
Deep Learning
- 自适应 (Adaptive)
我们来看自适应这个技术思路,我们通过几个例子来看这个思路的作用。
第一个例子是自适应重要采样技术。重要采样方法通常可以提高均匀采样的性能,而自适应则进一步改善重要采样的性能。
第二个例子,自适应列选择问题。给定一个矩阵A,我们希望从中选取部分列构成一个矩阵C,然后用CC^+A去近似原矩阵A,而且希望近似误差尽可能小。这是一个NP难问题。在实际上,可以通过一个自适应的方式,先采出非常小一部分C_1,由此构造一个残差,通过这个定义一个概率,然后用概率再去采一部分C_2, 把C_1 和 C_2 合在一起组成C。
第三个例子,是自适应随机迭代算法。考虑一个带正则化的经验风险最小问题,当训练数据非常多时,批处理的计算方式非常耗时,所以通常采用一个随机方式。存在的随机梯度或者随机对偶梯度算法可以得到参数的一个无偏估计。而通过引入自适应的技术,可以减少估计的方差。
第四个例子,是Boosting分类方法。它自适应调整每个样本的权重,具体地,提高分错样本的权重,而降低分对样本的权重。
- 平均 (Averaging)
其实,boosting 蕴含着平均思想,即我最后要谈的技术思路。简单地说,boosting是把一组弱分类器集成在一起,形成一个强的分类器。第一好处是可以降低拟合的风险。第二,可以降低陷入局部的风险。第三,可以扩展假设空间。Bagging同样是经典的集成学习算法,它把训练数据分成几组,然后分别在小数据集上训练模型,通过这些模型来组合强分类器。另外这是一个两层的集成学习方式。
经典的Anderson 加速技术则是通过平均的思想来达到加速收敛过程。具体地,它是一个叠加的过程,这个叠加的过程通过求解一个残差最小得到一个加权组合。这个技术的好处,是没有增加太多的计算,往往还可以使数值迭代变得较为稳定。
另外一个使用平均的例子是分布式计算中。很多情况下分布式计算不是同步的,是异步的,如果异步的时候怎么办?最简单的是各自独立做,到某个时候把所有结果平均,分发给各个worker, 然后又各自独立运行,如此下去。这就好像一个热启动的过程。
正如我们已经看到,这些思想通常是组合在一起使用的,比如boosting模型。我们多级、自适应和平均的思想很直接,但的确也很有用。
在AlphaGo和李世石九段对弈中,一个值得关注的细节是,代表Alpha Go方悬挂的是英国国旗。我们知道AlphaGo是由deep mind团队研发的,deep mind是一家英国公司,但后来被google公司收购了。科学成果是世界人民共同拥有和分享的财富,但科学家则是有其国家情怀和归属感。
位低不敢忘春秋大义,我认为我国人工智能发展的根本出路在于教育。先哲说:“磨刀不误砍柴工”。只有培养出一批又一批的数理基础深厚、计算机动手执行力极强,有真正融合交叉能力和国际视野的人才时,我们才会有大作为。
致谢
上述内容是根据我最近在第九届中国R语言会议(http://china-r.org/bj2016/)和上海交通大学的两次讲座而整理出来的,特别是R会主办方统计之都的同学们帮我做了该次演讲的记录。感谢统计之都的太云、凌秉和象宇的邀请,他们和统计之都的伙伴们正在做一件意义影响深远的学术公益,你们的情怀和奉献给了我信心来公开宣讲自己多年来的真实认识和思考。感谢我的学生们帮助我准备这个讲演报告,从主题的选定,内容的选取,材料的收集以及幻灯片的制作他们都给了我极大的支持,更重要的是,他们让我在机器学习领域的求索一直不孤独。谢谢大家!
机器学习研究思路解析
6427

被折叠的 条评论
为什么被折叠?



