[学习笔记] - 模式识别

为了能让机器执行和完成识别任务,必须对分类识别对象进行科学的抽象,建立它的数学模型,用以描述和代替识别对象,这种对象的描述即为模式

  • 特征矢量
  • 符号串
  • 关系式
            graph TD
            学习训练-->分类识别
          

模式识别的核心问题

            graph LR
            特征提取与选择-->训练学习
训练学习-->分类识别
          
  • 统计模式识别
    • 模糊模式识别
    • 线性分类器
      • 感知器
      • LMSE算法
      • 支持向量机
    • 贝叶斯分类器
      • 最小错误率
      • 最小风险
      • 朴素贝叶斯
    • 最近邻分类器
      • 模板匹配
      • K近邻算法
    • 神经网络分类器
      • 多层感知器
      • BP网络
      • 深度学习
    • 统计聚类算法
      • 层次聚类
      • 动态聚类
  • 结构模式识别
    • 结构聚类算法
    • 句法模式识别

基本原则

  • 没有免费午餐定理
  • 丑小鸭定理
  • 最小描述定理

绪论

特征矢量

一个分析对象的nn个特征量测值分别为x1,x2,,xnx_1, x_2, \cdots, x_n,它们构成一个nn维特征矢量x\mathbf{x}

x=(x1,x2,,xn)\mathbf{x} = (x_1, x_2, \cdots, x_n)

x\mathbf{x}是原对象(样本)的一种数学抽象,用来表示原对象,即为原对象的模式

特征空间

对某对象的分类识别是对其模式,即它的特征矢量进行分类识别。

各种不同取值的x\mathbf{x}的全体构成了nn维空间,这个nn维空间称为特征空间,不同的场合的特征空间可以记为XnX^nRnR^n。特征矢量x\mathbf{x}便是特征空间中的一个点,所以也称特征点

随机变量

由于测量系统随机因素的影响及不同对象的特征本身就是在特征空间散布的,同一个对象或同一类对象的某特征量测值是随机变量,由随机分量构成的矢量称为随机矢量,同一类对象的特征矢量在特征空间中是按照某种统计规律随机散布的

随机矢量的分布函数

  • 随机矢量:X=(X1,X2,,Xn)T\mathbf{X} = (X_1, X_2, \cdots, X_n)^T
  • 确定型矢量:x=(x1,x2,,xn)T\mathbf{x} = (x_1, x_2, \cdots, x_n)^T

随机矢量X\mathbf{X}的联合概率分布函数定义为

F(x1,x2,,xn)=P(X1x1,X2x2,,Xnxn)F(x_1, x_2, \cdots, x_n) = P(X_1 \leq x_1, X_2 \leq x_2, \cdots, X_n \leq x_n)

写成矢量形式

F(x)=P(X<x)F(\mathbf{x}) = P(\mathbf{X} < \mathbf{x})

联合概率密度函数

  • 随机矢量:X=(X1,X2,,Xn)T\mathbf{X} = (X_1, X_2, \cdots, X_n)^T
  • 确定型矢量:x=(x1,x2,,xn)T\mathbf{x} = (x_1, x_2, \cdots, x_n)^T

随机矢量X\mathbf{X}的联合概率密度函数定义为

p(x1,x2,,xn)=nF(x1,x2,,xn)x1,x2,,xnp(x_1, x_2, \cdots, x_n) = \frac{\partial^nF(x_1, x_2, \cdots, x_n)}{\partial x_1, \partial x_2, \cdots, \partial x_n}

类概率密度函数

设集合由cc类模式组成,第ii类记为ωi\omega_iω\omega类模式特征矢量有自己的分布函数密度函数

F(xωi)=P(Xxωi)p(xωi)=nF(x1,x2,,xnωi)x1,x2,,xn\begin{aligned} F(\mathbf{x}|\omega_i) &= P(\mathbf{X} \leq \mathbf{x}|\omega_i) \\ p(\mathbf{x}|\omega_i) &= \frac{\partial^nF(x_1, x_2, \cdots, x_n|\omega_i)}{\partial x_1, \partial x_2, \cdots, \partial x_n} \end{aligned}

随机矢量的数学特征

随机矢量数学期望

nn维随机矢量X\mathbf{X}的数学期望μ\mu定义为

μ=E[X]=X=[E[X1]E[X2]E[Xn]]=Xnxp(x)dx\mathbf{\mu} = E[\mathbf{X}] = \overline{\mathbf{X}} = \begin{bmatrix} E[X_1] \\ E[X_2] \\ \cdots \\ E[X_n] \end{bmatrix} = \int_{X^n} \mathbf{x}p(\mathbf{x})\mathrm{d}x

随机矢量条件期望

在模式识别中,经常以类别ωi\omega_i作为条件,在这种情况下随机矢量X\mathbf{X}的条件期望矢量定义为

μi=E[Xωi]=Xnxp(xωi)dx\mathbf{\mu_i} = E[\mathbf{X}|\omega_i] = \int_{X^n} \mathbf{x}p(\mathbf{x}|\omega_i)\mathrm{d}x

协方差矩阵

给定nn元的多维随机变量X\mathbf{X}mm元的多维随机变量Y\mathbf{Y},则它们的协方差矩阵为

Cov(X,Y)=Σ=[Cov(x1,y1)Cov(x1,y2)Cov(x1,ym)Cov(x2,y1)Cov(x2,y2)Cov(x2,ym)Cov(xn,y1)Cov(xn,y2)Cov(xn,ym)]=E(XYT)E(X)E(Y)T\begin{aligned} Cov(\mathbf{X}, \mathbf{Y}) = \Sigma &= \begin{bmatrix} Cov(x_1,y_1) & Cov(x_1,y_2) & \cdots & Cov(x_1,y_m) \\ Cov(x_2,y_1) & Cov(x_2,y_2) & \cdots & Cov(x_2,y_m) \\ \vdots & \vdots & \ddots & \vdots \\ Cov(x_n,y_1) & Cov(x_n,y_2) & \cdots & Cov(x_n,y_m) \end{bmatrix} \\ &= E(\mathbf{X}\mathbf{Y}^T) - E(\mathbf{X})E(\mathbf{Y})^T \end{aligned}

其中Cov(X,X)Cov(\mathbf{X}, \mathbf{X})X\mathbf{X}自身的协方差矩阵可以写作

Cov(X,X)=E((Xμ)(Xμ)T)=E(XXT)μμT=(σij2)n×n\begin{aligned} Cov(\mathbf{X}, \mathbf{X}) &= E((\mathbf{X} - \mathbf{\mu})(\mathbf{X} - \mathbf{\mu})^T) = E(\mathbf{X}\mathbf{X}^T) - \mathbf{\mu}\mathbf{\mu}^T \\ &= (\sigma_{ij}^2)_{n\times n} \end{aligned}

自相关矩阵

随机矢量X\mathbf{X}的自相关矩阵定义为

R=E[XXT]R = E[\mathbf{X}\mathbf{X}^T]

由定义可知,X\mathbf{X}的协方差矩阵和自相关矩阵间的关系是

Σ=RXXT=RμμT\Sigma = \mathbf{R} - \mathbf{X}\mathbf{X}^T = \mathbf{R} - \mu\mu^T

相关系数

rij=σij2σiiσjjr_{ij} = \frac{\sigma^2_{ij}}{\sigma_{ii}\sigma_{jj}}

由布尼亚科夫斯基不等式知道

σij2σiiσjj|\sigma^2_{ij}| \leq \sigma_{ii}\sigma_{jj}

所以

1rij1-1 \leq r_{ij} \leq 1

相关系数矩阵定义为

Rc=(rij)n×n\mathbf{R}_c = (r_{ij})_{n\times n}

对称非负定矩阵

协方差矩阵和自相关矩阵都是对称矩阵,设AA为对称矩阵,对任意的矢量x\mathbf{x},由二次型xTAx\mathbf{x}^TA\mathbf{x},若对任意的x\mathbf{x}恒有

xTAx0\mathbf{x}^TA\mathbf{x} \geq 0

则称AA为非负定矩阵

协方差矩阵是非负定的

不相关

随机矢量X\mathbf{X}的第ii分量XiX_i,和第jj个分量XjX_j,若有σij2=0(ij)\sigma^2_{ij} = 0(i \neq j),则称它们不相关

等价条件:

E[XiXj]=E[Xi]E[Xj]E[X_iX_j] = E[X_i]E[X_j]

随机矢量X\mathbf{X}Y\mathbf{Y}不相关的充要条件是互协方差矩阵Cov(X,Y)=0Cov(X,Y) = \mathbf{0},即

E[XYT]=E[X]E[YT]E[\mathbf{X}\mathbf{Y}^T] = E[\mathbf{X}]E[\mathbf{Y}^T]

正交

若随机矢量X\mathbf{X}Y\mathbf{Y}满足

E[XTY]=0E[X^TY] = \mathbf{0}

