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

机器学习概念和经典算法,我会用通俗易懂的语言给你解释清楚!入门必看_0

时间:2023-03-19 00:50:29 科技观察

在数据领域,很多人都在谈论机器学习,但只有少数人能解释清楚这是怎么回事。网上大部分关于机器学习的文章都是厚厚的充斥着各种定理的学术三部曲(一半的定理我都搞不定),或者是关于人工智能、数据科学魔法、工作未来的故事。虽然在数据分析的实际工作中用到机器学习的机会真的很少,但我认为它仍然是从业者必备的技能之一,所以今天的文章主要是针对那些想了解机器学习的人。简要介绍。不涉及高级原则,以通俗易懂的语言讨论现实世界的问题和实际解决方案。不管你是程序员还是管理者,都能看懂。如何理解什么叫机器学习这里有一个故事:比利想买一辆车,他想算算他每个月需要存多少钱才能买得起。在网上浏览了几十个广告后,他了解到一辆新车大约需要20,000美元,一辆使用一年的二手车需要19,000美元,一辆使用两年的汽车需要18,000美元,等等。作为一个聪明的分析师,比利发现了一个规律:汽车的价格取决于车龄,每增加一年价格就会下降1000美元,但不会低于10000美元。在机器学习术语中,比利发明了“回归”——根据已知的历史数据预测价值(价格)。当人们试图在eBay上估算二手iPhone的合理价格或为烧烤派对打包多少排骨时,他们一直在使用Billy's之类的东西——每人200克?500?每个人都希望有一个简单的公式可以解决世界上所有的问题,但显然这是不可能的。回到买车的情况,现在的问题除了车龄,生产日期不同,配件几十种,技术状况,需求季节性波动……天知道还有什么隐藏因素……共同点比利在计算价格时无法考虑所有这些,我也不能。我们需要机器人为他们做数学。因此,这里我们采用计算机的方法——提供一些数据给机器,让它找出所有与价格相关的潜在规律。与真人在脑子里仔细分析所有依赖因素相比,机器处理得更好。因此,机器学习诞生了。机器学习的三个组成部分撇开人工智能(AI)废话不谈,机器学习的唯一目标是根据输入数据预测结果,仅此而已。所有的机器学习任务都可以用这种方式表示,否则根本就不是机器学习问题。样本越多样化,就越容易找到相关模式并预测结果。所以,我们需要3个部分来训练机器:数据想要检测垃圾邮件?获取垃圾邮件样本。想预测股票?查找历史价格信息。想了解用户偏好?分析他们的Facebook活动日志(不,马克,停止收集数据~够了)。数据越多样化,结果越好。对于一台拼命跑的机器来说,至少几十万行的数据就够了。获取数据的方式主要有两种——手动或自动。手动收集的数据不太容易出错,但需要更多时间,而且通常成本更高。自动化方法相对便宜,你可以收集所有你能找到的数据(希望数据质量足够好)。一些像谷歌这样的聪明人使用他们的用户免费为他们标记数据。还记得强制您“选择所有地标”的ReCaptcha(人机验证)吗?这就是他们获取数据和免费劳动的方式!做得好。如果我是他们,我会更频繁地展示这些验证图像,但是等等......好的数据集真的很难获得,它们非常重要以至于一些公司甚至可能会开源他们的算法,但数据集非常重要很少发表。特征也可以称为“参数”或“变量”,例如汽车行驶的公里数、用户的性别、股票价格、文档中的词频等。换句话说,这些是机器需要考虑的所有因素。如果数据以表的形式存储,特征对应列名,比较简单。但是100GB的猫图片呢?我们不能将每个像素都视为一个特征。这就是为什么选择合适的特征通常比机器学习的其他步骤花费更多的时间,特征选择也是错误的主要来源。人性中有一种主观倾向,会选择您喜欢或认为“更重要”的特征——这需要避免。算法中最明显的部分。任何问题都可以通过不同的方式解决。您选择的方法会影响最终模型的准确性、性能和大小。一个警告:如果数据质量很差,即使是最好的算法也无济于事。这被称为“垃圾输入,垃圾输出”(GIGO)。因此,在准确率上花很多心思之前,应该获得更多的数据。概念区分有些人经常将机器学习与人工智能、神经网络等词混为一谈,它们之间还是有很大区别的。给大家科普一下:“人工智能”是一门完整学科的名称,类似于“生物学”或“化学”。“机器学习”是“人工智能”的重要组成部分,但不是唯一的部分。“神经网络”是机器学习的一个流行分支,但机器学习家族还有其他分支。“深度学习”是一种构建、训练和使用神经网络的现代方法。本质上,它是一种新的架构。目前的实践中,没有人区分深度学习和“普通网络”,使用它们需要调用的库也是一样的。经典的机器学习算法一半的互联网公司都在研究这些算法。许多大型科技公司都非常喜欢神经网络。原因很明显。对于这些大公司来说,准确率提高2%就意味着收入增加20亿。但是当公司的业务量不大的时候,就没有那么重要了。我听说有一个团队花了1年时间为他们的电子商务网站开发一种新的推荐算法,结果发现该网站99%的流量来自搜索引擎——他们想出的算法毕竟没有用大多数用户甚至不打开主页。虽然经典算法被广泛使用,但原理非常简单,您可以轻松地向幼儿解释。它们就像基本的算术——我们每天都在使用它们,甚至都没有想过。下面给大家介绍一些经典的机器学习算法:1.1监督学习经典的机器学习通常分为两类:监督学习和非监督学习。在“监督学习”中,有一个“监督者”或“老师”向机器提供所有的答案来辅助学习,比如图片是猫还是狗。“老师”完成了数据集的划分——标注“猫”或“狗”,机器利用这些实例数据进行学习,学会一一区分猫或狗。无监督学习意味着机器独自完成区分一堆动物图片中谁是谁的任务。数据没有事先标注,也没有“老师”,机器要自己寻找所有可能的模式。这些将在后面讨论。显然,当有“老师”在场时,机器学习得更快,因此监督学习在现实生活中更常用。监督学习分为两类:分类,预测对象所属的类别;回归,预测数轴上的特定点;和分类,它根据事先已知的属性对对象进行分类,例如按颜色对袜子进行分类,按语言对文档进行分类,以及按风格对音乐进行分类。”分类算法常用于:过滤垃圾邮件;语言检测;寻找相似的文件;情感分析识别手写字母或数字欺诈检测常用算法:朴素贝叶斯、决策树、逻辑回归、K近邻、支持向量机机器学习主要解决“分类”问题。这台机器就像一个婴儿在学习分类玩具:这是“机器人”,这是“汽车”,这是“机器车”……呃,等等,错误!错误!在分类任务中,你需要一个“老师”。数据需要提前标记好,这样机器才能根据这些标记学习分类。一切都可以分类——用户按兴趣分类,文章按语言和主题分类(对搜索引擎很重要),音乐按流派分类(Spotify播放列表),你的电子邮件也不例外。朴素贝叶斯算法广泛用于垃圾邮件过滤。机器统计“伟哥”等词在垃圾邮件和普通邮件中出现的频率,然后应用贝叶斯方程将它们各自的概率相乘,然后对结果求和——哈,机器学习完成了。后来,垃圾邮件发送者学会了如何处理贝叶斯过滤器——在他们的电子邮件末尾添加很多“好”字——一种被称为“贝叶斯投毒”的方法。朴素贝叶斯作为最优雅和第一个实用的算法载入史册,但现在还有其他算法来处理垃圾邮件过滤问题。分类算法的另一个例子。如果你现在需要借一笔钱,银行怎么知道你以后还不还?不能确定。但银行有很多关于历史借款人的档案,他们有诸如“年龄”、“教育”、“职业”、“薪水”以及——最重要的——“他们是否还了钱”等数据。使用这些数据,我们可以训练机器寻找模式并得出答案。找到答案不是问题,问题是银行不能盲目相信机器给出的答案。如果系统出现故障、被黑客入侵或刚刚被喝醉的毕业生打了补丁怎么办?为了解决这个问题,我们需要使用决策树,其中所有数据都会自动分为是/否问题——例如“借款人的收入是否超过128.12美元?”——这听起来有点反人类。但是,像这样的机器生成的问题旨在在每个步骤中对数据进行最佳分区。“树”就是这样诞生的。分支越高(越靠近根节点),问题的范围就越广。所有分析师都可以接受这种做法,事后解释,即使不知道算法是什么,也能轻松解释结果(典型的分析师啊)!决策树广泛应用于高责任场景:诊断、医学和金融。两种最广为人知的决策树算法是CART和C4.5。今天,很少使用纯决策树算法。然而,它们是大型系统的构建块,决策树的集成甚至比神经网络更有效。这个我们稍后再说。当你在谷歌上搜索时,帮助你找到答案的是一堆笨拙的“树”。搜索引擎喜欢这些类型的算法,因为它们运行速度足够快。按理说,支持向量机应该是最流行的分类方法。只要它存在,就可以用来分类:按形状对图片中的植物进行分类,按类别对文档进行分类等。SVM背后的思想很简单——它试图在数据点之间画两条线,并最大化它们之间的距离尽量两行。如下图所示:分类算法有一个非常有用的场景——异常检测。如果某个功能不能分配给所有类别,我们会将其标记出来。这种方法现在用于医学领域-在MRI(磁共振成像)中,计算机标记检测范围内的任何可疑区域或偏差。股票市场用它来检测交易者的异常行为以寻找内部人。当我们训练计算机知道什么是真的时,我们会自动教它什么是错的。经验法则表明,数据越复杂,算法就越复杂。对于文本、数字、表格等数据,我会选择经典的方式进行操作。这些模型更小,学习速度更快,工作流程更清晰。对于图片、视频等复杂的大数据,我肯定会去研究神经网络。就在5年前,您可以找到基于SVM的人脸分类器。现在可以更轻松地从数百个预训练神经网络模型中挑选模型。垃圾邮件过滤器并没有太大变化,它们仍然是用SVM编写的,真的没有理由改变它。甚至我的网站也是基于SVM来过滤评论中的垃圾邮件。回归(Regression)“通过这些点画一条线,嗯~这就是机器学习”回归算法目前用于:股价预测供应和销售分析医学诊断计算时间序列相关性常见的回归算法有:线性回归,多项式回归“回归”算法本质上是一种“分类”算法,但预测的不是类别而是值。例如,根据里程数预测汽车的价格,估计一天中不同时间的交通量,以及预测随着公司的发展会有多少供应变化。在处理与时间相关的任务时,回归算法是显而易见的选择。回归算法受到金融或分析行业从业者的青睐。它甚至是Excel的内置功能,而且过程很顺利——机器只是试图画一条代表平均相关性的线。但与拿着笔和白板的人不同,机器通过计算每个点和线之间的平均距离,以数学精度来做到这一点。如果画的是直线,就是“线性回归”,如果画的是曲线,就是“多项式回归”。它们是回归的两种主要类型。其他类型不太常见。不要被Logistics回归这个“害群之马”骗了,它是一种分类算法,不是回归。不过,可以将“回归”与“分类”混淆。一些分类器在调整参数后变得回归。除了定义对象的类之外,记住对象与该类的接近程度会导致回归问题。聚类”机器会根据一些未知的特征选择最好的方式来区分事物。》聚类算法目前用于:市场细分(客户类型、忠诚度)合并地图上的相邻点压缩分析和新数据的标记检测异常行为的常用算法:K-means聚类、Mean-Shift、DBSCAN聚类是一种没有事先标注类别的类别划分。例如,当你不能记住所有袜子的颜色时,你可以对袜子进行分类。聚类算法试图找到相似的东西(基于某些特征),然后将它们聚类Clustering.Objectsthathavemany相似的特征被组合在一起,归为同一类别。有些算法甚至支持设置每个聚类中数据点的确切数量。这里有一个很好的演示聚类的例子——在线地图。当你寻找附近的素食餐厅时,聚类enginegroupsthemanddisplaythemwithnumberedbubbles.Otherwise,thebrowserwillstuck—因为它试图将所有300veganr在地图上标出的餐馆。与分类算法一样,聚类可用于检测异常。用户在登录后是否做了一些不寻常的事情?让机器暂时禁用他的帐户,然后为技术支持创建票证检查发生了什么。也许对方是“机器人”。我们甚至不需要知道什么是“正常行为”,只需将用户的行为数据传递给模型,让机器判断对方是否是“典型”用户。这种方法不如分类算法,但仍然值得一试。降维“将特定特征组装成更高层次的特征”“降维”算法目前用于:推荐系统美丽的可视化主题建模和查找相似文档虚假图像识别常用的“降维”风险管理算法:主成分分析、奇异值分解、LatentDirichletAllocation、LatentSemanticAnalysis、t-SNE(forvisualization)早期,数据科学家的“硬核”使用这些方法,决心找到“有趣的东西”“在一堆数字中。当Excel图表不起作用时,它们会迫使机器完成寻找模式的工作。于是他们发明了降维或者特征学习将二维数据投影到一条直线上(PCA)的方法,比大量零散的特征更便于人们抽象概念。例如,我们有三角耳朵、长鼻子和大尾巴的狗,组合起来就形成了“牧羊犬”这个抽象概念。与特定的牧羊犬相比,我们确实丢失了一些信息,但新的抽象对于需要命名和解释的场景更有用。作为奖励,这样的“抽象”模型学习得更快,用更少的特征训练,并减少过度拟合。这些算法在“主题建模”的任务中非常有用。我们可以从具体的短语中抽象出它们的含义。这就是潜在语义分析(LSA)所做的。LSA基于您在某个主题上看到特定单词的频率。比如科技文章中科技相关的词肯定多,或者政客的名字大多出现在政治相关的新闻中,等等。我们可以直接从所有文章中的所有单词创建聚类,但这样做我们失去了所有重要的联系(例如,电池和蓄电池在不同文章中具有相同的含义),LSA可以很好地处理这个问题,因此称为“潜在语义”。因此,有必要将单词和文档的连接组合成一个特征,从而保留它们之间的潜在连接——人们发现奇异值分解(SVD)可以解决这个问题。这些有用的主题集群很容易从短语分组中看出。关联规则学习(Associationrulelearning)“Findpatternsinorderflow”“Associationrules”目前用于:销售预测和折扣分析“Buytogether”产品规划商品陈列分析网页浏览模式常用算法:Apriori,Euclat,FP-grow用于分析购物车、自动化营销策略和其他与事件相关的任务的算法都在这里。经典的“啤酒和尿布”的故事原理就是关联规则的应用,例如,顾客端着六包啤酒到收银台。我们应该在去收银台的路上带尿布吗?人们多久会同时购买啤酒和尿布?我们可以用它来预测哪些其他序列?产品布局上的一个小改动,能否带来利润的大幅提升?同样的想法也适用于电子商务,那里的任务更有趣——客户接下来会买什么?