模式识别——第3章 判别函数法

只是应试的个人笔记,不全不详细
统 计 模 式 识 别 { 聚 类 分 析 法 ( 非 监 督 ) 判 别 函 数 法 ( 有 监 督 ) { 几 何 分 类 法 ( 确 定 性 事 件 ) { 线 性 判 别 函 数 法 非 线 性 判 别 函 数 法 统 计 决 策 方 法 ( 贝 叶 斯 决 策 方 法 , 随 机 事 件 ) 统计模式识别 \left\{ \begin{aligned} &聚类分析法(非监督)\\ &判别函数法(有监督) \left\{ \begin{aligned} &几何分类法(确定性事件) \left\{ \begin{aligned} &线性判别函数法\\ &非线性判别函数法 \end{aligned} \right.\\ &统计决策方法(贝叶斯决策方法,随机事件) \end{aligned} \right. \end{aligned} \right. {线线


统计模式识别:按任务类型划分

聚类分析(Clustering Analysis)——简称:聚类
– 简单聚类方法:最大最小距离法
– 层次聚类方法:分裂式、凝聚式
– 动态聚类方法:C-均值,ISODATA
判别分析(Discriminatory Analysis)——简称:分类
– 几何分类法(判别函数分类法):线性、分段线性、二次、支持向量机
– 概率分类法(统计决策分类法):判别式 (Discriminative)、生成式 (Generative)
– 近邻分类法(几何分类法和概率分类法的一种融合方法)
几何分类法,是指在特征空间中,利用矢量空间的直观概念,使用代数方程方法,对模式进行分类。因此也被称为:代数界面方程法
概率分类法,是指把模式视为随机变量的抽样,利用统计决策理论 (贝叶斯决策理论)成熟的判决准则与方法,对模式样本进行分类。

X = ( x 1 , x 2 , ⋅ ⋅ ⋅ , x n , 1 ) T X=(x_1,x_2,···,x_n,1)^T X=(x1,x2,,xn,1)T , W = ( w 1 , w 2 , ⋅ ⋅ ⋅ , w n , w n + 1 ) T W=(w_1,w_2,···,w_n,w_{n+1})^T W=(w1,w2,,wn,wn+1)T

线 性 判 别 函 数 { 两 类 问 题 : d ( X ) = W T X = w 1 x 1 + w 2 x 2 + w 3 { > 0 , X ∈ w 1 < 0 , X ∈ w 2 = 0 , 拒 识 或 随 机 判 决 为 w 1 或 w 2 多 类 问 题 { w i ∣ w i ‾ , 仅 能 区 分 是 否 属 于 w i , 不 能 排 除 是 否 属 于 w j ( j ≠ i ) , 即 X 可 能 同 时 属 于 多 个 类 。 w i ∣ w j , 对 于 任 意 i 和 j ( i ≠ j ) , 判 别 函 数 仅 能 区 分 w i 和 w j , d i j ( X ) = − d j i ( X ) , d i j ( X ) { > 0 , X ∈ w i < 0 , X ∈ w j w i ∣ w j ( ∀ j ≠ i ) , 对 于 任 意 i , 判 别 函 数 能 区 分 w i 和 一 切 其 他 w j ( ∀ j ≠ i ) , d i j ( X ) = d i ( X ) − d j ( X ) 线性判别函数\left\{ \begin{aligned} &两类问题:d(X)=W^TX=w_1x_1+w_2x_2+w_3 \left\{ \begin{aligned} &>0,X\in w_1\\ &<0,X\in w_2\\ &=0,拒识或随机判决为w_1或w_2 \end{aligned} \right.\\ &多类问题 \left\{ \begin{aligned} &w_i|\overline{w_i},仅能区分是否属于w_i,不能排除是否属于w_j(j\ne i),即X可能同时属于多个类。\\ &w_i|w_j,对于任意i和j(i \ne j),判别函数仅能区分w_i和w_j,d_{ij}(X)=-d_{ji}(X), d_{ij}(X)\left\{ \begin{aligned} &>0,X\in w_i\\ &<0,X\in w_j \end{aligned} \right.\\ &w_i|w_j(\forall j\ne i),对于任意i,判别函数能区分w_i和一切其他w_j(\forall j\ne i),d_{ij}(X)=d_i(X)-d_j(X) \end{aligned} \right. \end{aligned} \right. 线:d(X)=WTX=w1x1+w2x2+w3>0,Xw1<0,Xw2=0,w1w2wiwi,wiwj(j=i),Xwiwj,ij(i=j),wiwj,dij(X)=dji(X),dij(X){>0,Xwi<0,Xwjwiwj(j=i),iwiwj(j=i),dij(X)=di(X)dj(X)


Fisher线性判别(只能求线性可分)

Fisher准则的基本原理:找到一个最合适的投影 轴,使两类样本在该轴上投影之间的距离尽可能 远,而每一类样本的投影尽可能紧凑,从而使分类效果为最佳。

算法

​ 1)由 m i = 1 N i ∑ X ∈ w i X , i = 1 , 2 m_i=\frac{1}{N_i}\sum\limits_{X\in w_i}X,i=1,2 mi=Ni1XwiX,i=1,2,计算 m i m_i mi

​ 2)由 S w i = ∑ X ∈ w i ( X − m i ) ( X − m i ) T S_{w_i}=\sum\limits_{X\in w_i}(X-m_i)(X-m_i)^T Swi=Xwi(Xmi)(Xmi)T,计算各类的类内离散度矩阵 S w i , i = 1 , 2 S_{w_i},i=1,2 Swi,i=1,2

​ 3)计算类内总离散度矩阵 S w = S w 1 + S w 2 S_w=S_{w_1}+S_{w_2} Sw=Sw1+Sw2

​ 4)计算 S w S_w Sw 的逆矩阵 S w − 1 {S_w}^{-1} Sw1

​ 5)由 W ∗ = S w − 1 ( m 1 − m 2 ) W^*={S_w}^{-1}(m_1-m_2) W=Sw1(m1m2) 求得 W ∗ W^* W


感知器算法(只能求线性可分)

对样本进行增广规范化,即 w 1 w_1 w1 w 2 w_2 w2 类样本增加一列1, w 2 w_2 w2 类样本全部乘以(-1),则有:
d ( X ) = W T X > 0 d(X) = W^TX>0 d(X)=WTX>0
感知器算法的基本思想:用训练模式验证当前权向量的合理性, 如果不合理,就根据误差进行反向纠正,直到全部训练样本都 被合理分类。本质上是梯度下降方法类。

解决两分类问题算法:

​ 1)给定初始值,置 k k k =1,初始权向量 W k W_k Wk,选常数 c > 0 c>0 c>0,一般 0 < c ≤ 1 0<c\le1 0<c1

​ 2)依次输入样本 X k X_k Xk X k ∈ { X 1 , X 2 , ⋅ ⋅ ⋅ , X N } X_k\in \{X_1,X_2,···,X_N\} Xk{X1,X2,,XN}

​ 3)计算判别函数值: d ( X ) = W k T X k d(X)={W_k}^TX_k d(X)=WkTXk

​ 4)修改权向量:

​ 若 d ( X ) = W k T X k > 0 d(X)={W_k}^TX_k>0 d(X)=WkTXk>0,则 W k + 1 = W k W_{k+1}=W_k Wk+1=Wk

​ 若 d ( X ) = W k T X k < 0 d(X)={W_k}^TX_k<0 d(X)=WkTXk<0,则 W k + 1 = W k + c X k W_{k+1}=W_k+cX_k Wk+1=Wk+cXk

​ 5)令 k = k + 1 k=k+1 k=k+1,返回2),直到对所有训练样本,不再需要修改权向量,结束。

解决多类问题算法:

​ 设 M M M 个判别函数为 d i ( X ) = W i T X ; i = 1 , 2 , ⋅ ⋅ ⋅ , M d_i(X)={W_i}^TX;i=1,2,···,M di(X)=WiTXi=1,2,,M。判别规则为:

​ 若 d i ( X ) > d j ( X ) ; j = 1 , 2 , ⋅ ⋅ ⋅ , M ; j ≠ i d_i(X)>d_j(X);j=1,2,···,M;j\ne i di(X)>dj(X);j=1,2,,M;j=i,则 X ∈ w i X\in w_i Xwi

​ 1)赋初值:分别赋给 M M M 个权向量 W i ( i = 1 , 2 , ⋅ ⋅ ⋅ , M ) W_i(i=1,2,···,M) Wi(i=1,2,,M) 任意的初值,选择正常数 c c c ,把训练样本变为增广型模式向量,置 k = 1 k=1 k=1

​ 2)输入训练样本 X k , X k ∈ { X 1 , X 2 , ⋅ ⋅ ⋅ , X N } X_k,X_k\in \{X_1,X_2,···,X_N\} Xk,Xk{X1,X2,,XN},假定 X k ∈ w i X_k\in w_i Xkwi

​ 3)计算 M M M 个判别函数值: d i ( X k ) = W k T ( k ) X k ( i = 1 , 2 , ⋅ ⋅ ⋅ , M ) d_i(X_k)={W_k}^T(k)X_k(i=1,2,···,M) di(Xk)=WkT(k)Xk(i=1,2,,M)

​ 4)修正权向量:

​ 若 d i ( X k ) > d j ( X k ) , j = 1 , 2 , ⋅ ⋅ ⋅ , M ; j ≠ i , W i ( k + 1 ) = W i ( k ) ( i = 1 , 2 , ⋅ ⋅ ⋅ , M ) d_i(X_k)>d_j(X_k),j=1,2,···,M;j\ne i,W_i(k+1)=W_i(k)(i=1,2,···,M) di(Xk)>dj(Xk),j=1,2,,M;j=i,Wi(k+1)=Wi(k)(i=1,2,,M);

​ 若有 l , 1 ≤ l ≤ M , l ≠ i l,1\le l\le M,l\ne i l,1lM,l=i 使得 d l ( X k ) > d i ( X k ) d_l(X_k)>d_i(X_k) dl(Xk)>di(Xk),则
{ W i ( k + 1 ) = W i ( k ) + c X k W l ( k + 1 ) = W l ( k ) − c X k W j ( k + 1 ) = W j ( k ) , j = 1 , 2 , ⋅ ⋅ ⋅ , M ; j ≠ i , j ≠ l \left\{ \begin{aligned} &W_i(k+1)=W_i(k)+cX_k\\ &W_l(k+1)=W_l(k)-cX_k\\ &W_j(k+1)=W_j(k),j=1,2,···,M;j\ne i,j\ne l \end{aligned} \right. Wi(k+1)=Wi(k)+cXkWl(k+1)=Wl(k)cXkWj(k+1)=Wj(k),j=1,2,,M;j=i,j=l
​ 5)令 k = k + 1 k=k+1 k=k+1,返回 2)。直到所有的权向量对所有训练样本都稳定不变时结束。


最小平方误差算法(LSME)/H·K算法

特点

∙ \bullet 在模式类线性可分时收敛。

∙ \bullet 在线性不可分时可明确指出来。

∙ \bullet 同时利用 N N N 个样本来进行 W W W B B B 的迭代计算,使算法收敛快。

算法

​ 1)初值化:将 N N N 个分属于两类的样本规范化增广,得矩阵 X X X 。求 X X X 的伪逆矩阵 X # = ( X T X ) − 1 X T X^\#=(X^TX)^{-1}X^T X#=(XTX)1XT。设置正的校正增量 c c c 和各分量大于零的 B ( 1 ) B(1) B(1),迭代次数 k = 1 k=1 k=1,计算 W ( 1 ) = X # B ( 1 ) W(1)=X^\#B(1) W(1)=X#B(1)