则称X\mathbf{X}Y\mathbf{Y}正交

独立

若随机矢量X\mathbf{X}Y\mathbf{Y}的联合概率密度函数p(x,y)p(x, y),若满足p(x,y)=p(x)p(y)p(x, y) = p(x)p(y),则称它们独立

独立必不相关,反之不一定

随机矢量的变换

设随机矢量Y\mathbf{Y}是另一个随机矢量X\mathbf{X}的连续函数,即

Y=[Y1Y2Yn]=[g1(X1,X2,,Xn)g2(X1,X2,,Xn)gn(X1,X2,,Xn)]=[g1(X)g2(X)gn(X)]=g(X)\mathbf{Y} = \begin{bmatrix} Y_1 \\ Y_2 \\ \vdots \\ Y_n \end{bmatrix} = \begin{bmatrix} g_1(X_1, X_2, \cdots, X_n) \\ g_2(X_1, X_2, \cdots, X_n) \\ \vdots \\ g_n(X_1, X_2, \cdots, X_n) \end{bmatrix} = \begin{bmatrix} g_1(\mathbf{X}) \\ g_2(\mathbf{X}) \\ \vdots \\ g_n(\mathbf{X}) \end{bmatrix} = \mathbf{g}(\mathbf{X})

若它们的函数关系是一一对应的,则两个随机矢量的概率密度函数之间有关系

p(y)=p(x)JJ=g1x1g1x2g1xng2x1g2x2g2xngnx1gnx2gnxn\begin{aligned} p(\mathbf{y}) &= \frac{p(\mathbf{x})}{J} \\ J &= \begin{vmatrix} \frac{\partial g_1}{\partial x_1} & \frac{\partial g_1}{\partial x_2} & \cdots & \frac{\partial g_1}{\partial x_n} \\ \frac{\partial g_2}{\partial x_1} & \frac{\partial g_2}{\partial x_2} & \cdots & \frac{\partial g_2}{\partial x_n} \\ \vdots & \vdots & \ddots & \vdots \\ \frac{\partial g_n}{\partial x_1} & \frac{\partial g_n}{\partial x_2} & \cdots & \frac{\partial g_n}{\partial x_n} \end{vmatrix} \end{aligned}

JJ为雅可比行列式,表示变换后体积微元的变化,YnY^n坐标系中体积微元

dy1dy2dyn=Jdx1dx2dxn\mathrm{d}y_1\mathrm{d}y_2\cdots\mathrm{d}y_n = |J|\mathrm{d}x_1\mathrm{d}x_2\cdots\mathrm{d}x_n


Y=[Y1Y2Yn]=[a11X1,a12X2,,a1nXn)a21X1,a22X2,,a2nXn)an1X1,an2X2,,annXn)]=[a11a12a1na21a22a2nan1an2ann][XXX]=AX\mathbf{Y} = \begin{bmatrix} Y_1 \\ Y_2 \\ \vdots \\ Y_n \end{bmatrix} = \begin{bmatrix} a_{11}X_1, a_{12}X_2, \cdots, a_{1n}X_n) \\ a_{21}X_1, a_{22}X_2, \cdots, a_{2n}X_n) \\ \vdots \\ a_{n1}X_1, a_{n2}X_2, \cdots, a_{nn}X_n) \end{bmatrix} = \begin{bmatrix} a_{11} & a_{12} & \cdots & a_{1n} \\ a_{21} & a_{22} & \cdots & a_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ a_{n1} & a_{n2} & \cdots & a_{nn} \end{bmatrix} \begin{bmatrix} \mathbf{X} \\ \mathbf{X} \\ \vdots \\ \mathbf{X} \end{bmatrix} = A\mathbf{X}

此时J=AJ = |A|,则随机矢量Y\mathbf{Y}的概率密度函数

p(y)=p(x)Ap(\mathbf{y}) = \frac{p(\mathbf{x})}{||A||}


X\mathbf{X}的均值矢量为μx\mathbf{\mu}_x,协方差矩阵为Σx\Sigma_x,则

  • Y均值矢量:μy=E[Y]=AE[X]=Aμx\mathbf{\mu}_y = E[\mathbf{Y}] = AE[\mathbf{X}] = A\mathbf{\mu}_x
  • Y协方差矩阵:Σy=AE[(Xμx)(Xμx)T]AT=AΣxAT\Sigma_y = AE[(\mathbf{X} - \mathbf{\mu}_x)(\mathbf{X} - \mathbf{\mu}_x)^T]A^T = A\Sigma_xA^T

正态分布

  • 许多随机变量近似服从正太分布
  • 是许多重要概率分布的极限分布

p(x)=12πσexp[(xμ)22σ2]p(x) = \frac{1}{\sqrt{2\pi}\sigma}\exp[-\frac{(x - \mu)^2}{2\sigma^2}]

多变量正态分布

nn元正态分布的随机矢量X=(X1,X2,,Xn)T\mathbf{X} = (X_1, X_2, \cdots, X_n)^T的概率密度函数定义为

p(x1,x2,,xn)=p(x)=1(2π)n2Σ12exp[12(xμ)TΣ1(xμ)]\begin{aligned} p(x_1, x_2, \cdots, x_n) &= p(\mathbf{x}) \\ &= \frac{1}{(2\pi)^{\frac{n}{2}}|\Sigma|^{\frac{1}{2}}}\exp \left[-\frac{1}{2}(\mathbf{x} - \mathbf{\mu})^T\Sigma^{-1}(\mathbf{x} - \mathbf{\mu})\right] \end{aligned}

  • 完全由x\mathbf{x}Σ\Sigma确定:XN(μ,Σ)\mathbf{X} \sim N(\mu, \Sigma)
  • 等概率密度点的轨迹为超椭球面
  • 不相关与独立式等价的
  • 多元正态随机矢量X\mathbf{X}的边缘概率密度的条件概率密度仍是正态分布
  • X\mathbf{X}的线性变换仍为多元正态随机矢量
  • X\mathbf{X}的分量的线性组合式一多元正态随机变量

聚类分析

假设:对象集客观存在着若干个自然类,每个自然类中个体的某些属性具有较强的相似性
原理:将给定的模式分成若干组,每组内的模式是相似的,而组内各模式差别较大
基本思想:

  • 相似的归为一类
  • 模型相似性的度量和聚类算法
  • 无监督分类

聚类是无监督的

特征量的类型

  • 物理量 - (重量,长度,速度)
  • 次序量 - (等级,技能,学识)
  • 名义量 - (性别,状态,种类)

方法的有效性:取决于分类算法和特征点分布情况的匹配

  • 特征选取不当使分类无效
  • 特征选取不足可能使不同类别判为一类
  • 特征选取过多可能无益反而有害,增加负担,效果变差
  • 量纲选取不当

聚类分析的基本思想

  • 特征提取
  • 模式相似度量
  • 点与类间的距离
  • 类与类间的距离
  • 聚类准则及聚类算法
  • 有效性分析

模式相似性测度

用于描述个模式之间特征的相似程度

距离测度

  • 测度基础:两个矢量矢端的距离
  • 测度数值:两矢量各相应分量之差的函数

设矢量x\vec{x}y\vec{y}的距离为d(x,y)d(\vec{x}, \vec{y})

  • d(x,y)0d(\vec{x}, \vec{y}) \geq 0,当且仅当y=x\vec{y} = \vec{x}时,等号成立
  • d(x,y)=d(y,x)d(\vec{x}, \vec{y}) = d(\vec{y}, \vec{x})
  • d(x,y)d(x,z)+d(z,y)d(\vec{x}, \vec{y}) \leq d(\vec{x}, \vec{z}) + d(\vec{z}, \vec{y})
欧式距离

d(x,y)=xy=i=1n(xiyi)2d(\vec{x}, \vec{y}) = ||\vec{x} - \vec{y}|| = \sqrt{\sum^n_{i=1} (x_i - y_i)^2}

绝对值距离

d(x,y)=i=1nxiyid(\vec{x}, \vec{y}) = \sum^n_{i=1}|x_i - y_i|

街坊距离

切氏距离

d(x,y)=maxixiyid(\vec{x}, \vec{y}) = \max_i|x_i - y_i|

明氏距离

d(x,y)=[i=1nxiyim]1md(\vec{x}, \vec{y}) = \left[ \sum^n_{i=1}|x_i - y_i|^m\right]^{\frac{1}{m}}

马氏距离

nn维矢量xi\overline{x}_ixj\overline{x}_j是矢量集{x1,x2,,xm}\lbrace \overline{x}_1, \overline{x}_2, \cdots, \overline{x}_m \rbrace中的两个矢量,马氏距离为

d2(xi,xj)=(xixj)TV1(xixj)d^2(\vec{x}_i, \vec{x}_j) = (\vec{x}_i - \vec{x}_j)^TV^{-1}(\vec{x}_i - \vec{x}_j)

