1. 单算法对比(优缺点)
算法类型 | 算法名称 | 优点 | 缺点 |
---|---|---|---|
传统机器学习 | SVM(支持向量机) | - 高维数据表现好 - 可处理非线性问题(核技巧) - 抗过拟合能力强 | - 参数敏感,调参复杂 - 大规模数据训练慢 - 无法直接处理多分类问题 |
LDA(线性判别分析) | - 适用于分类和降维 - 计算效率高 - 对类别可分性要求低 | - 假设数据服从正态分布 - 对异常值敏感 - 线性不可分数据效果差 | |
KNN(K近邻) | - 简单易实现 - 无需训练过程 - 对数据分布无假设 | - 计算复杂度高(需存储全部数据) - 高维数据效果差 - 需合理选择K值 | |
RF(随机森林) | - 抗过拟合能力强 - 可处理高维数据 - 支持并行计算 | - 模型解释性差 - 可能对噪声敏感 - 训练时间较长 | |
NB(朴素贝叶斯) | - 计算速度快 - 适合小样本数据 - 对缺失数据不敏感 | - 特征独立假设不现实 - 类别不均衡时效果差 - 无法学习特征间交互关系 | |
深度学习 | 全连接神经网络 | - 灵活适应复杂模式 - 支持端到端学习 | - 参数量大,易过拟合 - 需大量数据和计算资源 - 解释性差 |
CNN(卷积神经网络) | - 自动提取局部特征 - 参数共享减少计算量 - 图像/视频任务表现卓越 | - 对输入尺寸敏感 - 无法处理非结构化数据 | |
GNN(图神经网络) | - 处理图结构数据能力强 - 建模节点间复杂关系 | - 训练复杂度高 - 大规模图数据内存消耗大 - 理论支持不足 | |
Transformer | - 长距离依赖建模能力强 - 并行计算效率高 - 适合序列数据(如NLP) | - 计算资源需求极大 - 预训练成本高 - 对短序列可能过拟合 |
2. 传统机器学习 vs 深度学习(整体对比)
对比维度 | 传统机器学习 | 深度学习 |
---|---|---|
数据需求 | - 小样本数据即可训练 - 数据量过大时性能可能下降 | - 依赖海量数据 - 数据量越大性能越好 |
特征工程 | - 需人工设计特征(如统计特征、特征选择) | - 自动提取特征(端到端学习) |
计算资源 | - 计算资源需求低(CPU即可) - 训练速度快 | - 依赖高性能GPU/TPU - 训练时间长(尤其大模型) |
解释性 | - 模型可解释性强(如决策树规则、线性系数) | - 黑盒模型,解释性差(需依赖可视化或后验分析) |
应用场景 | - 结构化数据(表格数据) - 简单分类/回归任务 | - 非结构化数据(图像、文本、语音) - 复杂任务(如图像生成、机器翻译) |
鲁棒性 | - 对噪声和异常值敏感(如线性模型) | - 鲁棒性较强(如CNN对局部变形不敏感) |
部署成本 | - 轻量级模型,易部署到边缘设备 | - 模型体积大,需专用硬件支持 |