机器学习模型

2025年6月17日 | 阅读10分钟

机器学习模型被定义为训练过程输出的数学表示。 机器学习是研究不同算法的学科,这些算法可以通过经验和旧数据自动改进并构建模型。机器学习模型类似于计算机软件,旨在根据以往的经验或数据识别模式或行为。学习算法在训练数据中发现模式,并输出一个能够捕捉这些模式并对新数据进行预测的机器学习模型。

Machine Learning Models

让我们理解一个机器学习模型的例子,我们正在创建一个应用程序,用于根据面部表情识别用户的情绪。通过机器学习模型创建这样的应用程序是可能的,我们将通过输入带有各种情绪标签的面部图像来训练模型。每当使用此应用程序来确定用户情绪时,它会读取所有输入数据,然后确定任何用户的情绪。

因此,简单来说,我们可以说,机器学习模型是对某个事物或过程的简化表示。在本主题中,我们将讨论不同的机器学习模型及其技术和算法

什么是机器学习模型?

机器学习模型可以理解为经过训练的程序,旨在在新数据中查找模式并进行预测。这些模型表示为数学函数,它以输入数据的形式接收请求,对输入数据进行预测,然后提供输出作为响应。首先,这些模型在一组数据上进行训练,然后它们被提供一个算法来对数据进行推理,从输入数据中提取模式并从中学习。一旦这些模型经过训练,它们就可以用于预测未见过的数据集。

根据不同的业务目标和数据集,有各种类型的机器学习模型可用。

机器学习模型的分类

根据不同的业务目标和数据集,算法有三种学习模型。每个机器学习算法都属于这三种模型中的一种

  • 监督式学习
  • 无监督式学习
  • 强化学习
Machine Learning Models

监督学习进一步分为两类

  • 分类
  • 回归

无监督学习也分为以下几类

  • 聚类
  • 关联规则
  • 降维

1. 监督机器学习模型

监督学习是最容易理解的机器学习模型,其中输入数据称为训练数据,并具有已知的标签或结果作为输出。因此,它遵循输入-输出对的原则。它需要创建一个函数,该函数可以使用训练数据集进行训练,然后将其应用于未知数据并进行一些预测性能。监督学习是基于任务的,并在标记数据集上进行测试。

我们可以将监督学习模型应用于简单的现实问题。例如,我们有一个包含年龄和身高的数据集;然后,我们可以构建一个监督学习模型,根据一个人的年龄预测他们的身高。

监督学习模型进一步分为两类

回归

在回归问题中,输出是一个连续变量。一些常用的回归模型如下

a) 线性回归

线性回归是最简单的机器学习模型,我们尝试使用一个或多个输入变量预测一个输出变量。线性回归的表示是一个线性方程,它结合了一组输入值(x)和这组输入值的预测输出(y)。它以线的形式表示

Y = bx+ c。

Machine Learning Models

线性回归模型的主要目标是找到最能拟合数据点的最佳拟合线。

线性回归扩展到多元线性回归(寻找最佳拟合平面)和多项式回归(寻找最佳拟合曲线)。

b) 决策树

决策树是流行的机器学习模型,可用于回归和分类问题。

决策树使用树状的决策结构,以及其可能的结果和后果。其中,每个内部节点用于表示对属性的测试;每个分支用于表示测试的结果。决策树的节点越多,结果就越准确。

决策树的优点是它们直观且易于实现,但它们缺乏准确性。

决策树广泛应用于运筹学,特别是决策分析、战略规划,以及主要应用于机器学习。

c) 随机森林

随机森林是集成学习方法,由大量决策树组成。随机森林中的每棵决策树都预测一个结果,并将获得多数票的预测视为结果。

随机森林模型可用于回归和分类问题。

对于分类任务,随机森林的结果取自多数票。而在回归任务中,结果取自每棵树生成的预测的平均值。

d) 神经网络

神经网络是机器学习的子集,也称为人工神经网络。神经网络由人工神经元组成,其设计类似于人脑结构和工作方式。每个人工神经元在神经网络中与许多其他神经元连接,数百万个这样的连接神经元创建了一个复杂的认知结构。

Machine Learning Models

神经网络由多层结构组成,包含一个输入层,一个或多个隐藏层,以及一个输出层。由于每个神经元都与另一个神经元连接,它将数据从一层传输到下一层的其他神经元。最终,数据到达神经网络的最后一层或输出层并生成输出。

神经网络依赖于训练数据来学习和提高其准确性。然而,一个训练有素且准确的神经网络可以快速聚类数据,并成为强大的机器学习和人工智能工具。最著名的神经网络之一是 Google的搜索算法。

分类

分类模型是监督学习技术的第二种类型,用于从分类形式的观察值中得出结论。例如,分类模型可以识别电子邮件是否是垃圾邮件;买家是否会购买产品等。分类算法用于预测两个类别并将输出分类为不同的组。

在分类中,设计了一个分类器模型,该模型将数据集分类为不同的类别,并且每个类别都分配了一个标签。

机器学习中有两种类型的分类

  • 二元分类:如果问题只有两个可能的类别,则称为二元分类器。例如,猫或狗,是或否。
  • 多类分类:如果问题有两个以上可能的类别,则为多类分类器。

一些流行的分类算法如下

a) 逻辑回归