其中

V=1m1i=1m(x1x)T(xix)x=1mi=1mxi\begin{aligned} V &= \frac{1}{m - 1}\sum^m_{i=1}(\vec{x}_1 - \overline{\vec{x}})^T(\vec{x}_i - \overline{\vec{x}}) \\ \overline{\vec{x}} &= \frac{1}{m}\sum^m_{i=1}\overline{x}_i \end{aligned}

与量纲无关,对一切非奇异线性变换都是不变的,具有坐标系比例,选择,平移不变性,从统计意义上尽量去掉了分量间的相关性

相似测度

测度基础:两个矢量的方向是否相近作为考虑的基础,矢量长度并不重要

角度相似系数

cos(x,y)=xyxy\cos(\vec{x}, \vec{y}) = \frac{\vec{x}\vec{y}}{||\vec{x}||\cdot||\vec{y}|||}

坐标系的旋转和尺度的缩放具有不变性

相关系数

数据中心化后的矢量夹角余弦

r(x,y)=(xx)T(yy)[(xx)T(xx)(yy)T(yy)]12r(\vec{x}, \vec{y}) = \frac{(\vec{x} - \overline{\vec{x}})^T(\vec{y} - \overline{\vec{y}})}{[(\vec{x} - \overline{\vec{x}})^T(\vec{x} - \overline{\vec{x}})(\vec{y} - \overline{\vec{y}})^T(\vec{y} - \overline{\vec{y}})]^{\frac{1}{2}}}

把每个矢量剪掉它的均值后的夹角余弦

指数相似系数

e(x,y)=1ni=1nexp[34(xiyi)2σi2]e(\vec{x}, \vec{y}) = \frac{1}{n}\sum^n_{i=1}\exp[-\frac{3}{4}\frac{(x_i - y_i)^2}{\sigma^2_i}]

  • σi2\sigma^2_i:相应分量的协方差
  • nn:矢量维数

匹配测度

当特征只有两个状态(0,1)(0, 1)时,常用匹配测度,00表示无此特征,11表示有此特征,故称之为二值特征,对于给定的x\mathbf{x}y\mathbf{y}中的某两个相应的分量xix_iyjy_j

x=0,1,0,1,1,0y=0,0,1,1,0,1\begin{aligned} \mathbf{x} = 0,1,0,1,1,0 \\ \mathbf{y} = 0,0,1,1,0,1 \end{aligned}

  • xi=1,yi=1x_i = 1, y_i = 1,则称xix_iyiy_i(11)(1-1)匹配
  • xi=1,yi=0x_i = 1, y_i = 0,则称xix_iyiy_i(10)(1-0)匹配
  • xi=0,yi=1x_i = 0, y_i = 1,则称xix_iyiy_i(01)(0-1)匹配
  • xi=0,yi=0x_i = 0, y_i = 0,则称xix_iyiy_i(00)(0-0)匹配

对于二值nn维特征矢量可定义如下相似性测度

  • a=ixiyia = \sum_{i}x_iy_i:为x,y\vec{x}, \vec{y}(11)(1-1)匹配的特征数目
  • b=iyi(1xi)b = \sum_{i}y_i(1 - x_i):为x,y\vec{x}, \vec{y}(01)(0-1)匹配的特征数目
  • a=ixi(1yi)a = \sum_{i}x_i(1 - y_i):为x,y\vec{x}, \vec{y}(10)(1-0)匹配的特征数目
  • a=i(1xi)(1yi)a = \sum_{i}(1 - x_i)(1 - y_i):为x,y\vec{x}, \vec{y}(00)(0-0)匹配的特征数目
Tanimoto测度

s(x,y)=aa+b+c=xTyxTx+yTyxTys(\vec{x}, \vec{y}) = \frac{a}{a + b + c} = \frac{\vec{x}^T\vec{y}}{\vec{x}^T\vec{x} + \vec{y}^T\vec{y} - \vec{x}^T\vec{y}}

它等于共同具有的特征数目与分别具有的特征种类总数之比

Rao测度

s(x,y)=aa+b+c+e=xTyns(\vec{x}, \vec{y}) = \frac{a}{a + b + c + e} = \frac{\vec{x}^T\vec{y}}{n}

(11)(1-1)匹配特征数目和所选用的特征数目之比

简单匹配系数

(x,y)=a+en(\vec{x}, \vec{y}) = \frac{a + e}{n}

上式分子为(11)(1-1)匹配特征数目与(00)(0-0)匹配特征数目之和,分母为所考虑的特征数目

Dice系数

m(x,y)=a2a+b+c=xTyxTx+yTy=(11)匹配个数两矢量中1的个数m(\vec{x}, \vec{y}) = \frac{a}{2a + b + c} = \frac{\vec{x}^T\vec{y}}{\vec{x}^T\vec{x} + \vec{y}^T\vec{y}} = \frac{(1-1)\text{匹配个数}}{\text{两矢量中1的个数}}

Kulzinsky系数

m(x,y)=ab+c=xTyxTx+yTy2xTy=(11)匹配个数(01)+(10)匹配个数m(\vec{x}, \vec{y}) = \frac{a}{b + c} = \frac{\vec{x}^T\vec{y}}{\vec{x}^T\vec{x} + \vec{y}^T\vec{y} - 2\vec{x}^T\vec{y}} = \frac{(1-1)\text{匹配个数}}{(0-1)+(1-0)\text{匹配个数}}

类的定义与类间距离

类的约束:对于一个待分类的集合SS,要求分类后的各类S1,S2,,ScS_1, S_2, \cdots, S_c满足

  • SiS_i \neq \varnothing
  • i=1cSi=S\cup^c_{i=1}S_i = S
  • SiSj=,ijS_i \cup S_j = \varnothing, \quad i \neq j

类的定义

定义:若集合SS中任两个元素xix_ixjx_j的距离dijd_{ij}

dijhd_{ij} \leq h

则称SS相对于阈值hh组成一类

此类中任意2元素之间距离小于hh


定义:若集合SS中任一元素xix_i与其他各元素xjx_j间的距离dijd_{ij}均满足

1k1xjSdijh\frac{1}{k-1}\sum_{x_j \in S}d_{ij} \leq h

则称SS相对于阈值hh组成一类(kk为集合元素个数)


定义:若集合SS中任一元素xix_i与其他各元素xjx_j间的距离dijd_{ij}均满足

1k(k1)xiSxjSdijh,dijr\frac{1}{k(k-1)}\sum_{x_i\in S}\sum_{x_j\in S}d_{ij} \leq h ,\quad d_{ij} \leq r

则称SS相对于阈值h,rh,r组成一类


定义:若集合SS中任一元素xix_i,都存在某元素xjSx_j\in S使它们的距离dijd_{ij}满足

dijhd_{ij} \leq h

则称SS相对于阈值hh组成一类

类的距离定义

最近距离法

Dkl=mini,jdijD_{kl} = \min_{i,j}\lfloor d_{ij} \rfloor

  • 链式结构的聚类
最远距离法

Dkl=maxi,jdijD_{kl} = \max_{i,j}\lfloor d_{ij} \rfloor

中心距离法

Dkl2=12Dkp2+12Dkp214Dpq2D^2_{kl} = \frac{1}{2}D_{kp}^2 + \frac{1}{2}D_{kp}^2 - \frac{1}{4}D^2_{pq}

没有考虑样本数量

重心距离法

中心距离法考虑样本数量之后(权重)

Dkl2=npnp+nqDkp2+nqnp+nqDkp2npnq(np+nq)2Dpq2D^2_{kl} = \frac{n_p}{n_p+n_q}D_{kp}^2 + \frac{n_q}{n_p+n_q}D_{kp}^2 - \frac{n_pn_q}{(n_p+n_q)^2}D^2_{pq}

平均距离法

Dpq2=1npnqdij2D_{pq}^2 = \frac{1}{n_pn_q} \sum d^2_{ij}

所有点的距离的平均

离差平方和距离法

Dkl2=nk+npnk+nlDkp2+nk+nqnk+nlDkq2nknk+nlDpq2st=xiω(xixt)T(xixt)Dpq2=slspsq=npnqnp+nq(xpxq)T(xpxq)\begin{aligned} D^2_{kl} &= \frac{n_k + n_p}{n_k + n_l}D^2_{kp} + \frac{n_k + n_q}{n_k + n_l}D^2_{kq} - \frac{n_k}{n_k + n_l}D^2_{pq} \\ \\ s_t &= \sum_{\mathbf{x}_i \in \omega}(\mathbf{x}_i - \mathbf{x}_t)^T(\mathbf{x}_i - \mathbf{x}_t) \\ D^2_{pq} &= s_l - s_p - s_q \\ &= \frac{n_pn_q}{n_p+n_q}(\mathbf{x}_p - \mathbf{x}_q)^T(\mathbf{x}_p - \mathbf{x}_q) \end{aligned}

