1. 机器学习分类全景图
在数据科学领域工作了十年后,我发现很多刚入行的朋友最困惑的就是机器学习算法的分类体系。就像整理衣柜一样,如果不先建立清晰的分类框架,后续使用时会陷入"该选哪件衣服"的选择困难症。让我们从三个维度来构建这个分类体系:
1.1 按学习范式分类
监督学习就像有参考答案的练习题,我们给算法提供带有标签的训练数据(特征X和答案Y),让它学习从X到Y的映射关系。常见的监督学习任务包括:
- 分类(预测离散标签):垃圾邮件识别、疾病诊断
- 回归(预测连续值):房价预测、销量预估
无监督学习则像让机器自己观察数据中的模式,典型应用包括:
- 聚类分析:客户分群、异常检测
- 降维:数据可视化、特征压缩
强化学习则采用"试错-奖励"机制,比如:
- AlphaGo通过自我对弈不断优化策略
- 机器人控制中的动作序列学习
实际项目中,我常遇到这样的误区:试图用无监督学习解决本需要监督学习的问题。比如用K-means做客户流失预测,这就像用尺子称体重——工具选错了。
1.2 按模型类型分类
传统机器学习模型可以看作"手工打造的精密仪器":
- 决策树家族:CART、随机森林
- 支持向量机(SVM)及其核方法
- 贝叶斯网络与概率图模型
深度学习则是"自动学习的复杂系统":
- CNN处理网格结构数据(图像、时序)
- RNN/LSTM处理序列数据(文本、语音)
- Transformer处理长程依赖关系
集成方法像"专家委员会":
- Bagging(随机森林)降低方差
- Boosting(XGBoost)减少偏差
- Stacking组合基模型输出
1.3 按任务特性分类
根据数据特性选择算法很重要:
- 小样本问题:贝叶斯方法、迁移学习
- 高维数据:Lasso回归、自动编码器
- 非均衡数据:代价敏感学习、SMOTE过采样
我维护的一个项目选择矩阵如下表所示:
| 数据特征 | 推荐算法 | 典型案例 |
|---|---|---|
| 样本量<1k | SVM/朴素贝叶斯 | 医疗影像分析 |
| 特征>1万维 | 随机森林/PCA | 基因序列分类 |
| 类别比例1:100 | Focal Loss | 欺诈检测 |
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
