Feat C++ API
A feature engineering automation tool
FT::Pop::Op::NodeDx Class Referenceabstract

#include <n_Dx.h>

Inheritance diagram for FT::Pop::Op::NodeDx:
Collaboration diagram for FT::Pop::Op::NodeDx:

Public Member Functions

virtual ~NodeDx ()
 
virtual ArrayXf getDerivative (Trace &state, int loc)=0
 
void derivative (vector< ArrayXf > &gradients, Trace &state, int loc)
 
void update (vector< ArrayXf > &gradients, Trace &state, float n, float a)
 
void print_weight ()
 
bool isNodeDx ()
 check of node type More...
 
- Public Member Functions inherited from FT::Pop::Op::Node
 Node ()
 
virtual ~Node ()
 
virtual void evaluate (const Data &data, State &state)=0
 Evaluates the node and updates the state states. More...
 
virtual void eval_eqn (State &state)=0
 evaluates the node symbolically More...
 
unsigned int total_arity ()
 
ArrayXf limited (ArrayXf x)
 limits node output to be between MIN_FLT and MAX_FLT More...
 
void eval_complexity (map< char, vector< unsigned int >> &cstate)
 evaluates complexity of this node in the context of its child nodes. More...
 
void eval_complexity_db (map< char, vector< string >> &cstate)
 evaluates complexity of this node in the context of its child nodes. More...
 
virtual bool isNodeTrain ()
 
std::unique_ptr< Nodeclone () const
 makes a unique copy of this node More...
 
std::unique_ptr< Nodernd_clone () const
 makes a randomized unique copy ofnode More...
 

Public Attributes

std::vector< float > W
 
std::vector< float > V
 
- Public Attributes inherited from FT::Pop::Op::Node
string name
 node type More...
 
string variable_name
 variable name, if any More...
 
char otype
 output type More...
 
std::map< char, unsigned int > arity
 arity of the operator More...
 
int complexity
 complexity of node More...
 
int visits = 0
 

Additional Inherited Members

- Protected Member Functions inherited from FT::Pop::Op::Node
virtual Nodeclone_impl () const =0
 
virtual Nodernd_clone_impl () const =0
 

Detailed Description

Definition at line 13 of file n_Dx.h.

Constructor & Destructor Documentation

◆ ~NodeDx()

FT::Pop::Op::NodeDx::~NodeDx ( )
virtual

Definition at line 8 of file n_Dx.cc.

Member Function Documentation

◆ derivative()

void FT::Pop::Op::NodeDx::derivative ( vector< ArrayXf > &  gradients,
Trace state,
int  loc 
)

Definition at line 10 of file n_Dx.cc.

◆ getDerivative()

◆ isNodeDx()

bool FT::Pop::Op::NodeDx::isNodeDx ( )
virtual

check of node type

Reimplemented from FT::Pop::Op::Node.

Definition at line 80 of file n_Dx.cc.

◆ print_weight()

void FT::Pop::Op::NodeDx::print_weight ( )

Definition at line 71 of file n_Dx.cc.

◆ update()

void FT::Pop::Op::NodeDx::update ( vector< ArrayXf > &  gradients,
Trace state,
float  n,
float  a 
)

update weights via gradient descent + momentum

Parameters
n: learning rate
a: momentum v(t+1) = a * v(t) - n * gradient w(t+1) = w(t) + v(t+1)

Definition at line 15 of file n_Dx.cc.

Member Data Documentation

◆ V

std::vector<float> FT::Pop::Op::NodeDx::V

Definition at line 17 of file n_Dx.h.

◆ W

std::vector<float> FT::Pop::Op::NodeDx::W

Definition at line 16 of file n_Dx.h.


The documentation for this class was generated from the following files: