Introduction
笔记作者:BrickLoo
认识模式识别
“模式识别”是什么?
- 人能够从复杂的环境中感知并辨认“模式”,于是我们希望机器也能像人一样识别这些“模式”,因此有了这门学科。
- 具体来说,人们希望机器能像人类一样:
- 观察感知环境;
- 筛选出感兴趣的“模式”;
- 根据识别到的“模式”类别做出合理决策;
“模式”是什么?
- 是可以以某种方式定义的实体(entity),或者说是一系列度量指标描述的抽象物体,是“混乱”、“无序”等含义的反面。
A pattern is the opposite of chaos; it is an entity, vaguely defined, that could be given a name.
A pattern is an abstract object, such as a set of measurements describing a physical object.
“模式识别”的实现方式?
- 根据自然原理仿生实现
- 使用纯数学方式实现
模式识别的工作流程
感知 Sensing
- 将物体转换成机器可以感知的数字格式。
- 可能存在的问题有:
- 光照条件/信号强度;
- 物体在整体中的位置;
- 传感器得到的噪声;
- ……
预处理 Pre-processing
- 提炼数据。
- 可能包括的步骤有:
- 区分出需要识别的对象(segmentation);
- 去除噪声;
- ……
特征提取 Feature Extraction
- 寻找能用于区分不同类别的特征。
- 将多种特征组合评估往往能得到更准确的结果,但是需要注意:
- 避免不可靠的特征;
- 注意与现有特征的相关性;
- 权衡计算成本;
- 可能引入更多的噪声;
分类 Classification
- 根据特征进行分类。
- 常见的方法包括:
- 支持向量机;
- 决策树;
- 神经网络;
- ……
后处理 Post-processing
- 通常包括:
- 评估决策置信度;
- 结合上下文以提高性能;
- 结合其他专家系统;
模式识别问题的主要设计步骤
数据收集 Data Collection
- 训练样本和测试样本的收集。
- 通常需要关注:
- 样本的质量如何;
- 样本是否具有代表性;
- 时间或其他成本的相关约束;
- ……
特征选择 Feature Selection
- 结合相应领域的先验知识选择合适的样本判别特征(相似模式的相似值和不同模式的不同值)。
- 通常需要关注:
- 计算成本和可行性;
- 特征的稳定性如
- 对于平移、旋转和缩放的不变性;
- 对于遮挡、扭曲、变形和环境变化的鲁棒性;
- ……
模型选择 Model Selection
- 结合相应领域的先验知识选择合适的模型。
- 通常需要关注:
- 模型的复杂度是否合适;
- 如何处理缺失的特征;
- ……
训练 Training
- 从训练样本中学习相关知识(包括但不限于合适的模型参数)。
- 方式通常包括:
- 监督学习 Supervised Learning
- 从输入数据和对应类别标签中学到分类的映射方式;
- 无监督学习 Unsupervised Learning
- 无类别标签,仅通过输入数据学会分类和降维(进行分类可视化);
- 半监督学习 Semi-Supervised Learning;
- 仅部分数据拥有可知的类别标签;
- 强化学习 Reinforcement Learning;
- 交互具有奖惩制度,学习如何交互才能最大化收益;
- 学习理论 Learning Theory;
- 研究机器学习的底层原理、性能边界的理论值、函数的算法表达、需求的样本数据量等等;
- 深度学习 Deep Learning;
- 多层神经网络的学习,可以从模型算法、并发速度、模型体量(同时更大的数据量)等角度改进;
- 监督学习 Supervised Learning
评估 Evaluation
- 判断模型是否具有较好的泛化性,避免过拟合。
- 为了避免测试集的选择有运气成分,评估方式通常包括:
- 多次独立试验 Independent Run / Bootstrap
- 每一次随机采样出不同的训练集和测试集部分,使用相同的模型进行多次训练,观察平均性能;
- 交叉验证 Cross-validation
- 在 M 折交叉验证中,将数据集平均划分为 M 份,每次留出一份作为测试集,其余用来训练,重复 M 次,观察平均性能;
- 多次独立试验 Independent Run / Bootstrap