xp,xq,xt\mathbf{x}_p,\mathbf{x}_q,\mathbf{x}_t分布为对应类的重心

准则函数

点和集合的距离

  • 第一类:对集合的分布没有先验知识时,可采用类间距离计算
  • 第二类:当知道集合的中点分布的先验知识时,可用相应的模型进行计算

聚类的准则函数

标准:内间距离小,类间距离大
设有待分类的模式集{x1,x2,,xn}\lbrace \mathbf{x}_1, \mathbf{x}_2, \cdots, \mathbf{x}_n \rbrace在某种相似性测度基础上被划分为cc类,类内距离准则函数jwj_w定义为

jw=j=ici=1nj(xi(j)mj)2mj表示ωj类的模式均值矢量j_w = \sum^c_{j=i}\sum^{n_j}_{i=1}(\mathbf{x}_i^{(j)} - \mathbf{m}_j)^2 \quad \mathbf{m}_j \text{表示} \omega_j \text{类的模式均值矢量}

加权聚类的准则函数

jww=j=1cnjNdj2dj2=2nj(nj2)xj(j)xk(j)j_{ww} = \sum^c_{j=1}\frac{n_j}{N}\overline{d}_j^2 \qquad \overline{d}_j^2 = \frac{2}{n_j(n_j - 2)}\sum||\mathbf{x}^{(j)}_j - \mathbf{x}_k^{(j)}||

  • xi(j)xk(j)\sum||\mathbf{x}^{(j)}_i - \mathbf{x}_k^{(j)}||:表示ωj\omega_j类内任意两个模式距离平方和
  • dj2\overline{d}_j^2:表示类内两模式间的均方距离
  • NN:待分类模式总数
  • njN\frac{n_j}{N}:表示ωj\omega_j类先验概率的估计-频率

类间距离准则函数

JB=maxj=1c(mjm)T(mjm)J_B = \max\sum^c_{j=1}(\mathbf{m}_j - \mathbf{m})^T(\mathbf{m}_j - \mathbf{m})

  • mj\mathbf{m}_j:为ωj\omega_j类的模式平均矢量
  • m\mathbf{m}:为总的模式平均矢量

加权类间距离准则函数

JWB=maxj=1cnjN(mjm)T(mjm)J_{WB} = \max\sum^c_{j=1}\frac{n_j}{N}(\mathbf{m}_j - \mathbf{m})^T(\mathbf{m}_j - \mathbf{m})

对于两类问题,类间距离有时取

JB2=(m1m2)T(m1m2)J_{B2} = (\mathbf{m}_1 - \mathbf{m}_2)^T(\mathbf{m}_1 - \mathbf{m}_2)

JB2J_{B2}JWBJ_{WB}的关系是:JWB=n1Nn2NJB2J_{WB} = \frac{n_1}{N}\frac{n_2}{N}J_{B2}

聚类的准则函数+类间距离准则函数

我们希望内间距离小,类间距离大,所以构造出能够同时反映出它们的类间距离的准则函数最好
设待分类{x1,x2,,xn}\lbrace \mathbf{x}_1, \mathbf{x}_2, \cdots, \mathbf{x}_n \rbrace,分为cc类,每个类含njn_j和模式xi(j)\mathbf{x}^{(j)}_i

ωj\omega_j的类内离差阵(样本协方差矩阵但是没有减1)定义为

Sw(j)=1nji=1nj(xi(j)mj)(xi(j)mj)Tj=1,2,,cS^{(j)}_w = \frac{1}{n_j}\sum^{n_j}_{i=1}(\mathbf{x}^{(j)}_i - \mathbf{m}_j)(\mathbf{x}^{(j)}_i - \mathbf{m}_j)^T \quad j = 1, 2, \cdots, c

  • mj\mathbf{m}_j:为ωj\omega_j类的模式平均矢量
  • 总的类内离差阵:Sw=j=1cnjNSw(j)S_w = \sum^c_{j=1}\frac{n_j}{N}S^{(j)}_w
  • 类间离差阵:SB=j=1cnjN(mjm)(mjm)TS_B = \sum^c_{j=1}\frac{n_j}{N}(\mathbf{m}_j - \mathbf{m})(\mathbf{m}_j - \mathbf{m})^T
  • 总的离差阵:Sr=1Ni=1NnjN(mim)(mim)TS_r = \frac{1}{N}\sum^N_{i=1}\frac{n_j}{N}(\mathbf{m}_i - \mathbf{m})(\mathbf{m}_i - \mathbf{m})^T

Sr=Sw+SBS_r = S_w + S_B

聚类的基本目的是maxtr(SB)\max tr(S_B)mintr(Sw)\min tr(S_w),利用线性代数有关矩阵的迹和行列式的性质,可以定义如下4个聚类的准则函数

J1=tr(Sw1SB)J2=Sw1SBJ3=tr(Sw1ST)J4=Sw1ST\begin{aligned} J_1 &= tr(S^{-1}_wS_B) \\ J_2 &= |S^{-1}_wS_B| \\ J_3 &= tr(S^{-1}_wS_T) \\ J_4 &= |S^{-1}_wS_T| \end{aligned}

为了得到更好的聚类结果,应该使它们尽量的大

聚类的算法

  • 按最小距离原则简单聚类方法
  • 按最小距离原则进行两类合并的方法
  • 依据准则函数动态聚类方法

简单聚类方法

确定一个相似性阈值,将模式到各聚类中心间的距离与阈值比较

  • 当大于阈值就作为另一类的类心
  • 当小于阈值就按最小距离原则将其划分到某一类中

模式的类别及类的中心一旦确定将不会改变,聚类结果很大程度依赖TT的选取,初始值的选取,和选模式的顺序也会造成不同


设待分类{x1,x2,,xn}\lbrace \mathbf{x}_1, \mathbf{x}_2, \cdots, \mathbf{x}_n \rbrace,选定类间距离阈值TT
计算模式特征矢量到聚类中心的距离并合并门限TT比较,决定归属该类或作为新的一类中心,通常选择欧式距离

  1. 任取一个模式特征矢量作为第一个聚类中心z1\mathbf{z}_1
  2. 计算下一个模式特征矢量计算x2\mathbf{x}_2z1\mathbf{z}_1的距离
    1. 若大于TT,则新建一类并作为中心
    2. 若小于TT,则属于这一类
  3. 对于尚未确定类别的模式,计算到各聚类中心的聚类进行判断

最小距离两类合并

首先全部作为一类,然后将距离最小的两类合并为一类,不断重复,直到分为2类位置
类心不断修正,单模式类别一旦确定后就不再改变,称为谱系聚类法

依据准则函数动态聚类方法

设定一些分类的控制参数,定义一个表征聚类结构优劣的准则函数,聚类过程就是最优化函数取极值的优化过程

最大最小距离算法

设待分类{x1,x2,,xn}\lbrace \mathbf{x}_1, \mathbf{x}_2, \cdots, \mathbf{x}_n \rbrace,选定比例系数θ\theta
在模式特征矢量中以最大距离原则选取新的聚类中心,以最小距离原则进行模式归类,通常选择欧式距离

  1. 选任一模式特征矢量作为第一个聚类中心z1\mathbf{z}_1
  2. 从待分类矢量集中选距离z1\mathbf{z}_1最远的特征矢量作为第二个聚类中心
  3. 计算未被作为聚类中心的各模式特征矢量分别与z1,z2\mathbf{z}_1,\mathbf{z}_2之间的距离,对每一个模式计算一个当前距离聚类中心的最小值
  4. 在上方所有最小值中取一个最大值,判断是否大于θz1z2\theta||\mathbf{z}_1 - \mathbf{z}_2||
    1. 若大于,则作为第三个聚类中心
    2. 如果等于,转第5步
    3. 如果小于,转第6步
  5. 设存在kk个聚类中心,计算未被作为聚类中心的各特征矢量到各聚类中心的距离
    1. 同理按照第4步进行计算
  6. 当判断不再有新的聚类中心之后,将剩余的模式按最小距离原则分到各类中去

谱系聚类法

  • 初始分类,每个模式自成一类
  • 计算各类间的距离,生成一个对称的距离矩阵
  • 找出最小的元素,合并为一类,产生新的聚类
  • 重复上述步骤直到只有一类

动态聚类法

不是采用贪心算法等,被分类后的模式还可以继续改变

  • 采用欧式距离:单纯计算距离
  • 采用马氏距离:能反映出类的模式分布结构
  1. 建立初始聚类中心,进行初始聚类
  2. 计算模式和类的距离,调整模式的类别
  3. 计算各聚类的参数,删除,合并或分裂一些聚类
  4. 从初始聚类开始,运用迭代算法动态地改变模式的类别和聚类的中心使准则函数取得极值或设定的参数达到设计要求
            graph LR
            待分类模式-->产生初始聚类中心
