《FRAPPE: fast rank approximation with explainable features for tensors》中文校对版

文章汉化系列目录


文章目录

  • 文章汉化系列目录
  • 摘要
  • 1 引言
  • 2 背景
    • 2.1 CANDECOMP/PARAFAC
  • 3 问题定义
    • 2、
    • 3、
  • 五、
    • 1、
    • 2、
    • 3、
  • 六、
    • 1、
    • 2、
    • 3、
  • 七、
    • 1、
    • 2、
    • 3、
  • 八、
    • 1、
    • 2、
    • 3、


摘要

 这篇文章介绍了张量分解在分析多维数据结构中的有效性。然而,大多数这些方法需要一个关键参数:期望的分量数量。在CANDECOMP/PARAFAC分解(CPD)中,理想的分量数量被称为规范秩,它对分解结果的质量有着重要影响。现有方法通过启发式方法或贝叶斯方法来估计这一数值,这些方法通过反复计算CPD来完成估计,导致计算开销非常大。在这项工作中,我们提出了FRAPPE,这是第一个不需要计算CPD就能估计张量规范秩的方法。该方法基于两个关键思想。首先,生成具有已知秩的合成数据比计算CPD更加廉价。其次,我们通过生成与给定输入张量在大小和稀疏性方面匹配的合成数据,可以显著提高模型的泛化能力和速度。然后,我们可以在经过设计的合成张量集上训练一个专门的单次回归模型,并使用该模型估计张量的规范秩——这一过程完全不需要计算昂贵的CPD。FRAPPE比表现最好的基线方法快24倍以上,并且在合成数据集上,MAPE(平均绝对百分比误差)提高了10%。在真实世界的数据集上,它的表现与基线方法相当,甚至更好。
关键词:秩估计 · 张量分解 · 自监督 · CANDECOMP/PARAFAC分解

1 引言

 张量广泛应用于计算机科学领域,并可用于建模各种数据集。张量分解是可以应用于张量的常见方法之一。这些方法的性能通常依赖于一个关键参数——分解中的分量数量,也就是分解的秩。如果我们的分解秩过低,可能无法捕捉到关键信息;但如果秩过高,可能会捕捉到过多的噪声。在流行的CANDECOMP/PARAFAC分解(CPD)(Harshman 1970)中,分解秩的理想值被称为规范秩。然而,找到这个值是一个具有挑战性的任务。一个类似的问题是,找到张量的确切秩(即表示张量所需的最小CPD分量数),已知在有理数集合上这个问题是NP-hard(Håstad 1990;Hillar和Lim 2013)。
 因此,已经提出了各种基于启发式的方法来解决这个问题。Bro和Kiers(2003)提出的一种方法使用核心一致性诊断(CORCONDIA)来评估PARAFAC模型的“适宜性”。AutoTen(Papalexakis 2016)使用CORCONDIA自动选择合适的分量数量。归一化奇异值分解(NSVD)(Tsitsikas和Papalexakis 2020)也试图为张量的秩提供一个启发式方法,但它并非完全自动化,目前仍然需要人工监督。Fernandes等人(2020)提出了NORMO,它计算张量在不同秩下的CPD,查看各个分量之间的平均相关性,并选择没有冗余的最大分量数量。
 另一类方法是基于贝叶斯方法来解决这个问题。Zhao等人(2014)尝试通过贝叶斯推断来自动确定分解的秩。Mørup和Hansen(2009)使用贝叶斯框架与自动相关性确定(ARD)来估计Tucker分解的秩。由于CPD可以被形式化为受限的Tucker分解(Tucker 1966),因此这种方法可以很容易地适应。Zhou等人(2019)计算CPD,并在其分量上使用卷积神经网络(CNN),试图确定张量的规范秩。然而,他们主要集中于图像领域,并在该领域内评估他们的方法。
 这些方法的一个共同点是,它们都需要在所有候选秩上反复计算CPD。这在计算上非常昂贵,对于大型张量来说是不可行的,因此我们希望避免这个步骤。然而,这样做带来了几个挑战:(a) 由于具有已知规范秩的张量稀缺(通常只能通过人工检查来确定),因此很难直接训练一个监督式的机器学习模型;(b) 很难开发一个能够处理来自不同领域和不同大小的张量的模型。
 为了解决(a)问题,我们提议使用合成张量,这些张量的规范秩是已知的。为了解决(b)问题,我们提议使用从每个张量中提取的大小无关的特征。然而,我们发现使用这些数据训练的监督回归模型(见第4.2节)在实际张量上泛化效果较差。为了克服这一局限性,我们提出了FRAPPE:一种完全自监督的模型,它使用专门为给定输入张量量身定制的合成数据。FRAPPE在合成数据上优于现有基线,并且在实际数据上与最佳基线表现相当。它的速度也比表现最好的基线(NORMO)快约24倍(∼24×)。
 我们在三类张量上评估了这两种模型的性能:合成张量、在现有文献中广泛研究过的实际张量(用于确定其秩),以及卷积神经网络的权重张量(用于找到理想的CPD秩,以在保持良好分类准确度的同时压缩权重)。最后,我们还使用这些模型分析哪些特征是张量秩的最佳和最差预测因子。

 我们的贡献包括以下几点:

  • 新颖方法:我们提出了FRAPPE——第一个不需要计算CPD就能估计通用张量规范秩的方法。
  • 速度:我们展示了FRAPPE在评估时间上比表现最好的基线方法提高了约24倍,比最快的基线方法快约1.6倍。
  • 广泛评估:我们在合成生成的张量、已知秩的实际张量和卷积神经网络的权重张量上评估了我们的算法和基线方法。我们展示了FRAPPE在合成数据集上比最好的基线方法提高了约10%的MAPE,并且在实际数据集上表现与基线方法相当或更好。
  • 可解释性:我们检查了每个手工挑选特征的重要性,以了解哪些特征对分类结果贡献最大(见图4)。
  • 可复现性:我们提供了我们的Python代码,用户可以在线访问:https://github.com/willshiao/frappe。我们还提供了复现基线结果的代码。

