在不同的任务中,我应该选择哪种机器学习算法?

当开始研究数据科学时,我经常面临一个问题,那就是为我的特定问题选择最合适的算法。在本文中,我将尝试解释一些基本概念,并在不同的任务中使用不同类型的机器学习算法。在文章的最后,你将看到描述算法的主要特性的结构化概述。

首先,你应该区分机器学习任务的四种类型:

  • 监督式学习
  • 无监督学习
  • 半监督学习
  • 强化学习

监督式学习 监督式学习是指从有标签的训练数据中推断一个函数的任务。通过对标签训练集的拟合,我们希望找到最优的模型参数来预测其他对象(测试集)的未知标签。如果标签是一个实数,我们就把任务叫做“回归(regression)”。如果标签来自无序的值的有限的数量,那么它就是分类。

无监督学习 在无监督的学习中,我们关于对象的信息知道地较少,特别是,训练集是没有标签的。那么,我们现在的目标是什么? 我们可以观察对象组之间的一些相似性,并将它们包含在适当的集群中。有些对象可能与所有集群都有很大的不同,因此我们假定这些对象是异常的。

半监督学习 半监督学习任务包括我们前面提到的两个问题:它们使用有标签的和没有标签的数据。对于那些不能给自己的数据贴上标签的人来说,这是一个绝佳的机会。该方法使我们能够显著地提高精确度,因为我们可以在训练集中使用少量带有标签的数据。

强化学习 强化学习与前面几个任务不同,因为我们没有带有标签或没有标签的数据集。强化学习是机器学习的一个领域,它关注的是软件agent应该如何在某些环境中采取行动,以最大化累积奖励的概念。

想象一下,你是一个机器人,在一个陌生的地方,你可以完成活动并从所处的环境中获得奖励。经过每次行动之后,你的行为变得更加复杂和聪明,所以,你在训练每一步都表现出了最有效的方式。在生物学中,这被称为适应自然环境。

常用的机器学习算法 现在我们对机器学习任务的类型有了一些直观的认识,让我们来探索一下在现实生活中应用的最流行的算法。

1.线性回归和线性分类器 这可能是机器学习中最简单的算法。你有对象(矩阵A)和标签(向量b)的x1,…xn特征,你的目标是找到最优权重w1,…wn,并且根据一些损失函数来确定这些特征的偏差,例如,用于回归问题的MSE或MAE。在MSE的例子中有一个从最小二乘法中得到的数学方程:

在实践中,用梯度下降法来优化它更容易,它在计算上更有效率。尽管这个算法很简单,但是当你有成千上万个特征时,比如在文本分析中,有成千上万的单词或n-gramm,它就能很好地工作。更复杂的算法会受到很多特征的影响,并且不是庞大的数据集,而线性回归则正相反。

为了防止过度拟合,我们经常使用像lasso和ridge这样的正则化技术。我们的想法是将权重的模块总和和权重的平方和分别加到我们的损失函数中。

2.逻辑回归 不要将这些分类算法与在它的标题中使用“回归”的回归方法混淆。逻辑回归执行二进制分类,因此标签输出是二进制的。我们把P(y=1|x)定义为条件概率,即条件是在给定输入特征向量x的情况下,输出y为1,系数w是模型想要学习的权重。

由于这个算法计算了属于每个类的概率,你应该考虑到概率与0或1的不同,并将其与所有对象的平均值进行比较,就像我们在线性回归中所做的那样。这样的损失函数是交叉熵的平均值:

让y成为正确的答案:0或1,y_pred是预测的答案。根据对数的性质,如果y=0,那么在总和下的第一个加数等于0,并且第二个加数让我们所预测的y_pred越接近0。在y=1的情况下也是类似的。

逻辑回归的好处是,它采用线性组合的特征,并应用非线性函数(sigmoid函数),所以它是一个非常非常小的神经网络实例!

3.决策树 另一种流行且易于理解的算法是决策树。决策树的图形可以帮助你了解你在想什么,它们的引擎需要一个系统的、有记录的思维过程。

这个算法的想法很简单。在每个节点中,我们选择了所有特征和所有可能的分割点之间的最佳分割。每一个分割都被选择,以最大化某些泛函。在分类树中,我们使用交叉熵和Gini指数。在回归树中,我们最小化了下降区域的点的目标值的预测变量和我们分配给它的值之间的平方误差的总和。

我们为每个节点递归地完成这个过程,并在遇到停止条件时完成。它们可以从一个节点上的树叶到树的高度的最小数量上变化。单棵树很少使用,但在与其它许多树的组合中,它们构建了非常高效的算法,如随机森林或梯度树提升。

4.K-Means 有时你不知道任何标签,并且你的目标是根据对象的特征来分配标签。这就是所谓的集群化(clusterization)任务。

假设你想将所有的数据对象划分为k个集群。你需要从你的数据中选择随机的k点,并将它们命名为集群的中心。其他对象的集群由最近的集群中心定义。然后,集群的中心被转换,直到收敛之前,过程都在不断地重复。

这是最清晰的聚类技术,但它仍然有一些缺点。首先,我们不知道集群的数量。其次,结果取决于在开始时随机选择的点,而且算法并不能保证我们能达到泛函的全局的最小值。

5.主成分分析(PCA) 你是否曾在考试的前一天傍晚甚至最后几个小时才开始准备? 一般来说,你不太可能记住所有的信息,但是你想要最大化你能记住的信息,例如,首先复习很多考试中出现的定理,等等。

