MLPACK
1.0.10
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
26
#ifndef __MLPACK_METHODS_AMF_AMF_HPP
27
#define __MLPACK_METHODS_AMF_AMF_HPP
28
29
#include <
mlpack/core.hpp
>
30
#include <
mlpack/methods/amf/update_rules/nmf_mult_dist.hpp
>
31
#include <
mlpack/methods/amf/init_rules/random_init.hpp
>
32
#include <
mlpack/methods/amf/termination_policies/simple_residue_termination.hpp
>
33
34
namespace
mlpack {
35
namespace
amf {
36
74
template
<
typename
TerminationPolicyType =
SimpleResidueTermination
,
75
typename
InitializationRuleType =
RandomInitialization
,
76
typename
UpdateRuleType =
NMFMultiplicativeDistanceUpdate
>
77
class
AMF
78
{
79
public
:
96
AMF
(
const
TerminationPolicyType&
terminationPolicy
= TerminationPolicyType(),
97
const
InitializationRuleType& initializeRule = InitializationRuleType(),
98
const
UpdateRuleType&
update
= UpdateRuleType());
99
108
template
<
typename
MatType>
109
double
Apply
(
const
MatType& V,
110
const
size_t
r,
111
arma::mat& W,
112
arma::mat& H);
113
115
const
TerminationPolicyType&
TerminationPolicy
()
const
116
{
return
terminationPolicy
; }
118
TerminationPolicyType&
TerminationPolicy
() {
return
terminationPolicy
; }
119
121
const
InitializationRuleType&
InitializeRule
()
const
122
{
return
initializationRule
; }
124
InitializationRuleType&
InitializeRule
() {
return
initializationRule
; }
125
127
const
UpdateRuleType&
Update
()
const
{
return
update
; }
129
UpdateRuleType&
Update
() {
return
update
; }
130
131
private
:
133
TerminationPolicyType
terminationPolicy
;
135
InitializationRuleType
initializationRule
;
137
UpdateRuleType
update
;
138
};
// class AMF
139
140
};
// namespace amf
141
};
// namespace mlpack
142
143
// Include implementation.
144
#include "amf_impl.hpp"
145
146
#endif
147
Generated by
1.8.3.1