【概念学习】早期神经网络
反向传播算法—一种利用梯度下降优化来训练一系列参数化运算链的方法。贝尔实验室于1989年第一次成功实现了神经网络的实践应用,当时Yann LeCun将卷积神经网络的早期思想与反向传播算法相结合,并将其应用于手写数字分类问题,由此得到名为LeNet的网络,在20世纪90年代被美国邮政署采用,用于自动读取信封上的邮政编码。
1. 核方法
核方法是一组分类算法,其中最有名的就是支持向量机(SVM)。SVM的目标是通过在属于两个不同类别的两组数据点之间找到良好决策边界来解决分类问题。决策边界可以看作一条直线或一个平面,将训练数据划分为两块空间,分别对应于两个类别。对于新数据点的分类,你只需判断它位于决策边界的哪一侧。
SVM通过两步来寻找决策边界。
(1)将数据映射到一个新的高维表示,这时决策边界可以用一个超平面来表示。
(2)尽量让超平面与每个类别最近的数据点之间的距离最大化,从而计算出良好决策边界(分割超平面),这一步叫作间隔最大化。这样决策边界可以很好地推广到训练数据集之外的新样本。
将数据映射到高维表示从而使分类问题简化,这一技巧可能听起来很不错,但在实践中通常是难以计算的。这时就需要用到核技巧(kernel trick,核方法正是因这一核心思想而得名)。其基本思想是:要想在新的表示空间中找到良好的决策超平面,你不需要在新空间中直接计算点的坐标,只需要在新空间中计算点对之间的距离,而利用核函数(kernel function)可以高效地完成这种计算。核函数是一个在计算上能够实现的操作,将原始空间中的任意两点映射为这两点在目标表示空间中的距离,完全避免了对新表示进行直接计算。核函数通常是人为选择的,而不是从数据中学到的—对于SVM来说,只有分割超平面是通过学习得到的。
但是,SVM很难扩展到大型数据集,并且在图像分类等感知问题上的效果也不好。SVM是一种比较浅层的方法,因此要想将其应用于感知问题,首先需要手动提取出有用的表示(这叫作特征工程),这一步骤很难,而且不稳定。
2. 决策树、随机森林与梯度提升机
决策树(decision tree)是类似于流程图的结构,可以对输入数据点进行分类或根据给定输入来预测输出值。
随机森林(random forest)算法,它引入了一种健壮且实用的决策树学习方法,即首先构建许多决策树,然后将它们的输出集成在一起。随机森林适用于各种各样的问题—对于任何浅层的机器学习任务来说,它几乎总是第二好的算法。
梯度提升机(gradient boosting machine)也是将弱预测模型(通常是决策树)集成的机器学习技术。它使用了梯度提升方法,通过迭代的训练新模型来专门解决之前模型的弱点,从而改进任何机器学习模型的效果。将梯度提升技术应用于决策树时,得到的模型于随机森林具有相似的性质,但在绝大多数情况下效果都比随机森林要好。