summaryrefslogtreecommitdiffstats
path: root/Master/Computational Intelligence/NeuroFuzzy/assignment/part3.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/Computational Intelligence/NeuroFuzzy/assignment/part3.tex')
-rw-r--r--Master/Computational Intelligence/NeuroFuzzy/assignment/part3.tex122
1 files changed, 122 insertions, 0 deletions
diff --git a/Master/Computational Intelligence/NeuroFuzzy/assignment/part3.tex b/Master/Computational Intelligence/NeuroFuzzy/assignment/part3.tex
new file mode 100644
index 0000000..113196d
--- /dev/null
+++ b/Master/Computational Intelligence/NeuroFuzzy/assignment/part3.tex
@@ -0,0 +1,122 @@
+\section{Das NEFCON-Model}
+Das NEFCON-Model basiert auf dem dreischichtigen, generischen Fuzzy-Perzeptron.
+Dabei wird der Ansatz des reinforcement learnings\cite{Nue99} verwendet. Das
+heißt, dass Regeln bzw. Fuzzy-Mengen je nach Güte belohnt oder bestraft werden.
+
+Dabei kann das NEFCON-Model zwei Problemstellungen lösen. Zum einen kann es eine
+Regelbasis aufbauen. Voraussetzung ist hierbei, dass die Fuzzy-Mengen korrekt
+und vollständig sind. Zum anderen kann es dazu verwendet werden Fuzzy-Mengen zu
+lernen, wobei eine vollständige Regelbasis vorausgesetzt wird. Zusätzlich ist
+es nötig, dass die Anzahl der Fuzzy-Mengen bekannt ist.
+\subsection{Erlernen einer Regelbasis}
+Die Regelbasen, die optimiert werden sollen, lassen sich in drei Klassen
+unterteilen. Regelbasen die bisher leer sind, Regelbasen die vollständig sind im
+Sinne aller kombinatorischen Möglichkeiten und Regelbasen, die zufällig
+generiert wurden. Bisher ist allerdings nur das Lernen durch leere und volle
+Regelbasen umgesetzt worden. Vgl. \cite{Nue99}
+
+Wird eine leere Regelbasis verwendet, werden zu Beginn alle kombinatorischen
+Mög"-lich"-keiten generiert und anschließend Regeln mit falschem Vorzeichen
+entfernt. Im Grunde erhält man dadurch also auch eine volle Regelbasis
+und somit lässt sich nun für beide möglichen Vorgehensweisen der
+gleiche Ablauf definieren.
+
+Die anschließende Vorgehensweise lässt sich nun in zwei Phasen aufteilen.
+In Phase 1 wird eine feste Periode oder Anzahl an Iterationen definiert und
+dabei werden Regeln entfernt, wenn diese nicht zur optimalen Ausgabe passen.
+
+In Phase 2 werden Regeln, die die gleiche Prämisse enthalten in Regelgruppen
+zusammengeführt um anschließend zufällig eine Regel der Regelgruppe auszuwählen.
+Jede dieser ausgewählten Regeln wird anhand ihrer Gewichtung ein Fehleranteil
+am Ergebnis berechnet. Anschließend werden alle Regeln, bis auf die mit dem kleinsten Fehleranzahl aus der Regelgruppe entfernt, wie auch Regeln die selten verwendet wurden. \subsubsection{Beispiel des Erlernens einer Regelbasis} Um das Lernverfahren zu veranschaulichen wird ein Beispiel verwendet das aus \cite{Lip06} entnommen ist. Dabei wird in diesem Beispiel ein inverses Pendel
+verwendet, dass sich auf einem Wagen bewegt. Ziel ist es nun geeignete Regeln zu
+finden, die das Pendel bei der Fahrt des Wagens ausbalanciert und es somit nicht
+umkippt.
+
+Die durch dieses Lernverfahren entstandenen Regeln sind wie folgt:
+\begin{center}
+\includegraphics[width=15cm]{img/nefconexample}
+\end{center}
+
+Das Erlernen der Regelbasis ist dabei vor allem davon abhängig, wie gut die
+Parameter gewählt wurden. Wichtig ist dabei die Wahl der Anzahl, der Iterationen
+durch Phase 1, sowie Phase 2. Empfohlen werden dabei 2000 bis 300 Iterationen.
+Außerdem sollte eine geeignete Stellgröße für die Minimalverwendung einer Regel
+gefunden werden. Dieser Wert sollte dabei zwischen 1.00 und 1.03 gewählt werden,
+da sonst wichtige Regeln, die aber nur selten vorkommen aus der Regelbasis
+entfernt werden. Zusätzlich ist es möglich bekannte Regeln zu definieren. Diese
+werden dann vom Lernalgorithmus nicht entfernt und es werden auch keine Regeln
+erzeugt, die die gleiche Prämisse enthalten.\cite{Lip06}
+\subsection{Erlernen von Fuzzy-Mengen}
+Ein weiterer Einsatzbereich des NEFCON-Models ist das Erlernen von Fuzzy-Mengen.
+Dabei wird vorausgesetzt, dass eine korrekte Regelbasis besteht. Durch den
+Fuzzy-Backpropagationalgorithmus wird die Güte einer Regel bestimmt um ``gute''
+Regeln zu belohnen und ``schlechte'' Regeln zu bestrafen.
+
+Dabei wird der Beitrag $t_k$ der Regel $R_k$ zum Ergebnis durch $t_k =
+u^{-1}_{k}(o_k)$ ermittelt. Die dadurch erhaltene Stellgröße gibt den Zustand
+der Größe an wobei der Wert 0 dem optimalen Zustand entspricht. Enthält die
+Stellgröße dabei das richtige Vorzeichen, wird die Regel als gut eingestuft. Mit
+dieser Klassifizierung wird der Einfluss ``guter'' Regeln vergrößert und der
+Einfluss ``schlechter'' Regeln verkleinert.
+
+Das Lernverfahren selbst besteht aus sechs Einzelschritten:
+
+\paragraph{Schritt 1}
+Berechne Ausgabe $o$ für die Messwert, wende sie auf das zusteuernde System
+an und berechne die sich daraus ergebenden Messwerte.
+
+\paragraph{Schritt 2}
+Berechne den Fuzzy-Fehler, der sich aus den Messwerten von Schritt 1 ergibt.
+
+\paragraph{Schritt 3}
+Bestimme das Vorrücken des Stellwertes im neuen Systemzustand.
+
+\paragraph{Schritt 4}
+Berechne für Regel $R_k$ den Beitrag $t_k$. Dabei ist das Fehlersignal $F_k$ für
+Regel $R_k$ gegeben durch
+ \begin{displaymath}
+ F_k :=
+ \begin{cases}
+ -o * E \qquad \text{Vorzeichen von $t_k$ richtig}
+ \\
+ o * E \qquad \quad \text{Vorzeichen von $t_k$ falsch}
+ \end{cases}
+ \end{displaymath}
+\paragraph{Schritt 5}
+Modifizierung aller Eingabe-Fuzzy-Mengen $\tilde{A}_{i*}^{(k)} =
+(l_{i*}^{(k)},m_{i*}^{(k)},r_{i*}^{(k)})$.
+
+\begin{displaymath}
+ \Delta l_{i*}^{(k)} = -\eta * F_k * (m_{i*}^{(k)} - l_{i*}^{(k)})
+\end{displaymath}
+\begin{displaymath}
+ \Delta r_{i*}^{(k)} = -\eta * F_k * (r_{i*}^{(k)} - m_{i*}^{(k)})
+\end{displaymath}
+
+Dabei stehen $l$, $m$ und $r$ für die linke, rechte und mittlere Fuzzy-Menge,
+die in diesem Beispiel verwendet wird. Diese Fuzzy-Mengen werden um den $\Delta$
+verschoben um ein optimale Fuzzy-Menge zu erhalten. $\eta$ entspricht der
+Gewichtung der Fuzzy-Menge. Allerdings wird Fuzzy-Menge $m$ nicht neu berechnet,
+sondern als korrekt angesehen.
+
+\paragraph{Schritt 6}
+Modifizierung aller Ausgabe-Fuzzy-Mengen $\tilde{B}_{i*}^{(k)} =
+(m_{i*}^{(k)},b_{i*}^{(k)})$.
+
+\begin{displaymath}
+ \Delta b_{j*}^{(k)}
+ \begin{cases}
+ \eta * F_k * (b_{j*}^{(k)} - m_{j*}^{(k)}) \qquad b_{j*}^{(k)} >
+ m_{j*}^{(k)}\\ \eta * F_k * (m_{j*}^{(k)} - b_{j*}^{(k)}) \qquad b_{j*}^{(k)} < m_{j*}^{(k)}
+ \end{cases}
+\end{displaymath}
+
+\subsection{Nachteile des NEFCON-Models}
+Ein großer Nachteil des NEFCON ist die Voraussetzung von monotonen
+Fuzzy-Mengen. Das heißt das keine Gauß- \& Dreiecks-Mengen möglich, diese werden
+von Fuzzy-Control"-lern allerdings häufig verwendet.
+Ein weiterer Nachteil ist, dass es nur möglich ist ein Ausgabeneuron zu
+verwenden und es somit auch nur einen Ausgabewert gibt.
+Zusätzlich ist es nicht möglich die erzeugten Regeln zu überprüfen oder fehlende
+Fuzzy-Mengen zu generieren.\cite{Lip06}