主成分分析是基于相同的思想。该算法提供了降维。有时,你的特征范围很广,彼此之间的关系可能高度相关,而且模型可以很容易地覆盖大量的数据。然后,你就可以应用PCA了。

你应该在一些向量上计算投影,以最大化你的数据的方差,并且尽可能地将信息丢失的概率降低。令人惊讶的是,这些向量是来自数据集的特征相关矩阵的特征向量。

现在算法变得很明确:

  • 我们计算特征列的相关矩阵,并找到这个矩阵的特征向量。
  • 我们取这些多维向量并计算它们的所有特征的投影。

新特征是投影的坐标,并且它们的数量依赖于特征向量的计数,在你计算的投影上。

6.神经网络 当我们讨论逻辑回归的时候,我已经提到过神经网络。在非常具体的任务中,有许多不同的架构是有价值的。更常见的是,它由一系列的层或组件组成,它们之间有线性连接,并遵循非线性关系。如果你在处理图像,卷积神经网络会显示出很棒的结果。非线性是由卷积和池化层来表示的,能够捕捉图像的性能特点。

为了处理文本和序列,你最好选择重复的神经网络。对于我们预先知道的维度,递归神经网络(RNNs)包含LSTM或GRU模块,并且可以与数据一起工作。

结论 我希望向大家解释最常用的机器学习算法,并就如何根据特定的问题选择一种算法给出建议。为了简化你的工作,我已经准备好了它们的主要特征的结构化概述。

  • 线性回归和线性分类器:尽管表面上看起来很简单,但它们在大量的特征上非常有用,在这些特征中,更好的算法会因过度拟合而受到影响。
  • 逻辑回归:是一种最简单的非线性分类器,它具有参数和非线性函数(sigmoid函数)的线性组合,用于二进制分类。
  • 决策树:通常类似于人们的决策过程,并且易于理解。但它们通常被用于诸如随机森林或gradient boosting之类的组合中。
  • K-means:更原始,但很容易理解算法,它可以完美地作为各种问题的基准。
  • 主成分分析:是一个很好的选择,它可以减少你的特征空间的维度,并尽可能减少信息的丢失。
  • 神经网络:机器学习算法的新时代,可以应用于许多任务,但它们的训练需要巨大的计算复杂性。

推荐:

  • 聚类方法的概述:http://scikit-learn.org/stable/modules/clustering.html#overview-of-clustering-methods
  • 在Python中关于Ridge and Lasso回归的完整教程:https://www.analyticsvidhya.com/blog/2016/01/complete-tutorial-ridge-lasso-regression-python/
  • 为AI初学者提供了一些很棒的教程和例子:https://www.youtube.com/channel/UCWN3xxRkmTPmbKwht9FuE5A

原文发布于微信公众号 - ATYUN订阅号(atyun_com)

原文发表时间:2017-11-01

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏云时之间

《机器学习》西瓜书读书笔记2

2.1:经验误差与过拟合 通常我们把分类错误的样本数占样本总数的比例称为“错误率”,相应的。精度即“1-错误率”。更一般的,我们把学习器的实际预测输出和样本的真...

3606
来自专栏机器之心

入门 | 贝叶斯线性回归方法的解释和优点

选自TowardsDataScience 作者:William Koehrsen 机器之心编译 参与:Geek AI、刘晓坤 本文对比了频率线性回归和贝叶斯线性...

3367
来自专栏AI科技大本营的专栏

学术 | 一种新的CNN网络可以更高效地区分自然图像生成图像

作者 | Weize Quan , Kai Wang, Dong-Ming Yan , Xiaopeng Zhang

941
来自专栏机器之心

学界 | 机遇与挑战:用强化学习自动搜索优化算法

选自 BAIR 机器之心编译 参与:路雪、李泽南、蒋思源 自从去年 UC Berkeley 论文《Learning to Optimize》发表以来,有关优化器...

3619
来自专栏人工智能

神经网络和深度学习(一)——深度学习概述

神经网络和深度学习(一) ——深度学习概述 (原创内容,转载请注明来源,谢谢) 一、监督学习与神经网络 监督学习可以在一些地方应用,包括房价预测、广告精准定位、...

2027
来自专栏量化投资与机器学习

【机器学习】机器到底在学习什么?

机器识别手写数字的问题早已经解决,MNIST数据集http://yann.lecun.com/exdb/mnist/如今机器识别的准确率已经超过99%。事实上,...

1997
来自专栏决胜机器学习

神经网络和深度学习(一) ——深度学习概述

神经网络和深度学习(一)——深度学习概述 (原创内容,转载请注明来源,谢谢) 一、监督学习与神经网络 监督学习可以在一些地方应用,包括房价预测、广告精准定位...

3266
来自专栏开心的学习之路

神经网络体系搭建(二)——深度学习网络

本篇是神经网络体系搭建的第二篇,解决体系搭建的深度学习网络相关问题,详见神经网络体系搭建(序) 深度学习是一个已经被说烂了的词,几乎说起人工智能,非专业人士也会...

35410

用强化学习学习优化

自从去年我们发表论文“ 学习优化 ”以来,优化器学习领域受到越来越多的关注。在这篇文章中,我们介绍这一行的工作,分享我们对这个领域的机遇和挑战的看法。

3168
来自专栏数据科学与人工智能

【机器学习】模型选择的一些基本思想和方法

作者:高涛 编辑:王小宁 0. 引言 有监督学习是日常使用最多的建模范式,它有许多更具体的名字,比如预测模型、回归模型、分类模型或者分类器。这些名字或来源统计...

3269

扫码关注云+社区