MLPACK
1.0.7
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
src
mlpack
methods
nmf
nmf.hpp
Go to the documentation of this file.
1
23
#ifndef __MLPACK_METHODS_NMF_NMF_HPP
24
#define __MLPACK_METHODS_NMF_NMF_HPP
25
26
#include <
mlpack/core.hpp
>
27
#include "
mult_dist_update_rules.hpp
"
28
#include "
random_init.hpp
"
29
30
namespace
mlpack {
31
namespace
nmf {
32
83
template
<
typename
InitializationRule = RandomInitialization,
84
typename
WUpdateRule = WMultiplicativeDistanceRule,
85
typename
HUpdateRule = HMultiplicativeDistanceRule>
86
class
NMF
87
{
88
public
:
108
NMF
(
const
size_t
maxIterations
= 10000,
109
const
double
minResidue
= 1e-10,
110
const
InitializationRule
initializeRule
= InitializationRule(),
111
const
WUpdateRule
wUpdate
= WUpdateRule(),
112
const
HUpdateRule
hUpdate
= HUpdateRule());
113
122
template
<
typename
MatType>
123
void
Apply
(
const
MatType& V,
124
const
size_t
r,
125
arma::mat& W,
126
arma::mat& H)
const
;
127
128
private
:
130
size_t
maxIterations
;
132
double
minResidue
;
134
InitializationRule
initializeRule
;
136
WUpdateRule
wUpdate
;
138
HUpdateRule
hUpdate
;
139
140
public
:
142
size_t
MaxIterations
()
const
{
return
maxIterations
; }
144
size_t
&
MaxIterations
() {
return
maxIterations
; }
146
double
MinResidue
()
const
{
return
minResidue
; }
148
double
&
MinResidue
() {
return
minResidue
; }
150
const
InitializationRule&
InitializeRule
()
const
{
return
initializeRule
; }
152
InitializationRule&
InitializeRule
() {
return
initializeRule
; }
154
const
WUpdateRule&
WUpdate
()
const
{
return
wUpdate
; }
156
WUpdateRule&
WUpdate
() {
return
wUpdate
; }
158
const
HUpdateRule&
HUpdate
()
const
{
return
hUpdate
; }
160
HUpdateRule&
HUpdate
() {
return
hUpdate
; }
161
162
};
// class NMF
163
164
};
// namespace nmf
165
};
// namespace mlpack
166
167
// Include implementation.
168
#include "nmf_impl.hpp"
169
170
#endif
Generated by
1.8.3.1