SHOGUN v0.9.0
组合类型 | 公有成员 | 保护成员 | 保护属性
CPolyFeatures类参考

详细描述

implement DotFeatures for the polynomial kernel

see DotFeatures for further discription

在文件PolyFeatures.h25行定义。

继承图,类CPolyFeatures
Inheritance graph
[图例]

所有成员的列表。

组合类型

struct  poly_feature_iterator

公有成员

 CPolyFeatures (void)
 CPolyFeatures (CSimpleFeatures< float64_t > *feat, int32_t degree, bool normalize)
virtual ~CPolyFeatures ()
 CPolyFeatures (const CPolyFeatures &orig)
virtual int32_t get_dim_feature_space ()
virtual int32_t get_nnz_features_for_vector (int32_t num)
virtual EFeatureType get_feature_type ()
virtual EFeatureClass get_feature_class ()
virtual int32_t get_num_vectors ()
virtual float64_t dot (int32_t vec_idx1, CDotFeatures *df, int32_t vec_idx2)
virtual int32_t get_size ()
CFeaturesduplicate () const
virtual const char * get_name () const
float64_t dense_dot (int32_t vec_idx1, const float64_t *vec2, int32_t vec2_len)
void add_to_dense_vec (float64_t alpha, int32_t vec_idx1, float64_t *vec2, int32_t vec2_len, bool abs_val)
virtual void * get_feature_iterator (int32_t vector_index)
virtual bool get_next_feature (int32_t &index, float64_t &value, void *iterator)
virtual void free_feature_iterator (void *iterator)

保护成员

void store_normalization_values ()
void store_multi_index ()
void enumerate_multi_index (const int32_t feat_idx, uint16_t **index, uint16_t *exponents, const int32_t degree)
void store_multinomial_coefficients ()
int32_t bico2 (int32_t n, int32_t k)
int32_t bico (int32_t n, int32_t k)
int32_t calc_feature_space_dimensions (int32_t N, int32_t D)
int32_t multinomialcoef (int32_t *exps, int32_t len)
float64_t gammln (float64_t xx)
float64_t factln (int32_t n)

保护属性

CSimpleFeatures< float64_t > * m_feat
int32_t m_degree
bool m_normalize
int32_t m_input_dimensions
int32_t m_output_dimensions
uint16_t * m_multi_index
float64_tm_multinomial_coefficients
float32_tm_normalization_values

构造及析构函数文档

CPolyFeatures ( void  )

default constructor

在文件PolyFeatures.cpp5行定义。

CPolyFeatures ( CSimpleFeatures< float64_t > *  feat,
int32_t  degree,
bool  normalize 
)

constructor

参数:
featreal features
degreedegree of the polynomial kernel
normalizenormalize kernel

在文件PolyFeatures.cpp18行定义。

~CPolyFeatures ( ) [virtual]

在文件PolyFeatures.cpp37行定义。

CPolyFeatures ( const CPolyFeatures orig)

copy constructor

not implemented!

参数:
origoriginal PolyFeature

在文件PolyFeatures.h47行定义。


成员函数文档

void add_to_dense_vec ( float64_t  alpha,
int32_t  vec_idx1,
float64_t vec2,
int32_t  vec2_len,
bool  abs_val 
) [virtual]

compute alpha*x+vec2

参数:
alphaalpha
vec_idx1index of first vector x
vec2vec2
vec2_lenlength of vec2
abs_valif true add the absolute value

实现了CDotFeatures

在文件PolyFeatures.cpp109行定义。

int32_t bico ( int32_t  n,
int32_t  k 
) [protected]

efficient implementation for the binomial coefficient function for larger values of k

在文件PolyFeatures.cpp309行定义。

int32_t bico2 ( int32_t  n,
int32_t  k 
) [protected]

simple recursive implementation of binomial coefficient which is very efficient if k is small, otherwise it calls a more sophisticated implementation

在文件PolyFeatures.cpp230行定义。

int32_t calc_feature_space_dimensions ( int32_t  N,
int32_t  D 
) [protected]

recursion to calculate the dimensions of the feature space: A(N, D)= sum_d=0^D A(N-1, d) A(1, D)==1 A(N, 0)==1 where N is the dimensionality of the input space and D is the degree

在文件PolyFeatures.cpp255行定义。

float64_t dense_dot ( int32_t  vec_idx1,
const float64_t vec2,
int32_t  vec2_len 
) [virtual]

compute dot product of vector with index arg1 with an given second vector

参数:
vec_idx1index of first vector
vec2second vector
vec2_lenlength of second vector

实现了CDotFeatures

在文件PolyFeatures.cpp81行定义。

float64_t dot ( int32_t  vec_idx1,
CDotFeatures df,
int32_t  vec_idx2 
) [virtual]

compute dot product between vector1 and vector2, appointed by their indices

