机器学习中的经典算法
机器学习的经典算法是构建现代 AI 系统的基础,涵盖监督学习、无监督学习、集成学习等多个方向。这些算法虽诞生于不同时期,但至今仍在数据挖掘、推荐系统、图像识别等领域广泛应用。以下按学习类型分类详解经典算法的核心原理、优缺点及应用场景。
一、监督学习经典算法
监督学习的核心是利用带标签的训练数据(输入 + 输出)学习映射关系,用于预测或分类。
1. 线性回归(Linear Regression)
核心原理:通过拟合一条直线(或超平面)描述输入特征与连续输出之间的线性关系,目标是最小化预测值与真实值的平方误差(最小二乘法)。
数学表达:对于单特征问题,模型为 y=wx+b(w 为权重,b 为偏置);多特征时扩展为 y=w1x1+w2x2+...+wnxn+b。
关键优化:当特征维度高时,需引入正则化(L1 正则化即 Lasso 回归,抑制过拟合并实现特征选择;L2 正则化即 Ridge 回归,减小权重绝对值)。
优点:原理简单、可解释性强(权重直接反映特征影响程度)、训练高效。
缺点:仅能捕捉线性关系,对非线性数据拟合效果差。
应用场景:房价预测、销量预测、气温预测等连续值预测问题。
2. 逻辑回归(Logistic Regression)
核心原理:虽名为 “回归”,实则是二分类算法。通过 Sigmoid 函数将线性输出映射到 [0,1] 区间,输出值表示样本属于某一类别的概率(如 “正类” 概率)。
Sigmoid 函数:σ(z)=1+e−z1,其中 z=wx+b;当 σ(z)≥0.5 时预测为正类,否则为负类。
损失函数:采用交叉熵损失(而非平方误差),确保梯度优化更稳定(平方误差在分类问题中易陷入局部最优)。
优点:计算高效、输出可解释为概率、易于扩展到多分类(如 One-vs-Rest 策略)。
缺点:仅适用于线性可分数据,对复杂特征交互捕捉能力弱。
应用场景:垃圾邮件识别、疾病风险预测、用户流失预警等二分类问题。
3. 决策树(Decision Tree)
核心原理:通过特征分裂构建树状模型,每个内部节点代表一个特征判断,叶节点为预测结果(分类或回归)。分裂依据是最大化 “信息增益”(分类问题,如 ID3 算法)、“信息增益比”(C4.5 算法)或最小化 “Gini 不纯度”(CART 分类树)/“平方误差”(CART 回归树)。
优点:可解释性极强(类似人类决策逻辑)、无需特征归一化、能捕捉非线性关系。
缺点:易过拟合(深度过深时拟合噪声)、对数据微小变化敏感(稳定性差)。
应用场景:信用评分、客户分层、医疗诊断辅助等需可解释性的场景。
4. 随机森林(Random Forest)
核心原理:属于集成学习中的 Bagging 方法,通过构建多个独立决策树并综合结果(分类用投票,回归用平均)降低过拟合风险。
随机性体现:① 训练数据随机抽样(Bootstrap 抽样,每个树用不同子集);② 特征随机选择(每个节点分裂时仅用部分特征)。
优点:稳定性强(减少单棵树的方差)、抗过拟合、可输出特征重要性(基于节点分裂贡献)。
缺点:模型较复杂(难以可视化单棵树逻辑)、训练成本高于单棵决策树。
应用场景:图像分类、用户推荐、风险评估等需高准确率的场景,常作为基准模型。
5. 支持向量机(SVM)
核心原理:核心是找到最大间隔超平面分隔不同类别,使两类样本到超平面的距离(间隔)最大。对于非线性可分数据,通过核函数(如 RBF 径向基核、多项式核)将低维数据映射到高维空间,转化为线性可分问题。
关键概念:支持向量是距离超平面最近的样本,决定超平面位置;软间隔允许少量样本越界(通过惩罚系数控制容错程度),处理噪声数据。
优点:在高维空间中表现优秀(如文本分类)、对小样本数据友好、泛化能力强。
缺点:计算复杂度高(不适合超大数据集)、核函数选择依赖经验、可解释性弱。
应用场景:文本分类(如情感分析)、图像识别(如手写数字识别)、生物信息学等中小样本问题。
6. K 近邻(KNN)
核心原理:“近朱者赤,近墨者黑” 的惰性学习算法(无训练过程,实时计算)。对于新样本,通过计算与训练集中所有样本的距离(如欧氏距离、曼哈顿距离),选取最近的 K 个样本,由其标签投票(分类)或平均(回归)决定新样本结果。
优点:原理极简、无需训练、可处理非线性数据。
缺点:计算量大(实时预测耗时)、对高维数据敏感(“维度灾难”)、依赖距离度量和 K 值选择。
应用场景:推荐系统(如 “相似用户喜欢的商品”)、手写数字识别、异常检测初步筛选。
二、无监督学习经典算法
无监督学习利用无标签数据挖掘内在结构,核心任务是聚类、降维或密度估计。
1. K 均值聚类(K-Means)
核心原理:将数据自动划分为 K 个簇,目标是最小化 “簇内平方和”(同一簇样本相似度高,不同簇差异大)。
迭代过程:① 随机选择 K 个初始簇中心;② 计算样本到各中心的距离,分配到最近簇;③ 重新计算各簇中心(均值);④ 重复②③直至中心稳定。
优点:简单高效、适用于大规模数据。
缺点:对初始中心敏感(易陷入局部最优)、需提前指定 K(可通过 “肘部法” 或轮廓系数选择)、对非凸形状簇效果差。
应用场景:客户分群(如电商用户画像)、图像分割、异常检测(离群点识别)。
2. 层次聚类(Hierarchical Clustering)
核心原理:构建树状聚类结构(Dendrogram),无需提前指定 K。分为两类:
凝聚式(Agglomerative):自底向上,初始每个样本为一簇,逐步合并最相似的簇;
分裂式(Divisive):自顶向下,初始所有样本为一簇,逐步分裂差异最大的簇。
优点:可直观展示聚类层次关系、无需预设 K。
缺点:计算复杂度高(不适用于超大数据集)、合并 / 分裂后无法回溯。
应用场景:生物分类(物种进化树)、文本主题层次划分、族谱构建。
3. 主成分分析(PCA)
核心原理:降维算法,通过保留数据中 “方差最大的方向”(主成分),将高维数据映射到低维空间,在损失少量信息的前提下简化数据。
核心步骤:① 计算数据协方差矩阵;② 求解协方差矩阵的特征值和特征向量;③ 选取前 k 个最大特征值对应的特征向量,作为主成分;④ 将数据投影到主成分构成的空间。
优点:降低数据维度(减少计算成本)、去除特征冗余、提升模型泛化能力。
缺点:主成分物理意义不明确(可解释性弱)、对非线性数据降维效果有限。
应用场景:图像压缩(如人脸数据降维)、高维特征预处理(如基因数据)、可视化高维数据(映射到 2D/3D)。
4. DBSCAN(基于密度的空间聚类)
核心原理:基于 “密度” 划分簇,定义 “核心点”(周围一定半径内有足够多样本)、“边界点”(靠近核心点但自身非核心)和 “噪声点”(远离所有核心点),自动识别任意形状的簇。
优点:无需指定簇数量、能识别噪声、对非凸簇(如环形、螺旋形)效果好。
缺点:对密度差异大的数据敏感(同一半径难适配所有簇)、高维数据中距离度量失效。
应用场景:地理数据聚类(如城市热点区域)、异常检测(噪声点即为异常)、气象数据模式识别。
三、集成学习经典算法(扩展)
集成学习通过组合多个弱模型提升性能,经典代表包括:
梯度提升树(GBDT):基于 Boosting 策略,串行训练决策树,每棵树纠正前序模型的误差(通过负梯度方向优化),精度极高但训练慢。
AdaBoost:通过调整样本权重(错分样本权重提高)训练弱分类器,加权组合结果,适合处理不平衡数据。
总结
经典机器学习算法是理解复杂模型(如深度学习)的基础,其设计思想(如正则化、核技巧、集成策略)贯穿整个 AI 领域。实际应用中需根据数据类型(结构化 / 非结构化)、问题类型(分类 / 回归 / 聚类)、数据规模及可解释性需求选择算法。