2 背景

 在这里,我们提供了本工作的符号和背景概述。我们将集合、张量、矩阵、向量和标量分别表示为 X \mathcal{X} X X \mathscr{X} X X \mathbf{X} X x \mathbf{x} x x x x。设 T ( i , j , k ) \mathcal{T}(i, j, k) T(i,j,k) 表示三阶张量 T \mathcal{T} T 在第 i i i j j j k k k 个位置的值,其中分别对应第1、2、3个模式。设 ( : : :) 表示在张量索引中给定模式下的所有可能索引(例如, T = T ( : , : , : ) \mathcal{T} = \mathcal{T}(:,:,:) T=T(:,:,:) 表示三阶张量 T \mathcal{T} T)。我们将 T \mathcal{T} T 的 Frobenius 范数表示为 ∣ ∣ T ∣ ∣ F \mathcal{||T||}_F ∣∣T∣∣F,其定义如下,适用于大小为 I × J × K I \times J \times K I×J×K 的三阶张量:

∣ ∣ T ∣ ∣ F = ∑ i = 1 I ∑ j = 1 J ∑ k = 1 K T i , j , k 2 (1) \mathcal{||T||}_F = \sqrt{\sum_{i=1}^{I} \sum_{j=1}^{J} \sum_{k=1}^{K} \mathcal{T}_{i,j,k}^2} \tag{1} ∣∣T∣∣F=i=1Ij=1Jk=1KTi,j,k2 (1)

我们还定义了几个函数。设 Z e r o s ( T ) Zeros(T) Zeros(T) 返回张量 T T T 中零值的数量, R a n d ( i , j ) Rand(i, j) Rand(i,j) 返回一个大小为 i × j i \times j i×j 的随机矩阵。最后, T ∼ N i × j × k ( μ , σ ) \mathcal{T} \sim \mathcal{N}_{i \times j \times k}(\mu, \sigma) TNi×j×k(μ,σ) 表示从均值为 μ \mu μ、标准差为 σ \sigma σ 的正态分布中采样一个大小为 i × j × k i \times j \times k i×j×k 的张量。 ∘ \circ 表示张量的外积。

2.1 CANDECOMP/PARAFAC

其中一种最常见的张量分解方法是典型多项式或 CANDECOMP/PARAFAC 分解(CPD)(Harshman 等人,1970;Carroll 和 Chang,1970)。CPD 将张量 T \mathcal{T} T 分解为 R {R} R 个向量外积的和。形式上,对于一个三阶张量,分解为:

T ≈ ∑ r = 1 R a r ∘ b r ∘ c r (2) \mathcal{T} \approx \sum_{r=1}^{R} \mathbf{a}_r \circ \mathbf{b}_r \circ \mathbf{c}_r \tag{2} Tr=1Rarbrcr(2)

