美文网首页
NMF数据分型的简单理解

NMF数据分型的简单理解

作者: 小潤澤 | 来源:发表于2021-07-13 18:17 被阅读0次

简介

NMF又称之为非负矩阵分解,可以理解为又一种降维聚类的方法,常常运用于单细胞分群,癌症RNA-seq数据分群等运用中,下图即是NMF分解的示意图:



其中:V矩阵是一个n×m的矩阵,W为n×k的矩阵,H为m×k的矩阵;而分解出来的 k 可以理解为所分出来的 k 个亚群(当然 W 矩阵的 k 与 H 矩阵的 k 的含义有一定区别,后续会举例子说明)

在R中实现

在R中完成NMF分解有两种方式,第一种利用R包NMF可以完成:

# random data
x <- rmatrix(20,10)

# run default algorithm with rank 3
res <- nmf(x, 3)

其中 rank 可以理解为矩阵分解后的 k ,即你要区分出来的亚群数量

如果是单细胞数据,还有一种方式是通过seurat选择降维方法来完成

# 提取单细胞标准化的data
vm <- data@assays$RNA@scale.data
res = nmf(vm,16)

# 将nmf对象注入到seurat中
data@reductions$nmf <- data@reductions$pca
data@reductions$nmf@cell.embeddings <- t(coef(res))
data@reductions$nmf@feature.loadings <- basis(res)
## 其中coef(res)为 H 矩阵,basis(res) 为 W 矩阵


data_reduction <- RunUMAP(pbmc, reduction = 'nmf', dims = 1:16) %>% 
  FindNeighbors(reduction = 'nmf', dims = 1:16) %>% 
    FindClusters()

举例

之前我们说过NMF的分解图:


在单细胞领域可以理解为,有n个基因,m个cell,并进行NMF分解,W矩阵可理解为:

有n个基因,k个cell clusters;而H矩阵可理解为:

在向量空间中有 m 个细胞,H 矩阵的每一列代表该细胞的 k 维坐标,因此 H 矩阵可以理解为 V 矩阵投影到低维空间的点坐标;即如果我们用NMF降维聚类并在二维平面上可视化时,H 矩阵的 k 维坐标取贡献最大的前两维即可;在seurat代码中有:
# 将nmf对象注入到seurat中
data@reductions$nmf <- data@reductions$pca
data@reductions$nmf@cell.embeddings <- t(coef(res))
data@reductions$nmf@feature.loadings <- basis(res)
## 其中coef(res)为 H 矩阵,basis(res) 为 W 矩阵

那么 cell.embeddings 就是降维后每个细胞的坐标;而 feature.loadings 可以理解为一种权重

相关文章

  • NMF数据分型的简单理解

    简介 NMF又称之为非负矩阵分解,可以理解为又一种降维聚类的方法,常常运用于单细胞分群,癌症RNA-seq数据分群...

  • 简单直观地理解非负矩阵分解NMF

    我对NMF的理解是一个反反复复的过程,时懂时不懂,因此在这里简单记录下我目前清醒的认知。 NMF的基本思想可以简单...

  • python与机器学习降维:PCA实现高维数据可视化和NMF人脸

    PCA实现高维数据可视化 NMF人脸数据特征提取

  • 非负矩阵分解(NMF,Non-negative matrix f

    NMF意图是什么? 大数据压缩,少空间对矩阵进行分解,其他矩阵分解存在负值,负值没有意义。 NMF条件是什么? 矩...

  • 字符与整数的关系

    拿c的字符型来说,为什么c要分字符型、int型?原因很简单,就是为了更方便的管理数据存储。事实上不管字符还是数据在...

  • 【redis前言简析】

    前言: redis简单理解,就是提高获取数据的响应速度,比如从数据库中获取数据,如果每次查询都从关系型数据库中获...

  • 数据库思维

    1、什么是数据库 典型的数据库是关系型数据库,最简单的关系型数据库可以理解为一张结构化二维表格。 什么是结构化二维...

  • NMF层次聚类

    微信:基于R语言利用NMF(非负矩阵分解)替代层次聚类进行肿瘤分型层次聚类最后是将样本根据表达量进行了分类,可以用...

  • 数据库概论

    1.数据类型 关系型:简单理解就是保存的数据是有联系的;如:person表和books表(表示某人看过的书)非关系...

  • 泛型简单理解

    学习总结,仅供自己参考,如有不对欢迎指正 泛型 1.作用: 1.不需要再进行类型转化2.保证ClassCastEx...

网友评论

      本文标题:NMF数据分型的简单理解

      本文链接:https://www.haomeiwen.com/subject/wcrspltx.html