首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏全栈程序员必看

    NMF-matlab

    具体论文看这里:http://www.seas.upenn.edu/~ddlee/Papers/nmf.pdf。   

    44330编辑于 2022-07-02
  • 来自专栏生信技能树

    使用NMF代替层次聚类

    <- t(a2) nmf.input <- nmf.input[setdiff(rownames(nmf.input),"unknown"),] #去掉unknown # 需要去除那些没有被计算到的signatures nmf.input <- nmf.input[rowSums(nmf.input)>0,] library(pheatmap) pheatmap(nmf.input) 其中代码里面的escc_denovo_results.Rdata 行名简化 mut.nmf <- nmf(nmf.input, rank = rank, seed = seed, basismap 第三步:使用挑选出的signature再次NMF nmf.input2 <- nmf.input[sig.order,] library(pheatmap) pheatmap(nmf.input2 nmf区分成为的3类。

    3.4K30发布于 2020-06-09
  • 来自专栏生信修炼手册

    非负矩阵分解NMF

    non-negative matrix factorization,简写为NMF, 翻译为非负矩阵分解,属于矩阵分解的一种算法。 基于非负数的约束,NMF矩阵分解算法应运而生。对于任意一个非负矩阵V,可以将该矩阵划分为两个非负矩阵的乘积,图示如下 ? 类似SVD, NMF算法将矩阵分解之后,也可以提取其中的主要部分来代表整体,从而达到降维的效果,图示如下 ? NMF的求解思想是使得W与H矩阵的乘积,与V矩阵的误差值最小,数学表达式如下 ? 在scikit-learn中,使用NMF的代码如下 >>> import numpy as np >>> X = np.array([[1, 1], [2, 1], [3, 1.2], [4, 1], [5, 0.8], [6, 1]]) >>> from sklearn.decomposition import NMF >>> model = NMF(n_components=2, init='random

    1.6K60发布于 2021-04-14
  • 来自专栏单细胞天地

    Rethinking batch effect removing methods—各种NMF

    Rethinking batch effect removing methods—CCA

    83410编辑于 2022-01-17
  • 来自专栏月色的自留地

    NMF学习练习:做电影推荐

    NMF是很久以前学的,基本快忘没了,昨天YX提出来一个关于NMF(同音同字不同义)的问题,才又想起来。 自己的学习笔记写的比较乱,好在网上资料多,摘了一篇,补充上自己笔记的内容,留此助记。 NMF概念出现的比较早,差不多在电脑还没有开始繁荣起来,NMF及相关的一些算法已经很成熟了。NMF用在电影推荐、商品推荐也并不是很适合,现在大多使用SVD之类的算法。 分类 我们使用NMF为电影进行主题分类。 nmf_model = NMF(n_components=2) # 设有2个主题 item_dis = nmf_model.fit_transform(RATE_MATRIX) user_dis = nmf_model.components = NMF(n_components=2) # 设有2个主题 item_dis = nmf_model.fit_transform(RATE_MATRIX) user_dis = nmf_model.components

    79530发布于 2018-06-15
  • 来自专栏AIUAI

    NMF(非负矩阵分解)算法

    NMF,非负矩阵分解,它的目标很明确,就是将大矩阵分解成两个小矩阵,使得这两个小矩阵相乘后能够还原到大矩阵。而非负表示分解的矩阵都不包含负值。 因此,探索矩阵的非负分解方法一直是很有意义的研究问题,正是如此,Lee和Seung两位科学家的NMF方法才得到人们的如此关注。 NMF通过寻找低秩,非负分解那些都为非负值的矩阵。 NMF算法提供了基于简单迭代的求解U,V的方法,求解方法具有收敛速度快、左右非负矩阵存储空间小的特点,它能将高维的数据矩阵降维处理,适合处理大规模数据。 参考文献: 《非负矩阵分解:数学的奇妙力量》 http://blog.sciencenet.cn/blog-248606-466811.html (介绍NMF的基本内容及其应用) 《NMF算法简介及 与pLSA的对比) NMF工具 http://www.csie.ntu.edu.tw/~cjlin/nmf/ (作者 Chih-Jen Lin,也是libSVM的作者)

    2.7K101发布于 2019-02-18
  • 来自专栏月色的自留地

    NMF学习练习:做电影推荐

    NMF是很久以前学的,基本快忘没了,昨天YX提出来一个关于NMF(同音同字不同义)的问题,才又想起来。 自己的学习笔记写的比较乱,好在网上资料多,摘了一篇,补充上自己笔记的内容,留此助记。 NMF概念出现的比较早,差不多在电脑还没有开始繁荣起来,NMF及相关的一些算法已经很成熟了。NMF用在电影推荐、商品推荐也并不是很适合,现在大多使用SVD之类的算法。 分类 我们使用NMF为电影进行主题分类。 nmf_model = NMF(n_components=2) # 设有2个主题 item_dis = nmf_model.fit_transform(RATE_MATRIX) user_dis = nmf_model.components = NMF(n_components=2) # 设有2个主题 item_dis = nmf_model.fit_transform(RATE_MATRIX) user_dis = nmf_model.components

    52370发布于 2018-06-21
  • 来自专栏null的专栏

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

    /data_nmf" file_path = ". 20160411 @author: zhaozhiyong ''' from pylab import * from numpy import * data = [] f = open("result_nmf plt.xlabel('generation') plt.ylabel('loss') show() 参考文献 Algorithm for Non-negative Matrix Factorization 白话NMF

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

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

    写在篇前   本篇文章主要介绍NMF算法原理以及使用sklearn中的封装方法实现该算法,最重要的是理解要NMF矩阵分解的实际意义,将其运用到自己的数据分析中! ()) # 获取构造函数参数的值,也可以nmf.attr得到,所以下面我会省略这些属性 # 下面四个函数很简单,也最核心,例子中见 nmf.fit(X) W = nmf.fit_transform( X) W = nmf.transform(X) nmf.inverse_transform(W) # -----------------属性------------------------ H = nmf.components _ # H矩阵 print('reconstruction_err_', nmf.reconstruction_err_) # 损失函数值 print('n_iter_', nmf.n_iter_) 随后也有了很多NMF变体,应用也越发广泛,包括文本降维、话题提取、图像处理等。这里必须指出,我看到一份NMF非常完整的资料,但是精力有限,不能全面cover,有兴趣的同学可以参考nimfa。

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

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

    {m\times k}\geqslant 0 Hk×n⩾0 H_{k\times n}\geqslant 0 这便是非负矩阵分解(Non-negtive Matrix Factorization, NMF /data_nmf" file_path = ". 20160411 @author: zhaozhiyong ''' from pylab import * from numpy import * data = [] f = open("result_nmf plt.xlabel('generation') plt.ylabel('loss') show() 参考文献 Algorithm for Non-negative Matrix Factorization 白话NMF

    1.7K30发布于 2019-02-13
  • 来自专栏生信技能树

    SPOTlight || 用NMF解卷积空间表达数据

    作者 | 周运来 SPOTlight:Seeded NMF regression to Deconvolute Spatial Transcriptomics Spots with Single-Cell SPOTlight基于一个种子的非负矩阵因子分解回归(Seeded NMF regression ),使用细胞类型标记基因和非负最小二乘(NNLS)初始化,随后去卷积ST捕获位置(spot)。 用的非负矩阵分析方法:Seeded NMF regression ,也打包在这个函数之中了。对原理当然不能放过,看函数帮助文档和源码吧。 nmf_mod_ls <- spotlight_ls[[1]] nmf_mod <- nmf_mod_ls[[1]] ? coef h <- NMF::coef(nmf_mod) rownames(h) <- paste("Topic", 1:nrow(h), sep = "_") topic_profile_plts

    1.9K10发布于 2021-10-22
  • 来自专栏全栈程序员必看

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

    学习笔记 | 非负矩阵分解[NMF]浅析 1 背景说明 2 NMF简介 3 核心代码 4 NMF的应用 5 背景问题的拓展 6 小结 概要: 这篇博客和博客 学习笔记|主成分分析 图1 2-digits NMF练习题 2 NMF简介 非负矩阵分解(Non-negative Matrix Factorization, NMF)的基本思想可以简单描述为:对于任意给定的一个非负矩阵 NMF的应用包括但不限于提取特征、快速识别、基因和语音的检测等等。 NMF算法自于1999年由Lee和Seung发表于Nature后便广泛应用于各个场景。 下面用数学语言对NMF进行描述,并直接给出求解NMF的迭代公式,如图3所示。 图3 NMF的数学描述和求解迭代公式 如图3所示,NMF的本质是通过一个矩阵去求解两个为止矩阵。 图5 用NMF提取图像主要成分的过程分析 用NMF的方程表述,应当写成如下形式: 最后的结果如图6所示: 图6 用NMF提取图像主要成分的结果 下面分析图6的含义。

    4.6K30编辑于 2022-09-13
  • 内容复习---单细胞空间分析之NMF

    作者,Evil Genius今天周六,我们来复习一个内容,NMF。关于运用NMF的文章已经非常多了,我分享给大家的23、24、25搜集的高分文献就有很多,这里就不一一列举了,我们以一篇高分文章为例。 而在单细胞空间的分析中,NMF的核心作用是识别核心转录程序:通过分析snRNA-seq数据,NMF成功地从复杂的基因表达数据中分解并识别出9个核心的、具有生物学一致性的"元程序"或"共识元程序"。 第三步:每个NMF gene programs进行聚类分析,识别robust gene programs。我们来简单实现一下,当然分析NMF通常选择高变基因进行(测试脚本)。 tryCatch({ # 运行NMF nmf_fit <- nmf(norm_data, rank = k, method = "brunet", nrun = 10) <- function(seurat_obj) { cat("Step 1: Running multiple k NMF\n") nmf_results <- run_multiple_k_nmf

    47421编辑于 2025-11-15
  • 来自专栏优雅R

    「R」使用NMF包绘制热图

    学习文档: https://cran.r-project.org/web/packages/NMF/vignettes/heatmaps.pdf Heatmap引擎 NMF包中的热图引擎是由aheatmap 数据和模型 为了演示热图函数的用法,我们这里创建一个随机的NMF输入矩阵,以及一些注释和协变量。 接着,我们使用NMF模型来分解矩阵。 res = nmf(X, 3, nrun = 10) 混合系数矩阵:coefmap NMF结果的混合系数矩阵可以使用coefmap()函数进行绘制。 对于一个简单的NMF模型结果,一致性数据是不能显示的,只能通过最佳拟合进行聚类。 同一方法,计算多个rank的结果 函数nmf可以接受一组rank序列用来拟合多个不同的rank的结果。

    3.4K30发布于 2020-07-03
  • 来自专栏单细胞天地

    SPOTlight || 用NMF解卷积空间表达数据

    分析空间转录组数据(下) scanpy教程:空间转录组数据分析 10X Visium:空间转录组样本制备到数据分析 空间信息在空间转录组中的运用 定量免疫浸润在单细胞研究中的应用 SPOTlight:Seeded NMF SPOTlight基于一个种子的非负矩阵因子分解回归(Seeded NMF regression ),使用细胞类型标记基因和非负最小二乘(NNLS)初始化,随后去卷积ST捕获位置(spot)。 用的非负矩阵分析方法:Seeded NMF regression ,也打包在这个函数之中了。对原理当然不能放过,看函数帮助文档和源码吧。 nmf_mod_ls <- spotlight_ls[[1]] nmf_mod <- nmf_mod_ls[[1]] ? coef h <- NMF::coef(nmf_mod) rownames(h) <- paste("Topic", 1:nrow(h), sep = "_") topic_profile_plts

    3.2K20发布于 2021-01-12
  • 内容复习---NMF在单细胞数据中的运用

    前段时间有粉丝觉得NMF之前的代码都太复杂了,看看能不能来个简单版本的。最近的文章也都不打算收费了,大家有个3块5块的打赏一下,买瓶绿茶喝一喝。 这一篇满足一下library(Seurat)library(NMF)library(pheatmap)library(RColorBrewer)library(dplyr)library(Matrix) data <- as.matrix(sdata@assays$RNA@scale.data)data[data<0] <- 0运行NMF,一般需要提前选择数量,提取每个因子前50个基因作为特征值。 set.seed(123)rk <- 2:20res <- nmf(data, rank = rk, nrun = 20, seed=1)plot(res)这里采用了10res <- nmf(data, 对每个特征的因子基因进行打分,获取NMF分数矩阵,这里采用了Seurat自带的函数AddModuleScore。

    70410编辑于 2025-01-16
  • 内容复习----NMF在单细胞空间中的运用

    好了,开始我们今天的复习,NMF讲过很多了,其意义不再过多赘述,核心原理如下:这里补充一点,如下图。 如果我们寻找细胞的异质性,通过标记基因来注释亚群,那Aty和Cla是无法区别的,因为特征基因两者都表达,只是表达高低的不同,如果想区分,NMF是一个很好的办法。 空间也经常使用,cell2location就提供了NMF分析细胞类型关系关系的例子。 今日目标,寻找NMF因子以及识别因子关键的基因代码很简单library(Seurat)library(ggplot2)library(UCell)library(patchwork)library(tidyr 对于NMF来说,最重要的参数可能是维度k,其对应于低维矩阵的program数量。为了确定稳健的program,需要运行NMF多次,并确定在这些运行中始终存在的program。

    45710编辑于 2025-02-13
  • 来自专栏大数据智能实战

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

    非负矩阵分解定义为:找到非负矩阵 与 使得 。在计算中等式两者很难完全相等。在计算中往往是根据某更新法则迭代更新出两个乘子,当上式左右两端的距离(如欧式距离)满足我们设定的大小,停止迭代。

    63820编辑于 2022-05-07
  • 来自专栏优雅R

    「R」NMF rank度量图该怎么看

    幕布笔记[1] NMF W basis H coefficients Rank选择 图 Sparseness 残差和残差平方和自不必说 dispersion 离差 In statistics, dispersion

    2.3K10发布于 2020-07-03
  • 来自专栏单细胞天地

    单细胞分析十八般武艺:NMF

    往期回顾 单细胞初级8讲和高级分析8讲 NMF算法简介 NMF是什么? ? NMF的特点? NMF最重要的特点是非负性约束。 ::install('Biobase') install.packages('NMF') nmf函数简介 NMF包通过nmf()函数实现矩阵分解,它的用法及重要参数如下: nmf(x, rank, method NMF因子可解释性探索 对比PCA分析的结果,NMF虽然毫不逊色,但是它的运行时间更长,我们为什么要用NMF呢? NMF因子与细胞类型的关系 ## 人工定义细胞类型 pbmc.nmf$celltype <- pbmc.nmf$seurat_clusters pbmc.nmf$celltype <- recode(pbmc.nmf

    15K75发布于 2021-03-25
领券