​ 2)计算 e ( k ) = X W ( k ) − B ( k ) e(k)=XW(k)-B(k) e(k)=XW(k)B(k),并分以下几种情况:

​ ①若 e ( k ) = 0 e(k)=0 e(k)=0,则模式类线性可分,解为 W ( k ) W(k) W(k),算法结束。

​ ②若 e ( k ) < 0 e(k)<0 e(k)<0,则当 X W ( k ) > 0 XW(k)>0 XW(k)>0 时,有解 W ( k ) W(k) W(k),否则无解,且模式类不是线性可分的,算法结束。

​ ③若 e ( k ) > 0 e(k)>0 e(k)>0 e ( k ) e(k) e(k) 的分量值有正有负,则进入3)继续迭代。

​ 3)计算 W ( k + 1 ) W(k+1) W(k+1) B ( k + 1 ) B(k+1) B(k+1)

​ 方法1:
先 计 算 W ( k + 1 ) = W ( k ) + c X # ∣ e ( k ) ∣ 再 计 算 B ( k + 1 ) = B ( k ) + c [ e ( k ) + ∣ e ( k ) ∣ ] \begin{aligned} &先计算W(k+1)=W(k)+cX^\#|e(k)|\\ &再计算B(k+1)=B(k)+c[e(k)+|e(k)|] \end{aligned} W(k+1)=W(k)+cX#e(k)B(k+1)=B(k)+c[e(k)+e(k)]

