设为首页 | 收藏本站
185 1521 8668

用通俗易懂的语言解释的9种关键机器学习算法

发表时间:2025-04-01 16:25作者:Together规则引擎
文章附图

机器学习正在改变世界。Google使用机器学习技术向用户推荐搜索结果。Netflix使用它来推荐电影供您观看。Facebook使用机器学习技术推荐您可能认识的用户。

机器学习从未像现在这样重要。同时,理解机器学习也很困难。这个领域充满了行话。不同的ML算法的数量每年都在增长。

本文将向您介绍机器学习领域内的基本概念。更具体地说,我们将讨论当今9种最重要的机器学习算法背后的基本概念。

推荐系统

什么是推荐系统?

推荐系统用于在数据集中查找相似的条目。也许最常见的真实推荐示例存在于Netflix内部。更具体地说,它的视频流媒体服务会根据你已经看过的内容推荐电影和电视节目。另一个推荐系统是Facebook的“你可能认识的人”功能,它根据您现有的朋友列表为您推荐可能认识的朋友。

推荐系统和线性代数

成熟的推荐系统需要深厚的线性代数背景才能从头开始构建。因此,如果您以前从未学习过线性代数,则本节中可能存在您不理解的概念。不过,不用担心scikit-learn-Python库使构建推荐系统变得非常容易。所以,您不需要太多的线性代数背景来构建真实世界的推荐系统。

推荐系统如何运作?

推荐系统主要有两种类型:

基于内容的推荐系统

协作筛选推荐系统

基于内容的推荐系统根据您已使用项目的相似性为您提供推荐。它们的行为与您期望的推荐系统的行为完全相同。

协作筛选推荐系统根据用户与项目的交互情况生成推荐。换句话说,他们利用了群体的智慧。因此其名称中带有“协作”一词。

在现实世界中,协作过滤推荐系统比基于内容的系统更常见。这主要是因为它们通常会提供更好的结果。一些从业者还发现协作筛选推荐系统更容易理解。

协作过滤推荐系统还具有基于内容的系统所缺少的独特功能。也就是说,他们有能力自己学习功能。这意味着他们甚至可以根据您甚至没有告诉他们考虑的属性开始识别商品之间的相似性。

协作筛选中有两个子类别:

基于内存的协同过滤

基于模型的协同过滤

您无需了解这两种类型的协作筛选推荐系统之间的区别,即可在机器学习中取得成功。认识到存在多种类型就足够了。

小结

以下是我们在本文中讨论的有关推荐系统内容的简要总结:

现实世界中的推荐系统示例

不同类型的推荐系统,以及协作过滤系统比基于内容的推荐系统更常用的方式

推荐系统和线性代数之间的关系

线性回归

线性回归用于根据另一组x值的值预测某些y值。

线性回归的历史

线性回归是由弗朗西斯·高尔顿(FrancisGalton)于1800年代创建的。高尔顿是一位研究父母与孩子之间关系的科学家。更具体地说,高尔顿正在研究父亲的身高与儿子的身高之间的关系。高尔顿的第一个发现是,儿子的身高往往和他们的父亲差不多。这并不奇怪。后来,高尔顿发现了一些更有趣的事情。儿子的身高往往更接近所有人的整体平均身高,而不是他自己的父亲。高尔顿给这种现象起了一个名字:回归。具体来说,他说“父亲的儿子的身高往往会回归(或漂移到)平均(平均)身高”。这导致了统计学和机器学习中的一个完整领域,称为回归。

线性回归的数学

在创建回归模型时,我们尝试做的只是画一条尽可能靠近数据集中每个点的线。这方面的典型例子是线性回归的“最小二乘法”,它只计算一条线在上下方向上的接近度。下面是一个有助于说明这一点的示例:

线性1.png

当您创建回归模型时,您的最终产品是一个方程式,您可以使用它来预测x值的y值,而无需事先实际知道y值。