产生初始聚类中心-->聚类
聚类-->检验聚类合理性
检验聚类合理性--不合理-->再迭代丨修改参数
再迭代丨修改参数-->聚类
检验聚类合理性--合理-->分类结果
          
C-均值法

取定CC个类别和选取CC个初始聚类中心,按最小距离原则将各模式分配到CC类中的某一类,之后不断地计算类心和调整各模式的类别,最终使各模式到其判属类别中心的距离平方之和最小。

  1. 任选C个模式特征向量作为初始聚类中心
  2. 将待分类的模式特征矢量集中的模式逐个按最小距离原则划分给CC类中的某一类
  3. 计算重新分类后的各类心
  4. 判断与上次计算类心是否相同,相同则结束,否则转到第2步

C-均值法分类结果容易受到类别数和初始聚类中心的影响,通常结果只是局部最优的,但是方法简单,结果差强人意,所以应用较多

  • 类数cc的调整
    • 利用先验知识选取
    • 让类数递增重复进行聚类,选取JcJ-c曲线曲率变化最大点所对应的类数
  • 初始聚类中心的选取课采取的方式
    • 凭经验选取
    • 将模式随机分为cc类计算每类内心
    • 按密度大小选取
    • 选取相距最远的cc个特征点
    • 随机地选出cc个,用谱系聚类法聚成cc类,选取类心
    • c1c-1类问题,选取下一个最远的cc

近邻函数法

在C-均值法中,当类内样本非球状散布时,用样本的均值矢量作为类的代表,一般聚类结果不佳,如果我们有类的模式分布的某些先验知识,可以构造能反映类的模式分布情况的核函数,那么就以核函数来代表类

如果实际中不能确定核函数或不能用简单的函数表示核函数时,可以采用临界函数法,这种算法特别适用于类的模式分布式条状或线状的情况

近邻函数:对于一个样本集中的任意两个样本xi\mathbf{x}_ixj\mathbf{x}_j,如果xi\mathbf{x}_ixj\mathbf{x}_j的第ii个近邻点,则定义xi\mathbf{x}_ixj\mathbf{x}_j的近邻系数为II,记为d(i,j)=Id(i,j) = I,如果xj\mathbf{x}_jxi\mathbf{x}_i的第jj个近邻点,则定义xi\mathbf{x}_ixj\mathbf{x}_j的近邻系数为JJ,记为d(j,i)=Jd(j,i) = J,于是xi\mathbf{x}_ixj\mathbf{x}_j之间的近邻函数值定义为

aij=d(i,j)+d(j,i)2=I+J2a_{ij} = d(i,j) + d(j,i) - 2 = I + J - 2

xi\mathbf{x}_ixj\mathbf{x}_j互为最近邻时,有aij=0a_{ij} = 0,如果样本集包含NN个样本,那么近邻系数总是小于等于N1N-1,因此xi\mathbf{x}_ixj\mathbf{x}_j之间的近邻函数值满足

aij2N4a_{ij} \leq 2N - 4

连接损失:在聚类过程中,如果xi\mathbf{x}_ixj\mathbf{x}_j被聚为一类,就称xi\mathbf{x}_ixj\mathbf{x}_j是互相连接的,对于每个连接,都应定义一个指标,用以刻画这两个样本是狗适于连接,称其为连接损失

aija_{ij}越小,表明它们越相似,把它们连接起来,损失也越小,所以aija_{ij}可作为连接损失
在聚类过程中,对于样本xi\mathbf{x}_i,计算它与其他样本间的近邻函数数值,取最小把它们连接起来,并有连接损失aika_{ik}

类内连接损失:设有cc类,总的类连接损失定义为

Lw=p=1caijL_w = \sum^c_{p=1}\sum a_{ij}

ωj\omega_j类的类内最大近邻函数值

ap=maxaija_p = \max \lfloor a_{ij} \rfloor

设聚类ωp\omega_pωq\omega_q的样本之间的最小近邻函数值为rpqr_{pq}

rpq=minaijr_{pq} = \min \lfloor a_{ij} \rfloor

rpkr_{pk}聚类ωp\omega_p与其他各聚类的最小近邻函数值为rpqr_{pq}

rpk=minrpqr_{pk} = \min \lfloor r_{pq} \rfloor

上面表明,除ωp\omega_p类内样本外,只有ωk\omega_k中的某一个样本与ωp\omega_p中某一个样本最临界,近邻函数值为rpkr_{pk}

定义总的类间损失

LB=p=1cβpL_B = \sum^c_{p=1}\beta_p

聚类的目标是使各rpkr_{pk}尽可能地大,使各apa_p尽可能的小,因而构造聚类的准则函数为

JL=min(Lw+LB)J_L = \min(L_w + L_B)

算法步骤

  1. 对于给定的待分类样本集,计算距离矩阵DD
  2. 利用矩阵DD,计算近邻矩阵MM,其元素MijM_{ij}为样本x\mathbf{x}x\mathbf{x}的近邻系数
  3. 生成近邻矩阵LL,其阵元为Lij=Mij+Mji2L_{ij} = M_{ij} + M_{ji} - 2,置矩阵LL的主对角线上阵元Lii=2NL_{ii} = 2N,如果xi\mathbf{x}_ixj\mathbf{x}_j有连接,则LijL_{ij}给出它们非零近近邻函数值,即连接损失
  4. 搜索矩阵LL,将每个点与和它有最小近邻函数值的点连接起来,形成初始聚类
  5. 对于4.所形成的聚类,计算rpk,apm,akmr_{pk}, a_{pm}, a_{km},若rpkr_{pk}小于或等于apma_{pm}akma_{km},则合并ωk\omega_kωp\omega_p,它们的样本间建立连接关系,转至5,否则结束

上诉过程将使JLJ_L最小

判别域代数界面方程法

判别域界面方差分类

原理:不同模式对应特征点在不同的区域中散布,运用已知类别的训练样本进行学习,产生若干个代数界面,d(x)d(\mathbf{x})将特征空间划分为一些互不重叠的子区域
判别函数:表示界面的函数d(x)d(\mathbf{x})
线性可分:对于来自两类的一组模式,如果能用一个线性判别函数正确分类,则为线性可分

线性判别函数

nn维特征空间中,特征矢量为x=(x1,x2,,xn)T\mathbf{x} = (x_1, x_2, \cdots, x_n)^T,线性判别函数的一般形式为

d(x)=w1x1+w2x2++wnxn+wn+1=w0Tx+wn+1\begin{aligned} d(\mathbf{x}) &= w_1x_1 + w_2x_2 + \cdots + w_nx_n + w_{n+1} \\ &= \mathbf{w}^T_0\mathbf{x} + w_{n+1} \end{aligned}

w0\mathbf{w}_0称为权矢量或系数矢量,简化为

d(x)=wTxx=(x1,x2,,xn,1)Tw=(w1,w2,,wn,wn+1)T\begin{aligned} d(\mathbf{x}) &= \mathbf{w}^T\mathbf{x} \\ \mathbf{x} &= (x_1, x_2, \cdots, x_n, 1)^T \\ \mathbf{w} &= (w_1, w_2, \cdots, w_n, w_{n+1})^T \end{aligned}

增广权矢量:w\mathbf{w}
增广特征矢量:x\mathbf{x}

线性判别两类问题

