
手写字符识别现在是非常常见的,大部分智能手机都支持手写输入。手写字符识别可看作“模式识别”的一个例子,模式识别问题大致可描述为:对于给定的已知数据
使输出
例如
对于这个问题
这里给出一个简单的示例,而且也不打算给出更深入的算法分析,仅为给《线性代数》的学习者一个直观的应用例子。
手写字符识别的一些基本假设:
(1)每个手写字符都以一张固定大小(比如
(2)同一个字符的所有手写版本构成一个线性空间(将每个手写字符图像展成一个列向量,这些向量属于某个线性空间,即它是一个线性空间的子集,将子集扩展成一个线性子空间);
(3)常用字符集中字符个数有限.
记
则我们可以把
于是我们可以用矩阵
利用矩阵的SVD可知
其中
对于给定的
同时
由于模型本身是近似的,所以有可能式 (DR-1) 的
如果讨论的字符集是给定的,即
则可令
这等价于求解
利用 https://zhuanlan.zhihu.com/p/64273563 所提供的方法,知
利用SVD完成手写字符识别的步骤:
- 利用给定的数据集(训练集)确定
;
- 对每个
作SVD分解,得到
;
- 确定一个恰当的
作为空间
的共同维数;
- 确定空间
的一组基
;
- 计算
- 输出识别结果