然后,我们可以尝试通过迭代最小化误差的 Frobenius 范数: ∥ T − ∑ r = 1 R a r ∘ b r ∘ c r ∥ F \| T - \sum_{r=1}^{R} \mathbf{a}_r \circ \mathbf{b}_r \circ \mathbf{c}_r \|_F Tr=1RarbrcrF。一种常用的方法是使用交替最小二乘法(ALS)。按照惯例,我们将因子表示为矩阵 A , B , C \mathbf{A,B,C} A,B,C,其中包含相应的向量按水平方向堆叠。例如, A \mathbf{A} A的第 i 列将是向量 a i \mathbf{a}_i ai。该方法的关键组成部分是 R——即分解的秩。如上所述,选择一个合适的 R 值是非常困难的。R 的理想值是张量 T \mathcal{T} T的典型秩,估计该值是本研究的重点。

3 问题定义

我们解决的是预测张量典型秩的问题。正式地,问题可以表述如下:


问题定义
 给定一个张量 X = L + N X = L + N X=L+N,其中 L L L 是低秩张量, N N N 是高秩噪声张量,找出 X X X 的典型秩 R R R,使得我们最小化以下误差的 Frobenius 范数:

∥ L − ∑ r = 1 R a r ∘ b r ∘ c r ∥ F \| L - \sum_{r=1}^{R} \mathbf{a}_r \circ \mathbf{b}_r \circ \mathbf{c}_r \|_F Lr=1RarbrcrF

其中 A A A B B B C C C 是张量 X X X 的 CPD 分解因子。


需要注意的是, R R R 与张量的精确秩不同(精确秩是表示 X X X 所需的最小组件数),而精确秩不在本研究的范围内。

 我们的另一个次要目标是识别在预测张量秩时重要的特征,这有助于我们在未来开发/改进秩预测方法。我们将此任务定义为:

子问题:可解释性
给定一个张量 X X X 和预测的秩 R ^ \hat{R} R^,计算 X X X 中不同属性对回归结果的贡献重要性分数 t t t

2、

3、

五、

1、

2、

3、

六、

1、

2、

3、

七、

1、

2、

3、

八、

1、

2、

3、

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/481704.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AIGC--------AIGC在医疗健康领域的潜力

AIGC在医疗健康领域的潜力 引言 AIGC(Artificial Intelligence Generated Content,人工智能生成内容)是一种通过深度学习和自然语言处理(NLP)等技术生成内容的方式。近年来,AIGC在医疗健康领域展现出了极…

【Flink-scala】DataStream编程模型之窗口计算-触发器-驱逐器

DataStream API编程模型 1.【Flink-Scala】DataStream编程模型之数据源、数据转换、数据输出 2.【Flink-scala】DataStream编程模型之 窗口的划分-时间概念-窗口计算程序 文章目录 DataStream API编程模型前言1.触发器1.1 代码示例 2.驱逐器2.1 代码示例 总结 前言 本小节我想…

【Maven】依赖冲突如何解决?

准备工作 1、创建一个空工程 maven_dependency_conflict_demo,在 maven_dependency_conflict_demo 创建不同的 Maven 工程模块,用于演示本文的一些点。 什么是依赖冲突? 当引入同一个依赖的多个不同版本时,就会发生依赖冲突。…

yolo辅助我们健身锻炼

使用软件辅助健身能够大大提升运动效果并帮助你更轻松地达成健身目标。确保每次锻炼都更加高效且针对性强,精确记录你的训练进度,帮助你更清晰地看到自己的进步,避免无效训练。 借助YOLO11的尖端计算机视觉技术,跟踪和分析锻炼变得异常简单。它可以无缝检测和监控多种锻炼…

YOLO系列论文综述(从YOLOv1到YOLOv11)【第3篇:YOLOv1——YOLO的开山之作】

YOLOv1 1 摘要2 YOLO: You Only Look Once2.1 如何工作2.2 网络架构2.3 训练2.4 优缺点 YOLO系列博文: 【第1篇:概述物体检测算法发展史、YOLO应用领域、评价指标和NMS】【第2篇:YOLO系列论文、代码和主要优缺点汇总】【第3篇:YOL…

基于Java Springboot学生信息管理系统

一、作品包含 源码数据库设计文档全套环境和工具资源部署教程 二、项目技术 前端技术:Html、Css、Js、Vue、Element-ui 数据库:MySQL 后端技术:Java、Spring Boot、MyBatis 三、运行环境 开发工具:IDEA/eclipse 数据库&…

基于Pytorch的CIFAR100数据集上从ResNet50到VGG16的知识蒸馏实验记录

知识蒸馏的概念 可以参照NeurIPS2015的论文“Distilling the Knowledge in a Neural Network”了解知识蒸馏的概念。 知识蒸馏的狭义概念就是从复杂模型中迁移知识来提升简单模型的性能。复杂模型称之为教师模型,简单模型称之为学生模型。最近,笔者重温…

