当前位置: 首页 > news >正文

MATLAB实现基于Sinkhorn距离的非负矩阵分解乘法更新规则

在上一篇文章中,我们介绍了SDNMF的主入口函数,今天深入其核心优化部分——乘法更新规则的实现。SDNMF(Non-negative Matrix Factorization with Sinkhorn Distance)通过将传统的Frobenius重构误差替换为带熵正则化的Sinkhorn距离(也称为熵正则化的最优传输距离),并结合图拉普拉斯正则项,使得分解得到的基矩阵U和系数矩阵V不仅能很好地重构原始数据,还能保留样本间的局部几何结构。

该函数SDNMF_Multi实现了完整的乘法迭代更新过程,这是非负矩阵分解中最常用、最稳定的优化策略之一,能够自然保证U和V的非负性,同时收敛速度较快。

算法迭代流程详解

  1. 初始化

    • 若未提供初始U和V,则随机生成正值矩阵。

    • 调用NormalizeUV进行归一化处理(支持L1或L2范数,可选择对U或V归一化),确保分解的唯一性和数值稳定性。

  2. 预计算

    • 根据距离矩阵M计算核矩阵K = exp(-λ M - 1)。

    • 对X和重构矩阵进行γ次幂变换(X^γ),这是Sinkhorn距离中熵正则化的关键技巧。

    • 若有图正则(alpha > 0),构建度矩阵D并缩放W。

  3. 主迭代循环

http://www.jsqmd.com/news/222134/

相关文章:

  • 图解说明CANFD帧结构在汽车网络中的变化
  • 电路仿真circuits网页版一文说清:其与传统桌面工具的本质区别
  • 替代HT6310/KP3310离线式AC-DC无感线性稳压器
  • springboot新乡工程学院失物招领平台
  • 出口欧盟产品合规,到底包括哪些内容?
  • 图解说明aarch64异常处理机制:EL0到EL3切换逻辑
  • 租赁中介用什么房产中介管理系统合适
  • 毕设分享 深度学习yolo11水稻病害检测识别系统(源码+论文)
  • 2026 年 CBAM:哪些企业现在真的不用急,哪些已经不能再等?
  • 基于springboot学生军训管理系统
  • Scanner类常用方法完整示例与避坑建议
  • MATLAB中高效计算欧氏距离矩阵的技巧
  • 74HC595控制流水灯效果:新手教程入门必看
  • 孤能子视角:关系性学习,“喂饭“的小孩认知
  • Vue Vben Admin 5 实战体验与上手指南
  • springboot戏曲学习管理系统
  • 孤能子视角:“意识“的阶段性回顾
  • 快速理解工业控制板中嘉立创布线的拓扑结构
  • MATLAB实现MAED序贯优化:高效贪心选择最具信息量样本
  • springboot校园生活智慧服务平台
  • VHDL语言在有限状态机设计中的实践方法
  • 记录一次复杂的 ONNX 到 TensorRT 动态 Shape 转换排错过程
  • VDMA初始化配置详解:基于Zynq平台的新手教程
  • 速递|刷新港股纪录!MiniMax上市超额认购79倍,主权基金密集下单
  • 单层锚点图哈希(Anchor Graph Hashing)训练函数实现详解
  • 元类魔法:无需显式命名
  • AI音频生成新方向:多情感中文TTS+Flask接口,助力有声书自动化生产
  • MATLAB实现球面哈希(Spherical Hashing)编码函数详解
  • 影视后期提效方案:AI辅助镜头动态化处理
  • DeepSeek 的 mHC