作者 | CDA数据分析师
10 machine learning methods that every data scientist should know
机器学习是研究和工业中的热门话题,新方法一直在发展。该领域的速度和复杂性使得即使对于专家而言也难以跟上新技术 - 并且对于初学者而言可能是压倒性的难度。
为了揭开机器学习的神秘面纱并为刚接触核心概念的人提供学习途径,让我们看看十种不同的方法,包括简单描述,可视化和每个方法的示例。
机器学习算法(也称为模型)是表示问题上下文中的数据的数学表达式,通常是业务问题。目标是从数据到洞察。例如,如果在线零售商想要预测下一季度的销售额,他们可能会使用机器学习算法,根据过去的销售额和其他相关数据预测这些销售额。类似地,风车制造商可以通过视觉监控重要设备并通过训练识别危险裂缝的算法来提供视频数据。
所描述的十种方法提供了一个概述 - 以及您在磨练机器学习知识和技能时可以建立的基础:
1 回归
回归方法属于有监督的ML类别。它们有助于基于一组先前数据预测或解释特定数值,例如基于类似属性的先前定价数据来预测房产的价格。
最简单的方法是线性回归,其中我们使用直线的数学方程(y = m * x + b)来模拟数据集。我们通过计算线的位置和斜率来训练具有许多数据对(x,y)的线性回归模型,该直线最小化所有数据点和线之间的总距离。换句话说,我们计算最接近数据中观测值的线的斜率(m)和y截距(b)。
让我们考虑更多线性回归的具体例子。我曾经使用线性回归来预测某些建筑物的能耗(以千瓦时为单位),将建筑物的年龄,楼层数,平方英尺和堵墙设备的数量汇总在一起。由于有多个输入(年龄,平方英尺等),我使用了多变量线性回归。原理与简单的一对一线性回归相同,但在这种情况下,我创建的“线”基于变量的数量发生在多维空间中。
下图显示了线性回归模型与建筑物实际能耗的匹配程度。现在想象一下,您可以访问建筑物的特征(年龄,平方英尺等),但您不知道能耗。在这种情况下,我们可以使用拟合线来估算特定建筑物的能耗。
请注意,您还可以使用线性回归来估计每个因素的权重,这有助于最终预测消耗的能量。例如,一旦有了公式,就可以确定年龄,大小或身高是否最重要。
回归技术的范围从简单(如线性回归)到复杂(如正则化线性回归,多项式回归,决策树和随机森林回归,神经网络等)。但不要陷入困境:首先研究简单的线性回归,掌握基础,然后继续前进。
2 分类
另一类有监督的ML,分类方法预测或解释类值。例如,他们可以帮助预测在线客户是否会购买产品。输出可以是是或否:买方或非买方。但分类方法不限于两类。例如,分类方法可以帮助评估给定图像是否包含汽车或卡车。在这种情况下,输出将是3个不同的值:1)图像包含汽车,2)图像包含卡车,或3)图像既不包含汽车也不包含卡车。
最简单的分类算法是逻辑回归 - 这使得它听起来像一个回归方法,但事实并非如此。逻辑回归基于一个或多个输入估计事件发生的概率。
例如,逻辑回归可以将学生的两个考试分数作为输入,以便估计学生将被录取到特定大学的概率。因为估计是概率,所以输出是介于0和1之间的数字,其中1表示完全确定性。对于学生,如果估计的概率大于0.5,那么我们预测他或她将被录取。如果估计的概率小于0.5,我们预测他或她将被拒绝。
下图显示了之前学生的分数以及他们是否被录取。Logistic回归允许我们绘制一条代表决策边界的线。
因为逻辑回归是最简单的分类模型,所以它是开始分类的好地方。随着您的进步,您可以深入研究非线性分类器,例如决策树,随机森林,支持向量机和神经网络等。
3 聚类
使用聚类方法,我们进入无监督ML的类别,因为它们的目标是对具有相似特征的观察进行分组或聚类。聚类方法不使用输出信息进行训练,而是让算法定义输出。在聚类方法中,我们只能使用可视化来检查解决方案的质量。
最流行的聚类方法是K-Means,其中“K”表示用户选择创建的聚类数。(注意,有多种技术可以选择K的值,例如弯头法。)
粗略地说,K-Means对数据点的作用如下:
下一个图将K-Means应用于建筑物的数据集。图中的每一列都表明了每栋建筑的效率。这四项测量涉及空调,插入式设备(微波炉,冰箱等),家用燃气和加热气体。我们选择K = 2进行聚类,这样可以很容易地将其中一个聚类解释为高效建筑群,将另一个聚类解释为低效建筑群。在左侧,您可以看到建筑物的位置,在右侧,您可以看到我们用作输入的四个尺寸中的两个:插入式设备和加热气体。
在探索聚类时,您将遇到非常有用的算法,例如基于密度的噪声应用空间聚类(DBSCAN),均值偏移聚类,凝聚层次聚类,使用高斯混合模型的期望最大化聚类等。
4 降维
顾名思义,我们使用降维来从数据集中删除最不重要的信息(有时是冗余列)。在实践中,我经常看到包含数百甚至数千列(也称为特征)的数据集,因此减少总数至关重要。例如,图像可以包含数千个像素,而不是所有像素对您的分析都很重要。或者,在制造过程中测试微芯片时,可能会对每个芯片应用数千个测量和测试,其中许多芯片提供冗余信息。在这些情况下,您需要降维算法以使数据集易于管理。
最流行的降维方法是主成分分析(PCA),它通过找到最大化数据线性变化的新向量来减小特征空间的维数。当数据的线性相关性很强时,PCA可以显着减小数据的维度,而不会丢失太多信息。(事实上,您还可以衡量信息丢失的实际程度并进行相应调整。)
另一种流行的方法是t-Stochastic Neighbor Embedding(t-SNE),它可以减少非线性维数。人们通常使用t-SNE进行数据可视化,但您也可以将其用于机器学习任务,例如减少特征空间和聚类,仅举几例。
下一个图显示了手写数字的MNIST数据库的分析。MNIST包含数千个从0到9的数字图像,研究人员用它们来测试它们的聚类和分类算法。数据集的每一行是原始图像的矢量化版本(大小28×28 = 784)和每个图像的标签(零,一,二,三,......,九)。请注意,我们因此将维度从784(像素)减少到2(我们的可视化中的维度)。投影到两个维度允许我们可视化高维原始数据集。
5 集成算法
想象一下,你决定制造一辆自行车,因为你对商店和网上的选择感到不满意。您可以从找到所需的每个部件的最佳部分开始。一旦你组装了所有这些伟大的部件,最终的自行车将超越所有其他选项。
集成使用相同的想法,结合几个预测模型(监督ML),以获得比每个模型本身可以提供的更高质量的预测。例如,随机森林算法是一种集成算法,它结合了许多用不同数据集样本训练的决策树。因此,随机森林的预测质量高于使用单个决策树估计的预测质量。
将集成算法视为减少单个机器学习模型的方差和偏差的一种方法。这很重要,因为任何给定的模型在某些条件下可能是准确的,但在其他条件下可能不准确。使用另一个模型,相对精度可能会相反。通过组合这两个模型,可以平衡预测的质量。
Kaggle比赛的绝大多数顶级获胜者都使用某种方式的合奏方法。最流行的集成算法是随机森林,XGBoost和LightGBM。
与被认为是线性模型的线性和逻辑回归相比,神经网络的目标是通过向模型添加参数层来捕获数据中的非线性模式。在下图中,简单神经网络有四个输入,一个带有五个参数的隐藏层和一个输出层。
实际上,神经网络的结构足够灵活,可以构建我们众所周知的线性回归和逻辑回归。术语深度学习来自具有许多隐藏层的神经网络(见下图),并封装了各种各样的体系结构。
特别难以跟上深度学习的发展,部分原因是研究和行业社区的深度学习成果翻了一番,每天产生全新的方法论。 具有一个隐藏层的神经网络。
为了获得最佳性能,深度学习技术需要大量数据 - 以及大量计算能力,因为该方法可以在大型架构中自我调整许多参数。很快就会清楚为什么深度学习从业者需要使用GPU(图形处理单元)增强的非常强大的计算机。
特别是,深度学习技术在视觉(图像分类),文本,音频和视频领域非常成功。最常见的深度学习软件包是Tensorflow和PyTorch。
7 迁移学习
让我们假装您是零售行业的数据科学家。您花了几个月的时间训练高质量的模型,将图像分类为衬衫,T恤和马球。你的新任务是建立一个类似的模型,将服装图像分类为牛仔裤,货物,休闲裤和正装裤。您是否可以将内置的知识转移到第一个模型中并将其应用到第二个模型中?是的,您可以使用迁移学习。
转移学习是指重新使用先前训练的神经网络的一部分并使其适应新的但类似的任务。具体来说,一旦您使用任务数据训练神经网络,您可以传输一小部分训练过的图层,并将它们与您可以使用新任务的数据训练的几个新图层组合在一起。通过添加几个层,新的神经网络可以快速学习并适应新任务。
迁移学习的主要优点是你需要更少的数据来训练神经网络,这一点尤为重要,因为深度学习算法的训练在时间和金钱(计算资源)方面都是昂贵的 - 当然,通常很难找到足够的标记数据用于训练。
让我们回到我们的例子,并假设对于衬衫模型,你使用一个有20个隐藏层的神经网络。经过一些实验后,您意识到您可以转移18个衬衫模型层,并将它们与一个新的参数层相结合,以训练裤子的图像。因此裤子模型将有19个隐藏层。两个任务的输入和输出是不同的,但是可重复使用的层可以概括与两者相关的信息,例如布料,紧固件和形状的方面。
迁移学习变得越来越流行,现在有许多可靠的预训练模型可用于常见的深度学习任务,如图像和文本分类。
8 强化学习
想象一下,迷宫中的老鼠试图找到隐藏的奶酪片。我们将老鼠暴露在迷宫中的次数越多,找到奶酪就越好。起初,老鼠可能会随机移动,但经过一段时间后,老鼠的体验有助于它实现哪些动作更接近奶酪。
老鼠的过程反映了我们使用强化学习(RL)来训练系统或游戏。一般来说,RL是一种机器学习方法,可以帮助代理人从经验中学习。通过在设定环境中记录操作并使用试错法,RL可以最大化累积奖励。在我们的示例中,老鼠是代理,迷宫是环境。老鼠的可能操作集是:前移,后移,左移或右移。奖励是奶酪。
当您几乎没有关于问题的历史数据时,可以使用RL,因为它不需要事先提供信息(与传统的机器学习方法不同)。在RL框架中,您可以随时了解数据。毫不奇怪,RL在游戏方面尤其成功,特别是像国际象棋和围棋这样的“ 完美信息 ” 游戏。通过游戏,来自代理和环境的反馈很快得以实现,使模型能够快速学习。RL的缺点是,如果问题很复杂,可能需要很长时间才能进行训练。
正如IBM的Deep Blue在1997年击败了最好的人类国际象棋选手一样,基于RL算法的AlphaGo在2016年击败了最佳的围棋玩家。目前RL的先驱者是英国DeepMind的团队。更多关于AlphaGo和DeepMind的信息。
在2019年4月,OpenAI Five团队是第一个击败世界冠军电子竞技Dota 2的人工智能团队,这是一个非常复杂的视频游戏,OpenAI Five团队之所以选择,因为没有RL算法可以赢得它时间。击败Dota 2冠军人类团队的同一个AI团队也开发了一个机器人手,可以重新定位一个块。
你可以说强化学习是一种特别强大的人工智能形式,我们肯定会看到这些团队取得更多进展,但同样值得记住方法的局限性。
9 自然语言处理
世界上很大一部分数据和知识都是某种形式的人类语言。你能想象能在几秒钟内阅读和理解成千上万的书籍,文章和博客吗?显然,计算机还不能完全理解人类文本,但我们可以训练他们完成某些任务。例如,我们可以训练手机自动填写短信或纠正拼写错误的单词。我们甚至可以教一台机器与人进行简单的对话。
自然语言处理(NLP)本身不是一种机器学习方法,而是一种广泛使用的技术,用于为机器学习准备文本。想想各种格式的大量文本文档(单词,在线博客,......)。大多数这些文本文档将充满拼写错误,缺少字符和其他需要过滤的单词。目前,最流行的文本处理包是由斯坦福大学的研究人员创建的NLTK(自然语言工具包)。
将文本映射到数字表示的最简单方法是计算每个文本文档中每个单词的频率。考虑一个整数矩阵,其中每行代表一个文本文档,每列代表一个单词。字频率的这种矩阵表示通常称为术语频率矩阵(TFM)。从那里,我们可以通过将矩阵上的每个条目除以每个单词在整个文档集中的重要程度的权重来创建文本文档的另一种流行矩阵表示。我们将此方法称为术语频率反向文档频率(TFIDF),它通常更适用于机器学习任务。
10 词嵌入
TFM和TFIDF是文本文档的数字表示,它们只考虑频率和加权频率来表示文本文档。相比之下,Word嵌入可以捕获文档中单词的上下文。对于单词上下文,嵌入可以量化单词之间的相似性,这反过来又允许我们对单词进行算术。
Word2vec是一种基于神经网络的方法,它将语料库中的单词映射成一个数字向量。然后,我们可以使用这些向量查找同义词,对单词执行算术操作,或者表示文本文档(取文档中所有单词向量的平均值)。例如,假设我们使用足够大的文本文档来估计单词嵌入。我们还假设王, 皇后, 男子汉和女是语料库的一部分。就这么说吧向量(字)表示单词的数字向量。“字”..估计向量(“妇女”),我们可以使用向量执行算术操作:
向量(“King”)+向量(“妇女”) — 向量(‘man’)~向量(‘皇后’)
单词表示允许通过计算两个单词的向量表示之间的余弦相似性来找到单词之间的相似性。余弦相似度测量两个矢量之间的角度。
我们使用机器学习方法计算单词嵌入,但这通常是在顶部应用机器学习算法的前提步骤。例如,假设我们可以访问数千名Twitter用户的推文。还假设我们知道这些Twitter用户中哪些人买了房子。为了预测新Twitter用户购买房屋的概率,我们可以将Word2Vec与逻辑回归结合起来。
总结
我试图涵盖十种最重要的机器学习方法:从最基本的到最前沿的。很好地研究这些方法并充分理解每个方法的基础知识可以作为进一步研究更先进的算法和方法的坚实起点。
当然,还有很多非常重要的信息需要报道,包括质量指标,交叉验证,分类方法中的类不平衡以及过度拟合模型等等,仅举几例。敬请关注。
此博客的所有可视化都是使用Watson Studio Desktop完成的。
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
AI来了,数分人也可以很省力,今天给大家介绍7个AI+数据分析工具,建议收藏。 01酷表 EXCEL 网址:https://chatexcel.com/ 这是 ...
2024-12-26一个好的数据分析模型不仅能使分析具备条理性和逻辑性,而且还更具备结构化和体系化,并保证分析结果的有效性和准确性。好的数据 ...
2024-12-26当下,AI 的发展堪称狂飙猛进。从 ChatGPT 横空出世到各种大语言模型(LLM)接连上线,似乎每个人的朋友圈都在讨论 AI 会不会“ ...
2024-12-26数据分析师这个职业已经成为了职场中的“香饽饽”,无论是互联网公司还是传统行业,都离不开数据支持。想成为一名优秀的数据分析 ...
2024-12-26在数据驱动决策成为商业常态的今天,数据分析师这一职业正迎来前所未有的机遇与挑战。很多希望转行或初入职场的人士不禁询问:数 ...
2024-12-25数据分析师,这一近年来炙手可热的职业,吸引了大量求职者的注意。凭借在大数据时代中的关键作用,数据分析师不仅需要具备处理数 ...
2024-12-25在当今数字化变革的浪潮中,数据分析师这一职业正迎来前所未有的发展机遇。回想我自己初入数据分析行业时,那种既兴奋又略显谨慎 ...
2024-12-25在当今信息爆炸的时代,数据已经像空气一样无处不在,而数据分析则是解锁这些信息宝藏的钥匙。数据分析的过程就像是一次探险,从 ...
2024-12-25在职场上,拍脑袋做决策的时代早已过去。数据分析正在成为每个职场人的核心竞争力,不仅能帮你找到问题,还能提供解决方案,提升 ...
2024-12-24Excel是数据分析的重要工具,强大的内置功能使其成为许多分析师的首选。在日常工作中,启用Excel的数据分析工具库能够显著提升数 ...
2024-12-23在当今信息爆炸的时代,数据分析师如同一位现代社会的侦探,肩负着从海量数据中提炼出有价值信息的重任。在这个过程中,掌握一系 ...
2024-12-23在现代的职场中,制作吸引人的PPT已经成为展示信息的重要手段,而其中数据对比的有效呈现尤为关键。为了让数据在幻灯片上不仅准 ...
2024-12-23在信息泛滥的现代社会,数据分析师已成为企业决策过程中不可或缺的角色。他们的任务是从海量数据中提取有价值的洞察,帮助组织制 ...
2024-12-23在数据驱动时代,数据分析已成为各行各业的必需技能。无论是提升个人能力还是推动职业发展,选择一条适合自己的学习路线至关重要 ...
2024-12-23在准备数据分析师面试时,掌握高频考题及其解答是应对面试的关键。为了帮助大家轻松上岸,以下是10个高频考题及其详细解析,外加 ...
2024-12-20互联网数据分析师是一个热门且综合性的职业,他们通过数据挖掘和分析,为企业的业务决策和运营优化提供强有力的支持。尤其在如今 ...
2024-12-20在现代商业环境中,数据分析师是不可或缺的角色。他们的工作不仅仅是对数据进行深入分析,更是协助企业从复杂的数据信息中提炼出 ...
2024-12-20随着大数据时代的到来,数据驱动的决策方式开始受到越来越多企业的青睐。近年来,数据分析在人力资源管理中正在扮演着至关重要的 ...
2024-12-20在数据分析的世界里,表面上的技术操作只是“入门票”,而真正的高手则需要打破一些“看不见的墙”。这些“隐形天花板”限制了数 ...
2024-12-19在数据分析领域,尽管行业前景广阔、岗位需求旺盛,但实际的工作难度却远超很多人的想象。很多新手初入数据分析岗位时,常常被各 ...
2024-12-19