模式识别定义
- 根据已有知识的表达,针对待识别模式,判别决策其所属的类别或者预测其对应的回归值。本质上推理过程
- 根据任务,模式识别可以划分为“分类”和“回归”两种形式。分类的输出量是离散的类别表达,回归的输出量是连续的信号表达(回归值)。回归是分类的基础。
应用
- 字符识别
- 计算机辅助诊断
- 异常检测
- 自动驾驶
模式识别的数学表达
模式识别是一个推理过程
数学解释
模式识别可以看作一种函数映射f(x)将待识别模式x从输入空间映射到输出空间,函数f(x)是关于已有知识的表达。其输出可以是确定值也可以是概率值。
模型
- 即关于已有知识的表达
f(x) - 回归模型一般分为特征提取和回归器,分类模型在回归器后加个判别函数构成分类器(判别函数一般已知且固定,故不作为模型一部分)
- 特征提取用于从原始输入数据提取更有效的信息
- 回归器用于将特征映射到回归值
特征
- 可以用于区分不同类别模式的、可测量的量
- 具有辨别能力:提升不同类别之间的识别性能
- 鲁棒性:针对不同的观测条件,仍能够有效表达类别之间的差异性
- 特征向量:多个特征组成的向量
- 特征空间:从坐标原点到任意一点之间的向量即为该模式的特征向量
特征向量相似度度量
余弦相似度
- 公式: $ \cos{\theta}=\frac {x^Ty}{||x|| · ||y||} $
- 只考虑方向,不考虑模长
- 用于推荐系统等
欧氏距离
- 公式: $ d(x,y)=(x-y)^T(x-y) $
- 综合考虑了方向和模长
- 用于基于类距离的分类器
机器学习的基本概念
机器学习
- 模型是使用机器学习技术得到的。模型即$ y=f(x|\theta) $
- 线性模型:模型结构是线性的(直线、面、超平面),适用于数据是线性可分/线性表达的数据
- 非线性模型:y=g(x),适用于线性不可分/线性不可表达的数据
- 对于over-determined的情况,目标函数以待学习的模型参数作为自变量、以训练样本作为给定量。对于under-determined的情况,还需要在目标函数中加入能够体现对于参数解的约束条件,据此从无数个解中选出最优的一个解
机器学习的方式
- 监督式学习:训练样本及其输出真值都给定情况下的机器学习算法。通常使用最小化训练误差作为目标函数进行优化
- 无监督式学习:只给定训练样本、没有给输出真值情况下的机器学习算法,典型例子是聚类算法
- 半监督式学习:既有标注的训练样本、又有未标注的训练样本情况下的学习算法(迁移学习?)
- 强化学习:机器自行探索决策、真值滞后反馈的过程
模型的泛化能力
概念
- 误差:模型(机器)给出的预测/决策输出与真值输出之间的差异
- 训练误差:模型在训练集上的误差
- 测试误差:模型在测试集上的误差。它反映了模型的泛化能力,也称作泛化误差
- 泛化能力:训练得到的模型不仅要对训练样本具有决策能力,也要对新的(训练过程中未看见)的模式具有决策能力
- 过拟合:模型训练阶段表现很好,但是在测试阶段表现很差。模型过于拟合训练数据
关于过拟合
问题
训练样本可能存在过于稀疏、分布不均、带有噪声等问题,导致训练出来的模型的测试误差较大。一种典型的现象就是过拟合,模型对于训练数据表现良好,但对于测试数据(训练数据以外的数据)表现不佳。
过拟合Workaround
选择复杂度合适的模型
若模型过于复杂,拟合能力过强,而训练样本又不足以体现其最有辨识度的特征或者分布不正常,可能导致模型“记住”了许多不该记住的东西。一种处理方法就是适当地降低模型的复杂度。许多实践表明,在训练集质量一般的情况下,简单模型实际上能取得更好的效果。
正则化
正则化是通过在模型中加入正则项来实现的,如:$ \widetilde{E}(w) = \frac 1 2 \sum_{n=1}^N {y(x_n,\textbf{w})-t_n}^2+\frac \lambda 2||\textbf{w}||_2^2 $ 其中 $ \frac \lambda 2||\textbf{w}||_2^2 $ 为正则项,此项会在 $ \textbf{w} $ 过大时导致损失函数变大,从而惩罚模型,鼓励模型选择较小的系数,从而改善过拟合的现象。
模型评价
评估方法
留出法
将数据集随机分为两组:训练集和测试集,这种方法简单,但可能划分出的数据集分布不同,为了克服这种偏差,可以随机划分若干次,取量化统计指标作为评估结果。但这种方法仍存在只用部分数据训练的问题。
K折交叉验证
将数据集随机分为k份,每次不重复地取一份作为测试集,其余作为训练集,重复k次,最后取这k次地统计指标作为评估结果。
留一验证
K折交叉验证,K为样本总数
指标
对于回归任务,可使用测试误差直接作为指标。
对于分类任务,定义TP、TN、FP、FN作为原始度量指标。
准确度(Accuracy)
- 定义为预测正确的样本比例
- 公式: $ Accuracy = \frac {TP+TN} {TP+TN+FP+FN} $
- 若阴阳样本比例失衡,难以正确度量模型性能,考虑FN=5, TN=95, FP=0, TP=0
精度(Precision)
- 定义为预测阳性样本正确的比例
- 公式: $ Precision = \frac {TP} {TP+FP} $
召回率(Recall)
- 定义为全部阳性样本中预测为阳性的比例
- 公式:$ Recall = \frac {TP} {TP+FN} $
特异度(Specificity)
- 定义为全部阴性样本中预测为阴性的比例
- 公式:$ Specificity = \frac {TN} {TN+FP} $
F-Score
- 公式:$ F_a=\frac{(a^2+1)*precision*recall} {a^2*precision+recall} $
- 综合考量了精度和召回率, 常用的是F1-Score
混淆矩阵
- 定义:行为真值,列为预测值,元素为计数统计值
- 对角线元素越大,性能越好
PR曲线
- 定义:横轴为召回率,纵轴为精度
- 越往右上突性能越好
- 对各类别样本分布敏感
ROC曲线
- 横轴为假阳性比例(FPR),纵轴为召回率,其中$ FPR = 1-Specificity $
- 越往左上突性能越好,对角线为随机识别算法的性能
- 对各类别样本分布不敏感
- 可使用曲线下面积(AUC)度量,其中AUC=0.5为随机识别算法