机器学习模型类型分类详解
类型:热点整理2026-07-19
机器学习模型可以分成两大类:有监督学习和无监督学习,听名字就能猜出它们的核心差别——有没有“老师”给数据打上标签。 1 有监督学习 有监督学习,简单说就是拿一堆已经标好答案的数据(比如每张图片都手动标注了是猫还是狗)来训练模型,让模型学会从输入X到输出Y的映射关系:Y = f (X)。训练数据通常
机器学习模型可以分成两大类:有监督学习和无监督学习,听名字就能猜出它们的核心差别——有没有“老师”给数据打上标签。
1. 有监督学习
有监督学习,简单说就是拿一堆已经标好答案的数据(比如每张图片都手动标注了是猫还是狗)来训练模型,让模型学会从输入X到输出Y的映射关系:Y = f (X)。训练数据通常是 (n×x, y) 的形式——n是样本数量,x和y是具体的变量值。
这类问题可以进一步拆成两个方向:
* **分类问题**:预测样本属于哪个离散类别。比如判断性别(男/女),或者是否健康(健康/不健康)。
* **回归问题**:预测一个连续的实数。比如根据历史数据预测某地区的人均身高。
此外,还有一类叫集成学习,它也是监督学习的一员。思路是把多个表现一般的弱模型组合起来,共同做决策,往往能拿到更好的效果。
1.1 单模型
**1.11 线性回归**

线性回归是最基础的回归模型,它假设输入和输出之间可以用一条直线(或更高维的平面)来描述。如果只有一个自变量和一个因变量,就是一元线性回归;如果有多个自变量,那就是多元线性回归。说到底,就是在找最佳拟合直线。
**1.12 逻辑回归**

别看名字里带“回归”,它其实是个分类模型,专门用来研究分类型Y(比如愿意/不愿意、买/不买)和X之间的关系。当Y只有两类(0或1)时叫二元逻辑回归;超过两类就叫多分类逻辑回归。X既可以是定量变量,也可以是定类变量——如果X是定类数据,得先做哑变量处理。
**1.13 Lasso**

Lasso可以看作线性回归的一种“有惩罚”的版本。它通过L1正则化,在拟合模型时强制把一些不重要特征的系数压缩到零,从而自动完成特征选择。这样做的好处是模型更简洁,同时还能有效防止过拟合,特别适合处理多重共线性的数据。
**1.14 K近邻 (KNN)**
KNN是个“懒人”算法——它不建立模型,而是靠“投票”或“平均”来做预测。做分类时,找离新样本最近的K个邻居,让邻居们投票决定新样本属于哪一类(多数表决);做回归时,则把K个邻居的输出值取平均作为预测结果。原理很简单,分类和回归的区别只是在最后决策时的策略不同。
**1.15 决策树**

决策树就像一连串的“是否”问题。每个内部节点都是一个属性测试(比如“年龄>30?”),根据测试结果把样本分到不同分支。叶子节点就是最终结论:如果是分类树,取叶子节点中样本最多的类别;如果是回归树,取样本输出值的平均值。直观又好理解。
**1.16 BP神经网络**

BP(反向传播)神经网络是目前最常用的神经网络之一。它由输入层、隐含层和输出层组成,信号从输入层向前传播到输出层,而误差则反方向从输出层传回输入层,逐层调整权重和偏置。说白了,就是通过“试错+反馈”来让模型越来越准。学习规则是最速下降法,目标是让分类错误率(或误差平方和)最小。
**1.17 支持向量机 (SVM)**

SVM有两副面孔:一个做分类,一个做回归。SVM分类(SVC)的核心是找到一个“最大间隔超平面”,把不同类别的样本分得越开越好;SVM回归(SVR)则把数据映射到高维空间,在那个空间里做线性拟合,再映射回原始空间。用一句话概括:通过核技巧在高维空间里找规律。
**1.18 朴素贝叶斯**

朴素贝叶斯基于贝叶斯定理,计算给定观测数据时某个假设成立的概率。它有一个很强的假设:所有特征相互独立。虽然现实中这个假设很难成立,但它胜在简单、高效,在很多文本分类场景中表现依然不错。
1.2 集成学习
集成学习就是把多个模型(比如多个分类器)的结果结合起来,通过投票(分类)或平均(回归)来提升准确性。俗话说“众人拾柴火焰高”,集成学习就是这个道理。
主流的集成方法分三大类:**Bagging**、**Boosting** 和 **Stacking**。这里只聊前两类,Stacking先不展开。

**Boosting**

