Benutzer-Werkzeuge

Webseiten-Werkzeuge


se:wissensverarbeitung

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
se:wissensverarbeitung [2008-07-12 17:02]
stefan
se:wissensverarbeitung [2014-04-05 11:42] (aktuell)
Zeile 31: Zeile 31:
     * Was ist eine Inferenzmaschine?​     * Was ist eine Inferenzmaschine?​
     * Wie kann man ein Expertensystem realisieren? ​                             * Wie kann man ein Expertensystem realisieren? ​                        
-  ​+  ​- Expertensystem-Implementierung in Prolog 
 +    * Wie kann Wissen verschiedener Art in Prolog formuliert werden? 
 +    * Welche inneren Vorgänge werden beim Bearbeiten eines Goals bearbeitet?​ 
 +    * Wie geht man mit Listen um? 
 +    * Wie erstellt man ein Prolog-Programm mit SWI-Prolog, bringt es zum Laufen und testet es? 
 +    * Wie nutzt man die Standardprädikate sinnvoll? 
 +    * Wie implementiert man ein Planungssystem in Prolog? 
 +    * Wie implementiert man ein Beratungs- oder Diagnosesystem in Prolog? 
 +    * Für welche anderen Aufgaben kann Prolog eingesetzt werden? ​                         
 +  - Verarbeitung von ungenauem Wissen 
 +    * Wie können unscharfe (fuzzy) Mengen beschrieben werden? 
 +    * Wie werden Ausdrücke in Fuzzy Logic ausgewertet?​ 
 +    * Was ist das Ergebnis eines Fuzzy-Reglers bei gegebenen Eingangsgrößen?​ 
 +    * Wie kann man mit Prolog ein Fuzzy-System entwickeln? ​            
 +  - Künstliche Neuronale Netze 
 +    * Wie kann der Lernvorgang eines Neurons beschrieben werden? 
 +    * Wie kann das Schaltverhalten eines Neurons mit den Eingängen x1 und x2 in der x1/x2-Ebene dargestellt werden? 
 +    * Wie bemisst man aus einem gewünschten Schaltverhalten die Gewichte eines Neurons? 
 +    * Wie können Neuronen und verschiedene KNN skizziert werden? 
 +    * Wie wählt man zu einem gegebenen Problem ein geeignetes neuronales Netz aus und dimensioniert dieses? 
 +    * Wie kann der Lernvorgang einer SOM beschrieben werden?​  ​    
 +  - Data Mining 
 +    * Wofür braucht man Data Mining bzw. wo kann es eingesetzt werden? 
 +    * Was sind die wichtigsten Verfahren des Data Mining und wie funktionieren sie? 
 +    * Wie können diese Verfahren realisiert werden?  
 +  - Globale Optimierung 
 +    * Warum ist Optimierung so schwierig?​ 
 +    * Was sind die wichtigsten Verfahren der globalen Optimierung?​ 
 +    * Wie können diese Verfahren realisiert werden?  
 ===== Zusammenfassung des Skripts ===== ===== Zusammenfassung des Skripts =====
 ==== Einleitung ==== ==== Einleitung ====
Zeile 128: Zeile 157:
    
 ==== Expertensysteme ==== ==== Expertensysteme ====
