Skip to content
Snippets Groups Projects
NeuronFilter.cpp 1.13 KiB
Newer Older
  • Learn to ignore specific revisions
  • 
    #include <boost/serialization/export.hpp>
    
    #include "NeuronRectifier.h"
    #include "NeuronBinary.h"
    #include "Neuron.h"
    #include "NeuronSerialization.h"
    #include "NeuronFilterSerialization.h"
    
    BOOST_CLASS_EXPORT_IMPLEMENT(lib4neuro::NeuronFilter);
    
    namespace lib4neuro {
        NeuronFilter::NeuronFilter(double b) {
    			this->bias = b;
    		}
    
        double NeuronFilter::activate(double x,
                                         double b) {
            this->activation_val = (0 < x + this->bias) ? x : 0.0;
            return this->activation_val;
        }
    
        double NeuronFilter::activation_function_eval_derivative_bias(double x,
                                                                    		 double b) {
            // f'(0) = 0 for the purposes of training
            return 0.0;
        }
    
        double NeuronFilter::activation_function_eval_derivative(double x,
                                                                    double b) {
            // f'(0) = 0 for the purposes of training
            return ((x + this->bias) > 0) ? 1.0 : 0.0;
        }
    
        Neuron* NeuronFilter::get_derivative() {
            NeuronBinary* output = new NeuronBinary();
            return output;
        }
    
    
    }