首页 > 编程知识 正文

Tucker分解,tucker分解有什么用

时间:2023-05-06 06:15:12 阅读:227271 作者:1631

zjdys分解系列:
zjdys分解(一):基础知识
zjdys分解(二):CP分解
zjdys分解(三):Tucker分解
zjdys分解(四):Tensor-train Decomposition
zjdys分解(五):Tensorizing Neural Network
zjdys分解(六):TTRNN model for video classification

在讲解Tucker分解之前,我们先看一下Tucker分解在三阶zjdys上的分解形式:

Tucker分解(Tucker decomposition)是高阶的主成分分析的一种形式。它将一个zjdys分解成一个核zjdys与每一维矩阵的乘积,具体如下:

这里 A ∈ R I × P , B ∈ R J × Q , A ∈ R K × R Ain R^{Itimes P},Bin R^{Jtimes Q},Ain R^{Ktimes R} A∈RI×P,B∈RJ×Q,A∈RK×R是因子矩阵(通常是正交的),可以当做是每一维上的主要成分。核zjdys表示每一维成分之间的联系:

在元素级别上,我们可以把Tucker分解表示为:

实际上,当核zjdys是对角化的且 P = Q = R P=Q=R P=Q=R 时,CP分解便是Tucker分解的一种特殊形式。
同样的,N维zjdys可以表示成以下形式:

至于Tucker分解的优化方法,有HOSVD和HOOI等方法。
HOSVD:

HOOI:

至于HOOI方法的推导,说实话我没太看懂,就不强行解释了。先把具体流程附上来,等有时间再仔细研究研究:



参考:tensor decompositions and application

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。