AI 算法核心知识清单(深度实战版2)

三、机器学习核心算法(入门到实战)​

  1. 监督学习算法(已知标签的模型训练)​

线性模型​

  • 线性回归(回归任务):
  • 核心原理:假设 y = w₀ + w₁x₁ + w₂x₂ + ... + wₙxₙ + ε(ε 为误差项),通过最小化均方误差(MSE=Σ(y_i - ŷ_i)²/n)求解参数 w
  • 求解方法:
  • 最小二乘法(闭式解):w = (X^T X)⁻¹ X^T y(适用于特征数少、样本数适中的情况)
  • 梯度下降法(迭代解):适用于高维数据(特征数多),避免矩阵求逆的高复杂度
  • 优缺点:
  • 优点:模型简单、可解释性强(权重 w 表示特征重要性)、训练速度快
  • 缺点:只能捕捉线性关系,对非线性数据拟合效果差
  • 实战技巧:特征标准化后训练(避免不同量纲影响参数),用正则化(Ridge/Lasso)防止过拟合
  • 逻辑回归(分类任务):
  • 核心原理:将线性回归的输出通过 Sigmoid 函数映射到 [0,1] 区间,作为分类概率,Sigmoid 函数:σ(z)=1/(1+e^(-z)),z=w^T X + b
  • 损失函数:交叉熵损失(Binary Cross-Entropy),L = -Σ(y_i logσ(z_i) + (1-y_i) log (1-σ(z_i)))
  • 求解方法:梯度下降法(批量梯度下降 BGD、随机梯度下降 SGD、小批量梯度下降 MBGD)
  • 优缺点:
  • 优点:可解释性强(概率输出)、训练快、适合二分类任务
  • 缺点:对非线性数据需手动构造特征,多分类需用 One-vs-Rest/One-vs-One 策略
  • 实战技巧:处理类别不平衡(用 class_weight 参数或 SMOTE 过采样),调整正则化强度(C 参数,C 越小正则化越强)

树模型​

  • 决策树:
  • 核心原理:基于特征的阈值划分数据集,构建树形结构(根节点→内部节点→叶节点),叶节点为预测结果
  • 划分准则:
  • ID3:信息增益(最大化划分后信息熵的减少量)
  • C4.5:信息增益比(解决信息增益偏向多值特征的问题)
  • CART:Gini 系数(衡量节点纯度,Gini=1-Σp_i²,p_i 为节点中第 i 类样本的比例)
  • 剪枝策略(防止过拟合):
  • 预剪枝:限制树的深度、最小样本分裂数、最小样本叶节点数
  • 后剪枝:先构建完整树,再删除对模型性能无提升的分支
  • 优缺点:
  • 优点:可解释性强(可视化树结构)、无需特征标准化、能捕捉非线性关系
  • 缺点:容易过拟合(单棵树泛化能力差)、对噪声数据敏感
  • 随机森林(集成树模型):
  • 核心原理:基于 Bagging(bootstrap aggregation)策略,构建多棵决策树,最终预测结果为多棵树的投票(分类)或平均(回归)
  • 随机性体现:
  • 样本随机:每棵树用 bootstrap 采样(有放回抽样)得到的样本训练
  • 特征随机:每棵树分裂时,从所有特征中随机选择部分特征(如 sqrt (n_features))作为候选划分特征
  • 优缺点:
  • 优点:泛化能力强(降低过拟合风险)、鲁棒性好(对噪声不敏感)、能处理高维数据
  • 缺点:可解释性差(黑盒模型)、训练速度比单棵决策树慢
  • 实战参数调优:
  • n_estimators:树的数量(越多越好,但需平衡训练时间)
  • max_depth:树的深度(避免过深)
  • min_samples_split:节点分裂的最小样本数(默认 2)
  • max_features:每棵树使用的最大特征数(分类任务默认 sqrt (n_features))
  • XGBoost/LightGBM(梯度提升树):
  • 核心原理:基于 Boosting 策略,串行构建多棵树,每棵树拟合前序模型的残差(梯度下降方向),最终模型为多棵树的加权和
  • 核心优化:
  • XGBoost:正则化(L1/L2 正则)、缺失值自动处理、并行计算(特征并行)、树结构剪枝
  • LightGBM:基于直方图的分裂策略(提高训练速度)、梯度单边采样(GOSS)、互斥特征捆绑(EFB)(降低内存占用)
  • 优缺点:
  • 优点:预测精度高(竞赛常用模型)、处理非线性数据能力强、支持分类 / 回归 / 排序任务
  • 缺点:对超参数敏感(需仔细调优)、易过拟合(需控制树的复杂度)
  • 实战参数调优:
  • learning_rate(学习率):0.01~0.1(越小需越多树)
  • max_depth:3~10(避免过深)
  • subsample/colsample_bytree:样本 / 特征采样比例(0.5~1.0,防止过拟合)
  • reg_alpha/reg_lambda:L1/L2 正则系数(增大可防止过拟合)

