zoukankan      html  css  js  c++  java
  • Simplicial principal component analysis for density functions in Bayes spaces

    Hron K, Menafoglio A, Templ M, et al. Simplicial principal component analysis for density functions in Bayes spaces[J]. Computational Statistics & Data Analysis, 2016: 330-350.

    问题

    我们知道一般的PCA,其数据是(x in mathbb{R}^n)的,事实上,已经有很多关于函数类数据的PCA了.

    一般的函数型PCA是定义在(L^2)空间上的. 假设(x_1, x_2, ldots, x_N in L^2(I)), 并假设是中心化的. 我们希望找到一个(xi)最大化:

    [frac{1}{N} sum_{i=1}^N langle x_i, xi angle_2^2, mathrm{s.t.} : |xi|_2=1. ]

    其中(langle x, y angle=int_I xy : mathrm{d}t).
    假设:

    [xi = sum_{i=1}^N v_i x_i. ]

    并记:

    [M in mathbb{R}^{N imes N}, M_{i,j}=langle x_i, y_j angle_2 ]

    则最初的式子可以表示为:

    [frac{1}{N} v^TM^TMv, quad mathrm{s.t.} : |Xv|_2=1. ]

    可以证明,KKT条件为:

    [M^2v=lambda Mv ]

    显然,(v)(M)的首特征向量(当然(|v|=1)不一定成立).
    类似的,其它的载荷向量也是如此求得. 上面有一点存疑的地方是:

    [xi = sum_{i=1}^N v_i x_i. ]

    (mathbb{R}^n)中是绝对没问题的是,问题是在(L^2),是否可以分解一个元素呢? 可以的,绝对是可以的.

    作者是将一般的函数的PCA,限定在密度函数的PCA,我们知道,密度函数(f)满足:

    [f ge 0, \ int_Ifmathrm{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, fge 0, tin I}).

    (eta=b-a),后续我们会发现,(1/eta)是这个空间的零元素.

    首先定义加法和数乘法,使其称为一个向量空间.

    [(f oplus g) (t)=frac{f(t)g(t)}{int_If(s)g(s) mathrm{d}s}, quad t in I, ]

    可以发现(oplus)是保持密度函数的性质的(只要(f,g)(I)上满足).

    [(alpha odot f)(t)=frac{f(t)^{alpha}}{int_I f(s)^{alpha} mathrm{d}s}, quad t in I, ]

    显然也是保持的.
    并且,容易证明(利用类似核方法的思想):

    [f oplus g = g oplus f, \ f oplus g oplus h=f oplus (g oplus h), \ alpha odot (f oplus g) = (alpha odot f) oplus (alpha odot g), \ (alpha cdot eta) odot f= alpha odot (eta odot f), \ (alpha + eta) odot f= (alpha odot f) oplus (eta odot f). ]

    注意到:
    (g(t)=1/eta, tin I)

    [f oplus g=f, quad 0 odot f = frac{1}{eta} ]

    所以(1/eta)是零元素,那么可以如此定义差:

    [f ominus g= f oplus [(-1) odot g], ]

    易得:

    [f ominus f= 1 /eta. ]

    再定义内积,使其成为一个内积空间:

    [langle f, g angle_{mathcal{B}} = frac{1}{2eta} int_I int_I ln frac{f(t)}{f(s)} ln frac{g(t)}{g(s)} mathrm{d}t mathrm{d}s, quad, f, g in mathcal{B}^2(I). ]

    则,我们可以定义其上的范数为:

    [|f|_{mathcal{B}} = [frac{1}{2eta} int_I int_I ln^2 frac{f(t)}{f(s)} mathrm{d}{t} mathrm{d}s]^{1/2}. ]

    下证其为一范数:
    非负性是显然的, 首先证明其是正定的,即,零元素的大小为0:

    [|1/eta|_{mathcal{B}} = [frac{1}{2eta} int_I int_I ln^2 1 mathrm{d}{t} mathrm{d}s]^{1/2}=0. ]

    其次,证明其是其次的,即(|alpha odot f|_{mathcal{B}}=|alpha||f|_{mathcal{B}}):

    [|alpha odot f|_{mathcal{B}} = [frac{1}{2eta} int_I int_I ln^2 frac{f^{alpha}(t)}{f^{alpha}(s)} mathrm{d}{t} mathrm{d}s]^{1/2} = |alpha|[frac{1}{2eta} int_I int_I ln^2 frac{f(t)}{f(s)} mathrm{d}{t} mathrm{d}s]^{1/2} = |alpha||f|_{mathcal{B}}. ]

    最后证其满足三角不等式:

    [egin{array}{ll} |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) ightarrow L^2(I))上的函数:

    [mathrm{clr} (f)(t) = f_c(t) = ln f(t) - frac{1}{eta} int_I ln f(s) mathrm{d}s. ]

    为什么要定义一个这样的函数等等再讲,先来看看它的性质——不仅仅是等距映射.

    [mathrm{clr} (f oplus g)(t)=f_c(t)+g_c(t), quad mathrm{clr} (alpha odot f)(t) =alpha cdot f_c(t), quad langle f, g angle_{mathcal{B}}=langle f_c, g_c angle_2=int_I f_c(t) g_c(t) mathrm{d}t. ]

    这些性质的证明是容易的.

    还需要注意的一个性质,不应该称之为限制条件才对:

    [int_I f_c mathrm{d}t=int_I ln f(t) mathrm{d}t - int_I ln f(s) mathrm{d}s=0. ]

    这就意味着,只有(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, Nin mathcal{B}^2(I)), 那么令:

    [xi = sum_{i=1}^N v_i odot x_i = (v_1 odot x_1) oplus (v_2 odot x_2) oplus cdots oplus (v_N odot x_N). ]

    令矩阵(M)其元素(M_{ij}=langle x_i, x_j angle_{mathcal{B}}= langle mathrm{clr}(x_i), mathrm{clr}(x_J) angle_2). 则有类似的公式:

    [M^2v = lambda Mv, |Xv|_{mathcal{B}}=1. ]

    转化为(L^2(I))上的PCA是类似的:

    [mathrm{clr}(xi) = sum_i^N v_imathrm{clr}(x_i), ]

    [M^2v = lambda Mv, |mathrm{clr}(xi)|_2=1. ]

    在实际情况中(mathrm{clr}(x_i))是通过函数逼近得到的,假设为:

    [mathrm{clr}(x_i)=Phi c_i, Phi=[phi_1, ldots, phi_K]. ]

    [mathrm{clr}(X)=Phi C, ]

    假设(M'_{ij} = langle phi_i, phi_j angle_2), 则:

    [M = C^TM'C ]

    [mathrm{clr}(xi) = Phi Cv ]

    (b = Cv), 可得:

    [Mv = C^TPhi^T Phi Cv = C^TPhi^T Phi b = lambda v, ]

    两边同乘以(C)可得:

    [CC^T Phi^T Phi b = lambda b ]

    解得(b), 可知:

    [mathrm{clr}(xi) = Phi b Rightarrow xi = mathrm{clr}^{-1}(Phi b). ]

    注意: (int_I mathrm{clr}(x_i) mathrm{d}t=0.)

  • 相关阅读:
    Ajax基本用法
    浏览器兼容性问题
    对闭包的简单理解
    JSON
    Ajax知识
    对jsonp原理理解
    java Active Object模式(上)
    物联网传输协议MQTT
    谈谈如何在面试中发掘程序猿的核心竞争力
    响应式Web设计的9项基本原则
  • 原文地址:https://www.cnblogs.com/MTandHJ/p/11650533.html
Copyright © 2011-2022 走看看