当前位置:文档之家› 模式识别实验报告

模式识别实验报告


样本集合的散布矩阵为:
散布矩阵的特征值和特征向量为:
1000个 三 维 高 斯 分 布 的 三 维 散 点 图
20 样本 第一特征向量 第二特征向量 第三特征向量
15
10
5 20 15 10 5 0 -10 -5 5 0 10
1.6
对集合 X 中的每一个向量 x 进行下面的变换,生成集合 Y
y DX (x mx )

9
0.4 1
生成 1000 个二维样本矢量的数据集合 X,并绘出该样本集合的二维散点图。
散布矩阵的特征值和特征
向量,在二维坐标中,以均值向量为中心,画出每一个特征向量方向的直线,特 征向量方向的直线叠加在二维散点图上。 样本集合的均值向量和散布矩阵为:
1
0.8
0.6
0.4
0.2
0
-0.2 -5
0
5
10
15
20
计算得到的分类器的训练误差:
2.7
实验结果分析
通过对比 fisher 线性判别方法找的最优方向与非最优方向的分类结果,前者 的效果不如后者。由于样本点的个数不能反映真实的误差情况,需要更多的样本 点来验证最优方向的分类效果要好于非最优方向。
-1.9 0.76 -2.1; 0.87 -1.0 -2.6]; w(:,:,2)=[-0.4 0.58 0.089; -0.31 0.27 -0.04; 0.38 0.055 -0.035; -0.15 0.53 -0.35 0.47 0.011; 0.034;
m x 为集合 X 的均值向量,Dx [e1 ,e2 ,e3 ] 为散布矩阵的特征向量,分别绘出
集合 X 和集合 Y 的三维散点图。
集 合 X和 集 合 Y的 三 维 散 点 图
20 15 10 5 0 -5 -10 20 10 0 -5 -10 -10 0 10 5
结论:可以从图中看出,集合 Y 是集合 X 经过平移旋转之后得到的,且其 与集合 X 正交。
从直线上来看,右图比较好,可以很好地将不同类别的样本点分离。 2.1 样本均值 如果 mi 为 d 维样本均值为
mi
那么,投影后的点的样本均值为
1 ni 1
xi
x
t
(7)
mi
1 ni
y
y w n
i
i x
x w t mi
(8)
i
2.2 类内散布矩阵 Si 和总类内散布矩阵 Sw
2.
Fisher 线性判别分析 %fisher 线性判别 w(:,:,1)=[0.42 -0.087 0.58;
-0.2 -3.3 -3.4; 1.3 -0.32 1.7; 0.39 0.71 0.23; -1.6 -5.3 -0.15; -0.029 0.89 -4.7; -0.23 1.9 0.27 -0.3 2.2; -0.87;
类数据看作满足一维高斯分布,求出其均值和方差。并且求出分类决策面(两个 一维高斯分布的交点处) 。 类别 w2 在最优方向 w 投影后数据的均值和方差为:
类别 w3 在最优方向 w 投影后数据的均值和方差为:
最优方向及样本点投影后在直线上的位置
4 3 2 1 0 -1 2 1 0 -1 -1 -2 0 2 1 第 2类 样 本 点 第 3类 样 本 点 最优方向
散布矩阵的特征值和特征向量为:
1000个 二 维 高 斯 分 布 的 二 维 散 点 图 12 样本 第一特征向量 第二特征向量
10
8
6
4
2
0
-2 -6
-4
-2
0
2
4
6
8
10
12
14
1.3
对集合 X 中的每一个向量 x 进行下面的变换,生成集合 Y
y DX (x mx )
m x 为集合 X 的均值向量, Dx [e1 , e2 ] 为散布矩阵的特征向量,分别绘出集
2.
Fisher 线性判别分析
2.1
编写用 Fisher 线性判别方法,对三维数据求最优方向 w 的通用程序。 求最优方向的函数为:fisher()函数 对表格中的类别 w2 和 w3 ,计算最优方向 w 。 类别 w2 和 w3 的最优方向 w 为:
2.2
2.3 2.4
画出表示最优方向 w 的直线,并且标记出投影后的点在直线上的位置。 在这个子空间中,对每种分布用一维高斯函数拟合,即把投影后的每一
2.6
使用非最优方向 w (1.0, 2.0, 1.5)t 重复实验 2.4、2.5 两个步骤,计算在 类别 w2 在最优方向 w 投影后数据的均值和方差为:
这个非最优子空间中的训练误差。
类别 w3 在最优方向 w 投影后数据的均值和方差为:
两类样本投影后的一维高斯分布 1.2 第 2类 投 影 一 维 高 斯 第 3类 投 影 一 维 高 斯 决策面 第 2类 正 确 分 类 第 3类 正 确 分 类
使得类与类之间尽可能分开。 有一组 n 个 d 维的样本 x1 , x 2 , 它们分属于两个不同的类别, 即其中的 , xn , 大小为 n1 的样本属于 1 ,大小为 n2 的样本属于 2 。如果对 x 中的各个成分作线 性组合,就得到点积,结果是一个标量
y wt x
(6)
当 x 是二维的,我们就是要找一条直线(方向为 w)来做投影,然后寻找最 能使样本点分离的直线。如下图:
x m ae a k et (x k m)
(3)
3.1 散布矩阵
S (x k m)(x k m)t
k 1 n
(4)
4.1 直线 e 的最优方向 散布矩阵最大的本征值对应的那个本征向量作为投影直线 e 的方向:
Se e
(5)
2.
Fisher 线性判别分析
Fisher 线性判别是将 n 类 m 维数据尽可能地投影到一个方向(一条直线) ,
, x n ,用一个 d 维的向量 x 0 代表 n 个样本,平方误差准
n 2
J 0 (x 0 ) x 0 x k
k 1
(1)
J 0 (x 0 ) 最小化的那个 d 维的向量 x 0 m ,其中 m 是样本均值:
m 1 n xk n k 1
(2)
2.1 样本投影的直线 通过把全部样本向通过样本均值的一条直线作投影, 我们能够得到代表全部 样本的一个一维向量, e 表示通过样本均值的直线上的单位向量,那么,这条直 线的方程可以表示为:
两类样本投影后的一维高斯分布 4 3.5 3 2.5 2 1.5 1 0.5 0 -0.5 -1 第 2类 投 影 一 维 高 斯 第 3类 投 影 一 维 高 斯 决策面 第 2类 正 确 分 类 第 3类 正 确 分 类
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
2.5
计算得到的分类器的训练误差。
深圳大学研究生课程:模式识别理论与方法
课程作业实验报告
实验名称 : PCA 主分量分析与 Fisher 线性判别分析 实验编号:Proj03-02 签 姓 学 名: 名: 罗升 号: 2140130418
截止提交日期:2015 年 4 月 20 日
摘要: PCA 主分量分析是把多个特征映射为少数几个综合特征的一种统计分析方法, 其是寻找在最小均方意义下最能够代表原始数据的投影方法。Fisher 线性判别是将 n 类 m 维数据尽可能地投影到一个方向(一条直线),使得类与类之间尽可能分开。 由 PCA 主分量分析实验可以得出, PCA 分析可以对数据集合在特征空间进行平移和 旋转。由 Fisher 线性判别分析实验可以得出,Fisher 线性判别方法可以实现高维数据 在一维中分类,然而通过对比 Fisher 线性判别方法找的最优方向与非最优方向的分类 结果,前者的分类效果不如后者。
附录
1.
PCA 主分量分析
%生成 1000 个二维样本矢量数据集合 mu1=[5 7]; sigma1=[9 0.4;0.4 1]; X1=mvnrnd(mu1,sigma1,1000); plot(X1(:,1),X1(:,2),'.'); title('1000 个二维高斯分布的二维散点图'); grid on; hold on; %计算样本集合的均值向量和散布矩阵,计算散布矩阵的 %特征值和特征向量,并画出每一个特征向量方向的直线 [mu,S,V ,D]=PCA(X1); %生成 1000 个三维样本矢量数据集合 mu2=[4 5 9]; sigma2=[4 0.2 0;0.2 2 0;0 0 0.5]; X2=mvnrnd(mu2,sigma2,1000); scatter3(X2(:,1),X2(:,2),X2(:,3),'.'); title('1000 个三维高斯分布的三维散点图'); grid on; hold on; %计算样本集合的均值向量和散布矩阵,计算散布矩阵的 %特征值和特征向量,并画出每一个特征向量方向的直线 [mu,S,V ,D]=PCA(X2); %计算样本集合的均值向量和散布矩阵,计算散布矩阵的 %特征值和特征向量,并画出每一个特征向量方向的直线 function [mu,S,V ,D] = PCA(X) %r,N 分别为样本集合,样本点数 %mu 为均值向量,S 为散布矩阵,V ,D 为散布矩阵的特征向量和特征值
Si
x
(x m )(x m )
i i
i
t
(9) (10)
Sw S1 S2
2.3 投影后的最佳方向
w Sw1 (m1 m2 )
(11)
二、 实验方法
1.
PCA 主分量分析
相关主题