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

掌握这十大机器学习方法,你就是圈内最靓仔_0

时间:2023-03-18 01:34:18 科技观察

无论是在科研领域还是工业领域,机器学习都是一个热门话题,新的机器学习方法层出不穷源源不断。机器学习快速而复杂。跟上它的发展对于初学者来说无疑是困难的,即使对于专家也是如此。图片来自Unsplash网站,由chuttersnap拍摄。为了揭开机器学习的神秘面纱,帮助新手学习该领域的核心概念,本文将介绍十种不同的机器学习方法,包括简单描述和可视化,并一一举例说明。机器学习算法(模型)是表示问题(通常是业务问题)中包含的数据信息的数学表达式。算法旨在分析数据以获得有用的信息。例如,当一家在线零售商想要预测下一季度的销售额时,它可能会使用机器学习算法根据之前的销售额和其他相关数据进行预测。同样,风车制造商可以通过将视频数据输入算法来监督重要设备,该算法经过训练可以识别设备中的裂缝。本文介绍的十种机器学习方法,可以让你全面了解机器学习,帮助你打下相关知识和技能的基础:回归分类聚类降维集成方法神经网络与深度学习迁移学习强化学习自然语言处理WordEmbedding最后,在介绍这些方法之前,我们先来区分一下监督学习和非监督学习这两个机器学习范畴。监督学习用于在现有数据存在的情况下进行预测或解释,即通过先前的输入和输出数据根据新数据预测输出。例如,监督机器学习技术可用于帮助服务公司预测下个月将订阅该服务的新用户数量。相反,无监督机器学习涉及在不使用目标变量进行预测的情况下对数据点进行关联和分组。换句话说,它根据特征评估数据,并根据这些特征将相似的数据聚类在一起。例如,无监督学习技术可用于帮助零售商对具有相似特征的产品进行分类,而无需事先指定特征是什么。1.回归回归是一种有监督的机器学习方法,它根据之前的数据预测或解释特定的值。例如,如果你想知道某个房产的价值,你可以根据类似房产的定价来预测它。线性回归是最简单的回归方法,数据集由直线方程(y=m*x+b)建模。通过计算所有数据点到它的距离之和最小的直线的位置和斜率,得到具有许多数据对(x,y)的线性回归模型。换句话说,计算的是数据中最接近观察值的直线的斜率(m)和y截距(b)。接下来,让我们看一些具体的线性回归示例。综合建筑物的年龄、楼层数、平方英尺和墙壁插件的数量,使用线性回归来预测建筑物的能源消耗(以千瓦时为单位)。由于有多个输入值(年龄、面积等),可以选择多元线性回归方法,其原理与简单线性回归相同,但在本例中,由于变量较多,得到的结果“线”是多维的。下图显示了线性回归模型与建筑物实际能耗的吻合程度。如果建筑物的特征(年龄、面积等)已知,但能耗未知,则可以使用拟合线对其进行估算。请注意,线性回归也可以用于估计每个因素对最终能源消耗情况的影响。例如,使用公式,您可以确定建筑物的年龄、面积或高度是否是最重要的因素。用于估算建筑能耗的线性回归模型(以千瓦时为单位)回归技术范围从简单(线性回归)到复杂(正则化线性回归、多项式回归、决策树和随机森林回归、神经网络等),你没有要糊涂,可以先从简单的线性回归开始,掌握技巧,再继续学习更复杂的类型。2.分类分类是另一种监督机器学习方法,其中预测或解释类值。例如,可以使用分类方法来预测在线客户是否会购买某种产品。输出可以分为是或否,即购买者或非购买者。但分类不限于两种选择。例如,您可以分类以查看图像中是否有汽车或卡车。在这种情况下,输出将具有3个不同的值,1)图像包含汽车,2)图像包含卡车,或3)图像既不包含汽车也不包含卡车。逻辑回归是最简单的一类分类算法,听起来很像回归方法,但其实不然。逻辑回归是一种基于一个或多个输入来估计事件发生概率的算法。例如,逻辑回归可以根据两个考试成绩来估计学生被大学录取的概率。由于估计是概率,因此输出只能是0到1之间的数字,其中1表示完全确定。对于学生,如果估计概率大于0.5,则预测结果为:他(她)可以被录取;如果估计概率小于0.5,则预测结果为:他(她)不会被录取。下图显示了历届学生的分数和他们最终的录取结果。逻辑回归可用于绘制表示决策边界的线。逻辑回归决策边界:他们会上大学吗?逻辑回归是一种线性模型,因此对于学习如何入门分类方法的初学者来说是一个不错的选择。随着不断的进步,可以深入研究决策树、随机森林、支持向量机和神经网络等非线性分类。3.聚类聚类方法的目标是将具有相似特征的观察值分组或聚类,是一种无监督的机器学习方法。聚类方法不依赖输出信息进行训练,而是让算法定义输出。在这种方法中,只能使用可视化来验证解决方案的质量。最流行的聚类方法是K均值聚类,其中“K”表示用户选择创建的聚类数。(注意在选择K值时有多种技术可供选择,比如肘法则。)一般来说,K-means聚类方法对数据点的处理步骤包括:在数据中随机选择K个中心.将每个数据点分配给最近的随机创建的中心。重新计算每个簇的中心。如果中心没有变化(或变化很小),则该过程结束。否则返回步骤2。(如果中心不断变化,请提前设置最大迭代次数,以防止无限循环结束。)下图将K-means聚类应用于建筑物数据集。图中的每一列表示每栋建筑的效率。这四个测量量涉及空调、插电式电器(微波炉、冰箱等)、家用燃气和可燃气体。为聚类选择2的K值,以便一个集群可以很容易地解释为高效建筑集群,而另一个集群则为低效建筑集群。左图中可以看到建筑物的位置,右图中可以看到两个输入:插件设备和可燃气体。将建筑物聚类为高效建筑组(绿色)和低效建筑组(红色)涉及一些非常有用的算法,例如基于密度的噪声聚类(DBSCAN)、均值漂移聚类、聚合层次聚类、基于高斯混合模型的期望最大化聚类等4.降维顾名思义,降维可以用来去除数据集中最不重要的数据。在实践中,经常会遇到具有数百甚至数千列(也称为特征)的数据集,因此减少总量至关重要。例如,并非图像中的所有数千个像素都需要分析;或者在制造过程中测试微芯片时,可能需要对每个芯片进行数千次测试,但其中许多提供的信息是多余的。在这些情况下,需要降维算法来管理数据集。主成分分析(PCA)是最常用的降维方法,它通过寻找最大化数据线性变化的新向量来降低特征空间的维数。当数据的线性相关性很强时,主成分分析方法可以显着降低数据的维度,而不会丢失太多信息。(实际上,也可以衡量实际的信息丢失程度并进行相应调整。)t-DistributedNeighborhoodEmbedding(t-SNE)是另一种常用的非线性降维方法。t分布邻域嵌入常用于数据可视化,但也可用于特征空间缩减和聚类等机器学习任务。下图是MNIST数据库对手写数字的分析。MNIST包含从0到9的数千个数字图像,研究人员使用这些图像来测试聚类和分类算法。数据集的每一行都是原始图像(大小为28×28=784)的矢量化版本和每个图像的标签(0、1、2、3、...、9)。注意,因此将维度从784(像素)减少到2(可视化维度)。投影到二维可以实现高维原始数据集的可视化。手写数字的t-分布式邻域嵌入MNIST数据库迭代5.集成方法假设您对市场上的任何自行车都不满意,并计划自己制造一辆,也许从寻找最好的零件开始,然后最终组装一辆自行车。最好的自行车。集成方法也使用此原理组合多个预测模型(监督机器学习方法)以获得比单个模型所能提供的更高质量的预测结果。随机森林算法是一种集成方法,它结合了许多用来自不同数据集的样本训练的决策树。因此,随机森林的预测质量会高于单个决策树。集成方法可以理解为一种减少单个机器学习模型的方差和偏差的方法。任何给定的模型在某些情况下可能是准确的,但在其他情况下可能不准确,因此这种方法很重要。如果使用其他模型,相对精度可能会降低。结合这两个模型可以平衡预测的质量。绝大多数Kaggle竞赛获胜者都使用集成方法。最流行的集成算法是随机森林、XGBoost和LightGBM。6.神经网络和深度学习与线性模型的线性回归和逻辑回归相比,神经网络的目标是通过向模型添加参数层来捕获数据中的非线性模式。在下图中,一个简单的神经网络有四个输入、一个具有五个参数的隐藏层和一个输出层。一层隐藏层的神经网络实际上,神经网络的结构非常灵活,我们可以构建众所周知的线性回归和逻辑回归。术语深度学习来自具有多个隐藏层的神经网络(见下图),是对各种架构的概括。跟上深度学习的发展步伐特别困难,部分原因是投入大量研究和行业努力致力于深度学习,导致新方法不断涌现。深度学习:具有多个隐藏层的神经网络为了获得最佳结果,深度学习技术需要大量数据和强大的计算能力,因为该方法是在大型架构中对许多参数进行自调整。鉴于此,不难看出为什么深度学习从业者使用配备强大图形处理单元(GPU)的计算机。深度学习技术在视觉(图像分类)、文本、音频和视频领域的应用最为成功。最常见的深度学习包是Tensorflow和PyTorch。7.迁移学习假设你是零售行业的数据科学家,花了几个月的时间训练了一个高质量的模型,将图像分为三类:衬衫、T恤和polo衫。新任务是建立一个类似的模型,将服装图像分类为牛仔裤、工装裤、休闲裤和正装裤。那么第一个模型中的既定知识能否迁移到第二个模型中呢?当然,迁移学习可以做到。迁移学习是指重用之前训练过的神经网络的一部分,并使其适应类似的新任务。具体来说,使用在先前任务上训练的神经网络,可以传输一小部分训练层并将它们与在新任务数据上训练的多个层组合。通过添加层,新的神经网络可以快速学习和适应新任务。迁移学习的主要优点是训练神经网络所需的数据更少,这一点尤为重要,因为深度学习算法的训练既费时又昂贵(在计算资源方面)。此外,通常很难找到足够的标记数据来进行训练。回到上面的例子,假设你在衬衫模型中使用了一个有20个隐藏层的神经网络。尝试几次后,您发现可以传输18个衬衫模型层并将它们与裤子图像的新参数层结合用于训练。此时,裤子模型将有19个隐藏层。这两个任务的输入和输出是不同的,但是可以重复使用一些汇总与两者相关的信息的参数层,例如布料、衣服的紧固件和形状。迁移学习越来越流行,并且已经有很多固定的预训练模型可以用来完成一些常见的深度学习任务,比如图像和文本分类。8.强化学习想象迷宫中有一只老鼠,试图找到藏在某处的奶酪。老鼠进入迷宫的次数越多,找到奶酪的可能性就越大。一开始,老鼠可能会随机行走,但过了一会儿,它就能弄清楚如何走路才能找到奶酪。老鼠寻找奶酪的过程反映了使用强化学习来训练系统或游戏。一般来说,强化学习是一种帮助智能体从经验中学习的机器学习方法。强化学习通过记录设定环境中的动作并使用试错法来最大化累积奖励。在上面的例子中,代理是一只老鼠,环境是一个迷宫。鼠标可能的动作是:向前、向后、向左或向右移动,奶酪就是奖励。如果一个问题几乎没有任何历史数据,可以选择强化学习方法,因为它不需要先验信息(与传统机器学习方法不同)。在强化学习框架中,您始终了解数据。因此,强化学习已成功应用于游戏,尤其是国际象棋和围棋等“完美信息”游戏也就不足为奇了。在游戏中,可以根据智能体和环境的反馈快速做出调整,让模型快速学习。强化学习的缺点是如果问题很复杂,训练时间可能会很长。IBM的深蓝在1997年击败了人类最佳棋手,同样,基于深度学习的算法AlphaGo在2016年也击败了人类最佳围棋棋手。目前,英国的DeepMind科技公司在深度学习研究方面处于领先地位。2019年4月,OpenAIFive战队击败电竞Dota2世界冠军战队,成为第一支取得此成就的人工智能战队。Dota2是一个非常复杂的视频游戏,OpenAIFive团队之所以选择它,是因为当时没有任何强化学习算法可以在游戏中获胜。击败Dota2人类冠军的AI团队还开发了一种可以重新定位方块(可以抓取东西)的机械手。强化学习可以说是一种非常强大的人工智能,未来肯定会取得更多更大的进步,但同时要记住,这些方法也有局限性。9.自然语言处理世界上很大一部分数据和知识以人类语言的形式存在。您能想象在几秒钟内阅读和理解成千上万的书籍、文章和博客吗?显然,计算机还不能完全理解人类语言,但可以训练它们执行某些任务。例如,可以训练手机自动回复短信或纠正拼写错误的单词,甚至可以教机器与人进行简单的对话。自然语言处理(NLP)本身并不是一种机器学习方法,而是一种为机器学习准备文本的技术,具有广泛的应用。想象一下:有大量各种格式(文字、在线博客等)的文本文档,充满了拼写错误、遗漏字符和冗余单词。目前,由斯坦福大学的研究人员创建的NLTK(NaturalLanguageToolkit)是使用最广泛的文本处理包。将文本映射到数字表示的最简单方法是计算每个文本文档中单个单词的频率。在整数矩阵中,每一行代表一个文本文档,每一列代表一个单词。这样的词频矩阵通常被称为词频矩阵(TFM)。在此基础上,可以将矩阵上的每个条目除以整个文档集中每个词的重要性的权重,得到文本文档的另一种流行矩阵表示。这种方法称为词频逆文档频率(TFIDF),通常更适用于机器学习任务。10.WordembeddingsTFM和TFIDF是文本文档的数字表示,仅根据频率和加权频率表示文本文档。相比之下,词嵌入捕获文档中单词的上下文。根据上下文,嵌入量化了单词之间的相似性,这反过来促进了对单词的算术运算。Word2Vec是一种基于神经网络的方法,可将语料库中的单词映射到数字向量。然后,这些向量可用于查找同义词、对单词执行算术运算或表示文本文档(通过取文档中所有单词向量的平均值)。例如,假设使用一个大文本文档来估计词嵌入,并且“king”、“queen”、“man”和“woman”这四个词也是语料库的一部分,向量('word')是单词“word”的表示是一个数字向量。要估计vector('woman'),可以用vector进行算术运算:vector('king')+vector('woman')-vector('man')~vector('queen')word(vector)embeddingsOperations有了wordrepresentations,可以计算两个词的向量表示之间的余弦相似度,从而找到词之间的相似度。余弦相似度测量两个向量之间的角度。机器学习方法可用于计算词嵌入,但这通常是应用机器学习算法之前的先决条件。例如,假设我们可以访问数千名Twitter用户的推文,并且知道其中哪些用户买了房子。预测新用户买房的概率,可以结合Word2Vec和逻辑回归。您可以训练词嵌入或使用一组预训练(迁移学习)的词向量。如需下载157种不同语言的预训练词向量,请查看FastText。