只是应试的个人笔记,不全不详细
统
计
模
式
识
别
{
聚
类
分
析
法
(
非
监
督
)
判
别
函
数
法
(
有
监
督
)
{
几
何
分
类
法
(
确
定
性
事
件
)
{
线
性
判
别
函
数
法
非
线
性
判
别
函
数
法
统
计
决
策
方
法
(
贝
叶
斯
决
策
方
法
,
随
机
事
件
)
统计模式识别 \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,X∈w1<0,X∈w2=0,拒识或随机判决为w1或w2多类问题⎩⎪⎪⎪⎪⎨⎪⎪⎪⎪⎧wi∣wi,仅能区分是否属于wi,不能排除是否属于wj(j=i),即X可能同时属于多个类。wi∣wj,对于任意i和j(i=j),判别函数仅能区分wi和wj,dij(X)=−dji(X),dij(X){>0,X∈wi<0,X∈wjwi∣wj(∀j=i),对于任意i,判别函数能区分wi和一切其他wj(∀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=Ni1X∈wi∑X,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=X∈wi∑(X−mi)(X−mi)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} Sw−1。
5)由 W ∗ = S w − 1 ( m 1 − m 2 ) W^*={S_w}^{-1}(m_1-m_2) W∗=Sw−1(m1−m2) 求得 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<c≤1。
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)=WiTX;i=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 X∈wi。
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 Xk∈wi。
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,1≤l≤M,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),若X1∈w1K0(X)−K(X,X1),若X1∈w2
K
1
(
X
)
K_1(X)
K1(X) 描述了加入第一个样本后的边界划分。
2)加入第二个训练样本 X 2 X_2 X2,分三种情况:
①若 X 2 ∈ w 1 X_2\in w_1 X2∈w1 且 K 1 ( X 2 ) > 0 K_1(X_2)>0 K1(X2)>0 或 X 2 ∈ w 2 X_2\in w_2 X2∈w2 且 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
X2∈w1 但
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
X2∈w2 且
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+1∈w1 且 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+1∈w2 且 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+1∈w1 但
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+1∈w2 但
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+1⎩⎪⎪⎪⎪⎨⎪⎪⎪⎪⎧0,Xk+1∈w1且Kk(Xk+1)>00,Xk+1∈w2且Kk(Xk+1)<01,Xk+1∈w1且Kk(Xk+1)≥0−1,Xk+1∈w2且Kk(Xk+1)≤0
参考文章:
https://blog.csdn.net/qq_41409438/article/details/100977632
参考书籍:
《模式识别》吴陈,机械工业出版社