概率主成分分析

前面介绍了主成分分析,概率主成分分析是对主成分分析在概率上的一种推广。 概率的引入,为主成分分析带来极大的好处。下面简单介绍概率主成分分析的 导出以及和主成分分析的关系。 在概率主成分分析里面,假设预测数据x是由一个隐变量z生成的,并且隐变量z以及条件概率p(x|z)均服从高斯分布。



根据高斯分布的性质,x的边缘分布p(x)也服从高斯分布,


因为有了概率,我们可以从全新的角度去理解主成分分析了, 在该模型中,我们有两个参数W和σ,参数可

以用极大似然估计求出。 对数似然函数如下,


其中


上面用到了迹的循环不变性的性质。 我们忽略具体求解过程,分析一下它的解的形式,


其中 表示数据协方差矩阵最大的M个特征值所对应的特征 向量,是一个对角矩阵,对角线上的元素对应相应的特征值 , R是一个任意一个正交矩阵,现在可以看作是


对比标准主成分分析的映射关系,


可以看到二者只相差,标准主成分分析是概率主成分分析σ 为0时的特殊情况。并且我们看到新的伸缩矩阵在每个方向上都比原矩阵减小了一个因子,概率主成分分析因为噪音的存在,使得伸缩程度变小了。


在主成分分析中我们用M个主向量去近似的我们的数据,即把其余 非主成分向量的数据看作噪音丢掉。上面的式子正好表达了这个观点, 即方差等于其它非主成分空间的方差的平均值,也就是把噪音平均分配 到每个方向上。它可以直观给出观测数据在主成分空间上方差的组成成分,一方面来自噪音,另一方面来自隐变量空间 。 假设u是我们主成分空间的一个特征向量,那么该方向的方差可以表示为

最后一步正好表达了,主成分向量方差由隐空间的和噪音两部分组成。

1. pattern recognition and machine learning              Christopher M.Bishop  

Matlab中的概率主成分分析可以通过使用统计和机器学习工具箱中的函数来实现。概率主成分分析(Probabilistic Principal Component Analysis,PPCA)是一种降维技术,它可以将高维数据集投影到低维空间中,同时保留最重要的信息。PPCA假设数据集中的每个样本都是由低维线性子空间中的高斯分布所生成的,并通过最大似然估计来估计模型参数。 在Matlab中,可以使用`pca`函数来执行主成分分析。该函数可以计算样本的成分,并返回主成分分析的结果,如各个成分的方差贡献率以及投影后的数据。 要执行概率主成分分析,可以使用`ppca`函数。该函数使用EM算法来估计数据集的概率主成分分析模型,并返回估计的结果,如成分的方差贡献率以及投影后的数据。 以下是一个示例代码,展示了如何在Matlab中执行概率主成分分析: ```matlab % 加载数据集 load('data.mat'); % 执行概率主成分分析 model = ppca(data, 'NumComponents', 2); % 获取投影后的数据 projected_data = model.Y; % 获取成分的方差贡献率 variance_ratio = model.VarProportion; % 打印结果 disp('投影后的数据:'); disp(projected_data); disp('成分的方差贡献率:'); disp(variance_ratio); ``` 在上述代码中,`data`是输入的数据集,`NumComponents`参数指定要保留的成分数量。`model.Y`是投影后的数据,`model.VarProportion`是成分的方差贡献率。 请注意,以上代码仅为示例,实际使用时需要根据具体的数据集和需求进行调整。同时,还可以通过使用Matlab的可视化工具来可视化投影后的数据和成分
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值