模式识别上机实验 4:Fisher 线性判别及感知器判别
学号 20081910025
姓名
赵永刚
根据给出的触角长度和翼长识别出一只标本是 Af 还是 Apf 是重要的。两种
蠓虫,Af 和 Apf 已由生物学家 W.L.Grogna 和 W.W. Wirth (1981)根据它们的
触角长度和翼长加以区分,见表中数据。
试分别用 Fisher 判别和感知准则函数求判别函数并判别出最后 5 个样本的类
别,并画出 20 个样本的散点图及分类直线。
2,4. 最小均方误差准则函数。
序号
翼长
触角长
类别
序号
翼长
触角长
类别
.1
1.20
1.86
Apf
11
1.24
1.72
Af
2
1.30
1.96
Apf
12
1.38
1.64
Af
3
1.18
1.78
Apf
13
1.54
1.82
Af
4
1.14
1.78
Apf
14
1.38
1.82
Af
5
1.26
2.00
Apf
15
1.56
2.08
Af
6
1.28
2.00
Apf
16
1.24
1.80
?
7
1.36
1.74
Af
17
1.28
1.78
?
8
1.48
1.82
Af
18
1.40
2.04
?
9
1.40
1.70
Af
19
1.22
1.88
?
10
1.38
1.90
Af
20
1.36
1.78
?
判别函数
16
17
18
19
20
方法
Fisher
感知器
㈠ 实验原理
我们运用Fisher线性判别,将3维特征空间投影到一条直线上,形成一维空间。对线性
可分的样本,寻找最好的投影方向 w 。
将 d 维特征空间投影到一条直线上,形成一维空间,再用判别函数法进行判别。采用线
性判别函数法的关键在于利用样本找到线性判别函数的系数,感知器算法是一种求解判别函
数系数的有效方法。
Fisher 线性判别:
在 d 维 X 空间中,定义几个必要的基本参量:
,
x i
m
i
各类样本均值向量:
1,2
1
N
xi
i
样本类离散度矩阵:
S
i
(
x
i
T
) ,
x m x m i
)(
i
i
总类内离散度矩阵:
wS
S
1
S
2
(1)
1,2
各类样本均值:
将 d 维特征空间投影一维空间中,
1
N
y y
i
S
m
i
2
i
i
样本类离散度矩阵:
y y
i
,
y w m i
T
i
(
2
) ,
y m i
i
1,2
1,2
总类内离散度矩阵:
wS
S
2
1
S
2
2
因此,Fisher 准则函数:
)
J w
F
(
2
(
)
m m
2
1
2
2
S
S
1
2
将(3)式变成 w 的显函数得:
)
J w
F
(
再用 Lagrange 乘子法求得:
b
T
w S w
T
w S w
w
(2)
(3)
*
w
1
S m m
w
(
1
)
2
我们选定阈值
y
0
N m N m
1
2
1
2
N N
1
2
,对于给定的 d 维样本,计算它的投影点 y ,就得到决策
规则:
*
T
y w x
0
,否则,
y
x w
2
x w
1
,
y ,它们是规范增广样本向量,通过感知准则函数:
,
y y
N
感知器算法:设一组样本 1
2
( )
J a
P
(
k
y y
T
a y
)
采用梯度下降法,通过求解(1)式,得出迭代公式:
(
a k
1)
( )
a k
y
k
k
y y
通过(5)式迭代计算出最优的 *a ,使得
T
a y
n
0,
n
1,2,
,
N
㈡ 实验分析:
对前 15 组数据进行分析
(1).作出翼长和触角长的离散关系式
(4)
(5)
2.1
2.05
2
1.95
1.9
1.85
1.8
1.75
1.7
1.65
1.6
1.1
1.15
1.4
(2).作翼长与触角长的比的离散数据点:
1.25
1.2
1.3
1.35
1.45
1.5
1.55
1.6
0.85
0.8
0.75
0.7
0.65
0
5
10
15
可以明显的看到,得到的数据分区是比较明显的,也就是前 6 种得到的数据比较集中,所以
应该选用一个函数,使得在次函数中,翼长与触角长是反比关系
㈢ 模型假设:
(1) 在长期的生物进化中,生物的翼长与触角长之间有特定的关系式。而且对同一类的
生物,它们共同符合这一个关系式。
(2) 以上的到的数据是声体在发育成熟以后的到的,在以后基本不再变化,而且以上册
的的数据不存在生物畸形,也就是得到的数据是该生物体的真实反映。
(3) 令 x 为蠓虫的翼长,y 为蠓虫的触角长,z 为蠓虫的类型,将 z 看为是 x,y 的函数
㈣ 基本模型及求解
模型的目标函数为
:
z
(1)
ln
取对数得:
z
ln
k
a
将问题转化为求解线性方程:
..........
.(
其中
,
,
cbak
,
均为待定常数
)
a
b
xk
y
ln
bx
ln
y
z
ln
ln
其中ln
z
a
ln
bx
k
为一知的值,本题中取
ln
y
两个值
01
和
解答该题相当于解矛盾方程
Ax
c
T
AxA
T
cA
代入以知条件,得到 a=-4.4258
b= -3.6739
ln k=-0.5625
k=0.5698
z
0.5698
*
4
.
4258
3
.
6739
x
y
㈤ 模型推断:
将未知的类别的数据代入到方程;
z
0.5698
*
x
y
4
.
4258
3
.
6739
模型中运用到的代码:
………………………………………………………………………………………………
(1) 做离散点,只噶分析数据见的关系
z=1:15;
x=[1.20 1.30
1.18
1.14
1.26
1.28
1.36
1.48
1.40
1.38 ...
1.24
1.38
1.54
1.38
1.56];
y=[1.86 1.96
1.78
1.78
2.00
2.00
1.74
1.82
1.70
1.90 ...
1.72
1.64
1.82
1.82
2.08];
figure1=plot(x,y,'o')
figure2=plot(z,x./y,'*')
……………………………………………………………………………………………
(2) 解线性方程
x=[1.20 1.30 1.18 1.14 1.26 1.28 1.36 1.48 1.40 1.38 ...
1.24
1.38 1.54 1.38 1.56];
y=[1.86 1.96 1.78 1.78 2.00 2.00 1.74 1.82 1.70
1.90 ...
1.72 1.64 1.82 1.82 2.08];
z=[1 1 1 1 1 1 0 0 0 0 0 0 0 0 0]';
x1=log(x);
x2=log(y);
m=ones(1,15);
n=-ones(1,15);
A=[x1',x2',m'];
%......Ax=z 为矛盾方程......%
Z=A'*z;
M=A'*A;
x=inv(M)*(A'*z)
%......求解矛盾方程的解......%
x =
-4.4258
3.6739
-0.5625
…………………………………………………………………………………………..
(3)未知类别检验:
x=[1.24 1.28 1.40 1.22 1.36];
y=[1.80 1.78 2.04 1.88 1.78];
m= 0.5698.*x.^(-4.4258)./y.^(-3.6739);
z=log(m)
z =
0.6450
0.4634
0.5677
0.8767
0.1951
㈥ 实验结论:
近似认为当
z
z
.
50
.
50
类
时为
Apf
Af
类时为
16
序号
1.24
翼长
触角长 1.80
Apf
类别
17
1.28
1.78
Af
18
1.40
2.04
Apf
19
1.22
1.88
Apf
20
1.36
1.78
Af