00001
00002
00003 #ifndef TRAINING_ALGO_H
00004 #define TRAINING_ALGO_H
00005
00006 #include <vector>
00007
00008 namespace FD {
00009
00010 class FFNet;
00011
00012 class TrainingAlgo {
00013 public:
00014 };
00015
00016
00017
00018 class TrainingDeltaBarDelta : public TrainingAlgo {
00019 public:
00020 static void train(FFNet *net, std::vector<float *> tin, std::vector<float *> tout, int iter, float learnRate,
00021 float increase, float decrease, int nbSets=1, bool rprop=false);
00022 };
00023
00024
00025 class TrainingSCG : public TrainingAlgo {
00026 public:
00027 static void train(FFNet *net, std::vector<float *> tin, std::vector<float *> tout, int iter, float sigma, float lambda);
00028 };
00029
00030 class TrainingQProp : public TrainingAlgo {
00031 public:
00032 static void train(FFNet *net, std::vector<float *> tin, std::vector<float *> tout, int iter, float learnRate);
00033 };
00034
00035 class TrainingWeightDeltaBarDelta : public TrainingAlgo {
00036 public:
00037 static void train(FFNet *net, std::vector<float *> tin, std::vector<float *> tout, std::vector<float *> learnWeights, int iter, float learnRate,
00038 float increase, float decrease);
00039 };
00040
00041 }
00042
00043 #endif