IT++
4.3.1
Toggle main menu visibility
itpp
stat
mog_diag_kmeans.h
Go to the documentation of this file.
1
28
29
30
#ifndef MOG_DIAG_KMEANS_H
31
#define MOG_DIAG_KMEANS_H
32
33
#include <
itpp/stat/mog_diag.h
>
34
#include <itpp/itexports.h>
35
#include <
itpp/base/base_exports.h
>
36
37
namespace
itpp
38
{
39
44
class
ITPP_EXPORT
MOG_diag_kmeans_sup
:
public
MOG_diag
45
{
46
47
public
:
49
MOG_diag_kmeans_sup
() {
verbose
=
false
; }
50
52
~MOG_diag_kmeans_sup
() { }
53
55
void
run(
MOG_diag
&model_in,
Array<vec>
&X_in,
int
max_iter_in = 10,
double
trust_in = 0.5,
bool
normalise_in =
true
,
bool
verbose_in =
false
);
56
57
protected
:
58
60
inline
double
dist(
const
double
* x,
const
double
* y)
const
;
62
void
assign_to_means();
64
void
recalculate_means();
66
bool
dezombify_means();
68
double
measure_change()
const
;
70
void
initial_means();
72
void
iterate();
74
void
calc_means();
76
void
calc_covs();
78
void
calc_weights();
80
void
normalise_vectors();
82
void
unnormalise_vectors();
84
void
unnormalise_means();
85
87
int
max_iter
;
88
92
double
trust
;
93
95
bool
verbose
;
96
98
int
N
;
99
101
double
**
c_X
;
102
104
Array<vec>
means_old
;
105
107
double
**
c_means_old
;
108
110
Array<ivec>
partitions
;
111
113
int
**
c_partitions
;
114
116
ivec
count
;
117
119
int
*
c_count
;
120
121
private
:
122
123
vec norm_mu;
124
double
* c_norm_mu;
125
126
vec norm_sd;
127
double
* c_norm_sd;
128
129
vec tmpvec;
130
double
* c_tmpvec;
131
132
133
};
134
135
//
136
// convenience functions
137
171
void
MOG_diag_kmeans
(
MOG_diag
&model_in,
Array<vec>
&X_in,
int
max_iter_in = 10,
double
trust_in = 0.5,
bool
normalise_in =
true
,
bool
verbose_in =
false
);
172
173
}
174
175
#endif
// #ifndef MOG_DIAG_KMEANS_H
176
base_exports.h
Import/Export definitions for some templates defined in base folder.
itpp::Array
General array class.
Definition
array.h:105
itpp::MOG_diag_kmeans_sup::c_count
int * c_count
'C' pointer to the count vector
Definition
mog_diag_kmeans.h:119
itpp::MOG_diag_kmeans_sup::N
int N
number of training vectors
Definition
mog_diag_kmeans.h:98
itpp::MOG_diag_kmeans_sup::c_X
double ** c_X
'C' pointers to training vectors
Definition
mog_diag_kmeans.h:101
itpp::MOG_diag_kmeans_sup::means_old
Array< vec > means_old
means from the previous iteration, used to measure progress
Definition
mog_diag_kmeans.h:104
itpp::MOG_diag_kmeans_sup::~MOG_diag_kmeans_sup
~MOG_diag_kmeans_sup()
Default destructor.
Definition
mog_diag_kmeans.h:52
itpp::MOG_diag_kmeans_sup::c_partitions
int ** c_partitions
'C' pointers to partition vectors
Definition
mog_diag_kmeans.h:113
itpp::MOG_diag_kmeans_sup::MOG_diag_kmeans_sup
MOG_diag_kmeans_sup()
Default constructor.
Definition
mog_diag_kmeans.h:49
itpp::MOG_diag_kmeans_sup::c_means_old
double ** c_means_old
'C' pointers to old means
Definition
mog_diag_kmeans.h:107
itpp::MOG_diag_kmeans_sup::max_iter
int max_iter
Maximum number of iterations.
Definition
mog_diag_kmeans.h:87
itpp::MOG_diag_kmeans_sup::trust
double trust
trust factor, where 0 <= trust <= 1.
Definition
mog_diag_kmeans.h:92
itpp::MOG_diag_kmeans_sup::count
ivec count
keeps a count of the number of vectors assigned to each mean
Definition
mog_diag_kmeans.h:116
itpp::MOG_diag_kmeans_sup::partitions
Array< ivec > partitions
contains indices of vectors assigned to each mean
Definition
mog_diag_kmeans.h:110
itpp::MOG_diag_kmeans_sup::verbose
bool verbose
Whether we print the progress.
Definition
mog_diag_kmeans.h:95
itpp::MOG_diag
Diagonal Mixture of Gaussians (MOG) class.
Definition
mog_diag.h:56
itpp::MOG_diag::MOG_diag
MOG_diag()
Default constructor.
Definition
mog_diag.h:65
itpp::MOG_diag_kmeans
void MOG_diag_kmeans(MOG_diag &model_in, Array< vec > &X_in, int max_iter_in, double trust_in, bool normalise_in, bool verbose_in)
Definition
mog_diag_kmeans.cpp:347
mog_diag.h
Diagonal Mixture of Gaussians class - header file.
itpp
itpp namespace
Definition
itmex.h:37
Generated by
1.17.0