#Java-JDK7、8的时间相关类,包装类

1. JDK7-Date类 我们先来看时间的相关知识点 世界标准时间: 格林尼治时间/格林威治时间(Greenwich Mean Time)简称GMT。目前世界标准时间(UTC)已经替换为:原子钟中国标准时间: 世界标准时间8小时 时间单位换算: 1秒1000毫秒 1毫秒1000微秒 1微秒1000纳秒 Date类 Date类…

glog在vs2022 hello world中使用

准备工作 设置dns为阿里云dns 223.5.5.5,下载cmake,vs2022,git git clone https://github.com/google/glog.git cd glog mkdir build cd build cmake .. 拷贝文件 新建hello world并设置 设置预处理器增加GLOG_USE_GLOG_EXPORT;GLOG_NO_AB…

深度学习:梯度下降法

损失函数 L:衡量单一训练样例的效果。 成本函数 J:用于衡量 w 和 b 的效果。 如何使用梯度下降法来训练或学习训练集上的参数w和b ? 成本函数J是参数w和b的函数,它被定义为平均值; 损失函数L可以衡量你的算法效果&a…

半桥LLC谐振变换器及同步整流MATLAB仿真(二)

在上文《半桥LLC谐振变换器及同步整流MATLAB仿真(一)》讲解了半桥LLC谐振变换器的工作原理,本文将利用MATLAB搭建电路模型进行仿真。 参数:输入电压:400Vdc;输出电压范围:36-50V ;输…

利用若依代码生成器实现课程管理模块开发

目录 前言1. 环境准备1.1 数据库表设计与导入 2. 使用若依代码生成器生成模块代码2.1 导入数据库表2.2 配置生成规则2.2.1 基本信息配置2.2.2 字段信息配置2.2.3 生成信息配置 3. 下载与集成生成代码3.1 解压与集成3.2 启动项目并验证 4. 优化与扩展4.1 前端优化4.2 后端扩展 结…

AI前景分析展望——GPTo1 SoraAI

引言 人工智能(AI)领域的飞速发展已不仅仅局限于学术研究,它已渗透到各个行业,影响着从生产制造到创意产业的方方面面。在这场技术革新的浪潮中,一些领先的AI模型,像Sora和OpenAI的O1,凭借其强大…

springboot359智慧草莓基地管理系统(论文+源码)_kaic

毕 业 设 计(论 文) 题目:智慧草莓基地管理系统 摘 要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本智慧草莓基地管理系统就…

排序算法之插入排序篇

插入排序 思路&#xff1a; 就是将没有排序的元素逐步地插入到已经排好序的元素后面&#xff0c;保持元素的有序 视频的实现过程如下&#xff1a; 插入排序全过程 代码实现过程如下&#xff1a; public static void Insertion(int[] arr) { for (int i 1; i < arr.length…

【机器学习】支持向量机SVR、SVC分析简明教程

关于使用SVM进行回归分析的介绍很少&#xff0c;在这里&#xff0c;我们讨论一下SVR的理论知识&#xff0c;并对该方法有一个简明的理解。 1. SVC简单介绍 SVR全称是support vector regression&#xff0c;是SVM&#xff08;支持向量机support vector machine&#xff09;对回…

SpringMVC-08-json

8. Json 8.1. 什么是Json JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式&#xff0c;目前使用特别广泛。采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。易于人阅读和编写&#xf…

APM32使用I2C驱动OLED

实验效果 本次实验主要讲APM32的I2C外设的初始化和APM32作为主机如何发送数据&#xff0c;OLED的驱动写起来较难本次实验不涉及。由于条件有限本次只能讲主机发送&#xff0c;接收也没有涉及。 硬件原理图 源代码 I2C初始化部分 #ifndef __BSP__IIC_H__ #define __BSP__IIC_…

QT布局详解

ui设计器设计界面很方便&#xff0c;为什么还要手写代码? (1)更好的控制布局 (2)更好的设置qss (3)代码复用 创建水平布局 包含头文件 #include<QHBoxLayout> 创建水平布局QHBoxLayout *pHLay new QHBoxLayout(父窗口指针);//一般填this QPushButton *pBtn1 n…

宏集eXware物联网网关在水务管理系统上的应用

一、前言 水务管理系统涵盖了对城市水网、供水、排水、污水处理等多个环节的监控与管理。随着物联网&#xff08;IoT&#xff09;技术的快速发展&#xff0c;物联网网关逐渐成为水务管理系统中的关键组成部分。 宏集物联网网关以其高效的数据采集、传输和管理功能&#xff0c…