前俩次,都用到了,遗憾的是,都没有讲清楚,这次稍微具体地讲下这篇论文。但是说实话,我感觉,我还是没有领会到这篇文章的精髓。
Setup of Batch PCA and Online PCA
Batch PCA的目标,就是寻找一个子空间,能够最小化平方误差。
这篇论文,给出了一个比较新颖的表达方式:
where,
一般来讲,最优解就是,
论文对(1)进行了一个改写:
上面式子的一种直观解释就是,
而在streaming PCA(论文里为Online PCA):
很自然的,
成了
我们希望,这些损失,能够接近由Batch PCA所产生的损失。
Hedge Algorithm
假设,有个专家:expert , .
有一个概率向量,每个元素为舍弃expert 的概率。
自然而然,会有一个损失,称之为:,每个元素是舍弃相应expert的损失,但是要求,所以我估计得有个单位化的过程。
下面就是如何选取专家,和迭代更新的算法。
这个的更新,有点类似adaboost,感觉其它地方也有看到过,至于其中的原理,估计还是得看论文吧。
同时,有下面的性质:
改进算法
这个算法的目标是,将分解为,其中为概率,为-corner.-corner,是指有且仅有个非零项,且非零项的值为:.分解完毕只有,不同于上面的算法,这个算法将通过分布选择,而中的非零项所对应的指标就是相应的要舍弃的专家,expert。
分解算法如下:
为了使,有下面的算法:
接下来就是结合上面的分解所得到的改进的Hedge算法:
有一个性质:
用于矩阵
定义:
矩阵-corner是指的特征值,有且仅有个非零项,且均为。
其他的类似定义。
这里的是密度矩阵:对称正定矩阵,且迹为1。
则:
这个算法貌似是为了将投影到中的理论依据。
下面的算法五,就是关于如何利用进行PCA:
那么如何将上面的种种算法应用到之前提到的文章呢。之前的文章说,算法二就可以了,所以是这么理解吗?
最后得到的矩阵,根据特征值,得到概率向量,然后再进行分解,通过概率,得到,接着,舍弃这些特征向量,得到最后的投影矩阵?
但是,用特征值,总觉得和上面的不大相符,可不用特征值又能用什么呢?因为他们都是在最后一步利用这个。但是,用算法五,就和他们本身的算法不一致了,具体如何,不得而知了。