图解:粗浅易懂机器学习和算法原理
作者头像
  • 朱贤瑶
  • 2020-04-09 17:17:36 11

算法公式确实让人头疼,机器学习也常给人带来困扰。对于初学者来说,复杂的公式和晦涩的术语往往令人望而生畏。不过,借助一些简单的图表,理解机器学习的基本原理其实并不难。这篇文章整理了一篇博客的内容,通过图表帮助读者更好地理解机器学习算法。

机器学习这个话题一度非常热门,几乎人人都在谈论它,但真正深入了解的人并不多。网络上的一些机器学习文章要么晦涩难懂,要么过于注重理论而缺乏实用性,或是完全脱离现实地讲述未来趋势。

因此,本文作者 Vas3k 采用了简洁的语言和直观的图表,使读者更容易理解机器学习的核心内容。他摒弃了复杂的理论介绍,转而关注机器学习中的实际问题、可行的解决方案以及易于理解的理论知识。无论是技术人员还是管理者,都能从中受益。

AI 的范畴

人工智能涵盖了许多领域,它与各种技术名词之间的关系错综复杂。尽管存在多种划分方式,但我们可以将其视为一个广泛的知识体系。例如,人工智能可以看作一个完整的学科,类似于生物学或化学。机器学习是其中的一个重要组成部分,但并非唯一的一部分。神经网络是机器学习的一种,目前非常流行,但也存在其他优秀的算法。

然而,并非所有的深度学习都是基于神经网络。例如,周志华教授提出的深度森林就是一个基于不可微组件的深度学习模型。因此,更科学的划分可能是如图所示的“花书”中的分类。

机器学习路径图

如果你需要一个全面的技术路线图,这里有一张详细的图可供参考。

机器学习的主要分类

根据当前主流的分类方式,机器学习主要分为以下几类:

  • 经典机器学习
  • 强化学习
  • 神经网络和深度学习
  • 集成方法

经典机器学习

经典机器学习通常分为两类:监督学习和无监督学习。

监督学习

在分类任务中,模型需要一个“导师”,即带有标签的数据,以便机器可以根据这些标签进行学习。分类应用广泛,比如根据兴趣对用户进行分类、基于语言和主题对文章进行分类、根据类型对音乐进行分类以及根据关键词对电子邮件进行分类。

在垃圾邮件过滤中,朴素贝叶斯算法得到了广泛应用。实际上,朴素贝叶斯算法被认为是优雅且实用的算法之一。

支持向量机(SVM)是最流行的经典分类方法之一。它被用来对所有事物进行分类,例如照片中的植物外观、文件等。SVM 的基本思路是寻找两个距离最大的边界。

监督学习——回归

回归本质上是分类的一种形式,但其预测目标是一个数值而非类别。例如,根据里程计算汽车价格、根据时间预测交通流量、根据公司增长预测市场需求等。当预测目标依赖于时间时,回归是一个合适的选择。

无监督学习

无监督学习是在 20 世纪 90 年代发明的,它可以描述为根据未知特征对目标进行分类,而由机器选择最佳方式。

无监督学习——聚类

聚类是一种没有预定义类别的分类方法。例如,当你忘记所有颜色时,可以将袜子按颜色分类。聚类算法试图通过某些特征找到相似的对象并将其合并到同一类别中。

无监督学习——降维

降维是指将特定的特征组合成更高层次的特征。例如,将所有长着三角形耳朵、长鼻子和大尾巴的狗归类为“牧羊犬”的概念。再比如,科技文章中包含更多的科技术语,而政治新闻中出现更多的是政客的名字。如果我们想把这些具有特定特征的单词和文章组合成新的特征,以保持潜在的相关性,奇异值分解(SVD)是一个不错的选择。

无监督学习——关联规则学习

关联规则学习是指在订单流中分析特征模式。例如,分析购物车,制定自动化营销策略等。例如,顾客购买六瓶啤酒时,是否应该建议他们买一些花生?如果买花生,他们多久会再来一次?如果啤酒和花生是绝配,那么还有哪些东西也可以这样搭配?

现实生活中的大型零售商都有自己的推荐系统,而其中技术最先进的就是这些推荐系统。

集成方法

“团结就是力量”这句话很好地体现了机器学习中的集成方法的基本思想。在集成方法中,我们通常会训练多个“弱模型”,以期望组合成一个强大的方法。在各种经典机器学习竞赛中,效果最好的往往是集成方法,如梯度提升树、随机森林等。

集成方法的组合方式主要有三种:Stacking、Bagging 和 Boosting。

如下图所示,Stacking 通常考虑的是异质弱学习器,弱学习器可以并行训练,然后通过一个“元模型”将它们组合起来,根据不同的弱模型预测结果输入最终的预测结果。

Bagging 方法通常考虑的是同质弱学习器,这些弱学习器相互独立地并行学习,并按照某种确定性的平均过程组合起来。如果所有弱学习器都是决策树模型,那么 Bagging 就是随机森林。

Boosting 方法同样考虑的是同质弱学习器,但它采用的是“分而治之”的思想。它以高度自适应的方式顺序地学习这些弱学习器,后续的弱模型重点学习前一个模型误分类的数据。这相当于不同的弱分类器专注于部分数据,达到“分而治之”的效果。著名的 XGBoost 和 LightGBM 库或算法都采用 Boosting 方法。

如今,从朴素贝叶斯到 Boosting 方法,经典机器学习的主要分支已经具备。如果读者希望更系统地了解这些内容,李航教授的《统计学习方法》和周志华教授的《机器学习》是两本非常优秀的中文教程。

当然,在这篇博客中,作者还介绍了强化学习和深度学习等内容,非常适合对人工智能感兴趣且非专业背景的读者。加上直观的图表,这是一篇非常不错的科普文章。如果你对这种简单易懂的叙述方式感兴趣,可以去博客上详细阅读。

    本文来源:图灵汇
责任编辑: : 朱贤瑶
声明:本文系图灵汇原创稿件,版权属图灵汇所有,未经授权不得转载,已经协议授权的媒体下载使用时须注明"稿件来源:图灵汇",违者将依法追究责任。
    分享
粗浅易懂图解算法原理机器学习
    下一篇