参数:
vec_idx1index of first vector
dfDotFeatures (of same kind) to compute dot product with
vec_idx2index of second vector

实现了CDotFeatures

在文件PolyFeatures.cpp45行定义。

CFeatures * duplicate ( ) const [virtual]

duplicate feature object

返回:
feature object

实现了CFeatures

在文件PolyFeatures.cpp314行定义。

void enumerate_multi_index ( const int32_t  feat_idx,
uint16_t **  index,
uint16_t *  exponents,
const int32_t  degree 
) [protected]

recursive function enumerating all multi-indices that sum up to the degree of the polynomial kernel

在文件PolyFeatures.cpp174行定义。

float64_t factln ( int32_t  n) [protected]

implementation of the ln(x!) function

在文件PolyFeatures.cpp299行定义。

virtual void free_feature_iterator ( void *  iterator) [virtual]

clean up iterator call this function with the iterator returned by get_first_feature

参数:
iteratoras returned by get_first_feature

实现了CDotFeatures

在文件PolyFeatures.h203行定义。

float64_t gammln ( float64_t  xx) [protected]

efficient implementation of the ln(gamma(x)) function

在文件PolyFeatures.cpp283行定义。

virtual int32_t get_dim_feature_space ( ) [virtual]

get dimensions of feature space

返回:
dimensions of feature space

实现了CDotFeatures

在文件PolyFeatures.h55行定义。

virtual EFeatureClass get_feature_class ( ) [virtual]

get feature class

返回:
feature class

实现了CFeatures

在文件PolyFeatures.h83行定义。

virtual void* get_feature_iterator ( int32_t  vector_index) [virtual]

iterate over the non-zero features

call get_feature_iterator first, followed by get_next_feature and free_feature_iterator to cleanup

参数:
vector_indexthe index of the vector over whose components to iterate over
返回:
feature iterator (to be passed to get_next_feature)

实现了CDotFeatures

在文件PolyFeatures.h176行定义。

virtual EFeatureType get_feature_type ( ) [virtual]

get feature type

返回:
feature type

实现了CFeatures

在文件PolyFeatures.h74行定义。

virtual const char* get_name ( void  ) const [virtual]
返回:
name of class

实现了CSGObject

在文件PolyFeatures.h129行定义。

virtual bool get_next_feature ( int32_t &  index,
float64_t value,
void *  iterator 
) [virtual]

iterate over the non-zero features

call this function with the iterator returned by get_first_feature and call free_feature_iterator to cleanup

参数:
indexis returned by reference (-1 when not available)
valueis returned by reference
iteratoras returned by get_first_feature
返回:
true if a new non-zero feature got returned

实现了CDotFeatures

在文件PolyFeatures.h192行定义。

virtual int32_t get_nnz_features_for_vector ( int32_t  num) [virtual]

get number of non-zero features in vector

参数:
numindex of vector
返回:
number of non-zero features in vector

实现了CDotFeatures

在文件PolyFeatures.h65行定义。

virtual int32_t get_num_vectors ( ) [virtual]

get number of vectors

返回:
number of vectors

实现了CFeatures

在文件PolyFeatures.h92行定义。

virtual int32_t get_size ( ) [virtual]
返回:
size

实现了CFeatures

在文件PolyFeatures.h114行定义。

int32_t multinomialcoef ( int32_t *  exps,
int32_t  len 
) [protected]

calculate the multinomial coefficient

在文件PolyFeatures.cpp269行定义。

void store_multi_index ( ) [protected]

caller function for the recursive function enumerate_multi_index

在文件PolyFeatures.cpp158行定义。

void store_multinomial_coefficients ( ) [protected]

function calculating the multinomial coefficients for all multi indices

在文件PolyFeatures.cpp202行定义。

void store_normalization_values ( ) [protected]

store the norm of each training example

在文件PolyFeatures.cpp139行定义。


成员数据文档

int32_t m_degree [protected]

degree of the polynomial kernel

在文件PolyFeatures.h254行定义。

features in original space

在文件PolyFeatures.h252行定义。

int32_t m_input_dimensions [protected]

dimensions of the input space

在文件PolyFeatures.h258行定义。

uint16_t* m_multi_index [protected]

flattened matrix of all multi indices that sum do the degree of the polynomial kernel

在文件PolyFeatures.h263行定义。

multinomial coefficients for all multi-indices

在文件PolyFeatures.h265行定义。

store norm of each training example

在文件PolyFeatures.h267行定义。

bool m_normalize [protected]

normalize

在文件PolyFeatures.h256行定义。

int32_t m_output_dimensions [protected]

dimensions of the feature space of the polynomial kernel

在文件PolyFeatures.h260行定义。


该类的文档由以下文件生成:

SHOGUN Machine Learning Toolbox - Documentation