逻辑回归

逻辑回归与线性回归类似,不同之处在于它不是计算数值,而是估计数据点Y属于哪个类别。

什么是逻辑回归?

逻辑回归是一种用于解决分类问题的机器学习模型。以下是机器学习分类问题的几个示例:

垃圾邮件(垃圾邮件还是非垃圾邮件?)

汽车保险索赔(核销还是维修?)

疾病诊断

每个分类问题都恰好有两类,这使它们成为二元分类问题的示例。逻辑回归非常适合解决二元分类问题–我们只需分别为不同的类别分配一个值0和1即可。为什么我们需要逻辑回归?因为你不能使用线性回归模型来进行二元分类预测。它不会产生很好的拟合,因为您尝试在只有两个可能值的数据集中拟合一条直线。此图像可以帮助您了解为什么线性回归模型不适合二元分类问题:

通俗2.png

在此图像中,y-轴1-y表示肿瘤为恶性的概率。相反,该值表示肿瘤不是恶性的概率。如您所见,线性回归模型在预测数据集中大多数观测值的概率方面做得很差。

这就是逻辑回归模型有用的原因。它们的最佳拟合线弯曲,这使得它们更适合预测分类数据。下面是一个示例,该示例将线性回归模型与使用相同训练数据的逻辑回归模型进行了比较:

通俗3.png

S型函数

逻辑回归模型的曲线弯曲的原因是它不是使用线性方程计算的。相反,逻辑回归模型是使用S型函数(也称为逻辑函数,因为它用于逻辑回归)构建。您无需记住S型函数即可在机器学习中取得成功。话虽如此,对它的外观有一定的了解是有用的。

方程式如下所示:

通俗4.png

值得理解的S型函数的主要特征是:无论你传入什么值,它都会生成一个介于0和1之间的输出。

使用Logistic回归模型进行预测

要使用线性回归模型进行预测,通常需要指定一个截止点。此截止点通常为0.5。让我们使用前面图像中的癌症诊断示例来了解这一原则在实践中的应用。如果逻辑回归模型输出的值低于0.5,则该数据点被归类为非恶性肿瘤。同样,如果S形函数输出的值大于0.5,则肿瘤将被归类为恶性。

使用混淆矩阵测量逻辑回归性能

混淆矩阵可以用作比较机器学习中真阳性、真阴性、假阳性和假阴性的工具。混淆矩阵在用于测量逻辑回归模型的性能时特别有用。以下是我们如何使用混淆矩阵的示例:

通俗5.png

在此图中,TN代表“真阴性”,FN代表“假阴性”。FP代表“假阳性”,TP代表“真阳性”。混淆矩阵可用于评估您的模型在混淆矩阵的特定象限中是否特别弱。例如,它可能具有异常多的误报。在某些应用程序中,它也很有帮助,以确保您的模型在混淆矩阵的特别危险区域中表现良好。例如,在这个癌症示例中,您需要非常确定您的模型没有非常高的假阴性率,因为这表明某人患有您错误分类为非恶性的恶性肿瘤。

小结

在本节中,您第一次接触了逻辑回归机器学习模型。以下是您学到的有关逻辑回归的知识的简要总结:

适合使用逻辑回归模型解决的分类问题类型

逻辑函数(也称为S型函数)始终输出介于0和1之间的值

如何使用截止点通过逻辑回归机器学习模型进行预测

为什么混淆矩阵可用于测量Logistic回归模型的性能

K-最近邻

K最近邻算法可以帮助您解决存在两个以上类别的分类问题。

什么是K最近邻算法?

K最近邻算法是一种基于简单原理的分类算法。事实上,这个原则非常简单,最好通过示例来理解。假设您有关于足球运动员和篮球运动员的身高和体重的数据。K最近邻算法可用于预测新运动员是橄榄球运动员还是篮球运动员。为此,K最近邻算法会识别最接近新观测值K的数据点。下图对此进行了可视化,其中K值为:3