-   * Definition: System, das nach Eingabe des Wissens eines Experten, Probleme aus dem Fachgebiet dieses Experten selbstständig lösen kann. +  ​* Definition: System, das nach Eingabe des Wissens eines Experten, Probleme aus dem Fachgebiet dieses Experten selbstständig lösen kann. 
-   * {{:​se:​aufbauexpertensystem.jpg|Aufbau eines Expertensystems}}+  * Die Bestandteile des Systems können standardisiert werden. ​  ​ 
 +    ​* {{:​se:​aufbauexpertensystem.jpg|Aufbau eines Expertensystems}} 
 +  * Anwendungsbereiche 
 +    * Planungssysteme 
 +    * Diagnosesysteme 
 +    * Beratungssysteme 
 +  * Transformation von Informationen zu Wissen ist dem Menschen vorbehalten  
 + 
 +==== Expertensystem-Implementierung in Prolog ==== 
 +  * Prolog 
 +    * deklarative Programmiersprache ​  
 +    * Wissensdarstellung 
 +      * Prädikatenlogik 
 +      * Meta-Wissen:​ Problemlösungsverfahren ​      
 +    * Problemlösungsmechanismen ​      
 +      * Rückwärtsverkettung 
 +      * Rekursion 
 +      * Tiefen-/​Breitensuche 
 +      * Backtracking 
 +      * Pattern Matching 
 +      * Unifikation von Variablen 
 +  * Syntax 
 +    * Variablen: großer Anfangsbuchstabe,​ Konstanten: kleiner Anfangsbuchstabe,​ anonyme Variable: _ 
 +    * Arity: Anzahl der Parameter eines Prädikats 
 +  * Goal ist eine Anfrage an das Programm 
 +  * Unifikation/​Bindung von Variablen 
 +  * Box-Modell: call, redo, exit, fail 
 +  * **Standardprädikate** 
 +    * write, nl, writenl 
 +    * asserta, assertz, assert, retract, abolish 
 +    * fail, cut 
 +    * member, sort, msort, reverse, append 
 +    * findall ​            
 + 
 +==== Verarbeitung von ungenauem Wissen ==== 
 +  * Unscharfe Mengen 
 +    * Die Zugehörigkeit eines Objekts zu einer Menge wird nicht mit wahr oder falsch, sondern mit einem Zugehörigkeitswert zwischen 0 und 1 beschrieben. 
 +    * Der Wertebereich einer linguistischen Variablen kann in linguistische Werte unterteilt werden. 
 +    * Die Zugehörigkeit eines numerischen Werts zu einem linguistischen Wert wird über eine Zugehörigkeitsfunktion (meistens Dreiecks- oder Trapezfunktionen) beschrieben. 
 +    * Die Umsetzung eines numerischen Wertes in einen oder mehrere linguistische Werte mit Zugehörigkeitswert wird **Fuzzyfikation** genannt. ​      
 +  * Fuzzy Logic 
 +    * x UND y -> minimum(x, y) 
 +    * x OR y -> maximum(x, y) 
 +    * not x -> 1 - x             
 +  * Expertensystem mit Fuzzy Logic 
 +    * OAW-Tripel werden zu VWZ-Tripeln 
 +  * Fuzzy Control 
 + 
 +==== Künstliche neuronale Netze ==== 
 +  * Das menschliche Gehirn besteht aus 10<​sup>​11</​sup>​ Neuronen. 
 +    * {{:​se:​aufbauneuron.jpg|}} ​  
 +  * Vernetzung Synapse -> Axon 
 +  * Lernen beruht auf Änderung der Synapsenstärke ​    
 +  * Lerntypen 
 +    * überwacht: dem neuronalen Netz müssen auch die korrekten Antworten vorgegeben werden 
 +    * nicht überwacht: das Netz lernt selbstständig die ihm angebotenen Informationen zu unterscheiden  ​   
 +  * Aufgaben: Klassifikation,​ Rekonstruktion und Erkennung von Mustern ​  
 +  * Aufgaben des Entwicklers 
 +    * Auswahl des geeigneten Netztyps und Konfiguration 
 +    * Aufbereitung der Muster 
 +    * Bereitstellen von Trainingsmaterial  ​   
 +  * Perceptron 
 +    * Bildet eine n-dimensionale Eingangsinformation auf eine m-dimensionale Ausgangsinformation ab 
 +    * Ausgänge sind nicht rückgekoppelt -> Feed-Forward-Netz 
 +    * Lernen durch Anpassen der Eingangsgewichte mittels Soll-Ist-Vergleich -> überwachtes Lernen 
 +  * Hebb'​sche Regel 
 +    * Wer Recht hat, wird gestärkt, wer Unrecht hat, wird geschwächt. 
 +    * Vereinfachte Lernregel: Wenn das Ergebnis falsch ist, wird (Sollergebnis * Eingangsvektor) zum Gewichtsvektor addiert. 
 +  * Grenzen 
 +    * Lineare Separierbarkeit -> RBF-Neuron oder Mehrschicht-Perceptron 
 +  * Mehrschicht-Perceptron 
 +    * verdeckte Schichten (Anzahl und Größe: Erfahrungswerte) 
 +    * Lernen durch Backpropagation 
 +    * Eignung: Klassifizierung von Mustern/​Kurvenapproximation 
 +  * Hopfield-Netz 
 +    * rückgekoppeltes Perceptron 
 +    * Eignung: Rekonstruktion von Mustern  ​  
 +  * Kohonen-Netz (SOM = Self Organizing Map) 
 +    * nicht überwachtes Lernen 
 +    * die Neuronen, die am dichtesten am Eingangssignal liegen, werden in Richtung desselben verschoben ​    
 +    * Auswertung meist mit nachgelagertem Mehrschicht-Preceptron ​    
 + 
 +==== Data Mining ==== 
 +  * Ziel: Zusammenhänge und Auffälligkeiten in Datenbeständen finden 
 +  * Verfahren 
 +    * Clusteranalyse 
 +      * Cluster finden 
 +        * Least-Cost-Suche,​ dann Weg an längsten Wegen auftrennen 
 +        * Kohonennetz mit nachgeschaltetem Backpropagation-Netz 
 +      * Besonderheiten (Punkte außerhalb der Cluster) untersuchen      
 +    * Assoziationsanalyse 
 +    * Zeitreihenanalyse 
 + 
 +==== Globale Optimierung ==== 
 +  * Verfahren basieren auf zufälligen Änderungen und nicht auf zielgerichteten Algorithmen 
 +  * Stochastische Verfahren (pro Schritt eine neue Kombination:​ besser -> weiterverfolgen,​ schlechter -> vielleicht weiterverfolgen) 
 +    * Simulated Annealing (Wahrscheinlichkeit,​ dass schlechtere Kombination weiterverfolgt wird, wird langsam verringert) 
 +    * Sintflut-Verfahren (schlechtere Kombination wird weiterverfolgt,​ wenn sie besser ist als ein ansteigender Grenzwert) 
 +    * Threshold Accepting (schlechtere Kombination wird weiterverfolgt,​ wenn die Verschlechterung kleiner ist als ein abnehmender Grenzwert) 
 +  * Evolutionäre Verfahren (pro Schritt mehrere neue Kombinationen,​ Auswahl der besten hiervon) 
 +    * Evolutionsstrategien (Nachfolgeversionen werden durch Mutation der Vaterversion erzeugt) 
 +    * Genetische Algorithmen (Nachfolgeversionen werden durch Kombination des Elternpaares erzeugt) 
 +    * Variationen:​ Eltern werden in die neue Generation mit aufgenommen oder nicht, oder vergreisen 
 +     
 +===== ToDo ===== 
 +  * <​del>​Prolog-Aufgaben S. 45/46 und 49</​del>​ 
 +  * <​del>​Beispielrechnung Defuzzyfikation S. 55</​del>​ 
 +  * <​del>​Aufgaben S. 65/​66</​del>​ 
 +  * <​del>​Fuzzy-System S. 51</​del>​ 
 +  * <​del>​Missionare/​Kannibalen-Problem</​del>​ 
 +  * <​del>​Praktikumsaufgaben</​del>​ 
 +  * <​del>​Handlungsreisender S. 46</​del>​ 
 +  * <​del>"​Ein ehrliches Strandvergnügen"</​del>​ 
 +  * <​del>​Abenteurer,​ max. 4 Tagesrationen Nahrung, 5 Lager bis Ziel</​del>​ 
 +  * <​del>​Beratungssystem mit Fuzzy Logic</​del>​ 
 +  * <​del>​Klausur WS 05</​del>​ 
 +  * <​del>​Klausur SS 07</​del>​ 
 +  * <​del>​Optimierungsverfahren</​del>​ 
 +  * <​del>​Kurvenapproximation durch Perceptrons</​del>​ 
 +  * <​del>​Programm Beweisführung S. 23</​del>​ 
 +  * <​del>​Typen von neuronalen Netzen (verteilt, vernetzt, rückgekoppelt etc.) S. 59</​del>​ 
 +  * <​del>​Backpropagation (of error)</​del>​ 
 +  * <​del>​Hopfield-Netz</​del>​ 
 +  * <​del>​Minimax- und Alpha-Beta-Algorithmus</​del>​ 
 +  * <​del>​Informationen zu Systemen: MYCIN, EMYCIN, PUFF, XCON, PROSPECTOR, MOVER, SHRDLU, Ham-RPM, ELIZA</​del>​ 
 +  * <​del>​Expertensystemshells:​ NEXPERT Object, Smart Elements, KEE, EMYCIN, TWAICE</​del>​ 
se/wissensverarbeitung.1215874947.txt.gz · Zuletzt geändert: 2014-04-05 11:42 (Externe Bearbeitung)