逻辑回归用于解决机器学习中的分类问题。它们类似于线性回归,但用于预测分类变量。它可以预测输出为是或否,0或1,真或假等。然而,它不是给出精确值,而是提供0到1之间的概率值。

b) 支持向量机

支持向量机或SVM是流行的机器学习算法,广泛用于分类和回归任务。然而,具体来说,它用于解决分类问题。SVM的主要目标是在N维空间中找到最佳决策边界,该边界可以将数据点分离成类别,最佳决策边界称为超平面。SVM选择极端向量来找到超平面,这些向量称为支持向量。

Machine Learning Models

c) 朴素贝叶斯

朴素贝叶斯是机器学习中另一种流行的分类算法。之所以这样称呼,是因为它基于贝叶斯定理,并遵循特征之间的朴素(独立)假设,如下所示:

Machine Learning Models

每个朴素贝叶斯分类器都假定特定变量的值独立于任何其他变量/特征。例如,如果需要根据颜色、形状和味道对水果进行分类。那么黄色、椭圆形和甜味将被识别为芒果。这里每个特征都独立于其他特征。

2. 无监督机器学习模型

无监督机器学习模型实现的学习过程与监督学习相反,这意味着它使模型能够从未标记的训练数据集中学习。基于未标记的数据集,模型预测输出。通过无监督学习,模型可以在没有任何监督的情况下自行从数据集中学习隐藏模式。

无监督学习模型主要用于执行三个任务,如下所示

  • 聚类
    聚类是一种无监督学习技术,它涉及根据相似性和差异将数据点聚类或分组到不同的簇中。相似性最大的对象保留在同一组中,它们与其他组没有或很少有相似性。
    聚类算法可广泛应用于图像分割、统计数据分析、市场细分等不同任务。
    一些常用的聚类算法有K-均值聚类、层次聚类、DBSCAN等。
    Machine Learning Models
  • 关联规则学习
    关联规则学习是一种无监督学习技术,它在大型数据集中发现变量之间有趣的关联。该学习算法的主要目标是找出一种数据项对另一种数据项的依赖关系,并相应地映射这些变量,从而实现最大利润。该算法主要应用于市场购物篮分析、Web使用挖掘、连续生产等。
    一些流行的关联规则学习算法是Apriori算法、Eclat、FP-growth算法。
  • 降维
    数据集中存在的特征/变量的数量称为数据集的维度,用于降低维度的技术称为降维技术。
    尽管更多的数据可以提供更准确的结果,但它也可能影响模型/算法的性能,例如过拟合问题。在这种情况下,会使用降维技术。
    "这是一个将高维度数据集转换为低维度数据集的过程,同时确保它提供相似的信息。"
    不同的降维方法,如PCA(主成分分析)、奇异值分解等。

强化学习

在强化学习中,算法学习给定状态集的操作,这些操作会导向目标状态。它是一个基于反馈的学习模型,通过与环境交互,在每个状态或动作之后接收反馈信号。此反馈作为奖励(每次良好动作获得正奖励,每次不良动作获得负奖励),代理的目标是最大化正奖励以提高其性能。

强化学习中模型的行为类似于人类学习,因为人类通过经验作为反馈并与环境互动来学习事物。

以下是一些流行的强化学习算法

  • Q-学习: Q-学习是强化学习中流行的无模型算法之一,它基于贝尔曼方程。

它旨在学习策略,帮助人工智能代理在特定情况下采取最佳行动以最大化奖励。它为每个状态-动作对包含Q值,这些Q值表示遵循给定状态路径的奖励,它试图最大化Q值。

  • 状态-动作-奖励-状态-动作 (SARSA): SARSA是基于马尔可夫决策过程的On-policy算法。它使用当前策略执行的动作来学习Q值。SARSA算法代表状态-动作-奖励-状态-动作,它象征着元组 (s, a, r, s', a')。
  • 深度Q网络: DQN或深度Q神经网络是神经网络中的Q学习。它主要用于大型状态空间环境,其中定义Q表将是一项复杂的任务。因此,在这种情况下,神经网络不使用Q表,而是根据状态使用每个动作的Q值。

训练机器学习模型

一旦机器学习模型构建完成,就需要对其进行训练以获得适当的结果。要训练机器学习模型,需要大量的预处理数据。这里的预处理数据意味着结构化形式的数据,且空值等已减少。如果我们不提供预处理数据,那么我们的模型很可能会表现糟糕。

如何选择最佳模型?

在上一节中,我们讨论了不同的机器学习模型和算法。但是,对于任何初学者来说,一个最令人困惑的问题可能是“我应该选择哪个模型?”。因此,答案是这主要取决于业务需求或项目需求。除此之外,它还取决于相关属性、可用数据集的数量、特征数量、复杂性等。然而,在实践中,建议我们始终从适用于特定问题最简单的模型开始,然后通过参数调优和交叉验证逐渐提高复杂性并测试准确性。

机器学习模型与算法的区别

初学者最困惑的问题之一是机器学习模型和算法是否相同?因为在机器学习和数据科学的各种情况下,这两个术语可以互换使用。

这个问题的答案是否定的,机器学习模型与算法不同。简单来说,机器学习算法就像一个程序或方法,它对数据运行以从中发现模式并生成模型。同时,机器学习模型就像一个计算机程序,可以生成输出或进行预测。更具体地说,当我们用数据训练一个算法时,它就变成了一个模型。


下一主题连续概率分布