论文笔记 Spectral Regularization Algorithms for Learning Large IncompleteMatrices (soft-impute)

2023-11-03

2010 JMLR

0 摘要

        使用凸松弛技术为大规模矩阵完成问题提供一系列正则化低秩解决方案。

论文算法 SOFT-IMPUTE 迭代地用从软阈值 SVD 获得的元素替换缺失的元素。通过热启动,这使算法能够有效地计算正则化参数值网格上解决方案的整个正则化路径。

1 introduction

X_{m \times n}表示观测矩阵,最早的矩阵补全问题的优化目标函数为:

δ表示训练误差的容忍程度(一个正则项参数)

 由于rank(Z)非凸,所以后续文献对(1)进行了一定的修改

 这里||Z||*表示核范数(是Z的奇异值的和)

用拉格朗日算子表达(3),有:

 

         在本文中,我们为核范数正则化最小二乘问题 (3) 提出了一种SOFT-IMPUTE算法 ,该算法可扩展到 m,n ≈10^5-10^6的大型问题,其中观察到的条目约为 10^6-10^8 或更多。 在每次迭代中,SOFT-IMPUTE 将目标函数的值降低.

2 相关工作

        最早期矩阵补全问题的目标函数为

         也即相当于(1)中δ=0。但是这种评判标准太过于严苛,同时会导致一定的过拟合,于是便有了(1)中的目标函数

         在本文中,我们提供了一种 SOFT-IMPUTE算法,用于基于热重启的方式计算 (3) 的优化目标函数。

        该算法的灵感来自 SVD-IMPUTE迭代算法,它使用“ 完整的”数据矩阵,在当前 SVD中 补全缺失值。

        这种迭代算法要求在每次迭代时计算密集矩阵(维度等于矩阵 X 的大小)的 SVD。这是这种迭代算法的瓶颈所在:无法进行大规模计算。

        本篇论文的算法 SOFT-IMPUTE 也需要在每次迭代时进行 SVD 计算,但SOFT-IMPUTE 通过利用问题结构,可以轻松处理非常大维度的矩阵

        在每次迭代中,非稀疏矩阵具有以下结构:        

         其中Ysp具有和观测矩阵X一样的稀疏结构,Y_{LR}有一个远小于观测矩阵X 维度m和n的秩r' (算法收敛时,r'很接近于预测矩阵Z的秩)

 另一种使用协同过滤的方法使用矩阵分解,他被称为MMMF(maximum margin matrix factorization methods)

        事实证明,(6)与(3)密切相关。如果Z的秩 r′ = min(m,n),则 (6) 的解与 (3) 的解一致。2 然而,(6) 在其自变量中不是凸的,而 (3) 是

SOFT-IMPUTE

3.1 符号说明

投影函数

如果有观测值的地方就是Yij,没有观测值的地方就是0 

 

——>\sum_{(i,j) \in Q }(X_{ij}-Z_{ij})^2可以写成||P_\Omega(X)-P_\Omega(Z)||^2_F

互补投影  (Y有观测值的部分,Y没有观测值的部分)

 3.2 核范数正则化

我们提出了以下引理,它构成了我们算法的基本要素。

假设矩阵W_{m \times n}的秩是r,

那么

结果可以由 得到

 

 

UDV'是W的SVD分解 

d1,....,dr是D的对角元素

t+=max(t,0)

Sλ表示 soft-thresholding

使用3.1的表示,我们可以改写(8)为

 

 3.3 算法

        我们现在提出 SOFT-IMPUTE算法 —— 用于计算 (10) 的一系列解决方案,用于使用暖启动的不同 λ 值。

每过一段时间,λ缩小一点,这样也能越来越精细

如何理解前面的(5)呢

3.4 和MMMF的关联

论文的附录部分证明了一个引理

 

 所以

 

4 收敛性分析

暂略 

5 计算复杂度

暂略

6 从软阈值到硬阈值

        我们认为,在许多问题中,ℓ1 正则化也可以提供更好的预测精度。(软阈值)

         但是,如果观测模型非常稀疏,则具有均匀收缩的 LASSO范数(L1正则化) 既会高估模型中非零系数的数量,也会过度收缩(偏向)包括向零的系数

        所以论文又提出了硬阈值的方法

        这里\gamma_j(Z)表示Z的第j个奇异值

        我们用矩阵的形式表示,可以写成

 

        这里

 和软阈值时候类似,也可以用一个SVD 来解决上述优化问题

对于每个特定的λ,有相应的q=q(λ)个奇异值被保留

 

 6.1 硬阈值算法

和软阈值类似,也是一个迭代算法

 这也就是这里提到的迭代算法

推荐系统笔记:基于SVD的协同过滤_UQI-LIUWJ的博客-CSDN博客_基于svd的协同过滤

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

论文笔记 Spectral Regularization Algorithms for Learning Large IncompleteMatrices (soft-impute) 的相关文章

