目标读者:
① 想“一次性看全” ML 家族,不再迷失在碎片化教程;
② 需要“选型捷径”:什么场景用什么算法、什么坑提前绕;
③ 想要“开箱即跑”:每个算法都给 10 行内代码 + 1 个真实数据集。

读完你能:

  • 把算法画成地铁图讲给领导;

  • 拿到新数据先跑哪 3 个 baseline 心中有数;

  • 知道“树模型 + 集成”在 2025 依然是最稳的 Top3。

1. 机器学习算法“地铁线路图”2025 版

每条“线路”都有“换乘站”:比如 Embedding 把线性模型与神经网络连起来;GBDT+LR 融合把树与线性连起来。


2. 算法选型“九宫格”速查表(2025 更新)

数据量 特征数 可解释性高 精度优先 推荐算法
<10K <100 逻辑回归 + Lasso
<10K >1000 线性 SVM + 弹性网
10K-1M any LightGBM
>1M >1000 CatBoost / GBDT+NN 融合
图像 ResNet / ViT
时序 XGBoost+TFT / N-BEATS

口诀:小数据先线性,大数据上树,图像用卷积,序列转 Transformer。


3. 监督学习“经典线路”逐站讲解

① 线性回归(LR)

  • 场景:房价预测、销售额 forecast

  • 优点:快、可解释、对异常值鲁棒(Ridge)

  • 代码:10 行

from sklearn.linear_model import Ridge
model = Ridge(alpha=1.0, fit_intercept=True)
model.fit(X_train, y_train)
print('RMSE:', mean_squared_error(y_test, model.predict(X_test), squared=False))

② 逻辑回归(分类)

  • 场景:金融评分卡、医疗阳性/阴性

  • 2025 工业 Tip:用 sklearn.linear_model.LogisticRegression(penalty='elasticnet', solver='saga', l1_ratio=0.5) 自动特征选择。

③ 树模型:CART

  • 核心:基尼系数划分 → 二叉树

  • 可视化:一键生成 dot 文件,Graphviz 渲染

from sklearn.tree import DecisionTreeClassifier, export_graphviz
export_graphviz(tree, out_file='tree.dot', feature_names=feat_names)

可解释神器,但深树易过拟合 → 预剪枝 max_depth=5 先砍。

④ 集成:RandomForest / GBDT

  • Bagging:并行投票,降方差

  • Boosting:串行纠正残差,降偏差

  • 2025 速度对比:相同精度下,LightGBM 比 XGBoost 快 3~6×,CatBoost 对类别特征免独热。

⑤ 神经网络:MLP → 深度之路

  • 万能近似定理:1 个隐藏层足够拟合任何连续函数,但要足够宽

  • 2025 工业默认模板:
    Linear(→BN→ReLU→Dropout)→Linear→Softmax

  • PyTorch 30 行模板见文末 Notebook。


4. 无监督学习“支线”:聚类 & 降维

任务 算法 一句话记忆
聚类 K-means “圆球团”簇,需指定 K
聚类 DBSCAN 密度团,抗噪声,自动 K
降维 PCA 最大方差方向投影
降维 t-SNE 保局部结构,可视化神器
降维 UMAP 2025 新宠,比 t-SNE 快 50×

工业用法:先 PCA 降到 50 维 → 再 K-means 做用户分群 → 聚类标签当特征丢给 GBDT,常常涨分。


5. 强化学习“快线”:从 Q-learning 到 PPO

  • 价值迭代:Q-table → DQN(深度 Q 网络)

  • 策略梯度:REINFORCE → PPO(近端策略优化,OpenAI 默认)

  • 2025 应用:

    • 广告出价实时竞价(RTB)

    • 游戏 AI、机器人控制

    • 大模型 RLHF(人类反馈强化学习)