核方法:支持向量机(SVM)​

  • 核心原理:找到一个超平面,使两类样本的间隔最大化(硬间隔 SVM),对于非线性数据,通过核函数映射到高维特征空间,再找线性超平面
  • 核函数选择:
  • 线性核(Linear Kernel):k (x1,x2)=x1^T x2,适用于线性可分数据
  • 高斯核(RBF Kernel):k (x1,x2)=e^(-γ||x1-x2||²),适用于非线性数据(γ 越大,模型越复杂)
  • 多项式核:k (x1,x2)=(x1^T x2 + c)^d,d 为多项式次数
  • 软间隔 SVM:引入松弛变量 ξ,允许部分样本越界,平衡间隔与分类错误,目标函数:min (1/2)||w||² + CΣξ_i(C 为惩罚系数,C 越大对错误样本惩罚越重)
  • 优缺点:
  • 优点:泛化能力强(基于间隔最大化)、适合高维数据(特征数多)、对小样本数据效果好
  • 缺点:训练速度慢(不适用于大规模数据)、可解释性差、对核函数和参数敏感
  • 实战技巧:数据标准化(SVM 对量纲敏感)、用交叉验证选择核函数和 C/γ 参数、处理类别不平衡(调整 class_weight)

集成学习策略​

  • Bagging:
  • 核心思想:并行训练多棵独立模型,通过投票 / 平均降低方差(防止过拟合),代表模型:随机森林
  • 关键步骤:bootstrap 采样(有放回抽样)、模型独立训练、结果融合
  • Boosting:
  • 核心思想:串行训练多棵弱模型,每棵模型聚焦前序模型的错误样本(调整样本权重),通过加权和提升模型性能,代表模型:AdaBoost、XGBoost、LightGBM
  • 关键步骤:初始化样本权重、训练弱模型、计算模型权重(错误率越低权重越高)、更新样本权重(错误样本权重增大)
  • Stacking:
  • 核心思想:用多个基础模型的预测结果作为新特征,训练一个元模型(如逻辑回归、线性回归),输出最终预测结果
  • 关键步骤:
  1. 将数据集划分为训练集和验证集
  1. 训练多个基础模型(如随机森林、XGBoost、SVM),用验证集得到预测结果
  1. 将训练集的基础模型预测结果拼接成新特征,训练元模型
  1. 用元模型对测试集的基础模型预测结果进行预测

  2. 无监督学习算法(未知标签的模型训练)​

