Files
NeuralNetworkLib/include/NeuralNetwork/BasisFunction/Radial.h

33 lines
678 B
C++

#ifndef __BASIS_RADIAL_H_
#define __BASIS_RADIAL_H_
#include "./BasisFunction.h"
namespace NeuralNetwork
{
namespace BasisFunction
{
class Radial: public BasisFunction
{
public:
Radial() {}
virtual float operator()(const std::vector<float>& weights, const std::vector<float>& input) const override {
float sum = 0.0;
for(std::size_t i=0;i<weights.size();i++) {
sum+=pow(input[i]-weights[i],2);
}
return sqrt(sum);
}
virtual BasisFunction* clone() const override {
return new Radial();
}
virtual std::string stringify() const override {
return "{ \"class\": \"NeuralNetwork::BasisFunction::Radial\" }";
}
};
}
}
#endif