模式识别 (Pattern Recognition)是近年来比较流行的字眼,通俗地讲,就是通过计算机用数学技术方法来研究模式的自动处理和判读,而模式是环境与客体的总称。模式识别过程中,关键的一步是特征提取,即抽取一组特征,将输入模式从对象空间映射到特征空间,这样,模式就可以用特征空间中的一个点或一个特征矢量表示。模型的构建过程和模式识别有相似的地方,即通过一个特征矢量唯一确定一个模式。在构建模型的过程中就存在这样一个问题:应该用几个维度的特征矢量去唯一表征一个模型?在本文中,以三角波为例,探究几个维度的特征矢量能够唯一表征三角波模型。
基础准备
一维特征矢量
在我们的印象里,三角波只要知道频率或周期就可以确定了,这便是标准的三角波。def triangle_wave(x,p):
T = p
y = np.where(np.mod(x,T)
y = np.where(np.mod(x,T)>=T/2, 4/T*(np.mod(x,T))-3, y) return y
一维特征矢量: [0.2] 描述的三角波
二维特征矢量
很多时候,会发现,在横坐标为0时,并不对应最大值或最小值,而是对应某一个中间值,这个时候标准的三角波就不能表征这种情况,我们需要加入水平平移特征变量,修正后的模型如下:def triangle_wave(x,p):
b, T = p</