如果数据 x(i)∈Rn 是来自混合高斯分布,那么可用 EM 算法来拟合混合模型,但假设前提是有足够的数据,我们能发现数据中的多高斯结构,这就要训练数据集大小 m 远大于数据维度 n。

如果 n>>m 呢?那就很难对数据建模,即使是一个高斯。m 个数据点只能在低维度空间,如果要把数据建模为高斯分布,用极大似然估计来估计均值和协方差:

机器学习笔记—因子分析

我们会发现 Σ 是奇异矩阵。例如当 m=2,n=5,如下例所示,最后 Σ =0。

import numpy as np

x1=np.array([2,3,7,6,5])
x2=np.array([7,9,3,1,4])

x1.shape=(5,1)
x2.shape=(5,1)

mu=(x1+x2)/2.0  # ".0" is request

var=(np.dot(x1-mu,np.transpose(x1-mu))+np.dot(x2-mu,np.transpose(x2-mu)))/2.0

print "The covariance of the matrix is %s." % np.linalg.det(var)
View Code

相关文章:

  • 2021-12-26
  • 2022-01-07
  • 2021-07-19
  • 2022-12-23
  • 2021-05-10
  • 2021-05-26
  • 2021-04-25
  • 2021-08-15
猜你喜欢
  • 2021-09-11
  • 2021-11-03
  • 2021-10-01
  • 2021-12-12
  • 2021-10-16
  • 2021-12-30
  • 2022-12-23
相关资源
相似解决方案