社会焦点

教程 | 初学者如何选择合适的机器学习算法(附速查表)(2)

字号+ 作者: 来源: 2017-05-24

线性回归(linear regression)是一种对连续型因变量 y 与单个或多个特征 X 之间的关系进行建模的方法。y 和 X 之间的关系可被线性建模成 如下形式:当存在训练样本时,,参数向量β可从训练样本中学到。 如果因变

  教程 | 初学者如何选择合适的机器学习算法(附速查表)

线性回归(linear regression)是一种对连续型因变量 y 与单个或多个特征 X 之间的关系进行建模的方法。y 和 X 之间的关系可被线性建模成 如下形式:当存在训练样本时,,参数向量β可从训练样本中学到。

如果因变量不连续且为类别,那么线性回归可以转为使用一个 Sigmoid 函数的 logistic 回归。logistic 回归是一种简便,快速而且强大的分类算法。这里讨论二值情况,即因变量 y 只有两个值 y∈(?1,1)(这可以很容易被扩展为多类分类问题)。

在 logistic 回归中,我们使用不同的假设类别来尝试预测一个给定样例是属于「1」类还是「-1」类的概率。具体而言,我们将尝试学习如下形式的一个函数:以及,其中

  是一个 sigmoid 函数。当存在训练样本 {xi,yi} 时,参数向量β能在给定数据集下,最大化 β 对数似然值来学习。

  教程 | 初学者如何选择合适的机器学习算法(附速查表)

线性 SVM 和核 SVM

核(kernel)技巧可被用于将非线性可分函数映射成高维的线性可分函数。支持向量机(SVM)训练算法可以找到由超平面的法向量 w 和偏置项 b 表示的分类器。这个超平面(边界)可以按照最大间隔的方式来分开不同的类别。这个问题可以被转换一个条件优化问题:

  教程 | 初学者如何选择合适的机器学习算法(附速查表)

  教程 | 初学者如何选择合适的机器学习算法(附速查表)

Kernel 技巧被用于将非线性可分函数映射成高维的线性可分函数

当类别不是线性可分的时候,核技巧可被用于将非线性可分空间映射到高维的线性可分空间。

当因变量不是数值型时,logistic 回归和 SVM 应该被用作分类的首要尝试。这些模型可以轻松实现,它们的参数易于调节,而且其性能也相当好。所以这些模型非常适合初学者。

树和集成树

教程 | 初学者如何选择合适的机器学习算法(附速查表)

用于预测模型的决策树

决策树、随机森林和梯度提升(gradient boosting)全都是基于决策树的算法。决策树有很多变体,但它们所做的事情都一样——将特征空间细分为基本具有相同标签的区域。决策树易于理解和实现。但是,它们往往会过拟合数据,并且在树上面走得非常深。随机森林和梯度提升是两种流行的使用树算法来实现良好准确度的集成方法,该两种集成方法同时还能克服过拟合的问题。

神经网络和深度学习

  教程 | 初学者如何选择合适的机器学习算法(附速查表)

一个卷积神经网络架构

神经网络凭借其并行和分布式处理的能力而在 1980 年代中期兴起。但该领域的研究受到了反向传播训练算法的低效性的阻碍,而反向传播算法在神经网络参数的优化上得到了广泛的应用。支持向量机(SVM)和其它更简单的模型(可以通过解决凸优化问题而轻松训练)逐渐在机器学习领域替代的神经网络。

在最近几年,无监督预训练和层次方式的贪婪训练等新的和改进过的训练技术导致了人们对神经网络的兴趣的复兴。逐渐增强的计算能力(比如 GPU 和大规模并行处理(MPP))也促进了神经网络的复兴。神经网络研究的复兴已经为我们带来了数千层的模型。

  教程 | 初学者如何选择合适的机器学习算法(附速查表)

一种神经网络

换句话说,浅层神经网络已经发展成了深度学习神经网络。深度神经网络已经在监督学习领域取得了巨大的成功。当被用于语音识别和图像识别,深度学习的水平已经达到甚至超过了人类水平。当被应用于无监督学习任务(比如特征提取)时,深度学习也可以从原始图像和语音中提取出特征,且仅需要非常少的人类干预。

