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