/** * This file contains an interface for all learning methods in the library * * @author Michal KravĨenko * @date 12.8.18 - */ #ifndef LIB4NEURO_ILEARNINGMETHODS_H #define LIB4NEURO_ILEARNINGMETHODS_H #include <vector> #include "../ErrorFunction/ErrorFunctions.h" class ILearningMethods { private: /** * */ lib4neuro::ErrorFunction *ef = nullptr; public: /* * Runs the method specific learning algorithm minimizing the given error function */ virtual void optimize( lib4neuro::ErrorFunction &ef ) = 0; /* * Updates the optimal weight&bias settings in the passed vector */ virtual std::vector<double>* get_parameters( ) = 0; }; #endif //LIB4NEURO_ILEARNINGMETHODS_H