​ 方法2:
先 计 算 B ( k + 1 ) = B ( k ) + c [ e ( k ) + ∣ e ( k ) ∣ ] 再 计 算 W ( k + 1 ) = X # B ( k + 1 ) \begin{aligned} &先计算B(k+1)=B(k)+c[e(k)+|e(k)|]\\ &再计算W(k+1)=X^\#B(k+1) \end{aligned} B(k+1)=B(k)+c[e(k)+e(k)]W(k+1)=X#B(k+1)
​ 4)迭代次数 k k k 加1,转2)。


势函数法

概念

点势函数(基函数): K ( X , X k ) K(X,X_k) K(X,Xk)

积累势函数(势函数): K ( X ) K(X) K(X)

判别函数由点势函数累加产生。

算法

​ 设初始积累势函数 K 0 ( X ) = 0 K_0(X)=0 K0(X)=0,下标为迭代次数。

​ 1)加入训练样本 X 1 X_1 X1
K 1 ( X ) = { K 0 ( X ) + K ( X , X 1 ) , 若 X 1 ∈ w 1 K 0 ( X ) − K ( X , X 1 ) , 若 X 1 ∈ w 2 K_1(X)=\left\{ \begin{aligned} &K_0(X)+K(X,X_1),若X_1\in w_1\\ &K_0(X)-K(X,X_1),若X_1\in w_2 \end{aligned} \right. K1(X)={K0(X)+K(X,X1),X1w1K0(X)K(X,X1),X1w2
K 1 ( X ) K_1(X) K1(X) 描述了加入第一个样本后的边界划分。

​ 2)加入第二个训练样本 X 2 X_2 X2,分三种情况:

​ ①若 X 2 ∈ w 1 X_2\in w_1 X2w1 K 1 ( X 2 ) > 0 K_1(X_2)>0 K1(X2)>0 X 2 ∈ w 2 X_2\in w_2 X2w2 K 1 ( X 2 ) < 0 K_1(X_2)<0 K1(X2)<0,正确分类, K 2 ( X ) = K 1 ( X ) K_2(X)=K_1(X) K2(X)=K1(X)

​ ②若 X 2 ∈ w 1 X_2\in w_1 X2w1 K 1 ( X 2 ) ≤ 0 K_1(X_2)\le0 K1(X2)0,错误分类,修改势函数:
K 2 ( X ) = K 1 ( X ) + K ( X , X 2 ) = ± K ( X , X 1 ) + K ( X , X 2 ) \begin{aligned} K_2(X)=K_1(X)+K(X,X_2)=\pm K(X,X_1)+K(X,X_2) \end{aligned} K2(X)=K1(X)+K(X,X2)=±K(X,X1)+K(X,X2)
​ ③若 X 2 ∈ w 2 X_2\in w_2 X2w2 K 1 ( X 2 ) ≥ 0 K_1(X_2)\ge0 K1(X2)0,错误分类,修改势函数:
K 2 ( X ) = K 1 ( X ) − K ( X , X 2 ) = ± K ( X , X 1 ) − K ( X , X 2 ) \begin{aligned} K_2(X)=K_1(X)-K(X,X_2)=\pm K(X,X_1)-K(X,X_2) \end{aligned} K2(X)=K1(X)K(X,X2)=±K(X,X1)K(X,X2)
​ ···

​ k)设 K k ( X ) K_k(X) Kk(X) 为训练样本 X 1 , X 2 , ⋅ ⋅ ⋅ , X k X_1,X_2,···,X_k X1,X2,,Xk 后的积累势函数。对第 k + 1 k+1 k+1 个样本,有:

​ ①若 X k + 1 ∈ w 1 X_{k+1}\in w_1 Xk+1w1 K k ( X k + 1 ) > 0 K_k(X_{k+1})>0 Kk(Xk+1)>0 X k + 1 ∈ w 2 X_{k+1}\in w_2 Xk+1w2 K k ( X k + 1 ) < 0 K_k(X_{k+1})<0 Kk(Xk+1)<0,正确分类, K k + 1 ( X ) = K k ( X ) K_{k+1}(X)=K_k(X) Kk+1(X)=Kk(X)

​ ②若 X k + 1 ∈ w 1 X_{k+1}\in w_1 Xk+1w1 K k ( X k + 1 ) ≤ 0 K_k(X_{k+1})\le0 Kk(Xk+1)0,错误分类,修改势函数:
K k + 1 ( X ) = K k ( X ) + K ( X , X k + 1 ) \begin{aligned} K_{k+1}(X)=K_k(X)+K(X,X_{k+1}) \end{aligned} Kk+1(X)=Kk(X)+K(X,Xk+1)
​ ③若 X k + 1 ∈ w 2 X_{k+1}\in w_2 Xk+1w2 K k ( X k + 1 ) ≥ 0 K_k(X_{k+1})\ge0 Kk(Xk+1)0,错误分类,修改势函数:
K k + 1 ( X ) = K k ( X ) − K ( X , X k + 1 ) \begin{aligned} K_{k+1}(X)=K_k(X)-K(X,X_{k+1}) \end{aligned} Kk+1(X)=Kk(X)K(X,Xk+1)
​ 当所有样本扫描处理完后,若在本轮中积累势函数发生过修改,即有分类出错的情况发生过,则 k k k 值增1,继续进行下一轮循环处理。直到本轮中积累势函数没有发生过修改,算法结束。分类判别函数 d ( X ) d(X) d(X) 即积累势函数 K n ( X ) K_n(X) Kn(X)

​ 积累位势的修改可写为:
K k + 1 ( X ) = K k ( X ) + r k + 1 K ( X , X k + 1 ) \begin{aligned} K_{k+1}(X)=K_k(X)+r_{k+1}K(X,X_{k+1}) \end{aligned} Kk+1(X)=Kk(X)+rk+1K(X,Xk+1)
​ 其中, r k + 1 r_{k+1} rk+1 为校正项系数,定义为
r k + 1 { 0 , X k + 1 ∈ w 1 且 K k ( X k + 1 ) > 0 0 , X k + 1 ∈ w 2 且 K k ( X k + 1 ) < 0 1 , X k + 1 ∈ w 1 且 K k ( X k + 1 ) ≥ 0 − 1 , X k + 1 ∈ w 2 且 K k ( X k + 1 ) ≤ 0 r_{k+1}\left\{ \begin{aligned} &0,X_{k+1}\in w_1 且K_k(X_{k+1})>0\\ &0,X_{k+1}\in w_2 且K_k(X_{k+1})<0\\ &1,X_{k+1}\in w_1 且K_k(X_{k+1})\ge0\\ &-1,X_{k+1}\in w_2 且K_k(X_{k+1})\le0 \end{aligned} \right. rk+10,Xk+1w1Kk(Xk+1)>00,Xk+1w2Kk(Xk+1)<01,Xk+1w1Kk(Xk+1)01,Xk+1w2Kk(Xk+1)0

参考文章:
https://blog.csdn.net/qq_41409438/article/details/100977632

参考书籍:
《模式识别》吴陈,机械工业出版社

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值