首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏生信修炼手册

    矩阵分解NMF

    non-negative matrix factorization,简写为NMF, 翻译为矩阵分解,属于矩阵分解的一种算法。 在特征分解,SVD等传统的矩阵分解技术中,分解后的矩阵会出现负值,但是负值在实际场景中是没有意义的,比如在图像处理领域,图像是由像素点构成的矩阵,每个像素点由红,绿,蓝的比例构成,这些数值都是非负数,在对分解处理得到的负值并没有实际意义 基于负数的约束,NMF矩阵分解算法应运而生。对于任意一个矩阵V,可以将该矩阵划分为两个矩阵的乘积,图示如下 ? 类似SVD, NMF算法将矩阵分解之后,也可以提取其中的主要部分来代表整体,从而达到降维的效果,图示如下 ? NMF的求解思想是使得W与H矩阵的乘积,与V矩阵的误差值最小,数学表达式如下 ? [3.9998681 , 1.0001321 ], [5.00009002, 0.79990984], [6.00008587, 0.999914 ]]) NMF的负约束使得其分解后的子矩阵更加具有实际意义

    1.6K60发布于 2021-04-14
  • 来自专栏AIUAI

    NMF(矩阵分解)算法

    NMF,矩阵分解,它的目标很明确,就是将大矩阵分解成两个小矩阵,使得这两个小矩阵相乘后能够还原到大矩阵。而非表示分解矩阵都不包含负值。 在所有这些方法中,原始的大矩阵V被近似分解为低秩的V=WH形式。这些方法的共同特点是,因子W和H中的元素可为正或,即使输入的初始矩阵元素是全正的,传统的秩削减算法也不能保证原始数据的性。 因此,探索矩阵分解方法一直是很有意义的研究问题,正是如此,Lee和Seung两位科学家的NMF方法才得到人们的如此关注。 NMF通过寻找低秩,分解那些都为非负值的矩阵。 这在现实的应用中有很多例子,如数字图像中的像素一般为负数,文本分析中的单词统计也总是非负数,股票价格也总是正数等等。研究指出,矩阵分解是个NP问题,可以划为优化问题用迭代方法交替求解U和V。 参考文献: 《矩阵分解:数学的奇妙力量》 http://blog.sciencenet.cn/blog-248606-466811.html (介绍NMF的基本内容及其应用) 《NMF算法简介及

    2.7K101发布于 2019-02-18
  • 来自专栏null的专栏

    推荐算法——矩阵分解(NMF)

    一、矩阵分解回顾 在博文推荐算法——基于矩阵分解的推荐算法中,提到了将用户-商品矩阵进行分解,从而实现对未打分项进行打分。矩阵分解是指将一个矩阵分解成两个或者多个矩阵的乘积。 对于上述的用户-商品矩阵(评分矩阵),记为Vm×nV_{m\times n},可以将其分解成两个或者多个矩阵的乘积,假设分解成两个矩阵Wm×kW_{m\times k}和Hk×nH_{k\times n 通常在用户对商品进行打分的过程中,打分是非的,这就要求: Wm×k⩾0 W_{m\times k}\geqslant 0 Hk×n⩾0 H_{k\times n}\geqslant 0 这便是非矩阵分解 二、矩阵分解 2.1、矩阵分解的形式化定义 上面简单介绍了矩阵分解的基本含义,简单来讲,矩阵分解是在矩阵分解的基础上对分解完成的矩阵加上的限制条件,即对于用户-商品矩阵Vm×nV_{ 2.4、矩阵分解的实现 对于如下的矩阵: ? 通过矩阵分解,得到如下的两个矩阵: ? ? 对原始矩阵的还原为: ? 实现的代码 #!

    1.7K30发布于 2019-02-13
  • 来自专栏全栈程序员必看

    【机器学习】NMF(矩阵分解)

    写在篇前   本篇文章主要介绍NMF算法原理以及使用sklearn中的封装方法实现该算法,最重要的是理解要NMF矩阵分解的实际意义,将其运用到自己的数据分析中! 理论概述   NMF(Non-negative matrix factorization),即对于任意给定的一个矩阵V,其能够寻找到一个矩阵W和一个矩阵H,满足条件V=W*H,从而将一个矩阵分解为左右两个矩阵的乘积 solver参数中,cd只能优化Frobenius norm函数;而mu可以更新所有损失函数 案例1   第一个案例很简单,目的是理解分解出来的这两个矩阵能用来干嘛,分别是什么意思,但是其实我在文章第一部分已经解释了 ,直接看例子: >>> import numpy as np >>> X = np.array([[1, 1], [2, 1], [3, 1.2], [4, 1], [5, 0.8], [6, 1]]) :400*4096 W矩阵:400*6 H矩阵6*4096   下面是script运行结果: 写在篇后   NMF最早由科学家D.D.Lee和H.S.Seung提出的一种矩阵分解方法,并在Nature

    2.2K20编辑于 2022-07-04
  • 来自专栏null的专栏

    推荐算法——矩阵分解(NMF)

    一、矩阵分解回顾 image.png 二、矩阵分解 2.1、矩阵分解的形式化定义 image.png 2.2、损失函数 image.png 2.3、优化问题的求解 image.png image.png 2.4、矩阵分解的实现 对于如下的矩阵: ? 通过矩阵分解,得到如下的两个矩阵: ? ? 对原始矩阵的还原为: ? 实现的代码 #!

    2K60发布于 2018-03-20
  • 来自专栏全栈程序员必看

    学习笔记 | 矩阵分解(NMF)浅析

    学习笔记 | 矩阵分解[NMF]浅析 1 背景说明 2 NMF简介 3 核心代码 4 NMF的应用 5 背景问题的拓展 6 小结 概要: 这篇博客和博客 学习笔记|主成分分析 关键字: 矩阵分解; NMF 1 背景说明 矩阵分解问题涉及的面很广很多,这里只通过一个例子简单理解它的概念和物理意义。 V,NMF算法能够寻找到一个矩阵W和一个矩阵H,使得 V=W*H 成立 ,从而将一个矩阵分解为左右两个矩阵的乘积。 NMF本质上说是一种矩阵分解的方法,它的特点是可以将一个大的矩阵分解为两个小的矩阵,又因为分解后的矩阵也是非的,所以也可以继续分解。 原矩阵V对应原空间中的原数据,分解之后的两个矩阵W和H分别对应寻找得到的新基底和投影在新基底上的数值。

    4.6K30编辑于 2022-09-13
  • 来自专栏大数据智能实战

    Spark NMF(矩阵分解)算法实现与测试

    矩阵分解定义为:找到矩阵 与 使得 。在计算中等式两者很难完全相等。在计算中往往是根据某更新法则迭代更新出两个乘子,当上式左右两端的距离(如欧式距离)满足我们设定的大小,停止迭代。 矩阵分解NMF算法应用十分广泛,如图像处理分析,推荐系统,图计算等... spark 目前并部支持NMF算法. 根据其原理,可以利用graphx与矩阵的方式来实现迭代获取H和W矩阵..

    64120编辑于 2022-05-07
  • 来自专栏机器学习算法原理与实践

    文本主题模型之矩阵分解(NMF)

    这里我们就介绍另一种基于矩阵分解的主题模型:矩阵分解(NMF),它同样使用了矩阵分解,但是计算量和处理速度则比LSI快,它是怎么做到的呢? 1.  矩阵分解(NMF)概述     矩阵分解(non-negative matrix factorization,以下简称NMF)是一种非常常用的矩阵分解方法,它可以适用于很多领域,比如图像特征识别 回顾奇异值分解,它会将一个矩阵分解为三个矩阵: A=UΣVT     如果降维到k维,则表达式为: Am×n≈Um×kΣk×kVTk×n     但是NMF虽然也是矩阵分解,它却使用了不同的思路,它的目标是期望将矩阵分解为两个矩阵 注意到这里我们使用的是"概率相关度",这是因为我们使用的是""的矩阵分解,这样我们的$W,H$矩阵值的大小可以用概率值的角度去看。从而可以得到文本和主题的概率分布关系。 在这些领域使用NMF的关键在于将NMF套入一个合适的模型,使得$W,H$矩阵都可以有明确的意义。这里给一个图展示NMF在做语音处理时的情形: ? 6.

    2.4K30发布于 2018-08-07
  • 来自专栏R语言及实用科研软件

    🤩 GeneNMF | 单细胞矩阵分解这样做更简单!~

    ~ GeneNMF 是一个专门针对基因表达数据设计的 矩阵分解(NMF) 工具包,旨在从高维组学数据中提取具有生物学意义的基因模块。

    85711编辑于 2025-06-10
  • 来自专栏单细胞

    单细胞矩阵分解分析python版(cNMF)学习

    前置一个推文,老师的推文已经详细讲解了矩阵分解的算法原理~ 如果对算法原理感兴趣的可以点击以下链接~单细胞天地: https://mp.weixin.qq.com/s/-sdYyBG_zB6Lhi9vHkpKBw 笔者之前也写过一个帖子,有兴趣的朋友可以点击去看一看~ https://mp.weixin.qq.com/s/3zySnfkflHfitqh4p4chsQ接下来笔者会根据个人理解,将矩阵分解(Non-negative (相对于矩阵分解的方法) 。 这种方式就类似于矩阵分解的方法,同样矩阵分解会把矩阵分成不同的聚类,但此时提取的聚类是按照这个聚类群的关键特征所提取,具有高度的“代表性”。 以上就是三种方式的类比解释啦~接下来的分析流程采用了python版的矩阵分解-cNMFgithub上的图挺形象的,从左到右把细胞信息转化成基因矩阵然后进行分解提取。

    1.2K01编辑于 2024-09-15
  • 来自专栏生信技能树

    基于矩阵分解的单细胞降维聚类分群

    我们仍然是以 pbmc3k 数据集 为例子给大家展现一下基于矩阵分解的单细胞降维聚类分群 ; library(SeuratData) #加载seurat数据集 getOption('timeout 就是NMF包的nmf函数,因为前面提到了这个单核细胞就是 CD14+ Mono 和FCGR3A+ Mono ,所以这里我们设置参数rank=2,是期望的细胞亚群数量,这个NMF包的nmf函数针对我们的矩阵进行了矩阵分解分析 ,最后基于矩阵分解的结果重新进行FindNeighbors和FindClusters根据resolution = 0.1又区分成为了3个亚群。 矩阵分解的其它应用 从上面的演示来看,我们的基于矩阵分解的单细胞降维聚类分群特殊性在于,预先就指定了待分解的单细胞亚群数量,而且可以找到每个单细胞亚群的各自的特征基因,而无需走常规的降维聚类分群流程 基于这个特性,我们的矩阵分解还有另外一个应用,也是在很多肿瘤单细胞文献里面可以看到,绝大部分的肿瘤研究单细胞研究我介绍过 CNS图表复现08—肿瘤单细胞数据第一次分群通用规则,这个第一次分群规则是

    3.5K20编辑于 2022-03-03
  • 来自专栏分析工具

    转录组矩阵分解(NMF)一致性聚类(ConsensusClusterPlus)

    矩阵分解(NMF)和一致性聚类(ConsensusClusterPlus)是两种常用的聚类和模式识别方法,它们在算法原理、使用场景和结果解读上都有相似和不同之处。 矩阵分解和一致性聚类的异同点矩阵分解(NMF)使用场景:NMF主要用于从高维数据中提取潜在模式或特征,例如基因表达数据中的特征模块识别,或者文本数据中的主题提取。 算法原理:NMF是一种矩阵分解技术,将一个矩阵 VVV 分解为两个矩阵 WWW 和 HHH,即 V≈W×HV \approx W \times HV≈W×H。 在矩阵分解(NMF)中,rank值通常代表因子分解的维度或因子的数量。选择合适的rank值对于确保模型的有效性和稳定性至关重要。主要性能指标解释1. 有点像高考的时候先报不同的专业(矩阵分解),然后考研的时候在大专业的框架下选择细分专业(一致性聚类)。

    1.7K11编辑于 2024-08-13
  • 来自专栏生物信息云

    基于R语言利用NMF(矩阵分解)替代层次聚类进行肿瘤分型

    NMF包基于矩阵分解(non-negative matrix factorization,以下简称NMF)方法,提取基因表达矩阵内数据的生物相关系数,通过对基因和样本进行组织,抓住数据的内部结构特征 我前面已经介绍过了NMF的基本原理【NMF(矩阵分解)的算法原理】,这里我介绍R语言实现NMF。下面是一篇今年刚发的一篇纯生信的分析文章,用的就是NMF这个方法来对肿瘤进行分型。 接下来我们看下nmf函数的主要参数: x:就是我们的表达矩阵; rank:因式分解秩的说明。它通常是一个单一的数值,但也可能是其他类型的值(例如矩阵),为其实现特定的方法。你可以理解成分几群。 > dim(protein) [1] 593 3 5.融合数据 将数据与表达矩阵融合。其实也就是只要能量代谢相关基因的表达数据。 6.NMF进行肿瘤分型 这里我们可以看文章的处理方式。方法用的是brunet,迭代次数=50,ranks为2到10。

    23.3K51编辑于 2022-01-19
  • 来自专栏算法和应用

    一种用于可分离的矩阵分解的量子启发经典算法

    作者:Zhihuai Chen,Yinan Li,Xiaoming Sun,Pei Yuan,Jialin Zhang 摘要:矩阵分解(NMF)要求将(入口)矩阵分解为两个较小尺寸的矩阵的乘积 我们的新算法在秩中的多项式时间和输入矩阵的大小中以对数运行,这在低秩设置中实现指数加速。

    1K20发布于 2019-07-18
  • 来自专栏R语言交流中心

    R语言实现矩阵分析

    著名的科学杂志《Nature》于1999年刊登了两位科学家D.D.Lee和H.S.Seung对数学中非矩阵研究的突出成果。 该文提出了一种新的矩阵分解思想――矩阵分解(Non-negative Matrix Factorization,NMF)算法,即NMF是在矩阵中所有元素均为负数约束条件之下的矩阵分解方法。 ? 上图引自网络(有出处请告知),NMF的思想:V=WH(W权重矩阵、H特征矩阵、V原矩阵),通过计算从原矩阵提取权重和特征两个不同的矩阵出来。 quit MPI closeCluster(cl) mpi.quit() 接下来是结果的可视化展示: 评估结果的绘制: 首先构建需要评估的模型: estim.r <- nmf(esGolub, 2:6, 当然我们也可以只提取里面的任何一个数据然后绘制图像: coph <- estim.r$measures$cophenetic plot(2:6,coph, type="b",col="purple")

    6.9K40发布于 2019-07-31
  • 来自专栏生信补给站

    RNAseq|组学分型-ConsensusClusterPlus(一致性聚类), NMF(矩阵分解

    肿瘤分型分析是生信文章中的常客,大致是通过将基因的表达量进行聚类或者矩阵分解,发现新的亚型,然后对不同亚型的临床特征,免疫特征等进行比较分析,文章末尾简单的列了一些应用。 本文简答的大概介绍一下文献常用的一致性聚类(ConsensusClusterPlus )和 矩阵分解(NMF )方法 。 二 一致性聚类(ConsensusClusterPlus) 一致性聚类是一种无监督聚类方法,可以利用ConsensusClusterPlus R包完成分析,表达量矩阵准备好之后,代码很简单,如下 con 矩阵的数值代表同属一个cluster的可能性,取值范围从0到1, 颜色从白色到深蓝色,尽量不选择蓝白参杂的K值。 三 矩阵分解(NMF) 除了Consensus Clustering外‍,non-negative matrix factorization (NMF) consensus cluster也是很多文章经常用来分子分型的方式

    7.6K11编辑于 2023-08-25
  • 来自专栏单细胞

    单细胞实战之单细胞矩阵分解(cNMF)——入门到进阶(高级篇4)

    接下来将回顾学习非矩阵分解这个工具, 单细胞实战之单细胞hdWGCNA分析——入门到进阶(高级篇3):https://mp.weixin.qq.com/s/KGSoRx3klmliKPVL7ml28Q 而非矩阵分解有R语言版本,但是其运行速度极其缓慢,因此本次实操选择了python版。其具体的原理可以看一下参考资料中的文献。 再次进入R语言部分1.得到数据预处理# 主要的文件是两个:# Z分数单位基因表达程序矩阵和TPM单元基因表达程序矩阵exprSet_score <- read.delim(". 不过,分析方法仍存在一定局限性:笔者尚未能像在R语言中那样,基于矩阵分解的结果完成细胞分群。如果有对 Python较为熟悉的小伙伴,可以尝试使用OmicVerse 中的cNMF功能进一步开展分析。 https://mp.weixin.qq.com/s/RQCRUolM9HpZSodam6B8dQ https://mp.weixin.qq.com/s/8GJC7KRb9D3VsO6wuQAcnQ生信菜鸟团

    1.9K01编辑于 2025-05-11
  • 来自专栏生信小驿站

    如何将R语言普通矩阵转换为矩阵

    # =============================================================== # =============================================================== setwd('C:\\Users\\czh\\Desktop') library(Matrix) rm(list=ls()) options(stringsAsFactors = F) library(ConsensusCluste

    1.8K00发布于 2020-06-19
  • 来自专栏后端技术

    矩阵分解

    MF和正则化MF 参考python-matrix-factorization/ 正则化MF就是在MF的损失函数上加了个正则化项,以便惩罚(在分解矩阵中施加过大的参数)的情况。 PMF 极大似然估计与最大后验概率估计 PMF:概率矩阵分解 pmf_tutorial.pdf MLE MAP 可参考最大似然估计 最大后验估计

    81220发布于 2019-06-24
  • 来自专栏mathor

    矩阵分析(十三)矩阵分解

    C=\begin{bmatrix}E_r&0\end{bmatrix}Q^{-1} 矩阵满秩分解的计算 如何在给定矩阵A的情况下,求出矩阵B,C呢? LU分解 LU分解(LU Decomposition)是矩阵分解的一种,可以将一个矩阵分解为一个单位下三角矩阵和一个上三角矩阵的乘积,以四阶矩阵为例 L = \begin{bmatrix}1&0&0&0 设A = \begin{bmatrix}2&3&4\\1&1&9\\1&2&-6\end{bmatrix}A的LU分解矩阵L和U 解:令 L=\begin{bmatrix}1&0&0\\l_1&1&0 }_r^{m\times n},则 对rank(A)=r的矩阵A,矩阵A^HA的零特征值有\lambda_1 \geqslant \lambda_2 \geqslant ··· \geqslant \ ,u_{n}通过方程u_i^T x = 0求得(u_i必须是标准正交的) 于是得到A=U \Sigma V^H 实际上A^HA是一个半正定矩阵,其特征值一定非 ---- 例4 已知A = \begin

    2.2K10发布于 2021-04-02
领券