当前位置: 首页 > 科技观察

【图解机器学习】人人都能懂的算法原理

时间:2023-03-12 19:08:27 科技观察

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