summaryrefslogtreecommitdiff
path: root/Neurone/FonctionActivation.h
blob: ccd111932da56fd8f70b185e9f70b53efb29ce00 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#ifndef _FONCTIONACTIVATION_H_
#define _FONCTIONACTIVATION_H_
#include<math.h>
/**
 * L'objectif ce cette classe et d'être appeller pour l'activation
 * et donc changer plus facilement la fonction d'activation pour le test.
 */
class FonctionActivation {
public:
  typedef enum {
    IDENTITY,
    BINARYSTEP,
    SIGMOID, // : Hyperparameter k
    TAN,
    SIN,
    /* Rectifier */
    RELU,  // Basic : ramp function
    LRELU, // Leaky function : 0.01
    PRELU, // Hyperparameter : Hyperparameter k
    ELU    // Exponential and ramp
  } EnumFonctionActivation;

private:
  EnumFonctionActivation fonctionActivation;

public:
  FonctionActivation();
  FonctionActivation(EnumFonctionActivation fonctionActivation);

  void setFonctionActivation(EnumFonctionActivation fonctionActivation);
  double getValeurActivation(double sum, double k = 0) const;
  double getValeurDerivee(double sum, double k = 0) const;
};
#endif