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-11 16:49]
stefan
se:wissensverarbeitung [2014-04-05 11:42] (aktuell)
Zeile 5: Zeile 5:
  
 ===== Lernziele ===== ===== Lernziele =====
-  - Kapitel 1+  - Einleitung
     * Was bedeutet Wissensverarbeitung?​     * Was bedeutet Wissensverarbeitung?​
     * Was unterscheidet Wissensverarbeitung von Datenverarbeitung?​     * Was unterscheidet Wissensverarbeitung von Datenverarbeitung?​
Zeile 11: Zeile 11:
     * Welche grundsätzlich unterschiedlichen Systeme gehören dazu?     * Welche grundsätzlich unterschiedlichen Systeme gehören dazu?
     * Wie sind diese aufgebaut und wie arbeiten sie?     * Wie sind diese aufgebaut und wie arbeiten sie?
-  - Kapitel 2+  - Wissen
     * Woraus besteht Wissen?     * Woraus besteht Wissen?
     * Wie kann man Wissen strukturieren und darstellen?     * Wie kann man Wissen strukturieren und darstellen?
     * Wie kann man Wissen in formalen Sprachen formulieren?​  ​         * Wie kann man Wissen in formalen Sprachen formulieren?​  ​    
-  - Kapitel 3+  - Wie kann man mit Wissen Probleme lösen?
     * Was ist ein Zustandsraum?​     * Was ist ein Zustandsraum?​
     * Wie kann man daraus einen Zustandsbaum machen?     * Wie kann man daraus einen Zustandsbaum machen?
Zeile 23: Zeile 23:
     * Was ist ein UND-ODER-Baum?​     * Was ist ein UND-ODER-Baum?​
     * Wie funktioniert Rekursion und warum ist sie für das Problemlösen wichtig?​  ​   ​     * Wie funktioniert Rekursion und warum ist sie für das Problemlösen wichtig?​  ​   ​
 +  - Expertensysteme
 +    * Aus welchen Komponenten ist ein Expertensystem aufgebaut?
 +    * Wofür kann man es anwenden?
 +    * Welche Arbeit muss dabei der Mensch übernehmen?​
 +    * Welche klassischen Beispiele gibt es?
 +    * Warum sind Schachcomputer so schlecht?
 +    * Was ist eine Inferenzmaschine?​
 +    * 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 =====
Zeile 88: Zeile 125:
       * Prädikat: Satzaussage       * Prädikat: Satzaussage
  
-==== Wie kann man mit Wissen Probleme lösen? ====                 ​+==== Wie kann man mit Wissen Probleme lösen? ==== 
 +  * Denkansätze 
 +    * Suche im Zustandsraum 
 +    * Problemreduktion 
 +    * Rekursion 
 +    * Vorwärts-/​Rückwärtsverkettung (Forward/​Backward Chaining) 
 +  * Suche im Zustandsraum 
 +    * Suche nach dem optimalen Weg durch einen gerichteten Graphen, der alle Zustände des Systems als Knoten und alle Operatoren als Kanten enthält 
 +    * Umwandlung in Zustands**baum** durch Verbieten bereits besuchter Zustände 
 +    * Suchverfahren 
 +      * Tiefensuche 
 +        * Backtracking ​      
 +      * Breitensuche 
 +        * Least-Cost-Suche 
 +        * Heuristische Suche / Best-First-Suche 
 +          * **A-Heuristik**:​ Heuristik (Schätzfunktion),​ die die Summe des bisherigen Aufwands mit einer Schätzung für den Restaufwand verbindet 
 +  * Problemreduktion 
 +    * Zerlegung des Problems in Teilprobleme,​ bis Teilprobleme direkt aus der Wissensbasis lösbar sind 
 +    * Darstellung als UND-ODER-Baum 
 +    * Auf ODER-Knoten können wieder die obigen Suchverfahren angewandt werden 
 +  * Rekursion 
 +    * Sonderfall der Problemreduktion 
 +    * Lösungsverfahren für Problem ist auch für Teilprobleme anwendbar 
 +    * Vorgehensweise 
 +      - Was ist der einfachste Sonderfall und was ist in diesem Fall zu tun? 
 +      - Was ist der nächst kompliziertere Fall und was ist dann zu tun? 
 +      - Was ist der nächst kompliziertere Fall und wie kann dieser auf den vorherigen abgebildet werden? 
 +      - Welches ist der allgemeine Fall und wie kann dieser auf den vorherigen abgebildet werden? 
 +      - Lässt sich der zweite Fall ebenso auf den ersten zurückführen?​ 
 +      - Formulieren des Gesamtalgorithmus 
 +  
 +==== Expertensysteme ==== 
 +  * Definition: System, das nach Eingabe des Wissens eines Experten, Probleme aus dem Fachgebiet dieses Experten selbstständig lösen kann. 
 +  * 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.1215787775.txt.gz · Zuletzt geändert: 2014-04-05 11:42 (Externe Bearbeitung)