什么是机器学习模型?
机器学习模型是一种用于对给定数据集进行预测的程序。机器学习模型由监督机器学习算法建立,并使用计算方法直接从数据中“学习”信息,而不依赖于预先确定的方程。更具体地说,该算法采用一组已知的输入数据和对数据(输出)的已知响应,并训练机器学习模型对新数据的响应产生合理的预测。
机器学习模型的类型
机器学习模型主要有两种类型:机器学习分类(其中响应属于一组类)和机器学习回归(其中响应是连续的)。
选择正确的机器学习模型似乎是压倒性的——有几十种分类和回归模型,每种模型都采用不同的学习方法。这个过程需要评估权衡,例如模型的速度、准确性和复杂性,并且可能涉及试验和错误。
下面是机器学习分类和回归机器学习模型的概述,以帮助您入门。
回归的流行机器学习模型
模型 | 图像 | 工作原理 | MATLAB函数 | 例子和如何 |
---|---|---|---|---|
线性回归 | 线性回归是一种统计建模技术,用于将连续响应变量描述为一个或多个预测变量的线性函数。由于线性回归模型易于解释和训练,它们通常是第一个拟合到新数据集的模型。 | fitlm |
什么是线性回归模型?——文档 拟合线性回归机器学习模型-代码示例 |
|
非线性回归 | 非线性回归是一种统计建模技术,有助于描述实验数据中的非线性关系。非线性回归模型通常被假定为参数,其中模型被描述为一个非线性方程。 “非线性”是指一个拟合函数,它是参数的非线性函数。例如,如果拟合参数为b0, b1和b2:方程y = b0+ b1x + b2x2是拟合参数的线性函数,而y = (b0xb1) / (x + b2)是拟合参数的非线性函数。 |
fitnlm |
非线性回归——文档 拟合非线性回归机器学习模型-代码示例 |
|
高斯过程回归(GPR) | GPR模型是非参数机器学习模型,用于预测连续响应变量的值。 响应变量被建模为一个高斯过程,使用与输入变量的协方差。 这些模型广泛应用于空间分析领域中存在不确定性的插值。GPR也被称为克里格。 |
fitrgp |
高斯过程回归模型——文档 拟合高斯过程机器学习模型-代码示例 |
|
支持向量机(SVM)回归 | SVM回归算法的工作原理类似于SVM分类算法,但经过修改后能够预测连续响应。SVM回归算法不是寻找一个分离数据的超平面,而是寻找一个与测量数据偏离的值不大于少量的模型,参数值尽可能小(以最小化对错误的敏感性)。 | fitrsvm |
理解支持向量机回归——文档 拟合SVM机器学习模型-代码示例 |
|
广义线性模型 | 广义线性模型(GLM)是使用线性方法的非线性模型的一种特殊情况。它涉及到将输入的线性组合拟合到输出的非线性函数(链接函数)。逻辑回归模型是GLM的一个例子。 | fitglm |
广义线性模型——文档 拟合广义线性模型-代码示例 |
|
回归树 | 用于回归的决策树类似于用于分类的决策树,但它们被修改以能够预测连续响应。 | fitrtree |
种植决策树——文档 拟合回归树机器学习模型-代码示例 |
|
生成可加性模型(GAM) | GAM模型使用预测因子的单变量和双变量形状函数的和来解释响应变量。他们使用增强树作为每个预测器的形状函数,并可选地使用每对预测器;因此,该函数可以捕获预测器和响应变量之间的非线性关系。 | fitrgam |
广义加性模型——文档 训练广义加性回归模型-代码示例 |
|
神经网络 (浅) |
受人脑的启发,神经网络由高度连接的神经元网络组成,这些神经元网络将输入与所需的输出联系起来。通过迭代修改连接的强度来训练网络,以便训练输入映射到训练响应。 | fitrnet |
神经网络架构——文档 神经网络机器学习模型拟合-代码示例 |
|
神经网络(深度) | 深度神经网络比浅层神经网络有更多的隐藏层,有些情况下有数百个隐藏层。深度神经网络可以配置为通过在网络的末端放置回归输出层来解决回归问题。 | trainNetwork |
MATLAB深度学习——文档 深度神经网络的回归拟合-代码示例 |
|
回归树集合 | 在集成方法中,几个“较弱的”回归树被组合成一个“较强的”集成。最终模型使用来自“较弱”回归树的预测组合来计算最终预测。 | fitrensemble |
整体算法——文档 拟合回归树集成机器学习模型-代码示例 |
分类的流行机器学习模型
模型 | 图像 | 工作原理 | MATLAB函数 | 进一步的阅读 |
---|---|---|---|---|
决策树 | 决策树允许您通过从根(开始)到叶节点跟踪树中的决策来预测对数据的响应。树由分支条件组成,其中预测器的值与训练的权重进行比较。在训练过程中确定分支的数量和权值。可以使用额外的修改或修剪来简化模型。 | fitctree |
种植决策树——文档 拟合决策树机器学习模型-代码示例 |
|
k-最近邻(KNN) | KNN是一种机器学习模型,它基于数据集中最近邻的类对对象进行分类。KNN预测假设彼此靠近的物体是相似的。距离度量,如欧几里得,城市街区,余弦和切比雪夫,被用来寻找最近的邻居。 | fitcknn |
使用最近邻进行分类——文档 合适的一个k-最近邻机器学习模型-代码示例 |
|
支持向量机(SVM) | SVM通过寻找线性决策边界(超平面)来对数据进行分类,该边界将一个类的所有数据点与另一个类的所有数据点分开。当数据是线性可分的时候,支持向量机的最佳超平面是两个类之间的最大边际。如果数据不是线性可分的,则使用损失函数来惩罚超平面错误一侧的点。支持向量机有时使用核变换将非线性可分离数据转换到可以找到线性决策边界的高维。 | fitcsvm |
二元分类的支持向量机——文档 拟合SVM机器学习模型代码示例 |
|
生成可加性模型(GAM) | GAM模型使用预测因子的单变量和双变量形状函数的和来解释班级分数。他们使用增强树作为每个预测器的形状函数,并可选地使用每对预测器;因此,该函数可以捕获预测器和响应变量之间的非线性关系。 | fitcgam |
广义加性模型——文档 训练二元分类的广义加性模型-代码示例 |
|
神经网络(浅层) | 受人脑的启发,神经网络由高度连接的神经元网络组成,这些神经元网络将输入与所需的输出联系起来。机器学习模型通过迭代修改连接的强度来训练,以便给定的输入映射到正确的响应。神经网络的输入层和输出层之间的神经元被称为“隐藏层”。浅层神经网络通常有一到两个隐藏层。 | fitcnet |
神经网络架构——文档 浅神经网络机器学习模型的拟合-代码示例 |
|
神经网络(深度) | 深度神经网络比浅层神经网络有更多的隐藏层,有些情况下有数百个隐藏层。深度神经网络可以通过在网络的末端放置一个分类输出层来解决分类问题。许多pretrained深度学习模型用于分类的任务是公开可用的,例如图像识别. | trainNetwork |
MATLAB深度学习——文档 深度神经网络分类模型拟合-代码示例 |
|
袋装和增强决策树 | 在这些集成方法中,几个“较弱”的决策树被组合成一个“较强”的集成。 袋装决策树由独立训练的树组成,这些树是从输入数据引导的数据。 增强包括通过迭代添加“弱”学习器来创建一个强学习器,并调整每个“弱”学习器的权重,以专注于错误分类的示例。 |
fitcensemble |
整体算法——文档 拟合一个增强的决策树集合-代码示例 |
|
朴素贝叶斯 | 朴素贝叶斯分类器假设类中特定特征的存在与任何其他特征的存在无关。它根据新数据属于特定类别的最高概率对其进行分类。 | fitcnb |
朴素贝叶斯分类——文档 朴素贝叶斯机器学习模型的拟合-代码示例 |
|
判别分析 | 判别分析通过寻找特征的线性组合来对数据进行分类。判别分析假设不同类别生成的数据基于高斯分布。训练判别分析模型包括为每个类找到高斯分布的参数。分布参数用于计算边界,边界可以是线性函数或二次函数。这些边界用于确定新数据的类别。 | fitcdiscr |
建立判别分析模型——文档 拟合判别分析机器学习模型-代码示例 |