简介:这份资料面向东南大学网络空间安全学院修读模式识别课程的学生,汇集了课后作业答案与期末真题回忆版,适合正在备考或希望系统梳理课程重点的学习者。压缩包共814个文件,约118.24MB,其中400个bmp与390个pgm图像文件对应课程实验与作业中的数据集样本,16个pptx为课堂讲义,另有少量m脚本、docx文档及嵌套压缩包,覆盖从理论到实验的完整脉络。已有868人学习下载,说明其在课程复习中具有较高参考价值。课程作业量少但含金量高,考试范围约九成来自作业变式,因此作业答案能帮助读者对照检查解题思路、理解典型题型的变换方式;真题回忆版虽较粗糙,仍可辅助把握命题方向与重点章节。整体适合作为期末冲刺与日常自学的辅助材料,建议结合PPT与实验数据同步使用。
1. 模式识别期末怎么考:从作业答案到真题回忆的拿分路线
模式识别这门课,很多人栽在“以为背完公式就能过”。我带过几轮复习,也帮人复盘过挂科原因,最反直觉的一点是:期末卷面里纯推导题往往只占三成,剩下七成考的是“给你一个场景,选哪个分类器、为什么、参数怎么定”。换句话说,作业答案里那些代码和推导,真正要背的是决策逻辑,不是公式本身。这份资料把作业答案和考试真题回忆版放在一起,价值就在这——作业题是考点的原型,真题是考点的变体。适合两类人:一是作业抄完就忘、期末想快速抓重点的;二是刷过题但一换场景就懵、需要答题模板的。下面按考点分布、高频题型、易错点、答题套路四层拆开讲,每一条都能直接拿去练。
2. 考点分布与作业答案对照:先搞清哪几章真正拉分
2.1 从作业题反推期末分值权重
模式识别期末的考点分布,基本和作业布置的密度正相关。把作业答案按章节归类后,你会发现贝叶斯决策、参数估计、线性判别、聚类分析这四块占了作业量的七成以上,期末卷面也大致是这个比例。具体来说,贝叶斯决策通常出 1 道计算大题(15~20 分),参数估计出 1 道极大似然或贝叶斯估计(10~15 分),线性判别出 1 道 Fisher 或感知机(15 分左右),聚类出 1 道 K-means 或层次聚类(10~15 分),剩下的特征选择、SVM、神经网络可能各出小题或选做。
作业答案的作用不是让你抄,而是让你看清每类题的“标准动作”。比如贝叶斯题的标准动作是:先写先验、再写类条件概率、然后算后验、最后按最小错误率或最小风险决策。你把这四步背成肌肉记忆,换数字也不慌。
提示:作业答案里如果出现两种解法,优先记和老师课堂例题风格一致的那种,期末阅卷通常按课堂口径给分。
2.2 真题回忆版里的重复率与变形规律
真题回忆版最大的价值是暴露“重复考点”。把回忆版里出现过的题干关键词圈出来,你会发现“协方差矩阵”“先验概率”“类间散度”“簇中心”这些词反复出现。重复不代表原题照搬,而是同一个考点换数据、换问法。比如去年考“两类高斯分布的最小错误率决策”,今年可能改成“三类且先验不等”,但解题骨架完全一样。
复习时把回忆版按题型分类,每类只留一道母题,其余看变形点。母题要能默写出完整步骤,变形点要能说出“哪里变了、对应哪一步要调整”。这样比刷十道新题都管用。
2.3 作业答案怎么用才不浪费时间
很多人把作业答案当参考答案,对完就扔。正确用法是“三遍法”:第一遍遮住答案自己做,卡住的地方标记;第二遍对照答案,只改卡住的步骤,并写下卡住的原因(是公式记错还是思路没转过来);第三遍隔两天重做,只做标记过的步骤。这样一份作业答案能顶三套模拟卷。
另外,作业里的编程题(如果有)不要只跑通就完事。把代码里的参数改一改,看输出怎么变,比如 K-means 的 K 值从 2 改成 3,簇中心怎么迁移。这种“参数扰动”练习能帮你在笔试里快速判断选项。
3. 高频计算题:贝叶斯与参数估计的答题模板
3.1 最小错误率与最小风险决策的固定步骤
这类题期末几乎必考,而且步骤分很重。标准答题模板如下:
- 写出先验概率 $P(\omega_i)$,如果题目没给就假设相等。
- 写出类条件概率密度 $p(x|\omega_i)$,高斯分布要写出均值和协方差。
- 计算后验概率 $P(\omega_i|x) \propto p(x|\omega_i)P(\omega_i)$,注意归一化可省略,比较大小即可。
- 按最小错误率:选后验最大的类;按最小风险:算条件风险 $R(\alpha_i|x)=\sum_j \lambda_{ij}P(\omega_j|x)$,选风险最小的类。
下面用一段 Python 示意计算过程,重点看注释里的步骤对应:
import numpy as np # 先验 P_w = np.array([0.6, 0.4]) # 类条件均值与方差 mu = [0, 2] var = [1, 1] x = 1.5 # 高斯类条件概率 def gauss(x, mu, var): return (1 / np.sqrt(2 * np.pi * var)) * np.exp(-(x - mu)**2 / (2 * var)) likelihood = np.array([gauss(x, mu[0], var[0]), gauss(x, mu[1], var[1])]) posterior = likelihood * P_w posterior /= posterior.sum() # 归一化,方便看概率 print(posterior) # 后验大的类即决策结果这段代码里P_w是先验,likelihood是类条件概率,posterior是后验。考试时不用写代码,但要把这个计算顺序写清楚。阅卷老师看的是你有没有先验、有没有算后验、有没有比较。
注意:最小风险决策里,损失矩阵 $\lambda_{ij}$ 通常题目会给,如果没给就默认 0-1 损失,退化成最小错误率。
3.2 极大似然估计与贝叶斯估计的区分答法
这两者最容易混。极大似然估计把参数当固定未知量,找使似然函数最大的值;贝叶斯估计把参数当随机变量,先给先验再算后验。期末常考“给一组样本,求均值的极大似然估计”和“给先验和样本,求贝叶斯估计”。
答题时先写似然函数 $L(\theta)=\prod p(x_i|\theta)$,取对数,求导令零,解出 $\hat{\theta}$。贝叶斯估计则写后验 $p(\theta|X)\propto p(X|\theta)p(\theta)$,再算期望或最大后验。关键区别在“参数有没有先验分布”,答题时点出这一句,往往能拿区分分。
3.3 真题演练:两类高斯分布决策题
回忆版里有一道典型题:两类样本均服从高斯分布,均值分别为 0 和 2,方差均为 1,先验相等,求最小错误率决策边界。
答题思路:先写后验比,由于先验相等,决策边界就是类条件概率相等的位置。代入高斯公式,两边取对数,化简得 $x=1$。所以 $x<1$ 判第一类,$x>1$ 判第二类。如果先验不等,比如 $P(\omega_1)=0.6$,则边界会向第二类偏移,具体解方程 $\ln p(x|\omega_1)+\ln 0.6 = \ln p(x|\omega_2)+\ln 0.4$。
这类题易错在忘记先验项,或者取对数时符号写反。答题时把先验项单独写一行,能避免丢分。
4. 线性判别与聚类:从 Fisher 到 K-means 的实战拆解
4.1 Fisher 线性判别的投影与阈值
Fisher 的核心是找投影方向 $w$,使类间散度与类内散度之比最大。期末常考“给两类二维样本,求 Fisher 投影方向和分类阈值”。
答题步骤:先算类内散度矩阵 $S_w$,再算类间散度矩阵 $S_b$,然后 $w=S_w^{-1}(m_1-m_2)$,最后把样本投影到 $w$ 上,用投影后的均值和方差定阈值。阈值通常取两类投影均值的中点,如果先验不等则按先验加权。
下面代码演示投影和阈值计算:
import numpy as np # 两类样本,每行一个样本 X1 = np.array([[1, 2], [2, 3], [3, 3]]) X2 = np.array([[5, 5], [6, 6], [7, 5]]) m1 = X1.mean(axis=0) m2 = X2.mean(axis=0) # 类内散度 S1 = (X1 - m1).T @ (X1 - m1) S2 = (X2 - m2).T @ (X2 - m2) Sw = S1 + S2 w = np.linalg.inv(Sw) @ (m1 - m2) print("投影方向:", w) # 投影后均值 proj1 = X1 @ w proj2 = X2 @ w threshold = (proj1.mean() + proj2.mean()) / 2 print("阈值:", threshold)Sw是类内散度,w是投影方向,threshold是分类阈值。考试时不用写代码,但要把矩阵运算写清楚,尤其是 $S_w^{-1}$ 不能漏。
提示:如果 $S_w$ 不可逆,说明样本太少或特征线性相关,题目通常会避免这种情况,但答题时可以提一句“若不可逆需用伪逆或降维”。
4.2 K-means 聚类的手算流程与收敛判断
K-means 期末常考“给几个二维点,K=2,手动迭代两步”。答题时先随机选两个初始中心(题目可能指定),然后分配每个点到最近中心,再更新中心为簇内均值,重复直到中心不变。
手算时列个表:第一列点,第二列到中心1距离,第三列到中心2距离,第四列归属。更新中心后再列一次。通常两步就能收敛。易错点是距离算错或忘记更新中心后要重新分配。
4.3 真题演练:层次聚类与距离矩阵
回忆版里有一道层次聚类题:给四个点的距离矩阵,用最短距离法合并。答题时先找最小距离合并两类,更新距离矩阵(取两类到其他类距离的最小值),再合并,直到一类。关键是把每次合并后的距离矩阵写清楚,阅卷老师按步骤给分。
这类题和 K-means 的区别是:层次聚类不需要预设 K,但计算量大;K-means 需要预设 K,但迭代简单。答题时如果题目没指定方法,可以两种都提一句,但按题目要求展开。
5. 易错点与失分点:这五类题最容易翻车
5.1 先验概率漏乘或错乘
错在哪:算后验时只比较类条件概率,忘记乘先验。为什么错:最小错误率决策比的是后验,不是似然。怎么答对:每道贝叶斯题第一步就写先验,后验计算时显式写出 $p(x|\omega_i)P(\omega_i)$,即使先验相等也写出来,养成习惯。
5.2 协方差矩阵不可逆时硬求逆
错在哪:直接对 $S_w$ 求逆,结果报错或得到荒谬值。为什么错:样本数小于特征数时 $S_w$ 奇异。怎么答对:先判断行列式是否为零,若为零改用伪逆,或先降维再算。答题时写一句“若 $S_w$ 奇异,采用伪逆或正则化”,能拿补救分。
5.3 聚类迭代忘记更新中心
错在哪:分配完点就直接给结果,没有重新算中心。为什么错:K-means 每轮必须“分配-更新”成对出现。怎么答对:把迭代步骤编号,第一步分配,第二步更新,第三步判断是否收敛,写清楚每轮的中心坐标。
5.4 极大似然与贝叶斯估计混用公式
错在哪:求贝叶斯估计时直接套极大似然的求导公式。为什么错:贝叶斯估计要算后验期望,不是求导令零。怎么答对:先写“本题为贝叶斯估计,参数有先验”,再写后验公式,最后算期望。区分句写出来,阅卷老师一眼看到。
5.5 决策边界方程符号写反
错在哪:解方程时移项符号错,导致边界位置偏移。为什么错:手算时跳步。怎么答对:每步只做一件事,先写等式,再移项,再化简。最后代一个点验证,比如边界左侧应判第一类,代入检查。
6. 考前一周怎么背:真题回忆版的三轮刷法与答题节奏
考前一周不要再从头看书,直接拿真题回忆版和作业答案做三轮刷。第一轮按题型刷,每类只做一道母题,要求默写完整步骤,卡住就翻作业答案,但只翻卡住的那一步。第二轮刷变形题,把回忆版里同一考点的不同问法集中做,重点练“哪里变了、哪一步要调”。第三轮限时模拟,按期末时间分配:贝叶斯 20 分钟、参数估计 15 分钟、线性判别 20 分钟、聚类 15 分钟、检查 10 分钟。
答题节奏上,计算题先写公式再代入数字,公式分往往比结果分重。证明题先写结论再写过程,结论对了过程分好拿。选择题遇到不确定的,先排除明显错的,再在剩余里选最符合“课堂口径”的。
下面这张表是我自己考前最后一天会过一遍的清单,你可以直接抄:
| 考点 | 必背公式/步骤 | 常见变形 |
|---|---|---|
| 贝叶斯决策 | 后验正比于似然乘先验 | 先验不等、多类 |
| 极大似然 | 似然取对数求导 | 多维高斯 |
| 贝叶斯估计 | 后验期望 | 共轭先验 |
| Fisher | $w=S_w^{-1}(m_1-m_2)$ | 多类、阈值加权 |
| K-means | 分配-更新-判收敛 | 初始中心不同 |
| 层次聚类 | 最短距离合并 | 最长距离、平均距离 |
最后说个血泪经验:我当年第一次考模式识别,觉得公式都会,结果卷子发下来发现每道题都“差一点”,后来复盘就是没按固定步骤写,跳步导致符号错。从那以后我每次做计算题都强制走一遍“先写已知、再写公式、再代入、再验证”的四步,哪怕觉得简单也不跳。希望帮到你。
本文还有配套的精品资源,点击获取