模式识别理论与方法
课程作业实验报告
实验名称:Maximum-Likelihood Parameter Estimation 实验编号:Proj03-01 姓 名:
学 号:规定提交日期:2012年3月27日 实际提交日期:2012年3月27日
摘 要:
参数估计问题是统计学中的经典问题,其中最常用的一种方法是最大似然估计法,最大似然估计是把待估计的参数看作是确定性的量,只是其取值未知。
最佳估计就是使得产生已观测到的样本的概率为最大的那个值。
本实验研究的训练样本服从多元正态分布,比较了单变量和多维变量的最大似然估计情况,对样本的均值、方差、协方差做了最大似然估计。
实验结果对不同方式计算出的估计值做了比较分析,得出结论:对均值的最大似然估计
就是对全体样本取平均;协方差的最大似然估计则是N 个)'ˆx )(ˆx (u u
k k --矩阵的算术平均,对方差2
σ的最大似然估计是有偏估计。
一、 技术论述
(1)高斯情况:∑和u 均未知
实际应用中,多元正态分布更典型的情况是:均值u 和协方差矩阵∑都未知。
这样,参数向量θ就由这两个成分组成。
先考虑单变量的情况,其中参数向量θ的组成成分是:221,σθθ==u 。
这样,对于单个训练样本的对数似然函数为:
2
12
2
)(212ln 21)(ln θθπθ
θ--
-
=k k x x p (1)
对上式关于变量θ对导:
⎥⎥⎥⎥
⎦
⎤⎢⎢⎢⎢⎣⎡-+--=∇=∇2
2
2
12
12
2)(21
)(1
)(ln θθθθθθθθk k k x x x p l (2) 运用式l θ∇=0,我们得到对于全体样本的对数似然函数的极值条件
0)ˆ(ˆ1
n
112=-∑=k k x θθ
(3)
0ˆ)
(ˆ11
2
2
2
112
=-+
-∑
∑==n
k k n k x θθθ
(4)
其中1ˆθ,2ˆθ分别是对于1θ,2θ的最大似然估计。
把1ˆθ,2ˆθ用u
ˆ,2ˆσ代替,并进行简单的整理,我们得到下述的对于均值和方差的最大似然估计结果
∑==n
k k
x n
u
1
1
ˆ (5)
2
1
2
)ˆ(1
ˆ∑=-=
n
k k
u
x n
σ
(6)
当高斯函数为多元时,最大似然估计的过程也是非常类似的。
对于多元高斯分布的均值u 和协方差矩阵∑的最大似然估计结果为:
∑=1
1
ˆn
k
x n
u
(7)
t k n
k k
u x u
x
)ˆ()ˆ(n
1
ˆ1
--=∑
∑= (8) 二、 实验结果
(a )类w1中的3个特征向量,各含10个样本
w1_x1=[0.42 -0.2 1.3 0.39 -1.6 -0.029 -0.23 0.27 -1.9 0.87]'; w1_x2=[-0.087 -3.3 -0.32 0.71 -5.3 0.89 1.9 -0.3 0.76 -1.0]'; w1_x3=[0.58 -3.4 1.7 0.23 -0.15 -4.7 2.2 -0.87 -2.1 -2.6]'; 利用式子(5)、(6)对均值和方差进行最大似然估计,分别得到结果为: u1=-0.0709 s1=0.9062 u2=-0.6047 s2=4.2007
u3=-0.9110 s3=4.5419
将任意两个特征组合,处理二维数据的情形:
利用式子(7)、(8)对均值和协方差矩阵进行最大似然估计,分别得到结果为: u12 =-0.0709 -0.6047 E12 = 0.9062 0.5678 0.5678 4.2007
u13 = -0.0709 -0.9110 E13 =0.9062 0.3941 0.3941 4.5419
u23 =-0.6047 -0.9110 E23 =4.2007 0.7337 0.7337 4.5419
(b )将W1类中三个特征组合,处理三维数据情形
利用式子(7)、(8)对均值和协方差矩阵进行最大似然估计,分别得到结果为: u123 =-0.0709 -0.6047 -0.9110 E123 =0.9062 0.5678 0.3941 0.5678 4.2007 0.7337 0.3941 0.7337 4.5419
(c )假设W2类中三维高斯模型是可分离的,则各个特征之间是相互独立的,可以参照(a )中对单个特征的最大似然估计的方法,可以得到:
u_c =-0.1126 0.4299 0.0037 e_c =0.0539 0 0 0 0.0460 0
0 0 0.0073
(d )由于(c )中是选用的w2类中的数据,所以不便与前3种方式的结果进行比较。
对于w1类的数据,可以看出同一个特征的均值在不同的方式下,似然估计是相等的。
从(5)和(7)两个式子中,可以找到原因,表明:对均值的最大似然估计就是对全体样本取平均。
(e )与上同理,只对w1类数据的结果进行分析。
由结果可以看出,同一个特征的方差在不同的方式下,似然估计是相等的。
可以从(6)和(8)中找到原因。
当然,对方差的最大似然估计是有偏的估计,也就是说,对所有可能的大小为n 的样本集进行方差估计,其数学期望并不等于实际的方差。
因为:
ε2
2
1
21)(n
1σσ
≠-=⎥⎦
⎤
⎢⎣⎡-∑=n n x x
n
i i
附录:实验程序
function [u s]=sd_mle(x)
%单维样本的最大似然估计
len=length(x');
u=sum(x)/len;
s=sum((x-u).^2)/len;
end
function [u e]=md_mle(x)
%多维样本的最大似然估计
%x为多维样本
[m n]=size(x);
u=sum(x)/m;
temp=zeros(n,n);
for i=1:m
s=(x(i,:)-u)'*(x(i,:)-u);
temp=s+temp;
end
e=temp/m;
end
% proj03_01
clc,clear
w1_x1=[0.42 -0.2 1.3 0.39 -1.6 -0.029 -0.23 0.27 -1.9 0.87]';
w1_x2=[-0.087 -3.3 -0.32 0.71 -5.3 0.89 1.9 -0.3 0.76 -1.0]';
w1_x3=[0.58 -3.4 1.7 0.23 -0.15 -4.7 2.2 -0.87 -2.1 -2.6]';
w2_x1=[-0.4 -0.31 0.38 -0.15 -0.35 0.17 -0.011 -0.27 -0.065 -0.12]';
w2_x2=[0.58 0.27 0.055 0.53 0.47 0.69 0.55 0.61 0.49 0.054]';
w2_x3=[0.089 -0.04 -0.035 0.011 0.034 0.1 -0.18 0.12 0.0012 -0.063]'; %--------问题a---------
%类别w1中特征1的最大似然估计
[u1 s1]=sd_mle(w1_x1)
%类别w1中特征2的最大似然估计
[u2 s2]=sd_mle(w1_x2)
%类别w1中特征3的最大似然估计
[u3 s3]=sd_mle(w1_x3)
%类别w1中特征1、2的最大似然估计
x=[w1_x1,w1_x2];
[u12 e12]=md_mle(x)
%类别w1中特征1、3的最大似然估计
x=[w1_x1,w1_x3];
[u13 e13]=md_mle(x)
%类别w1中特征2、3的最大似然估计
x=[w1_x2,w1_x3];
[u23 e23]=md_mle(x)
%--------问题b---------
%类别w1中特征1、2、3的最大似然估计x=[w1_x1,w1_x2,w1_x3];
[u123 e123]=md_mle(x)
%--------问题c---------
%求w2类中单个特征的均值、方差
[u1 s1]=sd_mle(w2_x1);
[u2 s2]=sd_mle(w2_x2);
[u3 s3]=sd_mle(w2_x3);
u_c=[u1,u2,u3]
e_c=[s1 0 0;0 s2 0;0 0 s3]。