跳到主要内容

第一讲:模式识别导论

这是我根据第一讲内容整理的笔记版本。目标不是完整复述老师的每一句话,而是抓住最核心的问题,再补上我自己的理解。

老师讲了什么

模式识别研究的是如何根据观测数据,对对象所属的类别或结构做出判断。一个最基础的任务是分类:给定样本特征向量 xx,判断它属于哪一类 ωi\omega_{i}

ω(x)=argmaxωiP(ωix)\omega^{*}(x) = \arg\max_{\omega_{i}} P(\omega_{i} \mid x)

这表示我们会比较样本属于不同类别的后验概率,再选择最大的那个类别。

我的理解

我觉得这一讲最重要的不是公式本身,而是先弄清楚整门课在解决什么问题:

  1. 先把对象变成可以处理的数据
  2. 再从数据里提取能区分类别的特征
  3. 用某种规则或模型做判断
  4. 最后检查这个判断是不是可靠

如果这条链条没有想清楚,后面学贝叶斯分类器、线性分类器或者聚类方法时就容易只记公式,不知道它们分别在流程里负责什么。

关键公式

P(ωix)=p(xωi)P(ωi)p(x)P(\omega_{i} \mid x) = \frac{p(x \mid \omega_{i}) P(\omega_{i})}{p(x)}

上式是贝叶斯决策的基础。对我来说,最有用的理解方式是:

  • P(ωi)P(\omega_{i}):在看见样本前,我原本对类别的判断
  • p(xωi)p(x \mid \omega_{i}):如果它真属于这类,看到当前特征的可能性有多大
  • P(ωix)P(\omega_{i} \mid x):综合前两者后,更新后的判断

一个简单例子

scores = {
"class_1": 0.72,
"class_2": 0.18,
"class_3": 0.10,
}

prediction = max(scores, key=scores.get)
print(prediction)

这段代码只是把“选最大的后验概率”写成最直接的形式。虽然很简单,但它让我比较容易把公式和实际决策联系起来。

复习时记住什么

  • 模式识别先解决的是“如何根据数据做判断”
  • 分类问题可以理解为“在多个类别里选最合理的那个”
  • 贝叶斯公式是后面很多方法的出发点