模式识别作业2

来源:互联网 发布:淘宝关闭订单规则 编辑:程序博客网 时间:2024/04/26 13:19

模式识别作业2问题

1、判断矩阵相等问题:

对样本进行分类,对协方差相等和不相等的样本采用不同的决策公式编程(这个和公式化简有关,其实协方差是否相同没影响),计划通过判断计算所得协方差矩阵是否相等,进入不同的if else语句中调用不同的语句,但是运行总是出现公式中变量未定义问题,调试发现是为进入if 循环中,并未运行公式语句。

矩阵判断相等与否得到的是个逻辑值构成的矩阵,而非单一逻辑值,因此通过直接==判断有错,可以利用判断得到的逻辑值矩阵再做计算,统计逻辑值矩阵中1的个数(用sum),看是否和矩阵所有元素个数相等(numel求矩阵元素个数),从而得出两个矩阵是否全相等

2、协方差矩阵:

方差和协方差都是以向量为单位计算的,方差是一维向量的变量-向量均值的平方的期望,协方差是不同向量-其均值再作乘的期望(见下面),这里的向量就是模式识别的特征向量,也有说法称为维度。

作业里面有两类样本,都是两个特征值,随便拿其中一个样本的协方差计算说明:X=(x1,x2)' 样本有两个特征向量,即有两个维度,因此得到的协方差矩阵是2*2大小,4个元素按顺序是x1向量自身的方差,x1和x2的协方差,x2和x1的协方差(与前一个相等),x2的方差。

而MATLAB函数cov是“each row is an observation, and each column is a variable”,即以列为变量,按行观察,因此用cov计算样本协方差需要写成cov(X')

以下是参考知识:

假设X是以n个标量随机变量组成的列向量,

X = \begin{bmatrix}X_1 \\ \vdots \\ X_n \end{bmatrix}

并且\mu_i是其第i个元素的期望值,即, \mu_i = \mathrm{E}(X_i)。协方差矩阵被定义的第i,j项是如下:

\Sigma_{ij} = \mathrm{cov}(X_i, X_j) = \mathrm{E}\begin{bmatrix} (X_i - \mu_i)(X_j - \mu_j) \end{bmatrix}



0 0
原创粉丝点击