神经网络由 3 个部分组成:输入层、隐藏层和输出层。当输出层是一个分类变量时,那么该神经网络可以解决分类问题。当输出层是一个连续变量时,那么该网络可被用于执行回归。当输出层和输入层一样时,该网络可被用于提取内在的特征。隐藏层的数量定义了模型复杂度和建模能力。

k-均值/k-模式、高斯混合模型(GMM)聚类

  教程 | 初学者如何选择合适的机器学习算法(附速查表)

k-均值聚类

  教程 | 初学者如何选择合适的机器学习算法(附速查表)

高斯混合模型

k-均值/k-模式,GMM 聚类的目标是将 n 个观察分区成 k 个集群。k-均值聚类定义为硬分配标准:其样本会被而且仅可被分配给一个集群。然而,GMM 可以为每个样本定义一个软分配(soft assignment)。每个样本都有一个与每个集群相关的概率。当给定了集群的数量 k 时,这两个算法都很简单快速。

DBSCAN

教程 | 初学者如何选择合适的机器学习算法(附速查表)

DBSCAN 示意图

当聚类的数量 k 给定时,可以通过密度扩散(density diffusion)来连接样本,从而使用 DBSCAN(基于密度的空间聚类(density-based spatial clustering))。

层次聚类

教程 | 初学者如何选择合适的机器学习算法(附速查表)

层次分区可以使用树结构(树形图)来进行可视化。其不需要集群的数量作为输入,且其分区可以使用不同的 K 而在不同的粒度水平下查看(即可以细化/粗化集群)。

PCA、SVD 和 LDA

我们通常并不想直接给机器学习算法送入大量特征,因为一些特征可能是无关的或者「固有的(intrinsic)」的维度可能少于特征的数量。主成分分析(PCA)、奇异值分解(Singular Value Decomposition)和隐狄利克雷分布(LDA)都可以被用于执行降维。

PCA 是一种无监督聚类方法,其可以将原有的数据空间映射到一个更低维的空间,同时还能保留尽可能多的信息。PCA 基本上是在寻找一个保留了最大数据方差的子空间,且该子空间由数据的协方差矩阵的主要特征向量所定义。

SVD 和 PCA 有某种程度的联系——中心数据矩阵的 SVD(特征 vs. 样本)能提供定义由 PCA 所找到的同样子空间的主左奇异向量(dominant left singular vectors)。但是,SVD 是一种更加通用的技术,因为其也能做一些 PCA 可能做不到的事情。比如,一个用户 vs. 电影矩阵的 SVD 可以提取用户资料和电影资料,然后将其用在推荐系统中。此外,SVD 也被广泛用作主题建模工具,在自然语言处理领域被称为潜在语义分析。

自然语言处理领域的一个相关技术是隐狄利克雷分布(LDA)。LDA 是概率主题模型,其可以将文档分解为主题,分解方式就像高斯混合模型(GMM)将连续数据分解成高斯密度(Gaussian densities)。不同于 GMM,LDA 建模的是离散数据(文档中的词),并且会限制其主题以按狄利克雷分布而先验地分布。

结论

这是一个易于掌握的工作流程。当你在尝试一个新问题时,其中的关键信息是:

  • 定义问题。你想要解决什么问题?

  • 从简单开始。熟悉你的数据和基准结果。

  • 然后尝试更加复杂的东西。

  • 转载请注明出处。


    1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

    相关文章
    • 案例 | 抑郁症、精神分裂,初中生家境优渥,父母为何不让吃药

      案例 | 抑郁症、精神分裂,初中生家境优渥,父母为何不让吃药

    • 实录 |12名女大学生被侵犯,色魔竟然是个老乞丐

      实录 |12名女大学生被侵犯,色魔竟然是个老乞丐

    • 微信群的多人语音和视频聊天功能,你要试试 | 有轻功 #081

      微信群的多人语音和视频聊天功能,你要试试 | 有轻功 #081

    • 为了不让你坐过站,香港人居然做了这款 App | AppWall 精选 #060

      为了不让你坐过站,香港人居然做了这款 App | AppWall 精选 #060