【一起看花书1.3】——第5章 机器学习基础

先验是“知识”,是合理的假设
本文内容对应于原书的5.7-5.11共5小节内容,其中知识性、结论性的内容偏多,也加入了点个人见解。

目录:

  • 5.7监督学习
  • 5.8无监督学习
  • 5.9随机梯度下降
  • 5.10构建机器学习算法
  • 5.11深度学习发展的动力

5.7 监督学习

监督学习,本质上是复杂函数的拟合,即给定特征 x x x,我们需要得到标签 y y y,这不就是求一个函数的拟合嘛?线性回归是比较简单的,从高代、概率论就可以理解,甚至用傅里叶级数、插值,不也是嘛?只不过形式太复杂了,我们不能简单的用这些工具。

这里作者大概提了几类方法:

  • 概率监督学习
  • SVM(包括使用了核方法的)
  • KNN
  • 决策树

其中,概率监督学习指的是,我们通过确定正确的输入和输出变量上的有参条件概率分布族,再根据某种方法选择答案(如概率最大)。相同的策略基本上可以用于任何监督学习问题,包括各种回归问题、分类问题,用到logisitc回归、感知机乃至神经网络,基本都是这样的。

这里就不详细介绍监督、无监督算法了,到时候在基础模型和算法会在【基础知识】专栏具体介绍。

5.8 无监督学习

作者给出的通俗解释:无监督学习的大多数尝试是指从不需要人为注释的样本的分布中抽取信息。该术语通常与密度估计相关,学习从分布中采样、学习从分布中去噪、寻找数据分布的流形或是将数据中相关的样本聚类

更通俗的说,无监督学习就是学习“数据结构”。比如,我们通过给定某种指标,使得模型能够知到,“香蕉、苹果、梨”是一类别,“牛、羊、鱼”是一类别,但是由于我们没有给标签,因此并不知道“水果”、“动物”的概念。

无监督算法只处理 “特征’’,不操作监督信号。监督和无监督算法之间的区别没有规范严格的定义,因为没有客观的判断来区分监督者提供的值是特征还是目标。
这里不免让人有点疑惑,去噪这种究竟是否算是提供了监督信息呢

作者介绍了经典任务”学习一种最佳的表示“,包括:

  • 低维表示:例如PCA,AutoEncoder,将高维数据表示转化为低维数据表示;
  • 稀疏表示:例如KNN(意外吧,聚类相当于给了one-hot标签,但似乎未必升维)。通常用于需要增加表示维数的情况,使得大部分为零的表示不会丢失很多信息
  • 独立表示:例如因式分解。试图分开数据分布中变化的来源,使得表示的维度是统计独立的。

其中,它们也具有相关性。例如“低维”和“独立”,前者是“去除冗余”,后者是“解耦”。低维表示通常会产生比原始的高维数据具有较少或较弱依赖关系的元素。

  • 作者提到:表示的概念是深度学习核心主题之一,因此也是本书的核心主题之一。剩余的大部分章节会介绍额外的表示学习算法,它们以不同方式处理这三个标准或是引入其他标准。

这足以见得作者对无监督的青睐

5.9 随机梯度下降

基本所有深度学习全部依赖于梯度下降法进行优化。
梯度下降大家并不陌生,梯度是自变量关于函数增长最快的方向,当然前提是多元函数是可微的。

梯度下降往往被认为很慢或不可靠。以前,将梯度下降应用到非凸优化问题被认为很鲁莽或没有原则。现在,我们知道梯度下降用于本书第二部分中的训练时效果不错

  • 因为我觉得事实上,一旦问题没有解析解,数值计算带来的问题带来的影响是很大的,因此梯度下降时,即使函数有局部不可微也是允许的。

优化算法不一定能保证在合理的时间内达到一个局部最小值,但它通常能及时地找到代价函数一个很小的值,并且是有用的。

在实践中,当训练集大小增长时,我们通常会使用一个
更大的模型
,但这并非是必须的。

从Batch SGD的角度看,我们可以认为用 SGD 训练模型的渐近代价是关于 m 的函数的 O(1) 级别。

历史上,学习非线性模型的主要方法是结合核技巧的线性模型,很多学习算法需要构建一个 m ∗ m m*m mm的矩阵,使得优化计算量极其之大。

5.10 构建机器学习算法

可以说,就是ML的pipeline。在深度学习中,我们只需要关注在不同问题下,特定的数据集、代价函数、优化过程和模型。对pipeline中各组件的替换,就能得到不同的算法。 这就是特殊问题,需要特殊解答的意思嘛。

通常代价函数至少含有一项使学习过程进行统计估计的成分。最常见的代价函数是负对数似然(NLL),最小化代价函数导致的最大似然估计。

但在某些情况下,由于计算原因,我们不能实际计算代价函数。(例如机器翻译任务中,我们的评价指标比如CIDER或者BLEU,但是loss function可往往是交叉熵)。