d(x){>0xω1<0xω2=0拒判d(\mathbf{x}) \begin{cases} > 0 \rightarrow \mathbf{x} \in \omega_1 \\ < 0 \rightarrow \mathbf{x} \in \omega_2 \\ = 0 \rightarrow \text{拒判} \end{cases}

线性判别多类问题

ωi/ωi\omega_i/\overline{\omega}_i两分法

将属于ω1\omega_1类和不属于ωi\omega_i类的模式分划开,cc类问题转化为c1c - 1个两类问题,可以建立cc个判别函数

di(x)=wiTx,i=1,2,,cd_i(\mathbf{x}) = \mathbf{w}_i^T\mathbf{x}, \quad i = 1,2,\cdots,c

通过训练,其中每个判别函数都具有下面的性质

di(x){>0xωi<0xωid_i(\mathbf{x}) \begin{cases} > 0 & \mathbf{x} \in \omega_i \\ < 0 & \mathbf{x} \in \overline{\omega}_i \end{cases}

ωi\omega_iωi\overline{\omega}_i类分开


ωi/ωj\omega_i/\omega_j两分法

对于cc类中的任意两类ωi\omega_iωj\omega_j都分别建立一个判别函数,这个判别函数将属于ωi\omega_i的模式与属于ωj\omega_j的模式区分开,此函数对其他模式分类不提供信息,因此总共需要c(c1)/2c(c-1)/2个这样的判别函数,通过训练,区分i,ji,j两类的判别函数为

dij(x)=wijx,i,j=1,2,,c,ijd_{ij}(\mathbf{x}) = \mathbf{w}_{ij}\mathbf{x}, \quad i,j = 1,2,\cdots,c,i\neq j

dij(x)=wijx{>0xωi<0xωjd_{ij}(\mathbf{x}) = \mathbf{w}_{ij}\mathbf{x} \begin{cases} > 0 & \mathbf{x} \in \omega_i \\ < 0 & \mathbf{x} \in \omega_j \end{cases}

具有性质dij(x)=dji(x)d_{ij}(\mathbf{x}) = -d_{ji}(\mathbf{x}),判别规则

dij(x)>0,jixωid_{ij}(\mathbf{x}) > 0, \forall j\neq i \rightarrow x \in \omega_i

ωi\omega_iωj\omega_j类分开


没有不确定区的ωi/ωj\omega_i/\omega_j两分法
令上面的判别函数为

dij(x)=di(x)dj(x)=(wiwj)Txd_{ij}(\mathbf{x}) = d_i(\mathbf{x}) - d_j(\mathbf{x}) = (w_i - w_j)^T\mathbf{x}

dij(x)>0d_{ij}(\mathbf{x}) > 0等价于di(x)>dj(x)d_{i}(\mathbf{x}) > d_{j}(\mathbf{x}),于是对每一类ωi\omega_i均建立一个判别函数di(x)d_i(\mathbf{x})cc类问题又cc个判别函数

di(x)=wiTx,i=1,2,,cd_i(\mathbf{x}) = \mathbf{w}_i^T\mathbf{x},\quad i=1,2,\cdots,c

判别规则为:

di(x)>dj(x),jixωid_i(\mathbf{x}) > d_j(\mathbf{x}),\quad \forall j \neq i \rightarrow \mathbf{x} \in \omega_i

或者写为

di(x)=maxjdj(x)xωid_i(\mathbf{x}) = \max_{j} d_j(\mathbf{x}) \rightarrow \mathbf{x} \in \omega_i

判别函数值的鉴别意义

nn维特征空间中,特征矢量维x=(x1,x2,,xn)T\mathbf{x} = (x_1, x_2, \cdots, x_n)^T,线性判别函数的一般形式为

d(x)=w1x1+w2x2++wnxn+wn+1\begin{aligned} d(\mathbf{x}) &= w_1x_1 + w_2x_2 + \cdots + w_nx_n + w_{n+1} \end{aligned}

此方程表示一超平面,它具有以下性质

  • 系数矢量:w0=(w1,w2,,wn)T\mathbf{w}_0 = (w_1, w_2, \cdots, w_n)^T是该平面的法矢量
  • 判别函数d(x)d(\mathbf{x})的绝对值正比于x\mathbf{x}到超平面d(x)=0d(\mathbf{x}) = 0距离
  • 判别函数值的正负表示出特征点位于那个半空间中

权空间

增广特征矢量与增广权矢量是对称的,判别函数可以写成

d(x)=wTx=xTw=x1w1+x2w2++xnwn+wn+1d(\mathbf{x}) = \mathbf{w}^T\mathbf{x} = \mathbf{x}^T\mathbf{w} = x_1w_1+ x_2w_2 + \cdots + x_nw_n + w_{n+1}

这里x1,x2,,xn,1x_1, x_2, \cdots, x_n, 1则对应位相应的wiw_i

  • x\mathbf{x}指向平面xTw=0\mathbf{x}^T\mathbf{w} = 0的正侧,则该半空间中任一点w\mathbf{w}都使xTw>0\mathbf{x}^T\mathbf{w} > 0
  • x\mathbf{x}背向平面xTw=0\mathbf{x}^T\mathbf{w} = 0,则该半空间中任一点w\mathbf{w}都使xTw<0\mathbf{x}^T\mathbf{w} < 0

解矢量

对于两类问题,在对待分类模式进行分类之前,应根据已知类别的增广训练模式,确认线性判别函数

d(x)wTxd(\mathbf{x}) \mathbf{w}^T\mathbf{x}

  • 当训练模式xjω1wTxj>0\mathbf{x}_j \in \omega_1 \rightarrow \mathbf{w}^T\mathbf{x}_j > 0
  • 当训练模式xjω2wTxj<0\mathbf{x}_j \in \omega_2 \rightarrow \mathbf{w}^T\mathbf{x}_j < 0

此时的w\mathbf{w}称为解矢量,记为w\mathbf{w}^*,解矢量不是唯一的
可以把其中一类的符号转向,从而规范化为wTxj>0\mathbf{w}^T\mathbf{x}_j > 0

解空间

nn个训练模式将确定nn个界面,每个界面都把权空间分为两个半空间,NN个正的半子空间的交空间使以权空间原点为顶点的凸多面锥

满足上式的个不等式w\mathbf{w}比在这个锥体中,锥体中每个点都是不等式的解,解矢量不是唯一的,上面的凸多面锥包含了解的全体,称为解空间

Fisher线性判别

线性可分条件下判别函数权矢量算法

感知器算法:用训练模式检验初始的或迭代中的增广权矢量w\mathbf{w}的合理性,当不合理时,对其进行校正
实质:校正方法实际上时最优化技术中的梯度下降法,本算法也是人工神经网络理论中的线性阈值神经元的学习算法

            graph TD
            任选一初始增广权矢量-->用训练样本检验分类是否正确
用训练样本检验分类是否正确--正确-->所有训练样本都正确分类
用训练样本检验分类是否正确--不正确-->对权值进行校正
对权值进行校正-->所有训练样本都正确分类
所有训练样本都正确分类--否-->用训练样本检验分类是否正确
所有训练样本都正确分类--是-->结束
          

设给定一个增广的训练模式集{x1,x2,,xn}\lbrace \mathbf{x}_1, \mathbf{x}_2, \cdots, \mathbf{x}_n \rbrace,其中每个模式类别已知,它们分别属于ω1\omega_1类和ω2\omega_2

  1. 置步数k=1k=1,令增量p=某正常数p = \text{某正常数},分别赋给初始增广权矢量w(1)\mathbf{w}(1)的各分量较小的任意值
  2. 输入训练模式xk\mathbf{x}_k,计算判别函数值wT(k)xk\mathbf{w}^T(k)\mathbf{x}_k
  3. 调整增广权矢量
    1. 如果xkω1\mathbf{x}_k \in \omega_1wT(k)xk0\mathbf{w}^T(k)\mathbf{x}_k \leq 0,则w(k+1)=w(k)+pxk\mathbf{w}(k+1) = \mathbf{w}(k) + p\mathbf{x}_k
    2. 如果xkω2\mathbf{x}_k \in \omega_2wT(k)xk0\mathbf{w}^T(k)\mathbf{x}_k \geq 0,则w(k+1)=w(k)pxk\mathbf{w}(k+1) = \mathbf{w}(k) - p\mathbf{x}_k
    3. 如果xkω1\mathbf{x}_k \in \omega_1wT(k)xk>0\mathbf{w}^T(k)\mathbf{x}_k > 0,或xkω2\mathbf{x}_k \in \omega_2wT(k)xk0\mathbf{w}^T(k)\mathbf{x}_k \leq 0,则w(k+1)=w(k)\mathbf{w}(k+1) = \mathbf{w}(k)
  4. 如果k<Nk < N,令k+=1k += 1,返回2,如果k=Nk = N,检验判别函数对所有模式是否正常分量,若是则结束,若不是,令k=1k=1,返回2

一般情况下的判别函数权矢量算法

如果线性不可分的情况,用线性分类的过程会不收敛
对线性不可分样本集,求一节矢量使得错分的模式数目最少

引入NN维余量矢量b>ϕ\mathbf{b} > \mathbf{\phi},不等式方程组变为

Xwb>ϕX\mathbf{w} \geq \mathbf{b} > \mathbf{\phi}

其中

X=(x1Tx2TxNT)X = \begin{pmatrix} \mathbf{x}^T_1 \\ \mathbf{x}^T_2 \\ \vdots \\ \mathbf{x}^T_N \end{pmatrix}

分段二次准则函数:

J(w)=(Xwb)Xwb2J(\mathbf{w}) = ||(X\mathbf{w} - \mathbf{b}) - |X\mathbf{w} - \mathbf{b}|||^2

  • 在训练模式线性可分的情况下:J(w=0)J(\mathbf{w}^* = 0)
  • 在训练模式线性不可分的情况下:J(w>0)J(\mathbf{w}^* > 0)
    • 但可能使误分模式数最少

sk\mathbf{s}_k为寻求J(w)J(\mathbf{w})极小值点的搜索方向
则共轭梯度法的基本公式为

gk=g(wk)=ΔJ(wk)s0=g0sk+1=gk+1+βkskβk=gk+1Tgk+1gkTgk=gk+1gkvk=J(w+vksk)=minJ(wk+vsk)wk+1=wk+vksk\begin{aligned} \mathbf{g}_k &= \mathbf{g}(\mathbf{w}_k) = - \Delta J(\mathbf{w}_k) \\ \mathbf{s}_0 &= \mathbf{g}_0 \qquad \mathbf{s}_{k+1} &= \mathbf{g}_{k+1} + \beta_k\mathbf{s}_k \\ \beta_k &= \frac{\mathbf{g}^T_{k+1}\mathbf{g}_{k+1}}{\mathbf{g}^T_{k}\mathbf{g}_{k}} = \frac{||\mathbf{g}_{k+1}||}{||\mathbf{g}_{k}||} \\ \mathbf{v}_k &= J(\mathbf{w} + \mathbf{v}_k\mathbf{s}_k) = \min J(\mathbf{w}_k + \mathbf{v}\mathbf{s}_k) \\ \mathbf{w}_{k+1} &= \mathbf{w}_k + \mathbf{v}_k\mathbf{s}_k \end{aligned}

// TODO

非线性判别函数

nn维模式特征集在特征空间xn\mathbf{x}^n中是非线性可分的,对各模式作非线性变换

T:XnYdd>nx=(x1,x2,,xn)Ty=(y1,y2,,yn)T\begin{aligned} T&: X^n \rightarrow Y^d \quad d > n \\ \mathbf{x} &= (x_1, x_2, \cdots, x_n)^T\quad\mathbf{y} = (y_1, y_2, \cdots, y_n)^T \end{aligned}

其中yi=fi(x)y_i = f_i(\mathbf{x})x\mathbf{x}的单值函数,选取适当的函数

fi(x)i=1,2,,df_i(\mathbf{x}) \quad i = 1, 2, \cdots, d

使

{yj=(f1(xj),f2(xj),,fd(xj))}\lbrace \mathbf{y}_j = (f_1(\mathbf{x}_j), f_2(\mathbf{x}_j), \cdots, f_d(\mathbf{x}_j)) \rbrace

在特征空间使线性可分的,称其维广义线性判别函数

// TODO

最近邻方法

  • 聚类分析:无先验知识,按最近距离原则进行分类
  • 代数界面方法:有先验知识,要进行训练,按判别函数值符号或大小进行分类
  • 最近邻方法:有先验知识,但不进行训练,按最近距离原则进行分类

1-NN最近邻方法

  1. 已知NN个已知类别样本XX
  2. 输入未知类别样本XX
  3. 计算xx到所有样本距离
  4. 找出最小距离样本xmx_m
  5. 判未知样本属于xmx_m的一类

K-NN最近邻方法

  1. 已知NN个已知类别样本XX
  2. 输入未知类别样本XX
  3. 计算xx到所有样本距离
  4. 找出xx的k个最小邻元xk,k=1,2,,kx_k, k = 1,2,\cdots,k
  5. 判未知样本属于最小邻元最多的一类

剪辑最近邻方法

对于两类问题,设将已知类别的样本集X(N)X^{(N)}分成参照集X(NR)X^{(NR)}和测试集X(NT)X^{(NT)}两部分

利用参照集X(NR)X^{(NR)}中的样本采用最近邻规则对已知类别的测试集X(NT)X^{(NT)}中的每个样本进行分类,剪辑掉错误分类的样本,获得剪辑样本集XNTEX^{NTE}后,对待识别模式xx采用最近邻规则进行分类

剪辑最近邻法可以推广到K-近邻法中,具体做法:

  1. 用K-NN法进行剪辑
  2. 用1-NN法进行分类

如果样本足够多,可以重复执行剪辑程序,进一步提高性能,称为重复剪辑最近邻法

  1. 将样本集X(N)X^{(N)}随机地划分为ss个子集
  2. 用最近邻法,以X1+iX_{1+i}为参照集,对XiX_i中的样本进行分类,其中i=1,2,,si=1,2,\cdots,s
  3. 去掉2.中被错误分类的样本
  4. 用所留下的样本构成新的样本集X(NE)X^{(NE)}
  5. 如果经过kk次迭代再没有样本被剪辑掉则停止,否则转1.

统计判决

贝叶斯判决进行分类时,要求满足以下两个条件

  • 各类别总体的概率分布是已知的
  • 要判决的类别数是一定的

先验概率:识别系统预先已知或者可以估计的模型属于某种类型的概率
P(ωi)P(\omega_i)表示类ωi\omega_i出现的先验概率,检测类ωi\omega_i的概率

P(ω1)+P(ω2)++P(ωn)=1P(\omega_1) + P(\omega_2) + \cdots + P(\omega_n) = 1

通常是整体的比例

类条件概率密度函数:模式样本x\mathbf{x}属于某类条件下出现的概率密度分布函数

P(xω1)P(\mathbf{x}|\omega_1)

后验概率:在某个具体的模式样本x\mathbf{x}条件下,该样本属于某种类型的概率。

P(ω1x)P(\omega_1|\mathbf{x})

对模式识别来说,可以理解为:x\mathbf{x}来自类ωi\omega_i的概率

后验概率涉及一个具体事务,而先验概率是泛指一类事物
后验概率可由贝叶斯公式计算,作为分类判决的依据


贝叶斯公式

P(ωix)=P(ωi)P(xωi)P(x)P(\omega_i|\mathbf{x}) = \frac{P(\omega_i)P(\mathbf{x}|\omega_i)}{P(\mathbf{x})}

最小误判概率准则

对于两类ω1,ω2\omega_1, \omega_2问题,直观地,可以根据后验概率做判决

P(ω1x)>P(ω2x)xω1P(ω1x)<P(ω2x)xω2\begin{aligned} P(\omega_1|\mathbf{x}) > P(\omega_2|\mathbf{x}) \rightarrow \mathbf{x} \in \omega_1 \\ P(\omega_1|\mathbf{x}) < P(\omega_2|\mathbf{x}) \rightarrow \mathbf{x} \in \omega_2 \end{aligned}

我们再知道它是x\mathbf{x}的前提下,属于哪个类的几率大就判给谁

P(xω1)P(ω1)>P(xω2)P(ω2)xω1P(xω1)P(ω1)<P(xω2)P(ω2)xω2\begin{aligned} P(\mathbf{x}|\omega_1)P(\omega_1) > P(\mathbf{x}|\omega_2)P(\omega_2) \rightarrow \mathbf{x} \in \omega_1 \\ P(\mathbf{x}|\omega_1)P(\omega_1) < P(\mathbf{x}|\omega_2)P(\omega_2) \rightarrow \mathbf{x} \in \omega_2 \end{aligned}

ωi\omega_i正确的情况下,谁属于x\mathbf{x}几率大就判给谁

l12=P(xω1)P(xω2)>P(ω2)P(ω1)=θ12xω1l12=P(xω1)P(xω2)<P(ω2)P(ω1)=θ12xω2\begin{aligned} l_{12} = \frac{P(\mathbf{x}|\omega_1)}{P(\mathbf{x}|\omega_2)} > \frac{P(\omega_2)}{P(\omega_1)} =\theta_{12} \rightarrow \mathbf{x} \in \omega_1 \\ l_{12} = \frac{P(\mathbf{x}|\omega_1)}{P(\mathbf{x}|\omega_2)} < \frac{P(\omega_2)}{P(\omega_1)} =\theta_{12} \rightarrow \mathbf{x} \in \omega_2 \end{aligned}

  • 似然比:l12l_{12}
  • 判决阈值:θ12\theta_{12}

因为是按照几率判定的,所以可以由错误,在两类问题中

ε12=R1p(xω1)dxε21=R2p(xω2)dx\begin{aligned} \varepsilon_{12} &= \int_{R_1}p(\mathbf{x}|\omega_1)\mathrm{d}\mathbf{x} \\ \varepsilon_{21} &= \int_{R_2}p(\mathbf{x}|\omega_2)\mathrm{d}\mathbf{x} \end{aligned}

ω1\omega_1ω2\omega_2类出现的概率分别问P(ω1)P(\omega_1)P(ω2)P(\omega_2),则总的误判概率是

P(e)=P(ω1)ε12+P(ω2)ε21=P(ω1)R1p(xω1)dx+P(ω2)R2p(xω2)dx\begin{aligned} P(e) &= P(\omega_1)\varepsilon_{12} + P(\omega_2)\varepsilon_{21} \\ &= P(\omega_1)\int_{R_1}p(\mathbf{x}|\omega_1)\mathrm{d}\mathbf{x} + P(\omega_2)\int_{R_2}p(\mathbf{x}|\omega_2)\mathrm{d}\mathbf{x} \end{aligned}

误判概率P(e)P(e)最小等价于使正确分类概率P(c)P(c)最大即

P(c)=max(R1P(ω1)p(xω1)dx+R2P(ω2)p(xω2)dx)P(c) = \max\left (\int_{R_1}P(\omega_1)p(\mathbf{x}|\omega_1)\mathrm{d}\mathbf{x} + \int_{R_2}P(\omega_2)p(\mathbf{x}|\omega_2)\mathrm{d}\mathbf{x}\right )

因为

R2P(ω2)p(xω2)dx=P(ω2)R1p(xω2)dx\int_{R_2}P(\omega_2)p(\mathbf{x}|\omega_2)\mathrm{d}\mathbf{x} = P(\omega_2) - \int_{R_1}p(\mathbf{x}|\omega_2)\mathrm{d}\mathbf{x}

所以

P(c)=max(p(ω2)+R1[P(ω1)p(xω1)P(ω2)p(xω2)]dx)P(c) = \max\left (p(\omega_2) + \int_{R_1}\left [P(\omega_1)p(\mathbf{x}|\omega_1) - P(\omega_2)p(\mathbf{x}|\omega_2)\right ]\mathrm{d}\mathbf{x}\right )

为了使P(c)P(c)最大,R1R_1RR中所有满足条件

P(ω1)p(xω1)>P(ω2)p(xω2)P(\omega_1)p(\mathbf{x}|\omega_1) > P(\omega_2)p(\mathbf{x}|\omega_2)

那些点x\mathbf{x}组成的集合

对于多类问题,最小误判概率准则有以下等价形式

  • 后验概率形式
    • P(ωix)>P(ωjx)P(\omega_i|\mathbf{x}) > P(\omega_j|\mathbf{x})ji\forall j \neq i,则判xωi\mathbf{x} \in \omega_i
    • P(ωix)=maxjP(ωjx)P(\omega_i|\mathbf{x}) = \max_j P(\omega_j|\mathbf{x}),则判xωj\mathbf{x} \in \omega_j
  • 条件概率形式
    • P(xωi)P(ωi)>P(xωj)P(ωj)P(\mathbf{x}|\omega_i)P(\omega_i) > P(\mathbf{x}|\omega_j)P(\omega_j)ji\forall j \neq i,则判xωi\mathbf{x} \in \omega_i
    • P(xωi)P(ωi)=maxjP(xωj)P(ωj)P(\mathbf{x}|\omega_i)P(\omega_i) = \max_j P(\mathbf{x}|\omega_j)P(\omega_j),则判xωj\mathbf{x} \in \omega_j
  • 似然比形式
    • Iij(x)=p(xωi)p(xωj)>P(ωj)P(ωi)I_{ij}(\mathbf{x}) = \frac{p(\mathbf{x}|\omega_i)}{p(\mathbf{x}|\omega_j)} > \frac{P(\omega_j)}{P(\omega_i)},则判xωi\mathbf{x} \in \omega_i
  • 条件概率的对数形式
    • 如果lnp(xωi)+lnP(ωi)>lnp(xωj)+lnP(ωj)\ln p(\mathbf{x}|\omega_i) + \ln P(\omega_i) > \ln p(\mathbf{x}|\omega_j) + \ln P(\omega_j)ji\forall j \neq i,则判xωi\mathbf{x} \in \omega_i

正态模式最小误判概率判决规则

cc类问题中,属于ωi\omega_i类的nn维模式x\mathbf{x}的多变量正态分布密度函数为

p(xω1)=1(2π)n/2Σi1/2e12(xμi)TΣi1(xμi)p(\mathbf{x}|\omega_1) = \frac{1}{(2\pi)^{n/2}|\Sigma_i|^{1/2}}e^{-\frac{1}{2}(\mathbf{x} - \mathbf{\mu}_i)^T\Sigma^{-1}_i(\mathbf{x} - \mathbf{\mu}_i)}

  • 均值向量:μi=Ei(x)\mathbf{\mu}_i = E_i(\mathbf{x})
  • 协方差矩阵:Σi=Ei((xμi)(xμi)T)\Sigma_i = E_i((\mathbf{x} - \mathbf{\mu}_i)(\mathbf{x} - \mathbf{\mu}_i)^T)

ωi\omega_i类的判决函数可以表示为

di(x)=p(xωi)P(ωi)d_i(\mathbf{x}) = p(\mathbf{x}|\omega_i)P(\omega_i)

写成对数形式

di(x)=lnP(ωi)n2ln(2π)12lnΣi12(xμi)TΣi1(xμi)d_i(\mathbf{x}) = \ln P(\omega_i) - \frac{n}{2}\ln(2\pi) - \frac{1}{2}\ln|\Sigma_i| - \frac{1}{2}(\mathbf{x} - \mathbf{\mu}_i)^T\Sigma^{-1}_i(\mathbf{x} - \mathbf{\mu}_i)

去掉不影响结果项后

di(x)=lnP(ωi)12lnΣi12(xμi)TΣi1(xμi)d_i(\mathbf{x}) = \ln P(\omega_i) - \frac{1}{2}\ln|\Sigma_i| - \frac{1}{2}(\mathbf{x} - \mathbf{\mu}_i)^T\Sigma^{-1}_i(\mathbf{x} - \mathbf{\mu}_i)

判别规则:di(x)>dj(x)xωid_i(\mathbf{x}) > d_j(\mathbf{x}) \rightarrow \mathbf{x} \in \omega_i

若各类概率相等,可继续化简为马氏距离的平方

di(x)=(xμi)TΣ1(xμi)d_i(\mathbf{x}) = (\mathbf{x} - \mathbf{\mu}_i)^T\Sigma^{-1}(\mathbf{x} - \mathbf{\mu}_i)

x\mathbf{x}属于马氏距离最小的那一类

  • Σi=Σ\Sigma_i = \Sigma

则判决函数可以变换为

di(x)=lnP(ωi)12(xμi)TΣi1(xμi)=lnP(ωi)12xTΣ1x+μTΣ1x12μTΣ1μ\begin{aligned} d_i(\mathbf{x}) &= \ln P(\omega_i) - \frac{1}{2}(\mathbf{x} - \mathbf{\mu}_i)^T\Sigma^{-1}_i(\mathbf{x} - \mathbf{\mu}_i) \\ &= \ln P(\omega_i) - \frac{1}{2}\mathbf{x}^T\Sigma^{-1}\mathbf{x} + \mathbf{\mu}^T\Sigma^{-1}\mathbf{x} - \frac{1}{2}\mathbf{\mu}^T\Sigma^{-1}\mathbf{\mu} \end{aligned}

  • ΣiΣ\Sigma_i \neq \Sigma

这时一般的情况,ωi\omega_i类模式的判决函数为

di(x)=lnP(ωi)12lnΣi12(xμi)TΣi1(xμi)=12xTΣi1x+μiTΣ1xi+lnP(ωi)12lnΣi12μiTΣi1μi\begin{aligned} d_i(\mathbf{x}) &= \ln P(\omega_i) - \frac{1}{2}\ln|\Sigma_i| - \frac{1}{2}(\mathbf{x} - \mathbf{\mu}_i)^T\Sigma^{-1}_i(\mathbf{x} - \mathbf{\mu}_i) \\ &= -\frac{1}{2}\mathbf{x}^T\Sigma^{-1}_i\mathbf{x} + \mathbf{\mu}_i^T\Sigma^{-1}\mathbf{x}_i + \ln P(\omega_i) - \frac{1}{2}\ln|\Sigma_i| - \frac{1}{2}\mathbf{\mu}^T_i\Sigma^{-1}_i\mathbf{\mu}_i \end{aligned}

相邻两类的决策平面是超平面:di(x)dj(x)=0d_i(\mathbf{x}) - d_j(\mathbf{x}) = 0

最小损失准则判决

LijL_{ij}为本来是属于ωi\omega_i类,但是判为ωj\omega_j类的损失
x\mathbf{x}判为ωi\omega_i时的损失表示为

r(ωix)=k=1KLikP(ωix)r(\omega_i|\mathbf{x}) = \sum^K_{k=1}L_{ik}P(\omega_i|\mathbf{x})

所以我们要选择损失最小的那一类

arg minr(ωix)\argmin r(\omega_i|\mathbf{x})

这个时候的损失为

r=E(r(x))=ωimin[r(ωix)]p(x)dx=ω1(i=1KL1ip(xω1)P(ω1))dx+ω2(i=1KL2ip(xω2)P(ω2))dx+ωk(i=1KLkip(xωk)P(ωk))dx\begin{aligned} r &= E(r(\mathbf{x})) = \int_{\sum \omega_i} \min \left[ r(\omega_i|\mathbf{x}) \right] p(\mathbf{x}) \mathrm{d}\mathbf{x} \\ &= \int_{\omega_1} (\sum^K_{i=1} L_{1i} p(\mathbf{x}|\omega_1)P(\omega_1))\mathrm{d}\mathbf{x} \\ &+ \int_{\omega_2} (\sum^K_{i=1} L_{2i} p(\mathbf{x}|\omega_2)P(\omega_2))\mathrm{d}\mathbf{x} \\ &\vdots \\ &+ \int_{\omega_k} (\sum^K_{i=1} L_{ki} p(\mathbf{x}|\omega_k)P(\omega_k))\mathrm{d}\mathbf{x} \end{aligned}

参考