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 15:48]
stefan
se:wissensverarbeitung [2014-04-05 11:42] (aktuell)
Zeile 5: Zeile 5:
  
 ===== Lernziele ===== ===== Lernziele =====
-  * Was bedeutet Wissensverarbeitung?​ +  ​- Einleitung 
-  * Was unterscheidet Wissensverarbeitung von Datenverarbeitung?​ +    ​* Was bedeutet Wissensverarbeitung?​ 
-  * Warum und wozu ist diese andere Art der Computerprogrammierung erforderlich?​ +    * Was unterscheidet Wissensverarbeitung von Datenverarbeitung?​ 
-  * Welche grundsätzlich unterschiedlichen Systeme gehören dazu? +    * Warum und wozu ist diese andere Art der Computerprogrammierung erforderlich?​ 
-  * Wie sind diese aufgebaut und wie arbeiten sie?+    * Welche grundsätzlich unterschiedlichen Systeme gehören dazu? 
 +    * Wie sind diese aufgebaut und wie arbeiten sie? 
 +  - Wissen 
 +    * Woraus besteht Wissen? 
 +    * Wie kann man Wissen strukturieren und darstellen?​ 
 +    * Wie kann man Wissen in formalen Sprachen formulieren?​  ​     
 +  - Wie kann man mit Wissen Probleme lösen? 
 +    * Was ist ein Zustandsraum?​ 
 +    * Wie kann man daraus einen Zustandsbaum machen? 
 +    * Welche Suchverfahren im Zustandsbaum gibt es? 
 +    * Was ist Backtracking und wofür benötigt man es? 
 +    * Was ist eine Heuristikfunktion und insbesondere eine A-Heuristik?​ 
 +    * Was ist ein UND-ODER-Baum?​ 
 +    * 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 ===== 
 +==== Einleitung ==== 
 +  * **Definition Wissensverarbeitung** 
 +    * Wissenschaft,​ die sich mit Beschleunigung,​ Rationalisierung und Automatisierung der Transformation von Wissen in Informationen und umgekehrt befasst. 
 +    * Informationen werden aus der Umgebung exzerpiert und als Wissen gespeichert;​ aus gespeichertem Wissen werden Informationen gewonnen, die sinnvolles Handeln und Entscheiden ermöglichen. 
 +  * Methoden 
 +    * künstliche Intelligenz (Simulation menschlicher Intelligenz) 
 +      * Beschäftigung mit Methoden, die es Computern ermöglichen,​ Aufgaben zu lösen, zu denen Intelligenz nötig ist, wenn sie von Menschen durchgeführt werden. 
 +      * Nachweis: Turing-Test 
 +      * findet nicht unbedingt die beste Lösung, aber eine brauchbare mit vertretbarem Aufwand (siehe Travelling Salesman) 
 +    * Heuristik (Anwendung von menschlichen Problemlösungsverfahren in der Programmierung) 
 +    * automatisiertes Erkennen (Bild- und Spracherkennung) 
 +  * Themengebiete 
 +    * Art, Struktur und computergerechte Speicherung des Wissens 
 +    * Extraktion von Wissen aus Informationen 
 +    * Generierung von Informationen aus Wissen 
 +  * Probleme 
 +    * Komplexität der Aufgabe 
 +    * Ohnmacht der Computer 
 +      * Programm ist niemals schlauer als Programmierer 
 +      * {{:​se:​problemmengen.jpg|}} 
 +      * Computer benötigen klare Algorithmen,​ ihnen fehlt die Kreativität und Intuition 
 +      * Beispiel: Travelling Salesman 
 +  * Abgrenzung zur Datenverarbeitung 
 +    * Problemlösung 
 +      * Programmierer löst das Problem durch Finden eines Algorithmus 
 +      * Computer löst das Problem durch Anwendung von Wissen 
 +    * Lösungsweg 
 +      * Der Lösungsweg ist vorherbestimmt (Algorithmus) 
 +      * Der Lösungsweg ist nicht vorherbestimmt 
 +    * Wissen 
 +      * Das erforderliche Wissen steckt in den Funktionen des Programms 
 +      * Das erforderliche Wissen ist unabhängig von der Funktion des Programms 
 +  * Wissensbasierte Systeme 
 +    * Transformation Wissen <> Information 
 +    * Information -> Wissen durch Menschen 
 +    * Wissen -> Information durch System 
 +  * Denkende Computer 
 +    * Schlussfolgerung 
 +      * Logik, Prinzip der klassischen Expertensysteme,​ Wissen nicht präzise formulierbar -> Fuzzy Logic 
 +    * Künstliches Gehirn (neuronale Netze) ​       
 +    * Datenbergwerk (Data Mining)  
 +    * Globale Optimierung 
 +    * Kombinationen der 4 oberen Verfahren 
 + 
 +==== Wissen ==== 
 +  * Wissen besteht aus 
 +    * Fakten 
 +      * gebunden an Objekte 
 +        * Eigenschaften und Methoden 
 +        * Instanzen von Objektklassen (für Attribute lediglich Slots) 
 +        * Vererbung ist möglich (Taxonomie)  ​     
 +    * Regeln 
 +    * Metawissen 
 +  * Darstellung von Objektwissen in Frames oder assoziativen (OAW-)Tripeln (Vorteil OAW: stets gleiche Struktur) 
 +  * Darstellung von Objektbeziehungen in Frames oder semantischen Netzen 
 +  * Darstellung von Regelwissen 
 +    * Dämonen an jedem Slot: if-needed (trigger) und if-changed 
 +    * Formulierung in einer formalen Sprache 
 +    * Prädikatenlogik 
 +      * Teilgebiet der mathematischen Logik 
 +      * Ermöglicht präzise Formulierung von Fakten und Regeln 
 +      * Prädikat: Satzaussage 
 + 
 +==== 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.1215784117.txt.gz · Zuletzt geändert: 2014-04-05 11:42 (Externe Bearbeitung)