在这种情况下,只要我们有近似其梯度的方法,那么我们仍然可以使用迭代数值优化近似最小化目标。(比如说,考虑代价函数的上下界、或者其它易于优化的目标
当然,特殊方法也需要特殊的优化,例如KNN不需要优化,K-means是一种EM算法,而决策树的树构造也不能使用梯度下降,

  • 我们可以将不同算法视为出于相同原因解决相关问题
    的一类方法,而不是一长串各个不同的算法

5.11 深度学习发展的动力

简单机器学习算法在很多不同的重要问题上效果都良好,但是可能不能利用大量数据,在重要难题任务上效果不佳、泛化能力不强。

相比深度学习,传统机器学习不善于处理”高维数据“,对高维空间的泛化能力不强,且计算代价高。

5.11.1 维数灾难

维数灾难指的数据特征的维数很高,但是相应的样本点却太少。
作者提到:一组变量不同的可能配置数量会随着变量数目的增加而指数级增长(这是不是说,可能样本增加时,我们会配置更多的特征)

我们通过考虑决策树、回归等等方法,对于新的样本点的估计,其实就是根据已有的样本点,依据某种度量把他划分到某个“子空间”中。如果这里把子空间看成一个各维度的长度为单位1的小格子,那么我们自然是希望,整个空间的每个格子都有一些样本点分布,但显然这随着维度升高而指数级上升。如果我们在很多格子没有点,那么这个估计问题会变得很困难,反而会采取类似KNN的方法。

5.11.2 局部不变性和平滑正则化

根据以上种种描述,可见大多数机器学习算法默认了“局部不变性”(local constancy prior),即特征空间的变化对应于结果变化是“很小的”;而且变化往往是“平滑”(smoothness prior)的,即变化是“可微分”的。
即,我们学习到的模型 f ∗ f^* f能使得 f ∗ ( x ) ≈ f ∗ ( x + ϵ ) f^*(x) \approx f^*(x+\epsilon) f(x)f(x+ϵ),其中 ϵ \epsilon ϵ表示一个微小的变动。

  • 如果基于以上假设,我们使用m个样本,只能学到m个不同的区间了。

作者提到:近年来(也是多年前了),深度学习的很多推动力源自研究局部模版匹配的局限性,以及深度学习如何克服这些局限性。

作者指出:只要在要学习的真实函数的峰值谷值处有足够多的样本,那么平滑性假设和相关的无参数学习算法的效果都非常好。当要学习的函数足够平滑,并且只在少数几维变化,上述假设就可以。但高维空间中,是十分复杂的。

机器学习方法需要针对具体问题,加上更强的假设,比如周期性假设等等。但深度学习一般不加入这些假设,因此神经网络可以泛化到更广泛的各种结构中

  • 反过头说,如果一种模式具有很明显的先验,那么我们采取加上强假设的机器学习算法,在样本点很少时,效果会比盲目地用神经网络好很多。

深度学习的核心思想假设数据由因素或特征组合产生,这些因素或特征可能来自一个层次结构的多个层级。 许多其他类似的通用假设进一步提高了深度学习算法。这些很温和的假设允许了样本数目和可区分区间数目之间的指数增益,这有效的缓解了维度灾难。

(见 6.4.1 节、第 15.4 节和第 15.5 节)

5.11.3 流形学习:

还记得我们在一个三维空间中,对一个曲线进行积分,最暴力的方法,就是将三个维度的坐标转化为一个元素的参数方程,然后进行变换,进而转化为一元积分。

流形可以看作是,一个在高维空间中,实际上只需要用低维坐标就能表示的连续体。就如同地球表面,虽然在宇宙这一高维空间中,我们实际上只需要用二维坐标表达地理位置。也可见,当数据位于低维流形中时,使用流形中的坐标而非 R n R^n Rn中的坐标表示机器学习数据更为自然,但也可以想见,这个问题何其之难!

作者提到:尽管术语 “流形’’ 有正式的数学定义,但是机器学习倾向于更松散地定义一组点,只需要考虑少数嵌入在高维空间中的自由度或维数就能很好地近似。

流形学习(manifold learning)算法基于一个重要假设:认为 R n R^n Rn中大部分区域都是无效的输入,有意义的输入只分布在包含少量数据点的子集构成的一组流形中。因此最早使用于无监督、连续数值的场景。

这个假设是可以在语音、图像、文本任务中近似正确的,因为随机的噪声、和随机排列的文字序列,基本不会是有意义的内容。

  • 更重要的是,我们遇到的样本和其他样本相互连接,每个样本被其他高度相似的样本包围,而这些高度相似的样本可以通过变换来遍历该流形得到。
    这应该是认为,有意义的这些数据点,是连续的。比如对图片的变换,如平移、旋转、剪裁,对色彩进行变化,往往还是能生成有意义的点。人脸从不同角度拍摄,都可以得到正确意义的人脸信息。对于文字的一些增加、变化位置等等,还是能产生有意义的句子。

当然,在实际问题中,我们很可能同时遇到多个流形,如人脸、猫脸实际上应该被看做两个流形。

5.12 总结

【一起看花书1】部分从直观上、以及从课内的简单数理知识出发,给出了机器学习的概览,并让我们初步认识到,深度学习比之于机器学习的强大,在于给定样本数目的前提下,对于高维数据空间的可区分区间分割更为丰富,对于高维数据的表达,更为有力。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值