通俗6.png

在此图像中,足球运动员被标记为蓝色数据点,篮球运动员被标记为橙色点。我们尝试分类的数据点被标记为绿色。由于大多数(3个中的2个)临近数据点是蓝色足球运动员,因此K最近邻算法将预测新数据点也是一个足球运动员。

构建K最近邻算法的步骤

构建K最近邻算法的一般步骤是:

1. 存储所有数据

2. 计算从新数据点到数据集中所有其他点的欧氏距离x

3. 按距离x增加的顺序对数据集中的点进行排序

4. 使用与大多数最接近数据点x相同的类别进行预测K

K在K最近邻算法中的重要性

尽管从一开始就可能不明显,但在K最近邻算法中更改K的值将更改将新点分配到的类别。更具体地说,如果K值非常低,则会导致模型完美预测训练数据,而预测测试数据不佳。同样,K值过高会使模型变得不必要地复杂。以下可视化效果很好地说明了这一点:

通俗7.png


K最近邻算法的优缺点

为了总结K最近邻算法的介绍,我想简要讨论一下使用此模型的一些优缺点。以下是K最近邻算法的一些主要优点:

算法简单易懂

使用新的训练数据训练模型非常简单

它适用于分类问题中任意数量的类别

向数据集添加更多数据很容易

该模型只接受两个参数:K和你想用的距离度量(通常是欧几里得距离)

同样,以下是该算法的一些主要缺点:

进行预测的计算成本很高,因为您需要对整个数据集进行排序

它不适用于分类特征

小结

以下是您刚刚学到的有关k最近邻算法的简要总结:

K最近邻算法可以解决的分类问题(橄榄球运动员与篮球运动员)示例

K最近邻如何使用相邻数据点的欧几里得距离来预测新数据点属于哪个类别

为什么K的价值对进行预测很重要

使用K最近邻算法的优缺点

决策树和随机森林

决策树和随机林都是树方法的例子。更具体地说,决策树是用于通过逐个遍历数据集中的每个特征来进行预测的机器学习模型。随机森林是决策树的集成,它使用数据集中特征的随机顺序。

什么是树方法?

在我们深入研究机器学习中树方法的理论基础之前,先从一个例子开始会很有帮助。想象一下,你每周一都打篮球。此外,您总是邀请同一个朋友来和您一起玩。有时朋友真的来了。有时他不会。是否来的决定取决于许多因素,例如天气、温度、风和疲劳。您开始注意到这些因素并开始跟踪它们以及您朋友是否玩游戏的决定。您可以使用此数据来预测您的朋友是否会出现打篮球。您可以使用的一种技术是决策树。此决策树如下所示:

通俗8.png

每个决策树都有两种类型的元素:

Nodes:树根据某个属性的值进行分割的位置

Edges:拆分到下一个节点的结果

在上图中可以看到,outlook有humidity和windy的节点。每个属性的每个潜在值都有一个边。

以下是在继续之前应了解的另外两个决策树术语:

Root:执行第一次拆分的节点

Leaves:预测最终结果的终端节点

现在,您对什么是决策树有了基本的了解。我们将在下一节中学习如何从头开始构建决策树。

如何从头开始构建决策树

构建决策树比您想象的要难。这是因为决定根据哪些特征来分割数据(这是一个属于熵和信息增益领域的主题)是一个数学上复杂的问题。为了解决这个问题,机器学习从业者通常使用许多决策树,使用随机样本的特征作为拆分。换句话说,在每次分解中为每棵树选择一个新的随机特征样本。这种技术称为随机森林。一般来说,从业者通常选择特征随机样本m的大小(表示)作为数据集中总特征数p的平方根(表示)。简洁地说,m是p的平方根,然后从m中随机选择一个特定的特征。如果这现在不完全有意义,请不要担心。当您最终构建第一个随机森林模型时,它会更加清晰。