随机推荐

  • HTML ,CSS ,JS 组合运用制作登录界面,注册界面,相册旋转展示界面,并相互跳转联系,源代码

    完成 个人相册 项目登录页面 要求 1 使用正则表达式验证邮箱 2 密码长度至少为6位且为字母与数字的组合 可自行改变背景图片 此时所用图片与项目在同一目录下 只需写入文件名 图片要在与项目同级目录下 要写入路径及名称 登录界面所有代码如下
  • PHP学习之路——基本语法

    phpinfo是一个函数 功能 这个函数 功能 会显示一个当前电脑 服务器 的详细的PHP信息 我们写完一段代码 就需要在后面加分号 php的代码部份全部要用半角的英文 很多人容易写成全角的英文和符号造成PHP代码报错 PHP中的变量也是如
  • CPU乱序执行

    CPU乱序执行 CPU乱序执行是什么 例程 参考 总结 CPU乱序执行是什么 我们理解的程序是顺序执行的 其实是指在单个独立的进程中表现得像顺序运行的 而多处理器多线程共享内存系统是十分复杂的 需要约束这些复杂系统的行为 我们将程序线程共享
  • mavon-editor 使用及如何将html的数据转为markdown的数据问题

    1 安装mavon editor cnpm install mavon editor s 2 页面使用
  • Python通过smtplib发送邮件

    Python通过smtplib发送邮件 1 邮件发送的步骤 2 邮箱设置 3 发送一封qq邮件 4 发送HTML格式的邮件 5 发送带附件的邮件 6 在HTML文本中添加图片 7 python给同一个人发送多封邮件 8 python给不同的
  • 5.6.2_IEEE754

    文章目录 一 引子 二 移码 1 移码与补码 2 移码本身 1 127 2 3 3 偏置值 普通情况 特殊情况 三 IEEE 754标准 1 格式 2 类型 1 短浮点数 2 double型 3 案例 1 案例一 2 案例二 4 范围 1
  • unity下多层随机迷宫构建

    using System Collections using System Collections Generic using UnityEngine public class Maze MonoBehaviour public GameO
  • 【Android入门到项目实战-- 11.4】—— ExoPlayer视频播放器框架的详细使用

    目录 什么是ExoPlayer 一 基本使用 1 添加依赖项 2 布局 3 Activity 二 自定义播放暂停 1 首先如何隐藏默认的开始暂停和快进 2 自定义 三 控制视频画面旋转和比例调整 四 全屏放大和缩小 1 双击视频放大缩小 2
  • python 深度学习 解决遇到的报错问题

    目录 一 解决报错ModuleNotFoundError No module named tensorflow examples 二 解决报错ModuleNotFoundError No module named tensorflow co
  • node.js + 企业微信实现定时推送消息

    一 注册企业微信及配置 进入官网 https work weixin qq com 按要求填写资料开通企业微信 1 查看企业 ID 2 创建应用 3 查看应用 AgentId Secret 下拉到页面底部还要配置IP白名单 配置IP白名单
  • 睿瞳车牌识别测试总结

    摄像头型号 睿瞳科技 IVS 通讯 通过网线 功能 当有车牌识别时 将主动向IP 端口推送数据包 重要内容 准确率和车牌号 识别ID 配置 第一步 连接摄像头 默认 192 168 1 100 第二步 更改合适的IP 第三步 配置仪表网络推
  • VBA:同时修改工作薄中以日期命名的sheet名称

    修改逻辑如下 一个月的数据放在同一个工作薄中 每天的数据为一个sheet sheet名称为当天的日期 每天的数据模版一样 只是数据更新变化 现需要把上月的sheet名称日期改为当月的 只需要把月份改为当月月份 比如7 1 7 31改为8 1
  • 基于Flowable 6.x 的工作流管理平台源码 在线流程设计器 在线流程表单设

    基于Flowable 6 x 的工作流管理平台源码 在线流程设计器 在线流程表单设计器 单节点配置表单 多实例会签任务 任务节点配置任务 执行监听器 动态配置任务候选人 其它流程相关功能点
  • Unable to find resource t64.exe in package pip._vendor.distlib报错问题解决

    Unable to find resource t64 exe in package pip vendor distlib报错问题解决 问题报错具体内容 具体解决方案 解决方法一 解决方法二 问题报错具体内容 想要对python的版本进行一
  • win7下metasploit-framework安装及使用笔记

    1 去官网下载最新版本的metasploit framework 2 下载好后 退出电脑的杀毒软件 因为安装的时候里面好多文件会被当做病毒删除 3 点击安装 下一步下一步依次即可 4 安装完成后启动 这个启动的地方我找了好久 具体启动的地方
  • FPGA实现inout的两种方法

    第一种就是使用assign语句 这种会根据代码逻辑进行综合 也会综合成三态门 但不一定是使用IOBUF这种资源 assign a in or oout 1 dz out 第二种就是使用原语 以xilinx的IOBUF为例 OBUFT为一个三
  • 再聊聊财务自由

    前段时间有人在我星球讨论财务自由 说自由的本质是选择权 有读者觉得大受启发 我就翻了一下旧文 我2017年就说过了啊 谈谈财务自由 但时过境迁 其实我想改变一下之前的说法 所谓财务自由 你虽然拥有了选择权 但并不是无限选择的权力 坦白说 这
  • 电影知识图谱和基于模板的问答系统构建

    目录 前言 一 知识图谱的构建 二 问答系统的构建 1 数据准备 1 1数据获取 1 2数据处理 1 3数据读入 1 4代码 2 问答系统设计 2 1整体流程 2 2实体识别和问题分类 2 3 问题结果查询 2 4问答模板的匹配 三 优化方
  • requests.post 小坑: 默认无超时,会阻塞

    一 遇到问题 最近遇到一个小问题 发现我的进程在调某个 API 的时候 不能正常 work 了 马上一顿 strace p pid 操作 定睛一看 发现我的进程卡在了 recvfrom 23 不动了 一直不会进入 accept 或者 epo
  • 论文笔记 Spectral Regularization Algorithms for Learning Large IncompleteMatrices (soft-impute)

    2010 JMLR 0 摘要 使用凸松弛技术为大规模矩阵完成问题提供一系列正则化低秩解决方案 论文算法 SOFT IMPUTE 迭代地用从软阈值 SVD 获得的元素替换缺失的元素 通过热启动 这使算法能够有效地计算正则化参数值网格上解决方案