主成分分析与隐变量模型
来源:互联网 发布:js indexof函数 编辑:程序博客网 时间:2024/06/05 21:51
参数的数量随着维度M的增加而增加,我们将M维数据投影到D维的同时,希望在某种程度上保留感兴趣的属性
方差——感兴结构的代表
对数据进行投影操作时,我们希望尽可能保留数据中感兴趣的结构
数据在每个一维空间的方差可以通过下式计算:
如果想要表达数据的聚类结构,在使方差最大的方向上对数据进行投影更能保留这一结构特征
基于这个原因,当考虑投影方向时,方差是一个很好的最大化度量标准。因此在大多流行的投影技术中,如主成分分析,使用方差作为最大化度量的标准。
主成分分析
主成分分析(PCA)可能是目前应用最为广泛的一种统计技术,用于将高维数据投影到低维空间。在机器学习中,该技术大多应用于数据可视化和特征选择。PCA定义了一组线性投影:每个投影维度都是原始数据维度的一个线性组合
为了简化模型,我们构造
从投影D=1维开始。
得到:
C是样本协方差矩阵,定义为
结合条件
最大化:
求偏导,得到
联想到特征向量与特征值,(matlab中的eigs函数可直接求解)
归纳算法
1)让每一个元素减去
2)计算样本的协方差矩阵
3)求解得到M个特征向量/特征值对。求解(如matlab的eigs函数)
4)
5)在投影空间中,为对象n建立第d维
特征谱(特征值的重要性)
特征值很小的所对应的维度,相当于噪声数据,并不会比感兴趣特征维度获得更多的信息
以此缩减维度的投影空间能够保留原始数据的聚类信息
选择D
一般情况,对D的选择根据应用不同而不同
实践上,一般不超过3维
PCA的局限性
两个假设:
1)数据必须是实值
2)数据没有缺失值
——引出变分推理(隐变量模型之一,混合模型也属于),一种获得难以求出的后验密度函数的近似方法
隐变量模型
隐变量分类
1)变量对应于对象的真实特征,但是无法被量化
2)抽象的质量,该质量现实不存在,但是在模型中存在且起作用(重点研究)
隐变量模型中的混合模型
在一组数据的生成过程,针对每个数据对象,目的是从K个可能的类别中选择一个,并从这个类别中采样这个数据对象。
指示变量就是隐变量(显示不一定存在),用于建立混合模型。
变分贝叶斯
变分贝叶斯VB使用近似推理技术,具有很好的实际性能和较低的计算代价,和之间介绍的拉普拉斯推理近似,轻易获得较难得到的后验概率。
一组数据Y和一个含有参数/隐变量
边缘似然
利用詹森不等式(期望的对数大于等于对数的期望)
最后得到
——
该表达式就是真实后验
KL的更多细节
选择
基于隐变量
模型可能有M个参数向量
假设这些参数集合之间是相互独立的:
进一步,假设该分布中一个或者多个M(或N)类别是独立的
更进一步,假设
假设在真实后验中这些参数是相互依赖的,独立性假设越多,近似结果可能越差。较多独立性假设使得优化下界变得容易,但近似结果变差。
优化边界
利用
除了第
PCA的概率模型
算法
VB获得了近似后验
现在我们能计算
1)对于所有的n,计算
2)对于所有的m,使用新产生的
3)对于所有的n和m,计算
4)计算e和f,并更新
5)如果不收敛,则返回到1)
收敛判断详见:机器学习基本教程 172 页
- 主成分分析与隐变量模型
- 主成分分析与因子分析不同点
- 主成分分析(PCA)与图像识别
- 主成分分析与白化预处理
- UFldl--白化与主成分分析
- 协方差矩阵与主成分分析
- 【UFLDL】[2]主成分分析与白化
- R主成分分析与因子分析
- 特征值分解与主成分分析
- 主成分分析与因子分析的区别
- 推荐系统 - 4 - LMF基于隐变量的推荐、PCA(主成分分析)
- 独立成分分析 ( ICA ) 与主成分分析 ( PCA ) 的区别
- 独立成分分析 ( ICA ) 与主成分分析 ( PCA )再解析
- 主成分分析与因子分析之比较及实证分析
- R语言与数据分析之五:主成分分析
- 主成分分析与因子分析之比较及实证分析
- 主成分分析、因子分析与潜在语义分析
- 主成分分析与因子分析之比较及实证分析
- 用OpenInventor实现的NeHe OpenGL教程-第二十六课
- 用OpenInventor实现的NeHe OpenGL教程-第二十七课
- 2016CampDay7problemF.Frank Sinatra
- 用OpenInventor实现的NeHe OpenGL教程-第二十八课
- 用OpenInventor实现的NeHe OpenGL教程-第二十九课
- 主成分分析与隐变量模型
- 用OpenInventor实现的NeHe OpenGL教程-第三十课
- 用OpenInventor实现的NeHe OpenGL教程-第三十一课
- 用OpenInventor实现的NeHe OpenGL教程-第三十二课
- 用OpenInventor实现的NeHe OpenGL教程-第三十三课
- 用OpenInventor实现的NeHe OpenGL教程-第三十四课
- 用OpenInventor实现的NeHe OpenGL教程-第三十五课
- 241. Different Ways to Add Parentheses
- Swift学习笔记之变量与常量声明