R: a new discriminant Non-Negative Matrix Factorization (dNMF)
ndNMF
R Documentation
a new discriminant Non-Negative Matrix Factorization (dNMF)
Description
The ndNMF algorithm with the additional Fisher criterion on the cost
function of conventional NMF was designed to increase class-related
discriminating power.
the dimension of expected reduction dimension, with the default value 2
lambada
a relative weighting factor for the discriminant. Default 0.1
maxIter
the maximum iteration of update rules, with the default value 1000
tol
the toleration of coverange, with the default value 1e-7
log
log2 data. Default is TRUE.
plotit
whether plot H (V=WH). Default: FALSE.
verbose
TRUE
...
to gplots::heatmap.2
Details
This algorithm is based on articles.
Kim, Bo-Kyeong, and Soo-Young Lee. "Spectral Feature Extraction Using dNMF for Emotion Recognition in Vowel Sounds." Neural Information Processing. Springer Berlin Heidelberg, 2013.
Lee, Soo-Young, Hyun-Ah Song, and Shun-ichi Amari. "A new discriminant NMF algorithm and its application to the extraction of subtle emotional differences in speech." Cognitive neurodynamics 6.6 (2012): 525-535.
R version 3.3.1 (2016-06-21) -- "Bug in Your Hair"
Copyright (C) 2016 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)
R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.
R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.
Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.
> library(DNMF)
Loading required package: foreach
> png(filename="/home/ddbj/snapshot/RGM3/R_CC/result/DNMF/ndNMF.Rd_%03d_medium.png", width=480, height=480)
> ### Name: ndNMF
> ### Title: a new discriminant Non-Negative Matrix Factorization (dNMF)
> ### Aliases: ndNMF
>
> ### ** Examples
>
> dat <- rbind(matrix(c(rep(3, 16), rep(8, 24)), ncol=5),
+ matrix(c(rep(5, 16), rep(5, 24)), ncol=5),
+ matrix(c(rep(18, 16), rep(7, 24)), ncol=5)) +
+ matrix(runif(120,-1,1), ncol=5)
> trainlabel <- c(1,1,2,2,2)
>
> res <- ndNMF(dat, trainlabel, r=2, lambada = 0.1)
> res$H
[,1] [,2] [,3] [,4] [,5]
[1,] 2.5129088582 2.487090e+00 6.672509e-07 2.924090e-07 7.186721e-08
[2,] 0.0000167504 4.961246e-06 1.681471e+00 1.658596e+00 1.659911e+00
> res$rnk
[1] 1.0543007 1.1694131 1.0366168 1.0111270 1.1097185 1.1053974 1.1567142
[8] 1.0740354 0.5343142 0.6013354 0.5698823 0.5952684 0.5210611 0.5517419
[15] 0.5570401 0.4614601 0.1651131 0.1679323 0.1445783 0.2189003 0.1368359
[22] 0.1414078 0.1888376 0.1340935
>
>
>
>
>
> dev.off()
null device
1
>