算法公式很费力,机器学习太痛苦。任何刚接触机器学习的人都会被复杂的公式和晦涩难懂的术语吓倒。但实际上,如果有易于理解的图表,那么机器学习的原理就会非常容易理解。本文整理了一篇博客文章的内容。读者可以根据这些图了解看似先进的机器学习算法。
机器学习这个话题已经变得非常普遍,每个人都在谈论它,但很少有人真正理解它。当前网络上的一些机器学习文章晦涩难懂,过于理论化,或者模糊地介绍了人工智能、数据科学和未来工作的魔力。因此,本文的作者vas3k用简洁的语言和清晰的插图,让读者更容易理解机器学习。文章没有晦涩难懂的理论介绍,而是关注机器学习中的实际问题、有效的解决方案和易于理解的理论。无论您是程序员还是经理,这篇文章都适合您。人工智能的范围:人工智能包括哪些领域,与各种技术术语有何关系?其实我们判断的方法有很多,AI类别的划分也不是唯一的。比如,最“通俗”的理解可能如下图所示。你可能认为:
人工智能是一个完整的知识领域,类似于生物学或化学;
机器学习是人工智能非常重要的一部分,但不是唯一的部分;
神经网络是机器学习的一种,现在很流行,但还有其他优秀的算法;
但是,深度学习都是神经网络吗?显然,情况不一定如此。比如周志华老师的Deep Forest就是第一个基于不可微组件的深度学习模型。所以,更科学的划分可能是下面花书里的:
机器学习应该以表征学习为代表,表征学习总结了所有利用机器学习来挖掘表征本身的方法。与需要手动设计数据特征的传统机器学习相比,该方法可以自行学习有用的数据特征。整个深度学习也是一种表示学习,通过层层模型从简单表示构建出复杂的表示。机器学习路线图如果你很懒,这里有一个完整的技术路线图供你参考。
按照目前主流的分类,机器学习主要分为四类:
经典机器学习;
强化学习;
神经网络和深度学习;
综合方法;
经典机器学习经典机器学习通常分为两类:监督学习和无监督学习。
监督学习在分类中,模型总是需要一个导师,即相应特征的标注,以便机器能够根据这些标注来学习进一步的分类。一切都可以分类,基于兴趣的用户、基于语言和主题的文章、基于流派的音乐、基于关键字的电子邮件。在垃圾邮件过滤中,朴素贝叶斯算法得到了极为广泛的应用。事实上,朴素贝叶斯曾经被认为是最优雅、最实用的算法。
支持向量机(SVM)是最流行的经典分类方法。它还用于对照片、文档等中现有的: 工厂外观进行分类。支持向量机背后的想法也非常简单。以下图为例。它尝试绘制数据点之间距离最大的两条线。
监督学习—— 回归回归基本上是分类,但预测是数字而不是类别。例如,根据里程计算的汽车价格、根据时间计算的交通量、根据公司成长计算的市场需求等。当预测的事物与时间相关时,回归是一个不错的选择。
无监督学习无监督学习是20 世纪90 年代才发明的。可以这样描述:“根据未知特征对目标进行分割,让机器选择最好的方式”。无监督学习—— 聚类聚类是一种没有预定义类的分类。就像当您记不住所有颜色时按颜色对袜子进行分类一样。聚类算法试图根据某些特征找到相似的对象并将它们合并成一个簇。
无监督学习—— 降维
“将特定功能组合成更高级的功能”
人们使用抽象的东西总是比使用碎片化的特征更方便。例如,将所有三角形耳朵、长鼻子和大尾巴的狗组合成一个漂亮的抽象概念——“牧羊犬”。再比如,科技文章的科学术语较多,而政治新闻则包含政治人物的名字最多。如果我们想将这些特征词和文章组合成一个新的特征来保持它们潜在的相关性,SVD是一个不错的选择。
无监督学习—— 关联规则学习
“分析订单流中的特征模式”
包括分析购物车、自动化营销策略等等。例如,如果顾客拿着六罐啤酒走向收银台,他们是否应该在路上放一些花生?如果是这样,这些顾客多久来一次购买?如果啤酒花和花生是完美的搭配,那么还有什么东西可以这样搭配呢?
现实生活中,每个大型零售商都有自己专用的解决方案,其中技术含量最高的就是“推荐系统”。集成方法“团结就是力量”,这句老话很好地表达了机器学习领域“集成方法”的基本思想。在集成方法中,我们通常训练多个“弱模型”,希望将它们组合成一个强大的方法。在各种经典的ML竞赛中,成绩几乎最好的,比如梯度提升树、随机森林等,都属于集成方法。一般来说,集成方法的“组合方法”可以分为三种主要类型:Stacking、Bagging、Boosting。如下图所示,Stacking通常考虑异构弱学习器。弱学习器可以先并行训练,然后通过“元模型”组合,根据不同弱模型的预测结果输出最终的预测结果。
Bagging方法通常考虑同质弱学习器,并行学习这些弱学习器,彼此独立,并根据某种确定性平均过程将它们组合起来。假设所有弱学习器都是决策树模型,那么这样产生的bagging就是随机森林。
Boosting方法通常考虑同质弱学习器,但其思想是“分而治之”。它以高度自适应的方法顺序学习这些弱学习器,后续的弱模型专注于学习先前弱模型错误分类的数据。这相当于不同的弱分类器专注于部分数据,达到“分而治之”的效果。如下所示,Boosting是一种将不同模型串行组合的范例。 XGBoost、LightGBM等著名的库或算法都采用了Boosting方法。
现在,经典机器学习的主要分支已经可用,从朴素贝叶斯到提升方法。如果读者想要更系统、更详细的了解,李航老师的《统计学习方法》和周志华老师的《机器学习》是最好的两本中文教程。当然,在这篇博客中,作者还介绍了强化学习、深度学习等,内容非常适合对人工智能感兴趣且没有相关专业的读者。配上生动的图片,不失为一篇非常好的科普文章。艺术。如果你对这种简单易懂的叙述方式感兴趣,可以去博客详细阅读。