Boosting的核心是“串行训练”——一个接一个地训练弱模型,每一个新模型都去纠正前一个模型的错误,最后把所有模型加权求和得到强模型。
**1.21 GBDT**
GBDT以CART回归树为基学习器,采用加法模型,串行训练多棵树。每一棵新树都去拟合损失函数在当前模型下的负梯度方向。最终把所有树的预测结果加起来,可以直接做回归,也可以通过sigmoid或softmax函数转换成分类结果。
**1.22 AdaBoost**
AdaBoost通过调整样本权重来训练弱学习器:错误率低的学习器获得高权重,错误率高的学习器权重低。最终把弱学习器加权组合成强学习器。分类和回归的主要区别在于误差率的计算方式——分类常用0/1损失,回归常用平方损失或线性损失。
**1.23 XGBoost**
XGBoost是GBDT的一种高效实现,从2015年提出后迅速成为数据竞赛中的“大杀器”。它的主要改进包括:在损失函数中加入了正则化项,并使用二阶泰勒展开来近似损失函数,从而更精确地拟合梯度。这让它泛化能力更强、扩展性更好、速度也更优。
**1.24 LightGBM**
LightGBM又是XGBoost的一种加速版本。它把连续浮点特征离散化成直方图(k个离散值),然后基于直方图寻找最优分割点;同时采用带深度限制的leaf-wise生长策略(每次从当前所有叶子中找分裂收益最大的节点),节省了时间和内存开销。
**1.25 CatBoost**
CatBoost同样是GBDT框架的变体,但它最擅长的就是处理类别型特征。通过巧妙设计对称决策树,以及专门解决梯度偏差和预测偏移问题的算法,它在类别特征较多的数据集上表现稳定。
**Bagging**

Bagging的思路与Boosting相反——它让多个模型并行独立训练,最后通过投票或平均给出结果。关键在于每个模型都用不同的训练子集(随机采样),从而降低方差。
**1.26 随机森林**
随机森林是Bagging的典型代表。它构建一堆决策树,每棵树既随机抽样样本,又在每个分裂点随机选择特征子集。最后,通过所有树的投票(分类)或平均(回归)得到最终结果。简单、鲁棒,不容易过拟合。
**1.27 Extra Trees**
Extra Trees(极端随机森林)可以看作随机森林的“更随机”版本。它在节点分裂时,不仅随机选特征,还随机选阈值,完全放弃了对最优分割点的求解。这导致每棵树之间的差异更大、更随机,从而能在某些场景下进一步降低方差。
---
2 无监督学习
无监督学习面对的数据只有输入X,没有对应的标签Y。任务就是自己从数据里发现结构、模式或者内在规律。
2.1 聚类
聚类是把相似的样本自动归到同一个“簇”(cluster)里。它和分类的区别在于:聚类事先不知道有哪些类别,也无法给数据打标签。
**2.11 K-means算法**

K-means是一种基于中心的聚类算法。先指定要分成K个类,然后迭代更新每个类的中心点,使得每个样本到其所属类中心的距离之和最小。它与分层聚类不同:分层聚类是按字段聚类,而K-means按样本聚类。
**2.12 分层聚类**

分层聚类把数据一层层地聚起来,最终形成一棵树状图(树形结构)。自底向上的叫凝聚聚类(比如AGNES),先把每个样本看作一个簇,然后逐步合并最近的簇;自顶向下的叫分裂聚类(比如DIANA),从一个包含所有样本的簇开始,逐步分裂。实际应用中,凝聚法更常见。
2.2 降维
降维就是在尽可能保留关键信息的前提下,减少数据的维度。常用手段包括特征选择(挑出原始特征的一个子集)和特征提取(把高维数据转换到低维空间,比如主成分分析)。
**2.21 PCA主成分分析**

PCA通过线性组合把多个可能相关的变量转换成一组新的不相关变量(主成分)。这些主成分按方差从大到小排列,前几个主成分就能解释原数据的大部分信息。用它降维,相当于用更少的变量捕捉最重要的模式。
**2.22 SVD奇异值分解**
SVD是一种极其通用的矩阵分解技术,不光用于降维(如特征值分解),还被广泛用在推荐系统、自然语言处理等领域。很多算法的底层都依赖它,称得上是机器学习的基石之一。
**2.23 LDA线性判别分析**

注意这个LDA全称是**线性判别分析**(不是主题模型里的LDA)。它的思路是:把样本投影到一条直线上,让同类样本的投影点尽可能靠近,不同类的样本投影点尽可能远离。分类新样本时,同样投影到这条线上,看它落在哪里就归哪一类。本质上,它既是一种降维方法,也是一种分类器。