论文部分内容阅读
随着计算机技术在各个领域的广泛应用,需要处理的数据维数越来越高。在网络交通分析,化学数据分析等领域,采样数据通常是部分缺失的高维形式。要想对这些部分缺失的高维数据进行分析和处理,通常需要对缺失的部分进行插补。传统的处理数据缺失的方法大部分是针对向量或者矩阵形式的低维数据,对于高维数据,往往将其展开成向量或者矩阵形式进行处理,但是这无疑破坏了数据本身的结构特性,插补准确度较低。近几年的研究将张量分解及高维数据的插补结合了起来,提出了一系列的算法。本文对这些算法进行了研究,提出了3种新的算法,并通过仿真实验与这些算法进行了比较。针对基于张量分解的缺失数据插补问题,本文所做的具体工作如下:1、针对小规模稠密张量的插补问题,提出了Tucker-ALS算法。经典的PARAFAC-ALS算法采用得是张量分解中的CP分解模型,采用最大期望值法解决最小二乘问题,但是速度慢,插补准确度不够高。本文提出的Tucker-ALS算法思想与其类似,但是采用的是Tucker分解模型,插补速度更快。2、针对中小规模稠密张量的插补问题,提出了Tucker-WOPT算法。目前较好的PARAFAC-LM算法通过求二阶偏导数解决最小二乘问题,而CP-WOPT算法通过求梯度值来解决最小二乘问题,这两种算法都是基于张量分解中的CP分解模型的。而本文提出的Tucker-WOPT算法采用Tucker分解模型,通过求因子矩阵的一阶偏导数解决最小二乘问题,并推导出了快速计算公式。Tucker-WOPT算法比这两种算法能够获得更高的插补准确度,并且随着数据缺失比例的增加,这种优势越来越明显。3、针对大规模稀疏张量的插补问题,提出了Tucker-SOPT算法。该算法和稀疏张量的CP-WOPT算法的思想类似,只不过本文采用的是Tucker分解模型。本文推导出了稀疏张量与矩阵的n-模积的计算方法,并推导出了稀疏张量的Tucker分解模型的因子矩阵的一阶偏导数计算方法。Tucker-SOPT算法与稀疏张量的CP-WOPT算法运算速度基本相同,但是插补准确度更高。