聚类算法​

  • K-Means:
  • 核心原理:将 n 个样本划分为 k 个簇,使簇内样本相似度高、簇间样本相似度低(基于欧氏距离)
  • 算法步骤:
  1. 随机选择 k 个样本作为初始聚类中心
  1. 计算每个样本到各聚类中心的距离,将样本分配到最近的簇
  1. 重新计算每个簇的均值(新聚类中心)
  1. 重复步骤 2-3,直到聚类中心不再变化或达到最大迭代次数
  • 聚类效果评估:
  • 内部指标:轮廓系数(Silhouette Coefficient),取值范围 [-1,1],越接近 1 聚类效果越好
  • 外部指标:调整兰德指数(ARI)、互信息(NMI),适用于有真实标签的情况
  • 优缺点:
  • 优点:算法简单、训练速度快、适用于大规模数据
  • 缺点:需提前指定 k 值、对初始聚类中心敏感、对非球形簇聚类效果差
  • 实战技巧:用肘部法则(Elbow Method)选择 k 值(绘制簇内平方和随 k 的变化曲线,拐点处为最优 k)、对数据标准化(避免量纲影响距离计算)
  • DBSCAN(密度聚类):
  • 核心原理:基于样本的密度(ε 邻域内的样本数)划分簇,无需提前指定 k 值
  • 核心参数:
  • ε(epsilon):邻域半径
  • MinPts:ε 邻域内的最小样本数(核心点的阈值)
  • 样本分类:
  • 核心点:ε 邻域内样本数≥MinPts
  • 边界点:ε 邻域内样本数,但在核心点的邻域内
  • 噪声点:既不是核心点也不是边界点
  • 优缺点:
  • 优点:无需指定 k 值、能发现任意形状的簇、能识别噪声点
  • 缺点:对 ε 和 MinPts 参数敏感、高维数据中距离计算不准确(聚类效果差)
  • 实战技巧:用 K 距离图选择 ε(绘制样本到第 k 个最近邻的距离曲线,拐点处为最优 ε)、对高维数据先降维再聚类
  • 层次聚类:
  • 核心原理:构建聚类树(树状图),通过合并或分裂簇逐步形成最终聚类结果
  • 聚类策略:
  • 凝聚式(自底向上):初始每个样本为一个簇,逐步合并相似度最高的簇
  • 分裂式(自顶向下):初始所有样本为一个簇,逐步分裂差异最大的簇
  • 相似度计算:
  • 单链接(最小距离):两个簇中最近样本的距离
  • 全链接(最大距离):两个簇中最远样本的距离
  • 平均链接(平均距离):两个簇中所有样本对的平均距离
  • 优缺点:
  • 优点:无需指定 k 值、能可视化聚类过程(树状图)
  • 缺点:训练速度慢(时间复杂度 O (n³))、不适用于大规模数据
  • 实战技巧:用树状图确定 k 值(横向切割树状图,得到 k 个簇)、对小样本数据效果更佳

降维算法​

  • PCA(主成分分析):
  • 核心原理:通过线性变换将高维数据映射到低维空间,保留数据的主要信息(方差最大的方向)
  • 算法步骤:
  1. 对数据标准化(均值为 0,方差为 1)
  1. 计算数据的协方差矩阵
  1. 对协方差矩阵进行特征值分解,得到特征值和特征向量
  1. 选择特征值最大的前 k 个特征向量,组成投影矩阵
  1. 将原始数据乘以投影矩阵,得到低维数据
  • 降维效果评估:解释方差比例(每个主成分的特征值占总特征值的比例,累计比例≥80% 为宜)
  • 优缺点:
  • 优点:降维速度快、无参数需要调整、能去除数据冗余
  • 缺点:线性降维(无法捕捉非线性关系)、对异常值敏感
  • 实战技巧:降维前必须标准化数据、用累计解释方差比例确定 k 值
  • t-SNE(t 分布随机邻域嵌入):
  • 核心原理:基于概率分布的非线性降维算法,在高维空间中用高斯分布描述样本间的相似度,在低维空间中用 t 分布描述,通过最小化 KL 散度使两个分布尽可能接近
  • 核心参数:
  • n_components:降维后的维度(通常为 2 或 3,用于可视化)
  • perplexity:困惑度(反映近邻样本的数量,通常取 5~50)
  • 优缺点:
  • 优点:能有效捕捉高维数据的非线性结构、可视化效果好(适合高维数据聚类结果展示)
  • 缺点:训练速度慢(不适用于大规模数据)、对参数 perplexity 敏感、不适合用于后续建模(仅用于可视化)
  • 实战技巧:先用水 PCA 降维到 50 维,再用 t-SNE 降维到 2/3 维(提高速度)、调整 perplexity 观察可视化效果
  • LDA(线性判别分析):
  • 核心原理:监督式降维算法,通过线性变换使降维后的数据满足 "类内方差最小、类间方差最大",保留有利于分类的信息
  • 算法步骤:
  1. 计算各类样本的均值向量
  1. 计算类内散度矩阵 S_w 和类间散度矩阵 S_b
  1. 求解 S_w⁻¹ S_b 的特征值和特征向量,选择特征值最大的前 k 个特征向量组成投影矩阵
  1. 将原始数据乘以投影矩阵,得到低维数据
  • 与 PCA 的区别:PCA 是无监督(不考虑标签),LDA 是有监督(利用标签信息)
  • 优缺点:
  • 优点:降维后的数据更适合分类任务、能提高模型训练速度
  • 缺点:线性降维、对多分类任务计算复杂
  • 实战技巧:适用于分类任务的预处理步骤、降维后的维度 k≤类别数 - 1

