summaryrefslogtreecommitdiff
path: root/Neurone/FonctionActivation.h
diff options
context:
space:
mode:
Diffstat (limited to 'Neurone/FonctionActivation.h')
-rw-r--r--Neurone/FonctionActivation.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/Neurone/FonctionActivation.h b/Neurone/FonctionActivation.h
new file mode 100644
index 0000000..ccd1119
--- /dev/null
+++ b/Neurone/FonctionActivation.h
@@ -0,0 +1,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