使用随机森林的好处

想象一下你正在处理一个具有一个非常强特征的数据集。换句话说,这个数据集有一个特征,它对最终结果的预测能力远远超过其他特征。如果你手动构建决策树,那么将这个特征作为决策树的顶部分裂是有意义的。这意味着你将会有多棵树,它们的预测高度相关。我们希望避免这种情况,因为对高度相关变量取平均不会显著减少方差。通过随机选择每棵树的特征,在随机森林中,树变得去相关化,从而减少了模型的方差。这种去相关性是使用随机森林相对于手工决策树的主要优点。

小结

以下是您在本文中学到的有关决策树和随机森林的知识的简要总结:

您可以使用决策树预测的问题示例

决策树的元素:nodes、edges、roots和leaves

如何对决策树特征进行随机采样,从而构建随机森林

为什么使用随机森林来解关联变量有助于减少最终模型的方差

支持向量机

支持向量机是分类算法(尽管从技术上讲,它们也可以用于解决回归问题),它通过对类别之间最宽的差距进行切片,将数据集划分为多个类别。这个概念稍后将通过可视化变得更加清晰。

什么是支持向量机?

支持向量机(简称SVM)是受监督的机器学习模型,具有分析数据和识别模式的相关学习算法。支持向量机可用于分类问题和回归问题。在本文中,我们将专门研究使用支持向量机来解决分类问题。

支持向量机的工作原理是什么?

让我们深入了解一下支持向量机的真正工作原理。给定一组训练示例(每个示例都标记为属于两个类别之一),支持向量机训练算法将构建一个模型。此模型将新示例分配到两个类别之一。这使得支持向量机成为非概率二进制线性分类器。

SVM使用几何进行分类预测。

更具体地说,SVM模型将数据点映射为空间中的点,并划分单独的类别,以便它们被尽可能宽的开放间隙划分。根据新数据点属于差距的哪一侧,预测它们属于某个类别。

下面是一个可视化示例,可以帮助您了解支持向量机背后的直觉:

通俗9.png

如您所见,如果新数据点位于绿线的左侧,则它将标有红色类别。同样,如果新数据点位于绿线的右侧,则它将被标记为属于蓝色类别。这条绿线称为超平面,它是支持向量机算法的重要词汇。让我们看一下支持向量机的不同可视化表示形式:

通俗10.png

在此图中,超平面被标记为最佳超平面。支持向量机理论将最佳超平面定义为使每个类别中最近的数据点之间的边距最大化的超平面。如您所见,边距线实际上触及三个数据点–两个来自红色类别,一个来自蓝色类别。这些触及边距线的数据点称为支持向量,支持向量机的名称由此而来。

小结

以下是您刚刚学到的有关支持向量机的简要总结:

支持向量机是监督式机器学习算法的一个例子

该支持向量机可用于解决分类和回归问题

支持向量机如何使用最大化数据集中类别之间边距的超平面对数据点进行分类

在支持向量机中,触及边距线的数据点称为支持向量。这些数据点是支持向量机名称的来源。

K-Means聚类分析

K-means聚类分析是一种机器学习算法,允许您识别数据集中类似数据的段。

什么是K-Means聚类分析?

K-means聚类是一种无监督的机器学习算法。这意味着它接收未标记的数据,并尝试将数据中的类似观测值聚类分组在一起。K-means聚类算法对于解决实际问题非常有用。以下是此机器学习模型的一些使用案例:

面向营销团队的客户细分

文档分类

为Amazon、UPS或FedEx等公司优化交货路线

识别城市内的犯罪中心并做出反应

专业运动分析

预测和预防网络犯罪

K均值聚类算法的主要目标是将数据集划分为不同的组,以便每个组中的观测值彼此相似。以下是实际作中的直观表示:

通俗11.png

在本教程的下一节中,我们将探讨K-means聚类分析背后的数学原理。

K-Means聚类算法如何工作?

