r语言nonzerocoef函数_R语言降维——非负矩阵分解(NMF包的实现)

本文介绍了R语言中使用NMF包进行非负矩阵分解的方法,包括nmf函数的使用,以及如何获取W和H矩阵。通过构建数据矩阵V,展示了NMF在数据降维中的应用,并探讨了W和H矩阵的含义。
摘要由CSDN通过智能技术生成

目录

0引言

先从数据的条件来理解非负矩阵分解方法:

条件:需要分解的矩阵所有元素非负

目标:V是非负矩阵。NMF可以找到两个非负矩阵W、H使得W*H近似等于V中的值。

其中W:基础图像矩阵。H:系数矩阵

NMF的目标:最小化W和H矩阵的乘积和原始矩阵的差

常见的求解思路:误差范数求解定义和散度的损失函数定义法

1、R语言实现(NMF包的加载)

install.packages("NMF") # 安装包的命令

library(NMF) # 加NMF包

NMF包里的函数有很多,可以通过以下方式查看:

help(package = "NMF")

本文主要讲解下面几个函数:nmf、basis、basismap、coef、coefmap。

2、nmf建立模型实现非负矩阵分解

先是构造数据V矩阵:

# 方法一

V = rmatrix(3,3)

# 方法二

n

V

使用方法二的数据降维建模:

res

下面输出降维效果。

3、W矩阵

> basis(res)

[,1] [,2] [,3]

[1,] 5.667319e+00 2.675530e+00 2.220446e-16

[2,] 3.465761e+00 2.220446e-16 1.661215e-01

[3,] 6.282332e+00 4.171376e+00 2.220446e-16</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值