MLPACK
1.0.11
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
src
mlpack
methods
amf
amf.hpp
Go to the documentation of this file.
1
28
#ifndef __MLPACK_METHODS_AMF_AMF_HPP
29
#define __MLPACK_METHODS_AMF_AMF_HPP
30
31
#include <
mlpack/core.hpp
>
32
#include <
mlpack/methods/amf/update_rules/nmf_mult_dist.hpp
>
33
#include <
mlpack/methods/amf/init_rules/random_init.hpp
>
34
#include <
mlpack/methods/amf/termination_policies/simple_residue_termination.hpp
>
35
36
namespace
mlpack {
37
namespace
amf {
38
76
template
<
typename
TerminationPolicyType =
SimpleResidueTermination
,
77
typename
InitializationRuleType =
RandomInitialization
,
78
typename
UpdateRuleType =
NMFMultiplicativeDistanceUpdate
>
79
class
AMF
80
{
81
public
:
98
AMF
(
const
TerminationPolicyType&
terminationPolicy
= TerminationPolicyType(),
99
const
InitializationRuleType& initializeRule = InitializationRuleType(),
100
const
UpdateRuleType&
update
= UpdateRuleType());
101
110
template
<
typename
MatType>
111
double
Apply
(
const
MatType& V,
112
const
size_t
r,
113
arma::mat& W,
114
arma::mat& H);
115
117
const
TerminationPolicyType&
TerminationPolicy
()
const
118
{
return
terminationPolicy
; }
120
TerminationPolicyType&
TerminationPolicy
() {
return
terminationPolicy
; }
121
123
const
InitializationRuleType&
InitializeRule
()
const
124
{
return
initializationRule
; }
126
InitializationRuleType&
InitializeRule
() {
return
initializationRule
; }
127
129
const
UpdateRuleType&
Update
()
const
{
return
update
; }
131
UpdateRuleType&
Update
() {
return
update
; }
132
133
private
:
135
TerminationPolicyType
terminationPolicy
;
137
InitializationRuleType
initializationRule
;
139
UpdateRuleType
update
;
140
};
// class AMF
141
142
};
// namespace amf
143
};
// namespace mlpack
144
145
// Include implementation.
146
#include "amf_impl.hpp"
147
148
#endif
149
Generated by
1.8.3.1