Files
NeuralNetworkLib/include/NeuralNetwork/Learning/PerceptronLearning.h
2016-03-07 22:51:28 +01:00

38 lines
883 B
C++

#pragma once
#include <vector>
#include <cmath>
#include <NeuralNetwork/FeedForward/Network.h>
#include "CorrectionFunction/Linear.h"
namespace NeuralNetwork {
namespace Learning {
/** @class BackPropagation
* @brief
*/
class PerceptronLearning {
public:
inline PerceptronLearning(FeedForward::Network &feedForwardNetwork): network(feedForwardNetwork), learningCoefficient(0.4) {
}
virtual ~PerceptronLearning() {
}
PerceptronLearning(const PerceptronLearning&)=delete;
PerceptronLearning& operator=(const NeuralNetwork::Learning::PerceptronLearning&) = delete;
void teach(const std::vector<float> &input, const std::vector<float> &output);
inline virtual void setLearningCoefficient (const float& coefficient) { learningCoefficient=coefficient; }
protected:
FeedForward::Network &network;
float learningCoefficient;
};
}
}