Preprocessor PCACut performs principial component analysis on the input vectors and keeps only the n eigenvectors with eigenvalues above a certain threshold.
On preprocessing the stored covariance matrix is used to project vectors into eigenspace only returning vectors of reduced dimension n. Optional whitening is performed.
This is only useful if the dimensionality of the data is rather low, as the covariance matrix is of size num_feat*num_feat. Note that vectors don't have to have zero mean as it is substracted.
公有成员 | |
CPCACut (int32_t do_whitening=0, float64_t thresh=1e-6) | |
virtual | ~CPCACut () |
virtual bool | init (CFeatures *f) |
initialize preprocessor from features | |
virtual void | cleanup () |
cleanup | |
virtual float64_t * | apply_to_feature_matrix (CFeatures *f) |
virtual float64_t * | apply_to_feature_vector (float64_t *f, int32_t &len) |
virtual const char * | get_name () |
保护属性 | |
double * | T |
int32_t | num_dim |
int32_t | num_old_dim |
float64_t * | mean |
bool | initialized |
true when already initialized | |
int32_t | do_whitening |
float64_t | thresh |
~CPCACut | ( | ) | [virtual] |
在文件PCACut.cpp第36行定义。
apply preproc on feature matrix result in feature matrix return pointer to feature_matrix, i.e. f->get_feature_matrix();
实现了CSimplePreProc< float64_t >。
在文件PCACut.cpp第186行定义。
apply preproc on single feature vector result in feature matrix
实现了CSimplePreProc< float64_t >。
在文件PCACut.cpp第228行定义。
void cleanup | ( | ) | [virtual] |
bool init | ( | CFeatures * | f ) | [virtual] |
initialize preprocessor from features
compute mean
A = 1.0*xy^T+A blas
实现了CPreProc。
在文件PCACut.cpp第43行定义。
int32_t do_whitening [protected] |
bool initialized [protected] |
int32_t num_old_dim [protected] |