关联规则:Apriori 算法与 FP-Growth 算法​

  • 核心概念:
  • 频繁项集:支持度≥最小支持度(min_support)的项集(项集是多个物品的集合)
  • 支持度:项集在所有交易中出现的比例(如 {牛奶,面包} 的支持度 = 包含两者的交易数 / 总交易数)
  • 置信度:关联规则 A→B 的置信度 = 支持度 (A∪B)/ 支持度 (A)(反映 A 发生时 B 发生的概率)
  • 提升度:关联规则 A→B 的提升度 = 置信度 (A→B)/ 支持度 (B)(提升度 > 1 表示 A 促进 B 发生,=1 表示无关)
  • Apriori 算法:
  • 核心原理:基于 "频繁项集的子集也是频繁项集" 的先验性质,通过逐层扫描交易数据,生成候选频繁项集并筛选
  • 算法步骤:
  1. 扫描数据,生成 1 - 项集(单个物品的集合),筛选支持度≥min_support 的 1 - 频繁项集
  1. 由 k - 频繁项集生成 (k+1)- 候选项集(连接操作)
  1. 剪枝操作(删除包含非频繁子集的候选项集)
  1. 扫描数据,筛选 (k+1)- 候选项集中支持度≥min_support 的 (k+1)- 频繁项集
  1. 重复步骤 2-4,直到无法生成新的频繁项集
  • 优缺点:
  • 优点:思路简单、易于实现
  • 缺点:多次扫描数据(效率低)、生成大量候选项集(内存占用大)
  • FP-Growth 算法:
  • 核心原理:通过构建 FP 树(频繁模式树),将交易数据压缩存储,无需生成候选项集,直接从 FP 树中挖掘频繁项集
  • 算法步骤:
  1. 扫描数据,统计各项的支持度,筛选频繁项并按支持度降序排序
  1. 构建 FP 树:逐笔处理交易,将交易中的频繁项按排序后的顺序插入 FP 树,记录项的计数
  1. 从 FP 树中挖掘频繁项集:对每个频繁项,构建条件 FP 树,递归挖掘条件频繁项集
  • 优缺点:
  • 优点:仅扫描数据两次(效率高)、无需生成候选项集(内存占用小)
  • 缺点:构建 FP 树的复杂度较高、对高维数据适应性一般
  • 实战场景:购物篮分析(如超市商品关联推荐)、用户行为分析(如视频观看序列关联)
  1. 半监督与强化学习​

半监督学习​

  • 核心概念:利用少量有标签样本和大量无标签样本训练模型,解决 "标签获取成本高" 的问题,适用于标签稀缺场景(如医疗影像诊断、自然语言处理)
  • 常用算法:
  • 自训练法(Self-Training):
  1. 用少量有标签样本训练初始模型
  1. 用初始模型预测无标签样本,选择置信度最高的部分样本(如置信度≥0.9),将其预测结果作为伪标签,加入有标签样本集
  1. 用新的有标签样本集重新训练模型,重复步骤 2-3,直到无标签样本耗尽或模型性能收敛
  • 协同训练法(Co-Training):
  1. 将特征集划分为两个独立的视图(如文本数据的 "词袋特征" 和 "词性特征")
  1. 基于两个视图分别训练两个模型
  1. 每个模型预测无标签样本,选择置信度高的样本作为伪标签,交叉添加到对方的有标签样本集
  1. 重复训练和伪标签添加,直到模型性能收敛
  • 生成式半监督模型(如高斯混合模型 GMM):
  1. 假设数据服从混合高斯分布,有标签样本和无标签样本来自同一分布
  1. 用 EM 算法(期望最大化算法)估计分布参数(均值、方差、混合系数)
  1. 基于估计的分布,预测无标签样本的标签
  • 实战注意事项:
  • 伪标签的质量至关重要(避免将错误标签加入训练集),需设置较高的置信度阈值
  • 特征视图的独立性(协同训练法)是算法有效的关键
  • 适用于 "聚类假设" 或 "流形假设" 成立的数据(聚类假设:同一簇的样本标签相同;流形假设:高维数据位于低维流形上,邻近样本标签相同)