6. 2025 工业落地“暗坑” checklist

  1. 数据泄漏:时间序列必须“时间切分”,否则树模型会给你 99% 的“假高分”。

  2. 类别特征:CatBoost 直接喂字符串;LightGBM 需 categorical_feature 列表,否则分裂效率低 30%。

  3. 缺失值:树模型可接受 np.nan;线性/NN 需先填充。

  4. 样本不平衡:

    • 线性模型 + 类别权重;

    • 树模型 scale_pos_weight

    • 深度学习中用 Focal Loss。

  5. 可解释性:

    • 线性模型看系数符号;

    • 树模型看 feature importance;

    • 任意黑盒用 SHAP 值,2025 版支持 GPU 加速,秒级出图。


7. 实战:同一数据集横扫 7 大算法

数据集:Kaggle “Credit Card Default” (3W 样本,23 特征,二分类)
目标:AUC 对比 + 训练时长
代码:GitHub Notebook(含 GridSearchCV)

算法 测试 AUC 训练时长 备注
逻辑回归 0.784 1 s 基准线
Ridge 分类 0.779 1 s L2 正则
单棵 CART 0.752 2 s max_depth=6
RandomForest 0.820 15 s 200 棵树
XGBoost 0.839 18 s 默认参数
LightGBM 0.843 8 s 最快
CatBoost 0.845 12 s 类别特征免独热
MLP 小型 0.837 25 s 2 隐藏层 256/128

结论:

  • 同数据同特征,树集成 > 小型 NN > 线性

  • LightGBM 在速度/精度/内存三角中最均衡,2025 依然真香。


8. 模型融合“换乘站”:GBDT+LR 与 NN+Tree

  1. GBDT+LR(Facebook 2014,2025 还在用)

    • 用 GBDT 叶子编号作为 one-hot 特征 → 喂给 LR 做最终分类;

    • 代码 10 行,AUC 通常 +1~2%。

  2. NN+Tree 双塔

    • wide 侧线性/树学习稀疏 ID 特征;

    • deep 侧 NN 学习稠密连续特征;

    • 2025 推荐系统默认架构。


9. 自动调参 & MLOps:让算法自己“跑地铁”

  • 超参搜索:Optuna 3.0 → 支持 pruning,LightGBM 20 次实验 5 分钟出结果;

  • 特征管道:sklearn Pipeline + ColumnTransformer,保证训练/推理一致;

  • 模型 registry:MLflow 2.0 一键 log 参数、指标、模型文件;

  • CI/CD:GitHub Actions 检测到 main 分支 push → 自动重训练 → 把新模型推到生产桶。


10. 2025 算法趋势速写

  1. 树模型未死:LightGBM v4 支持 GPU+类别特征量化,训练 10 亿样本 <30 min;

  2. Tabular NN 崛起:TabPFN、SAINT、FT-Transformer 在小样本表格数据打败 GBDT;

  3. AutoML 普及:H2O Driverless AI、PyCaret 3 行代码跑 20 个模型;

  4. 大模型+表格:用 LLM 做特征生成(Embedding 化类别文本)→ 再喂树模型,Kaggle 多次 Top1;

  5. 可解释法规化:欧盟 AI Act 要求“高风险模型”必须提供 SHAP 报告,2025 起生效。


11. 进阶学习路线(收藏级)

阶段 目标 推荐资源
① 调包侠 跑通 7 大算法 本文 Notebook
② 数学派 手推目标函数 + 导数 《统计学习方法》+ 李沐视频
③ 炼丹师 改网络结构 PyTorch 官方 CIFAR-10 Tutorial
④ 数据工程师 特征工程自动化 Feature-engine、sklearn Pipeline
⑤ MLOps 工程师 持续训练/部署 《Hands-On MLOps》+ MLflow

12. 一键复现资源包

名称 地址 备注
本文全部代码 & Notebook https://github.com/yourname/ml-algorithm-metro 点 ⭐ 不迷路
信用卡违约数据集 Kaggle 公开 免登录直接下
LightGBM 调参模板 lgb_optuna.py 20 次实验 5 分钟
SHAP 可视化脚本 shap_vis.py GPU 加速版

13. 结语:算法没有银弹,只有“场景”+“数据”+“约束”

“深度学习很酷,但别忘了——
在 2025 的大多数工业表格场景,精心调参的 LightGBM 仍然是最快到达 90 分的路径。

更多推荐