Simplicial principal component analysis for density functions in Bayes spaces
问题
我们知道一般的PCA,其数据是\(x \in \mathbb{R}^n\)的,事实上,已经有很多关于函数类数据的PCA了.
一般的函数型PCA是定义在\(L^2\)空间上的. 假设\(x_1, x_2, \ldots, x_N \in L^2(I)\), 并假设是中心化的. 我们希望找到一个\(\xi\)最大化:
\]
其中\(\langle x, y \rangle=\int_I xy \: \mathrm{d}t\).
假设:
\]
并记:
\]
则最初的式子可以表示为:
\]
可以证明,KKT条件为:
\]
显然,\(v\)是\(M\)的首特征向量(当然\(\|v\|=1\)不一定成立).
类似的,其它的载荷向量也是如此求得. 上面有一点存疑的地方是:
\]
在\(\mathbb{R}^n\)中是绝对没问题的是,问题是在\(L^2\),是否可以分解一个元素呢? 可以的,绝对是可以的.
作者是将一般的函数的PCA,限定在密度函数的PCA,我们知道,密度函数\(f\)满足:
\int_If\mathrm{d}t=1.
\]
显然\(\xi = \sum_{i=1}^N v_i x_i\)并不一定能够满足上面的性质,为此,作者引入了一个新的贝叶斯空间\(\mathcal{B}^2(I)\).
\(\mathcal{B}^2(I)\)
假设\(I=[a,b]\),我们的工作是构造一个空间,使得上面的元素其线性运算能够保持密度函数的性质.
首先说明,\(\mathcal{B}^2(I)\)里的元素为\(\{f|\int_I f(t) \mathrm{d}t=1, f\ge 0, t\in I\}\).
记\(\eta=b-a\),后续我们会发现,\(1/\eta\)是这个空间的零元素.
首先定义加法和数乘法,使其称为一个向量空间.
\]
可以发现\(\oplus\)是保持密度函数的性质的(只要\(f,g\)在\(I\)上满足).
\]
显然也是保持的.
并且,容易证明(利用类似核方法的思想):
f \oplus g \oplus h=f \oplus (g \oplus h), \\
\alpha \odot (f \oplus g) = (\alpha \odot f) \oplus (\alpha \odot g), \\
(\alpha \cdot \beta) \odot f= \alpha \odot (\beta \odot f), \\
(\alpha + \beta) \odot f= (\alpha \odot f) \oplus (\beta \odot f).
\]
注意到:
令\(g(t)=1/\eta, t\in I\)
\]
所以\(1/\eta\)是零元素,那么可以如此定义差:
\]
易得:
\]
再定义内积,使其成为一个内积空间:
\]
则,我们可以定义其上的范数为:
\]
下证其为一范数:
非负性是显然的, 首先证明其是正定的,即,零元素的大小为0:
\]
其次,证明其是其次的,即\(\|\alpha \odot f\|_{\mathcal{B}}=|\alpha|\|f\|_{\mathcal{B}}\):
\]
最后证其满足三角不等式:
\|f \oplus g\|_{\mathcal{B}}&=[\frac{1}{2 \eta}\int_I \int_I \ln^2 \frac{f(t)g(t)}{f(s)g(s)}\mathrm{d}t \mathrm{d}s]^{1/2} = [\frac{1}{2 \eta}\int_I \int_I \ln^2 \frac{f(t)g(t)}{f(s)g(s)}\mathrm{d}t \mathrm{d}s]^{1/2}\\
&= [\frac{1}{2 \eta}\int_I \int_I \ln^2 \frac{f(t)}{f(s)}\mathrm{d}t \mathrm{d}s + \frac{1}{2 \eta}\int_I \int_I \ln^2 \frac{g(t)}{g(s)}\mathrm{d}t \mathrm{d}s]^{1/2} \\
& \le [\frac{1}{2 \eta}\int_I \int_I \ln^2 \frac{f(t)}{f(s)}\mathrm{d}t \mathrm{d}s]^{1/2} + [\frac{1}{2 \eta}\int_I \int_I \ln^2 \frac{g(t)}{g(s)}\mathrm{d}t \mathrm{d}s]^{1/2} \\
&= \|f\|_{\mathcal{B}}+\|g\|_{\mathcal{B}}.
\end{array}
\]
证毕.
定义一个\(\mathcal{B}^2(I) \rightarrow L^2(I)\)上的函数:
\]
为什么要定义一个这样的函数等等再讲,先来看看它的性质——不仅仅是等距映射.
\]
这些性质的证明是容易的.
还需要注意的一个性质,不应该称之为限制条件才对:
\]
这就意味着,只有\(L^2(I)\)中满足积分为0的函数才能在\(\mathcal{B}^2(I)\)中有原像.
接下来解释为什么要弄这样一个映射. 因为一般情况下,我们首先面对的都是一些离散的数据,然后利用某些方法进行拟合,比如论文中提到的\(B-\)样条,但是拟合出来的函数往往并不是密度函数,所以便有了\(\mathrm{clr}\)变化,这个变化可以帮助我们有效利用已有的函数,利用已有函数的积分等性质来应对\(\mathcal{B}^2(I)\)中的一些计算.
当然这也给函数逼近增加了难度,就是在区间\(I\)上积分和需要为1,这个问题在另一篇文章中进行了详细的讨论.
\(\mathcal{B}^2(I)\)上的PCA
假设\(x_i, i=1,2,\ldots, N\in \mathcal{B}^2(I)\), 那么令:
\]
令矩阵\(M\)其元素\(M_{ij}=\langle x_i, x_j \rangle_{\mathcal{B}}= \langle \mathrm{clr}(x_i), \mathrm{clr}(x_J) \rangle_2\). 则有类似的公式:
\]
转化为\(L^2(I)\)上的PCA是类似的:
\]
\]
在实际情况中\(\mathrm{clr}(x_i)\)是通过函数逼近得到的,假设为:
\]
则
\]
假设\(M'_{ij} = \langle \phi_i, \phi_j \rangle_2\), 则:
\]
又
\]
令\(b = Cv\), 可得:
\]
两边同乘以\(C\)可得:
\]
解得\(b\), 可知:
\]
注意: \(\int_I \mathrm{clr}(x_i) \mathrm{d}t=0.\)
Simplicial principal component analysis for density functions in Bayes spaces的更多相关文章
- Principal Component Analysis(PCA) algorithm summary
Principal Component Analysis(PCA) algorithm summary mean normalization(ensure every feature has sero ...
- Robust Principal Component Analysis?(PCP)
目录 引 一些微弱的假设: 问题的解决 理论 去随机 Dual Certificates(对偶保证?) Golfing Scheme 数值实验 代码 Candes E J, Li X, Ma Y, e ...
- Sparse Principal Component Analysis via Rotation and Truncation
目录 对以往一些SPCA算法复杂度的总结 Notation 论文概述 原始问题 问题的变种 算法 固定\(X\),计算\(R\) 固定\(R\),求解\(X\) (\(Z =VR^{\mathrm{T ...
- 《principal component analysis based cataract grading and classification》学习笔记
Abstract A cataract is lens opacification caused by protein denaturation which leads to a decrease i ...
- PCA(Principal Component Analysis)主成分分析
PCA的数学原理(非常值得阅读)!!!! PCA(Principal Component Analysis)是一种常用的数据分析方法.PCA通过线性变换将原始数据变换为一组各维度线性无关的表示,可 ...
- Principal Component Analysis(PCA)
Principal Component Analysis(PCA) 概念 去中心化(零均值化): 将输入的特征减去特征的均值, 相当于特征进行了平移, \[x_j - \bar x_j\] 归一化(标 ...
- (4)主成分分析Principal Component Analysis——PCA
主成分分析Principal Component Analysis 降维除了便于计算,另一个作用就是便于可视化. 主成分分析-->降维--> 方差:描述样本整体分布的疏密,方差越大-> ...
- Principal Component Analysis ---- PRML读书笔记
To summarize, principal component analysis involves evaluating the mean x and the covariance matrix ...
- 从矩阵(matrix)角度讨论PCA(Principal Component Analysis 主成分分析)、SVD(Singular Value Decomposition 奇异值分解)相关原理
0. 引言 本文主要的目的在于讨论PAC降维和SVD特征提取原理,围绕这一主题,在文章的开头从涉及的相关矩阵原理切入,逐步深入讨论,希望能够学习这一领域问题的读者朋友有帮助. 这里推荐Mit的Gilb ...
随机推荐
- day18定时任务
day18定时任务 什么是定时任务 类似日常生活之中的闹钟:主要用于定时执行某些命令,达到定时处理数据的作用. 作用: 1.类似生活中使用的闹钟 2.可以自动完成操作命令 3.定时备份系统数据信息 定 ...
- Hbase(6)【Java Api Phoenix操作Hbase】
目录 两种方式操作Phoenix 1.Thick Driver 2.Thin Driver 3.注意事项 两种方式操作Phoenix 官网:http://phoenix.apache.org/faq. ...
- Spark的shuffle和MapReduce的shuffle对比
目录 MapperReduce的shuffle Spark的shuffle 总结 MapperReduce的shuffle shuffle阶段划分 Map阶段和Reduce阶段 任务 MapTask和 ...
- NuxtJS的AsyncData和Fetch使用详解
asyncData 简介 asyncData 可以用来在客户端加载 Data 数据之前对其做一些处理,也可以在此发起异步请求,提前设置数据,这样在客户端加载页面的时候,就会直接加载提前渲染好并带有数据 ...
- java poi导出多sheet页
/** * @Title: exportExcel * @Description: 导出Excel的方法 * @param workbook * @param sheetNum (sheet的位置,0 ...
- 字符串属性转变List属性存入数据库
项目中有系统IP字段,现将string转List存入数据库,每个功能块持久层实现方法不一样(分为jpa和mp) jpa: @Convert(converter = JpaConverterListJs ...
- oc中调用c函数 实现将字符串转换成unsigned char
帮助码友解决问题,从而复习了一下oc中调用c函数的方式 1,新建c 头文件 test.h 定义 c 函数 #ifndef test_h #define test_h void verificatio ...
- 接口测试 python+PyCharm 环境搭建
1.配置Python环境变量 a:我的电脑->属性->高级系统设置->环境变量->系统变量中的PATH变量. 变量名:PATH 修改变量值为:;C:\Python27 ...
- js将数字转为千分位/清除千分位
/** * 千分位格式化数字 * * @param s * 传入需要转换的数字 * @returns {String} */ function formatNumber(s) { if (!isNaN ...
- LVS配置记录
目录: 一.NAT模式配置 二.DR模式配置 三.TUN模式配置 LVS原理及架构不再赘述. 一.NAT模式 部署环境 注意: 1) DIP.RIP必须为同网段: 2) RS网关必须指向DS: 3) ...