强化学习​

  • 核心概念:智能体(Agent)通过与环境(Environment)交互,学习最优行为策略(Policy),使累积奖励(Reward)最大化,适用于序列决策场景(如游戏、机器人控制、推荐系统)
  • 核心要素:
  • 状态(State, S):环境的当前状态(如游戏画面、机器人位置)
  • 动作(Action, A):智能体可执行的动作(如游戏中的上下左右、机器人的移动)
  • 奖励(Reward, R):环境对智能体动作的反馈(如游戏得分、碰撞惩罚)
  • 策略(Policy, π):状态到动作的映射(如 π(a|s) 表示状态 s 下选择动作 a 的概率)
  • 价值函数(Value Function, V (s)):状态 s 的长期价值(从 s 出发的累积奖励期望)
  • Q 函数(Action-Value Function, Q (s,a)):状态 s 下执行动作 a 的长期价值
  • 常用算法:
  • 基于价值的算法:
  • Q-Learning:离线策略(Off-Policy)算法,更新公式:Q (s,a) = Q (s,a) + α[r + γ max_a' Q (s',a') - Q (s,a)](α 为学习率,γ 为折扣因子)
  • SARSA:在线策略(On-Policy)算法,更新公式:Q (s,a) = Q (s,a) + α[r + γ Q (s',a') - Q (s,a)](a'为实际执行的下一个动作)
  • 基于策略的算法:
  • 策略梯度(Policy Gradient):直接优化策略 π,目标函数为累积奖励期望,通过梯度上升最大化目标函数
  • 演员 - 评论家(Actor-Critic):结合价值函数(评论家)和策略函数(演员),演员负责选择动作,评论家负责评估动作价值,指导演员更新策略
  • 深度强化学习:
  • DQN(深度 Q 网络):用神经网络替代 Q 表,解决高维状态空间问题,核心技术:经验回放(Experience Replay)、目标网络(Target Network)
  • DDPG(深度确定性策略梯度):适用于连续动作空间(如机器人关节控制)
  • 实战流程:
  1. 定义状态、动作、奖励函数(根据具体任务设计)
  1. 构建强化学习环境(如用 OpenAI Gym 提供的标准环境,或自定义环境)
  1. 选择合适的算法(离散动作选 DQN,连续动作选 DDPG)
  1. 训练模型:调整超参数(学习率 α、折扣因子 γ、经验回放缓冲区大小)
  1. 评估模型:测试集上计算平均累积奖励,验证策略有效性
相关推荐
AI袋鼠帝1 小时前
开源「仓颉.Skill」,你现在可以蒸馏任何书!
人工智能
NWU_白杨2 小时前
VoiceMockInterview项目MVP开发
java·ai
好运的阿财2 小时前
OpenClaw工具拆解之tts+web_search
前端·javascript·python·ai·ai编程·openclaw·openclaw工具
阿杰学AI2 小时前
AI核心知识137—大语言模型之 CLI与MCP(简洁且通俗易懂版)
人工智能·ai·语言模型·自然语言处理·cli·mcp·模型上下文协议
小程故事多_802 小时前
从Claude Code源码中,拆解13个可直接复用的Agentic Harness设计模式(生产级实战解析)
人工智能·设计模式·智能体·claude code·harness
隔壁大炮2 小时前
09.PyTorch_创建全0_1_指定值张量&&创建线性和随机张量
人工智能·pytorch·深度学习
人机与认知实验室2 小时前
神经网络与态势感知
人工智能·深度学习·神经网络·机器学习
云烟成雨TD2 小时前
Spring AI Alibaba 1.x 系列【39】四大多智能体(Multi-agent)架构
java·人工智能·spring
搞科研的小刘选手2 小时前
【机器人方向研讨会】第五届控制工程与机器人技术国际研讨会(ISCER 2026)
人工智能·机器学习·机器人·自动化·人机交互·无人机·控制工程