机器学习基础:监督、无监督、半监督与强化学习

说到模式分类,机器学习是绕不开的基石。我刚开始接触这个领域时,也被这四种学习范式搞得有点懵。后来在项目中一个个试过来,才慢慢摸清它们的脾气。今天我用自己的理解,把这四兄弟的区别和联系给你捋一遍。

监督学习:有正确答案的“考试型”学习

监督学习的核心,说白了就是“给答案,学规律”。训练数据里每一条样本都带着标签,模型的任务就是学会从输入到输出的映射。我在银行做信用评分项目时就用过——几千条已标注“好客户/坏客户”的数据,让模型自己找规律。

小心那个坑: 标签越贵,数据越少,模型越容易过拟合。我刚开始总嫌数据不够,后来发现大部分时间不是数据量的问题,而是特征没做好。

常见算法:

  • 分类:逻辑回归、决策树、SVM、神经网络
  • 回归:线性回归、岭回归、Lasso

评估指标也直白:准确率、精确率、召回率、R²。你想想看,考试型学习的好处是标准明确,坏处是标签成本高——医疗影像标注一张图可能得花几百块。

无监督学习:没有答案的“探索型”学习

无监督学习就不一样了。数据没有标签,模型自己去发现结构。聚类、降维、密度估计都属于这类。我曾在一个电商用户行为项目中用 K-Means 做客户分群,结果找到了三组完全不同的购物模式,比业务方自己拍脑袋分成“高/中/低”客户精准多了。

实战心得: 无监督学习最大的价值不是“做预测”,而是“理解数据”。我经常拿它做探索性分析的起点,然后再决定要不要打标签做监督学习。

常用算法:

  • 聚类:K-Means、DBSCAN、层次聚类
  • 降维:PCA、t-SNE、UMAP
  • 密度估计:高斯混合模型 (GMM)

评估就比较头疼了——因为没有答案,你只能靠轮廓系数、Davies-Bouldin 指数这些内部指标,或者结合业务验证。记得我第一次用 DBSCAN 时参数调了半天,结果发现数据标准化没做,嗯,基础真的不能丢。

半监督学习:标签不够,脑补来凑

现实中的常态:你有少量标注数据,大量无标注数据。半监督学习就是为这种情况设计的。我参与过的一个工业缺陷检测项目,只有 500 张标注图片,但流水线上存了 10 万张未标注。用自训练(self-training)的方法,先用 500 张训练一个初始模型,然后对未标注数据预测,挑置信度高的加入训练集,反复迭代,最终准确率提升了 8%。

踩过的坑: 如果初始模型太差,自训练会把噪声当成“高置信度”样本,导致恶性循环。我曾经因此白跑了一个月——后来加了置信度阈值和多样性筛选才稳住。

常用方法:

  • 自训练 (Self-training)
  • 协同训练 (Co-training)
  • 图半监督 (Graph-based SSL)
  • 生成式半监督 (如 MixMatch, FixMatch)

半监督学习的关键假设是“连续性”和“聚类假设”——相似的样本应该有相同的标签,这在实际中基本成立,但遇到混合分布时要小心。

强化学习:与环境互动的“玩家型”学习

强化学习是另一种思路:没有历史数据集,只有一个环境和奖励信号。智能体通过执行动作、获得奖励、调整策略来学习。我记得做机器人抓取任务时,训练一个强化学习模型在仿真环境里跑了上千万步,才学会把方块从桌上推到杯子里。刚开始策略完全是随机抖动,到后期动作就非常柔和了。

核心三要素: 状态 (State)、动作 (Action)、奖励 (Reward)。没有标签,但有“回报(Return)”——这就是强化学习和其他范式最大的区别。

经典算法:

  • 基于价值:Q-Learning, DQN, Double DQN
  • 基于策略:REINFORCE, PPO, SAC
  • Actor-Critic:A3C, TD3

你可能会问:强化学习有序列决策、延迟奖励的问题,训练不稳定,收敛难度大。没错,所以我个人建议,除非你的问题天然是“序列交互+延迟奖励”(如游戏、机器人、推荐系统的在线优化),否则别轻易上强化学习——它需要的计算量和调参精力远超前三种范式。

区别与联系:一张表说清楚

我用一个表格把这四种范式在数据、目标、反馈、典型算法上做对比。你可以在项目初期对着这个表快速判断该用哪条路。

维度 监督学习 无监督学习 半监督学习 强化学习
数据标签 全部有标签 无标签 少量标签 + 大量无标签 无标签(通过奖励反馈)
目标 输入→输出映射 发现隐藏结构 利用无标签提升性能 最大化累积奖励
反馈形式 即时、直接 无外部反馈 部分监督 + 自生成 延迟、稀疏、随机
典型算法 LR, SVM, XGBoost K-Means, PCA, GMM Self-training, MixMatch DQN, PPO, SAC
适用场景 分类、回归、推荐 聚类、降维、异常检测 标签稀缺但数据量大 游戏、机器人、调度

事实上,这四种范式不是孤立的。我曾在同一个项目里混合使用:先用无监督学习做数据清洗和特征提取,再用监督学习做精准分类,遇到冷启动问题又用了半监督学习。你不必死守一种,灵活组合才是常态。

知识体系结构

为了让你更直观地看到它们之间的关系,我画了一张图:

机器学习四大范式结构图 机器学习 监督学习 无监督学习 半监督学习 强化学习 根据数据是否有标签、反馈形式选择 不同任务可能需要组合使用

该如何选择?我的实战建议

每次拿到新项目,我会先问自己三个问题:

  1. 有没有标签? 有 → 监督学习;没有 → 无监督学习。
  2. 标签够不够? 不够但数据量大 → 半监督学习。
  3. 问题有没有序列交互和延迟奖励? 有 → 强化学习。
举个例子: 你手上有 100 万条用户行为日志,但只有 5000 条标注了“购买/未购买”,目标是想预测用户购买意向。用半监督学习(比如自训练)很可能比纯监督学习效果好。我曾经这样处理过,最终准确率比只用标注数据高了 12%。

最后提醒一句:不要教条主义。我记得有一次,我为了用强化学习硬套一个推荐场景,训练了两个月效果还不如简单协同过滤。有时候,简单的逻辑回归加几个好特征,比花哨的模型管用得多。选对范式比堆模型重要一万倍。