运行K-means聚类分析算法的第一步是选择要将数据划分到的聚类数。此集群数是算法名称中引用K的值。在K-means聚类分析算法中选择K值是一个重要的选择。我们将在本文后面详细讨论如何选择合适的K值。

接下来,您必须将数据集中的每个点随机分配给一个随机集群。这将提供我们的初始分配,然后您可以对其运行以下迭代,直到集群停止更改:

通过获取该聚类中点的平均向量来计算每个聚类的质心

将每个数据点重新分配给具有最接近质心的集群

下面是一个动画,说明了其在实践中如何用于值为K3+的K-means聚类分析算法。您可以看到由黑色字符表示的每个群集的质心。

通俗12.png

为K均值聚类算法选择适当的K值

为K-means聚类分析算法选择合适的K值实际上相当困难。选择“最佳”K值没有“正确”的答案。机器学习从业者经常使用的一种方法称为肘部法。要使用肘部法,您需要做的第一件事是计算一组值的K-means聚类算法的误差平方和(SSE)。K表示聚类算法中的SSE定义为聚类中每个数据点K与该聚类质心之间的平方距离之和。作为此步骤的一个示例,您可以计算K24、68和10的值的SSE。接下来,您需要针对这些不同K值生成SSE图。您将看到误差随着K值的增加而减小。这是有道理的–您在数据集中创建的类别越多,每个数据点就越有可能接近其特定集群的中心。话虽如此,肘部方法背后的想法是选择一个K值,在该肘部值时SSE突然减慢其下跌速度。这种突然的减少会在图表中生成一个。例如,这是SSE对K的图表。在这种情况下,弯头方法建议使用大约K6的值。

通俗13.png

重要的是,这只是一个用于选择合适值的估计。在K均值聚类算法中永远没有“最佳”值。与机器学习领域中的许多事情一样,这取决于具体情况。

小结

以下是您在本文中学到的内容的简要总结:

K-means聚类分析算法能够解决的无监督机器学习问题的示例

什么是K-means聚类分析算法的基本原理

K-means聚类分析算法的工作原理

如何使用肘部法在K-means聚类分析模型中选择适当的K值

什么是主成分分析?

主成分分析是一种机器学习技术,用于检查变量集之间的相互关系。换句话说,主成分分析研究变量集以确定这些变量的底层结构。主成分分析有时称为因子分析。根据此描述,您可能会认为主成分分析与线性回归非常相似。事实并非如此。事实上,这两种技术有一些重要的区别。

主成分分析用于将具有多个特征的数据集转换为具有较少特征的转换数据集,其中每个新特征都是预先存在的特征的线性组合。这个转换后的数据集旨在以更简单的方式解释原始数据集的大部分方差。

线性回归和主成分分析之间的差异

线性回归确定数据集中的一条最佳拟合线。主成分分析确定最适合数据集的几条正交线。如果您不熟悉术语正交,它只是意味着线条彼此成直角(90度)——就像地图上的北、东、南和西一样。让我们考虑一个例子来帮助你更好地理解这一点。

通俗14.png

看看此图中的轴标签。在此图像中,x轴主成分对数据集中73%的方差进行示例。y轴主成分解释了数据集中大约23%的方差。这意味着数据集中4%的方差仍然无法解释。您可以通过向分析中添加更多主成分来进一步减少此数量。

小结

以下是您在本教程中学到的有关主成分分析的知识的简要总结:

该主成分分析试图找到决定数据集中可变性的正交因子

主成分分析和线性回归之间的差异

在数据集内部可视化时,正交主成分是什么样子的

添加更多主成分可以帮助您解释数据集中的更多方差

文章分类: 人工智能
分享到:
精选文章
公众号
关于我们
联系方式
让您的业务更自动化、智能化!
联系邮箱:   zhangy@jee-soft.cn       wangyl@jee-soft.cn
185 1521 8668
183 3562 2627
联系电话: