Folien zum Buch Grundkurs Künstliche Intelligenz Wolfgang Ertel Springer-Verlag, 2011 www.hs-weingarten.de/~ertel/kibuch www.vieweg.de 4. Dezember 2014 Inhalt 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Einführung Aussagenlogik Prädikatenlogik Grenzen der Logik Prolog Suchen, Spielen und Probleme lösen Schlieÿen mit Unsicherheit Maschinelles Lernen und Data Mining Neuronale Netze Lernen durch Verstärkung Literatur I (vol. 2): directions for research J. Anderson, A. Pellionisz und E. Rosenfeld. Press, 1990. Research J. Anderson und E. Rosenfeld. Neurocomputing . Cambridge, MA, USA: MIT Neurocomputing: Foundations of . Sammlung von Originalarbeiten. Cambridge, MA: MIT Press, 1988. E. Alpaydin. 2004. Introduction to Machine Learning Deduktionssysteme . MIT Press, K.H. Bläsius und H.-J. Bürckert. . Oldenbourg, 1992. Discrete Event Systems, Special issue on reinforcement learning A. G. Barto und S. Mahadevan. Recent advances in hierarchical reinforcement learning. In: 13 (2003), S. 4177. Neurocomputing R.C. Barros u. a. A framework for bottom-up induction of oblique decision trees. In: 0 (2014), S. . Literatur II R. Bartak. Online Guide to Constraint Programming . http://kti.ms.mff.cuni.cz/~bartak/constraints. Dynamic Programming Fallgruben für Kopüssler Deduktion: Automatisierung der Logik R.E. Bellman. 1998. . Princeton University Press, 1957. M. Berrondo. . Fischer Taschenbuch Nr. 8703, 1989. W. Bibel. . Bd. 6.2. Handbuch der Informatik. Oldenbourg, 1992. Handbook of Robotics A. Billard u. a. Robot Programming by Demonstration. In: . Hrsg. von B. Siciliano und O. Khatib. Springer, 2008, S. 13711394. C.M. Bishop. Pattern recognition and machine learning . Springer New York: 2006. I. Bratko. PROLOG: Programmierung für Künstliche Intelligenz Addison-Wesley, 1986. . Literatur III Data Min. Knowl. Discov. C. J. Burges. A Tutorial on Support Vector Machines for Pattern Recognition. In: S. 121167. DOI: 2.2 (1998), http://dx.doi.org/10.1023/A:1009715923555. Theorem Proving C. L. Chang und R. C. Lee. Symbolic Logic and Mechanical . Orlando, Florida: Academic Press, 1973. W. F. Clocksin und C. S. Mellish. Programming in Prolog . 4. Au. Berlin, Heidelberg, New York: Springer, 1994. R.O. Duda, P.E. Hart und D.G. Stork. DH73]. Neuauage des Klassikers [ Pattern Classication Wiley, 2001. Repository of machine learning databases C.L. Blake D.J. Newman S. Hettich und C.J. Merz. . . UCI http://www.ics.uci.edu/~mlearn/MLRepository.html. 1998. J. Dassow. Logik für Informatiker . Teubner Verlag, 2005. Literatur IV D. Diaz. 1.2.18, GNU PROLOG . Au. 1.7, für GNU Prolog version http://gnu-prolog.inria.fr. Universität Paris. 2004. 5. W. Ertel, J. Schumann und Ch. Suttner. Learning Heuristics Österreichische Articial-Intelligence-Tagung for a Theorem Prover using Back Propagation. In: . Hrsg. von J. Retti und K. Leidlmair. Berlin, Heidelberg: Informatik-Fachberichte 208, Springer-Verlag, 1989, S. 8795. E. Eder. Relative Complexities of First Order Calculi . Vieweg Verlag, 1991. B. Fischer und J. Schumann. SETHEO Goes Software Conference on Automated Deduction (CADE 97) Engineering: Application of ATP to Software Reuse. In: . 14. http://ase.arc.nasa.gov/people/schumann/ publications/papers/cade97-reuse.html. Springer, S. 6568. 1997, Literatur V E. Freuder. In Pursuit of the Holy Grail. In: (1997), S. 5761. der Künstlichen Intelligenz Constraints G. Görz, C.-R. Rollinger und J. Schneeberger, Hrsg. 2.1 Handbuch . Oldenbourg Verlag, 2003. Deutsches P. Hammerer und M. Lein. Stellenwert der PSA-Bestimmung Ärzteblatt zur Früherkennung des Prostatakarzinoms. In: 101.26 (2004), A1892A1893 / B1581 / C1517. F.V. Jensen. Bayesian networks and decision graphs . Springer-Verlag, 2001. Journal of Articial Intelligence L.P. Kaelbling, M.L. Littman und A.P. Moore. Reinforcement Research Learning: A Survey. In: 4 (1996). www-2.cs.cmu.edu/afs/cs/project/ jair/pub/volume4/kaelbling96a.pdf, S. 237285. J.A. Kalman. Automated Reasoning with OTTER . www-unix.mcs.anl.gov/AR/otter/index.html. Press, 2001. Rinton Literatur VI M. Lauer und M. Riedmiller. Generalisation in Reinforcement Proceedings of the FGML Workshop 2002 Learning and the Use of Obse rvation-Based Learning. In: . Hrsg. von Gabriella Kokai und Jens Zeidler. http://amy.informatik.uos.de/riedmiller/ publications/lauer.riedml.fgml02.ps.gz. 2002, S. 100107. Journal of Automated Reasoning R. Letz u. a. SETHEO: A High-Performance Theorem Prover. In: 8 (1992). www4.informatik.tu-muenchen.de/~letz/setheo, S. 183212. Generation of Dags for Graph Drawing G. Melancon, I. Dutour und G. Bousque-Melou. Random . Techn. Ber. INS-R0005. http://ftp.cwi.nl/CWIreports/INS/INS-R0005.pdf. Dutch Research Center for Mathematical und Computer Science (CWI), 2000. Literatur VII Perceptrons Machine Learning M. Minsky und S. Papert. MA, 1969. T. Mitchell. . MIT Press, Cambridge, . www-2.cs.cmu.edu/~tom/mlbook.html. Proof Assistant for Higher-Order Logic T. Nipkow, L.C. Paulson und M. Wenzel. McGraw Hill, 1997. Isabelle/HOL A . Bd. 2283. LNCS. www.cl.cam.ac.uk/Research/HVG/Isabelle. G. Palm. On Associative Memory. 36 (1980), S. 1931. In: Springer, 2002. Biological Cybernetics Probabilistic Reasoning in Intelligent Systems. Networks of Plausible Inference Learning Internal Representations by Error Propagation Parallel Distributed Processing J. Pearl. . Morgan Kaufmann, 1988. D.E. Rumelhart, G.E. Hinton und Williams R.J. . in [RM86]. 1986. D. Rumelhart und J. McClelland. . Bd. 1. MIT Press, 1986. Literatur VIII H. Ritter, T. Martinez und K. Schulten. Addison Wesley, 1991. S. Russell und P. Norvig. Approach Neuronale Netze . Articial Intelligence: A Modern . 2. Au. 1. Auage 1995, deutsche Übersetzung der 2. Auage 2004 bei Pearson Studium, http://aima.cs.berkeley.edu. Prentice Hall, 2003. Künstlichen Intelligenz M. Richter. Fallbasiertes Schlieÿen. In: Handbuch der . Hrsg. von G. Görz, C.-R. Rollinger und J. Schneeberger. Oldenbourg Verlag, 2003. Kap. 11, S. 407430. Articial Intelligence The RoboCup Soccer Simulator E. Rich. . McGraw-Hill, 1983. . http://sserver.sourceforge.net. R. Rojas. Theorie der neuronalen Netze . Springer, 1993. Literatur IX P. J. Rousseeuw. Silhouettes: a Graphical Aid to the Computational and Applied Mathematics Interpretation and Validation of Cluster Analysis. In: 20 (1987), S. 5365. KI 2004: Advances in Articial J. Siekmann und Ch. Benzmüller. Omega: Computer Intelligence Supported Mathematics. . LNAI 3238. In: www.ags.uni-sb.de/~omega. Springer Verlag, 2004, S. 328. R. Sutton und A. Barto. Reinforcement Learning . www.cs.ualberta.ca/~sutton/book/the-book.html. MIT Press, 1998. 10th Int. Conf. on Automated Ch. Suttner und W. Ertel. Automatic Acquisition of Search Deduction Guiding Heuristics. In: . Springer-Verlag, LNAI 449, 1990, S. 470484. Literatur X that learns to read aloud T.J. Sejnowski und C.R. Rosenberg. NETtalk: a parallel network . Techn. Ber. JHU/EECS-86/01. Wiederabdruck in [AR88] S. 661-672. The John Hopkins University Electrical Engineering und Computer Science Technical Report, 1986. Learning with Kernels: Support Vector Machines, Regularization, Optimization, and Beyond S. Schölkopf und A. Smola. MIT Press, 2002. Adaptive P. Stone, R.S. Sutton und G. Kuhlmann. Reinforcement Behavior Learning for RoboCup-Soccer Keepaway. (2005). To appear., In: www.cs.utexas.edu/~pstone/Papers/bib2htmllinks/AB05.pdf. Engineering J. Schumann. . Automated Theorem Proving in Software Springer Verlag, 2001. . Literatur XI Communications S. Schulz. E A Brainiac Theorem Prover. In: 15.2/3 (2002). Journal of AI www4.informatik.tumuenchen.de/~schulz/WORK/eprover.html, S. 111126. Indierenz, Unabhängigkeit und maximale Entropie: Eine wahrscheinlichkeitstheoretische Semantik für Nicht-Monotones Schlieÿen M. Schramm. . Dissertationen zur Informatik 4. München: CS-Press, 1996. A.M. Turing. Computing Machinery and Intelligence. In: Mind 59 (1950). Deutsche Übersetzung mit dem Titel eine Maschine denken I. Witten und E. Frank. in [ ZW94], Data Mining Kann S. 433460. . Von den Autoren in Java entwickelte DataMining Programmbibliothek WEKA: (www.cs.waikato.ac.nz/~ml/weka). Hanser Verlag München, 2001. J. Whittaker. Wiley, 1996. Graphical models in applied multivariate statistics . Literatur XII J. Wielemaker. SWI-Prolog 5.4 www.swi-prolog.org PhilLex, Lexikon der Philosophie . . Universität Amsterdam. 2004. U. Wiedemann. . www.phillex.de/paradoxa.htm. Ending Spam Simulation Neuronaler Netze J. Zdziarski. A. Zell. . No Starch Press, 2005. . Im Buch beschriebener Simulator SNNS, bzw. JNNS: www-ra.informatik.uni-tuebingen.de/SNNS. Wesley, 1994. Addison Studium ohne Hingabe schadet dem Gehirn. I Wer fragt ist der Dumme für fünf Minuten, I wer nicht fragt bleibt für immer dumm! Teil I Einführung Was ist Künstliche Intelligenz (KI) I I I I I I I Was ist Intelligenz? Wie kann man Intelligenz messen? Wie funktioniert unser Gehirn? Intelligente Maschine? Science Fiction? Menschlichen Geist nachbauen? Philosophie? z.B. KörperSeele Problem John McCarthy (1955): Ziel der KI ist es, Maschinen zu entwickeln, die sich verhalten, als verfügten sie über Intelligenz. Zwei ganz einfache Braitenberg-Vehikel und deren Reaktion auf eine Lichtquelle. Encyclopedia Britannica: KI ist die Fähigkeit digitaler Computer oder computergesteuerter Roboter, Aufgaben zu lösen, die normalerweise mit den höheren intellektuellen Verarbeitungsfähigkeiten von Menschen in Verbindung gebracht werden . . . Nach dieser Denition ist also jeder Computer ein KI-System. Elaine Rich [Ric83]: Articial Intelligence is the study of how to make computers do things at which, at the moment, people are better. I I I I Auch im Jahr 2050 noch aktuell! Mensch heute noch besser in vielen Bereichen! u.a. Bildverstehen, Lernfähigkeit Computer heute schon besser in vielen Bereichen! Beisp. Schachcomputer Hirnforschung und Problemlösen unterschiedliche Ansätze: I Wie arbeitet das menschliche Gehirn? I Problemorientiert: Intelligente Agenten bauen! I Gemischtwarenladen! Ein kleiner Ausschnitt aus dem Angebot an KI-Verfahren. Der Turingtest und Chatterbots WARNING!! Alan Turing: Die Maschine besteht den Test, wenn sie Alice in 30% der Fälle täuschen kann. Joseph Weizenbaum (Computerkritiker): Programm Eliza spricht mit seiner Sekretärin Demo: Chatterbot Demo: Noch ein Chatterbot Geschichte der KI I 1931 Der Österreicher Kurt Gödel zeigt, dass in der logik Prädikaten- erster Stufe alle wahren Aussagen herleitbar sind. In Logiken höherer Stufe hingegen gibt es wahre Aussagen, die nicht beweisbar sind . 1937 Alan Turing zeigt mit dem Halteproblem Grenzen intelligenter Maschinen auf . 1943 McCulloch und Pitts modellieren Neuronale Netze und stel- len die Verbindung zur Aussagenlogik her. 1950 Alan Turing deniert über den Turingtest Intelligenz von Maschinen und schreibt über lernende Maschinen und genetische Algorithmen 1951 Marvin Minsky entwickelt einen Neuronenrechner. Mit 3000 Röhren simuliert er 40 Neuronen. Geschichte der KI II 1955 Arthur Samuel (IBM) baut lernfähige Dame Programme die besser spielen als ihre Entwickler 1956 McCarthy organisiert eine Konferenz im Dartmouth College. Hier wird der Name Articial Intelligence festgelegt. Newell und Simon von der Carnegie Mellon University (CMU) stellen den Logic Theorist, das erste symbolverarbeitende Programm, vor . 1958 McCarthy erndet am MIT (Massachusettes Institute of Technology) die Hochsprache LISP. Er schreibt Programme, die sich selbst verändern können. 1959 Gelernter (IBM) baut den Geometry Theorem Prover. 1961 Der General Problem Solver (GPS) von Newell und Simon imitiert menschliches Denken . 1963 McCarthy gründet das AI-Lab an der Stanford Universität. Geschichte der KI III 1965 Robinson erndet den gik ( 1966 ??). für Prädikatenlo- Weizenbaum's Eliza-Programm führt Dialoge mit Menschen in natürlicher Sprache 1969 Resolutionskalkül ??). ( Minsky und Papert zeigen in ihrem Buch Perceptrons auf, dass das Perzeptron, ein sehr einfaches neuronales Netz, nur lineare Zusammenhänge repräsentieren kann (3). 1972 Der Franzose Alain Colmerauer erndet die Logikprogrammiersprache PROLOG (??). Der britische Mediziner de Dombal entwickelt ein Expertensystem zur Diagnose von Bauchkrankheiten . Es blieb in der bis dahin überwiegend amerikanischen KI-Community unbe- ??). achtet ( 1976 Shortlie und Buchanan entwickeln MYCIN, ein Expertensystem zur Diagnose von Infektionskrankheiten, das mit Un- Geschichte der KI IV 1981 Japan startet mit groÿem Aufwand das Fifth Generation Project mit dem Ziel, leistungsfähige intelligente PROLOGMaschinen zu bauen. 1982 Das Expertensystem R1 zur Konguration von Computern spart der Digital Equipment Corporation 40 Millionen Dollar pro Jahr . 1986 Renaissance der Neuronalen Netze unter anderem durch Rumelhart, Hinton und Sejnowski . Das System Nettalk lernt das Vorlesen von Texten. 1990 ??). ( Pearl , Cheeseman , Whittaker, Spiegelhalter bringen mit den Bayes-Netzen die Wahrscheinlichkeitstheorie in die KI (??). Multiagentensysteme werden populär. 1993 Weltweite RoboCup autonomer Roboter ( Initiative zum Bau Fuÿball spielender ??). Geschichte der KI V 1997 Erster internationaler RoboCup Wettkampf in Japan. 2003 Die Roboter im RoboCup demonstrieren eindrucksvoll, was KI und Robotik zu leisten imstande sind. 2006 Servicerobotik entwickelt sich zu einem dominanten Forschungsgebiet in der KI. 2010 Autonome Roboter fangen an, ihr Verhalten zu lernen. 2011 Die IBM-Software Watson schlägt zwei menschliche Meister in der US-Fernsehshow Jeopardy!. Watson kann natürliche Sprache verstehen und sehr schnell beantworten (Abschnitt ??). Die Phasen der KI-Geschichte I I I I I I Die ersten Anfänge Logik löst (fast) alle Probleme Der neue Konnektionismus Schlieÿen mit Unsicherheit Verteilte, autonome und lernende Agenten Die KI wird erwachsen power of representation Gödel Turing Dartmouth−conference resolution LISP first−order logic GPS PROLOG Jaynes probabilistic reasoning symbolic automated theorem provers PTTP, Otter, SETHEO, E−prover heuristic search Bayesian nets decision tree learning Hunt ID3, CART C4.5 Zadeh fuzzy logic propositional logic Davis/Putnam deep belief networks hybrid systems neural networks numeric neuro− hardware Minsky/Papert book back−propagation deep learning support vector machines 1930 1940 1950 1960 1970 1980 1990 2000 2010 year Agenten Software-Agent Eingabe Software− Agent Benutzer Ausgabe Hardware-Agent (autonomer Roboter) Hardware−Agent Sensor 1 ... Sensor n Software− Agent Wahrnehmung Umgebung Aktuator 1 ... Aktuator m Veränderung Funktion von der Menge aller Eingaben auf die Menge aller Ausgaben Gedächtnis: ist keine Funktion. Warum? Reex-Agent: Agent mit lernfähiger Agent verteilte Agenten zur Bestimmung der optimalen Aktion wird nur der aktuelle Zustand benötigt. Markov-Entscheidungsprozess: zielorientierter Agent Example Spamlter: Sein Ziel ist es, Emails in die richtige Klasse einzuteilen. Agent 1: korrekte Klasse Spamlter erwünscht SPAM 189 11 1 799 erwünscht entscheidet SPAM Agent 2: korrekte Klasse Spamlter entscheidet erwünscht SPAM Ist Agent 2 schlechter als Agent 1? erwünscht SPAM 200 0 38 762 Denition Ziel eines kostenorientierten Agenten ist es, die durch Fehlentscheidungen entstehenden Kosten langfristig, das heiÿt im Mittel, zu minimieren. Die Summe aller gewichteten Fehler ergibt die durch die Fehlentscheidungen entstandenen Kosten. Example Blinddarmdiagnosesystem LEXMED Abschnitt ??. Analog ist das Ziel eines nutzenorientierten Agenten (engl. utility based agent), den durch korrekte Entscheidungen entstehenden Nutzen langfristig, das heiÿt im Mittel, zu maximieren. Umgebung I I I I I I beobachtbar (Schachcomputer) teilweise beobachtbar (Roboter) deterministisch (8-Puzzle) nichtdeterministisch (Schachcomputer, Roboter) diskret (Schachcomputer) stetig Wissensbasierte Systeme strenge Trennung: Wissen Inferenzmechanismus Wissensbasis, kurz WB (engl. knowledge base, KB) Knowledge Engineering z.B. Datenbanken, menschl. Experten Wissensingenieur (engl. knowledge engineer) Maschinelles Lernen u.a. aktive Exploration durch Agenten Wissensquelle Wissensquellen Wissenserwerb Daten Wissensingenieur Wissensverarbeitung Benutzer Experte Knowledge engineering Anfrage Wissensbasis WB Datenbanken Inferenz Antwort maschinelles Lernen Umgebung Struktur eines klassischen wissensverarbeitenden Systems. Trennung von Wissen und Inferenz hat Vorteile: I I Inferenz ist anwendungsunabhängig (Beisp. med. XPS) Wissen kann deklarativ gespeichert werden. Darstellung des Wissens mit formaler Sprache: I I I I I Aussagenlogik Prädikatenlogik erster Stufe (kurz: PL1). probabilistische Logik, Fuzzylogik Entscheidungsbäume Teil II Aussagenlogik Aussagenlogik wenn es regnet ist die Straÿe nass. Etwas formaler geschrieben ergibt sich es regnet ⇒ die Straÿe ist nass. Syntax Denition Sei Op = {¬, ∧ , ∨ , ⇒ , ⇔ , ( , ) } die Menge der logischen Operatoren und Σ eine Menge von Symbolen mit Op ∩ Σ ∩ {w , f } = ∅. Σ heiÿt Signatur und seine Elemente sind die Aussagevariablen. Die Menge der Aussagenlogischen Formeln wird nun rekursiv deniert: • w und f sind (atomare) Formeln. • Alle Aussagevariablen, das heiÿt alle Elemente von Σ sind (atomare) Formeln. • Sind A und B Formeln, so sind auch ¬A, (A), A ∧ B, A ∨ B, A ⇒ B, A ⇔ B Formeln. Denition Man liest die Operatoren und Symbole folgendermaÿen: w f ¬A ¬A A∧B A∨B A ⇒ B A ⇔ B : : : : : : : : wahr falsch nicht A nicht A A und B A oder B wenn A dann B A genau dann, wenn B (Negation) (Negation) (Konjunktion) (Disjunktion) (Implikation) (Äquivalenz) Mit Σ = {A, B, C } sind zum Beispiel A ∧ B, A ∧ B ∧ C, A ∧ A ∧ A, (¬A ∧ B) ⇒ (¬C ∨ A) C ∧ B ∨ A, Formeln. Auch (((A)) ∨ B) ist eine syntaktisch korrekte Formel. Die so denierten Formeln sind bisher rein syntaktische Gebilde ohne Bedeutung. Es fehlt noch die Semantik. Semantik Ist die Formel wahr? A∧B Denition Eine Abbildung I : Σ → {w , f }, die jeder Aussagevariablen einen Wahrheitswert zuordnet, heiÿt Belegung oder Interpretation oder auch Welt. Jede aussagenlogische Formel mit n verschiedenen Variablen hat 2n verschiedene Belegungen Wahrheitstabelle A B w w w f f w f f (A) ¬A A ∧ B A ∨ B A ⇒ B A ⇔ B w f w w w w w f f w f f f w f w w f f w f f w w Die leere Formel ist unter allen Belegungen wahr. Operatorprioritäten: ¬, ∧ , ∨ , ⇒ , ⇔ . Denition Zwei Formeln F und G heiÿen semantisch äquivalent, wenn sie für alle Belegungen die gleichen Wahrheitswerte annehmen. Man schreibt F ≡ G . natürlichen Sprache, z.B. A ≡ B Objektsprache: Logik, z.B. A ⇔ B Metasprache: Theorem Die Operationen ∧ , ∨ sind kommutativ und assoziativ und es gilt: ¬A ∨ B A ⇒ B (A ⇒ B) ∧ (B ⇒ A) ¬(A ∧ B) ¬(A ∨ B) A ∨ (B ∧ C ) A ∧ (B ∨ C ) A ∨ ¬A A ∧ ¬A A∨f A∨w A∧f ⇔ A ⇒ B ⇔ ¬B ⇒ ¬A ⇔ ⇔ ⇔ ⇔ ⇔ ⇔ ⇔ ⇔ ⇔ ⇔ (Implikation) (Kontrapositio A ⇔ B (Äquivalenz) ¬A ∨ ¬B (De Morgan's ¬A ∧ ¬B (A ∨ B) ∧ (A ∨ C ) (Distributivge (A ∧ B) ∨ (A ∧ C ) w (Tautologie) f (Widerspruch A w f Beweis: A B w w w f f w f f nur erste Äquivalenz: ¬A ¬A ∨ B A ⇒ B (¬A ∨ B) ⇔ (A ⇒ B) f w w w f f f w w w w w w w w w Die Beweise für die anderen Äquivalenzen laufen analog und werden 2 dem Leser zur Übung empfohlen (Aufgabe ??). Varianten der Wahrheit Je nachdem, in wievielen Welten eine Formel wahr ist, teilt man die Formeln ein in folgende Klassen. Denition Eine Formel heiÿt • erfüllbar, falls sie bei mindestens einer Belegung wahr ist. oder wahr, falls sie bei allen Belegungen wahr ist. Wahre Formeln heiÿen auch Tautologien. • allgemeingültig • unerfüllbar, falls sie bei keiner Belegung wahr ist. Jede erfüllende Belegung einer Formel heiÿt Modell. Oenbar ist die Negation jeder allgemeingültigen Formel unerfüllbar. Die Negation einer erfüllbaren aber nicht allgemeingültigen Formel F ist erfüllbar. Beweisverfahren Aus der Wissensbasis WB , folgt eine Formel Q ? Denition Eine Formel Q folgt aus einer Formel WB , wenn jedes Modell von WB auch ein Modell von Q ist. Man schreibt dann WB |= Q . I I I I I semantischer Begri! Jede Formel wählt aus der Menge aller Belegungen eine Teilmenge als ihre Modelle aus. Tautologien wie zum Beispiel A ∨ ¬A schränken die Zahl der erfüllenden Belegungen nicht ein, denn ihre Aussage ist leer. Die leere Formel ist in allen Belegungen wahr. Für jede Tautologie T gilt ∅ |= T , kurz |= T . Wahrheitstabelle der Implikation: A B A ⇒ B w w w w f f f w w f f w Die Implikation A ⇒ B ist immer wahr, auÿer bei der Belegung A 7→ w , B 7→ f . Nehmen wir an, dass A |= B gilt. Das heiÿt, dass für jede Belegung, die A wahr macht, auch B wahr ist. Die zweite Zeile der Wahrheitstabelle kommt damit gar nicht vor. Also ist A ⇒ B wahr, das heiÿt A ⇒ B ist eine Tautologie. Damit ist eine Richtung des wichtigen folgenden Satzes gezeigt. Theorem (Deduktionstheorem) |= WB ⇒ Q . WB |= Q gilt genau dann wenn I I Die Wahrheitstafelmethode ist ein Beweisverfahren für die Aussagenlogik! Nachteil: im Worst-Case sehr lange Rechenzeit (2n Belegungen) Wenn eine Formel Q aus WB folgt, so ist nach dem Deduktionstheorem WB ⇒ Q eine Tautologie. Also ist die Negation ¬(WB ⇒ Q) unerfüllbar. Wegen ¬(WB ⇒ Q) ≡ ¬(¬WB ∨ Q) ≡ WB ∧ ¬Q ist damit auch WB ∧ ¬Q unerfüllbar. Also: Theorem (Widerspruchsbeweis) WB ∧ ¬Q unerfüllbar ist. WB |= Q gilt genau dann wenn Um zu zeigen, dass die zu beweisende Anfrage Q aus der Wissensbasis WB folgt, kann man also die negierte Anfrage ¬Q zur Wissensbasis hinzufügen und daraus einen Widerspruch ableiten. Anwendungen: I I in der Mathematik in vielen automatischen Beweiskalkülen, u.a. Resolution, PROLOG Ableitung: Kalkül: syntaktische Manipulation der Formeln WB und Q durch Anwendung von Inferenzregeln mit dem Ziel, diese so stark zu vereinfachen, dass man am Ende sofort erkennt, dass WB |= Q . Man schreibt dann WB ` Q . syntaktisches Beweisverfahren (Ableiten). Korrektheit und Vollständigkeit WARNING!! Denition Ein Kalkül heiÿt korrekt, wenn jede abgeleitete Aussage auch semantisch folgt, das heiÿt, wenn für Formeln WB und Q gilt wenn WB ` Q dann WB |= Q. Ein Kalkül heiÿt vollständig, wenn alle semantischen Folgerungen abgeleitet werden können, das heiÿt, wenn für Formeln WB und Q gilt wenn WB |= Q dann WB ` Q. Syntaktische Ableitung und semantische Folgerung WB /Q |= / Mod(Q) Folgerung Belegung Belegung Mod(WB) ` Ableitung Syntaktische Ebene (Formel) Semantische Ebene (Welt) Mod(X ) steht für die Menge der Modelle einer Formel Um die automatischen Beweisverfahren möglichst einfach zu halten, arbeiten diese meist auf Formeln in konjunktiver Normalform. Denition Eine Formel ist in konjunktiver Normalform dann, wenn sie aus einer Konjunktion (KNF) genau K1 ∧ K2 ∧ . . . ∧ Km von Klauseln besteht. Eine Klausel Ki besteht aus einer Disjunktion (Li1 ∨ Li2 ∨ . . . ∨ Lini ) von Literalen. Ein Literal schlieÿlich ist eine Variable (positives Literal) oder eine negierte Variable (negatives Literal). Die Formel (A ∨ B ∨ ¬C ) ∧ (A ∨ B) ∧ (¬B ∨ ¬C ) ist in konjunktiver Normalform. Die konjunktive Normalform stellt keine Einschränkung der Formelmenge dar, denn es gilt Theorem Jede aussagenlogische Formel läÿt sich in eine äquivalente konjunktive Normalform transformieren. Example Wir bringen A ∨ B ⇒ C ∧ D in konjunktive Normalform, indem wir die Äquivalenzen aus Satz 8 anwenden: A∨B ≡ ≡ ≡ ≡ ≡ ⇒ C ∧D ¬(A ∨ B) ∨ (C ∧ D) (¬A ∧ ¬B) ∨ (C ∧ D) (¬A ∨ (C ∧ D)) ∧ (¬B ∨ (C ∧ D)) ((¬A ∨ C ) ∧ (¬A ∨ D)) ∧ ((¬B ∨ C ) ∧ (¬B ∨ D)) (¬A ∨ C ) ∧ (¬A ∨ D) ∧ (¬B ∨ C ) ∧ (¬B ∨ D) (Imp (de (Dis (Dis (Ass Beweiskalkül: Modus Ponens A, A ⇒ B . B Modus Ponens ist korrekt aber nicht vollständig. A ∨ B, ¬B ∨ C . A∨C bzw. A ∨ B, B ⇒ C . A∨C I I Die abgeleitete Klausel wird Resolvente genannt. Resolution ist eine Verallgemeinerung des Modus Ponens. Example B ∧ ¬B ` {} (1) allgemeine Resolutionsregel: (A1 ∨ . . . ∨ Am ∨ B), (¬B ∨ C1 ∨ . . . ∨ Cn ) . (A1 ∨ . . . ∨ Am ∨ C1 ∨ . . . ∨ Cn ) Man nennt die Literale B und ¬B komplementär. (2) Theorem Der Resolutionskalkül zum Beweis der Unerfüllbarkeit von Formeln in konjunktiver Normalform ist korrekt und vollständig. WB muss widerspruchsfrei sein!. Andernfalls lässt sich aus WB alles herleiten (siehe Aufgabe die Wissensbasis ??). Example Das Logikrätsel Nr. 7 aus [Ber89] mit dem Titel English family lautet: A charming Nachdem ich sieben Jahre lang mit glänzendem Erfolg Englisch studiert habe, muss ich zugeben, dass ich, wenn ich Engländer englisch sprechen höre, vollkommen perplex bleibe. Nun habe ich neulich, von edlen Gefühlen bewegt, drei Anhalter, Vater, Mutter und Tochter, mitgenommen, die, wie ich schnell begri, Engländer waren und folglich nur Englisch sprachen. Bei jedem ihrer Sätze zögerte ich zwischen zwei möglichen Bedeutungen. Sie sagten mir folgendes (der zweite Sinn steht in Klammern): Der Vater: Wir fahren bis nach Spanien (wir kommen aus Newcastle). Die Mutter: Wir fahren nicht nach Spanien und kommen aus Newcastle (wir haben in Paris angehalten und fahren nicht nach Spanien). Die Tochter: Wir kommen nicht auch Newcastle (wir haben in Paris angehalten). What about this charming Englisch family? drei Schritte: I Formalisierung (oft sehr schwierig) I Transformation in Normalform I Beweis (oft sehr schwierig) praktisches Üben hier wichtig! (siehe Aufgaben ????). (S ∨ N) ∧ [(¬S ∧ N) ∨ (P ∧ ¬S)] ∧ (¬N ∨ P). Ausklammern von ¬S in der mittleren Teilformel bringt die Formel in einem Schritt in KNF. WB ≡ (S ∨ N)1 ∧ (¬S)2 ∧ (P ∨ N)3 ∧ (¬N ∨ P)4 . Nun starten wir den Resolutionsbeweis (ohne Anfrage Q ). Res(1,2) : (N)5 Res(3,4) : (P)6 Res(1,4) : (S ∨ P)7 Leere Klausel nicht ableitbar. Also ist WB widerspruchsfrei. Um zu zeigen, dass ¬S gilt, fügen wir die Klausel (S)7 als negierte Anfrage zur Klauselmenge hinzu. Res(2,7) : ()8 Es gilt also ¬S ∧ N ∧ P . Die charming English family kommt oenbar aus Newcastle, hat in Paris angehalten und fährt nicht nach Spanien. Example Das Logikrätsel Nr. 28 aus [Ber89] mit dem Titel lautet: Der Hochsprung Drei junge Mädchen üben Hochsprung für die Sportprüfung im Abitur. Die Stange wurde bei 1.20 m befestigt. Ich wette, sagt das erste zum zweiten Mädchen, dass mir mein Sprung gelingen wird, wenn, und nur dann, wenn du versagst. Wenn das zweite junge Mädchen das gleiche zu dem dritten sagt, welches wiederum das gleiche zu dem ersten sagt, wäre es dann möglich, dass keins von den dreien seine Wette verliert? Wir zeigen per Resolutionsbeweis, dass nicht alle drei Mädchen ihre Wette gewinnen können. Formalisierung: Der Sprung des ersten Mädchens gelingt: A, der Sprung des zweiten Mädchens gelingt: B , der Sprung des dritten Mädchens gelingt: C . Wette des ersten Mädchens: (A ⇔ ¬B), Wette des zweiten Mädchens: (B ⇔ ¬C ), Transformation in KNF: Wette des ersten Mädchens: (A ⇔ ¬B) ≡ (A ⇒ ¬B) ∧ (¬B ⇒ A) ≡ (¬A ∨ ¬B) ∧ (A ∨ B) Die Wetten der beiden anderen Mädchen werden analog transformiert und man erhält als negierte Behauptung ¬Q ≡ (¬A ∨ ¬B)1 ∧ (A ∨ B)2 ∧ (¬B ∨ ¬C )3 ∧ (B ∨ C )4 ∧ (¬C ∨ ¬A)5 Daraus wird nun mit Resolution die leere Klausel abgeleitet: Res(1,6) : Res(4,7) : Res(2,5) : Res(3,9) : Res(8,10) : Damit ist die Behauptung gezeigt. (C ∨ ¬B)7 (C )8 (B ∨ ¬C )9 (¬C )10 () Hornklauseln Eine Klausel in konjunktiver Normalform enthält positive und negative Literale und läÿt sich daher darstellen in der Form (¬A1 ∨ . . . ∨ ¬Am ∨ B1 ∨ . . . ∨ Bn ) Diese Klausel läÿt sich umformen in A1 ∧ . . . ∧ Am ⇒ B1 ∨ . . . ∨ Bn . Beispiele: Wenn das Wetter schön ist und Schnee liegt, gehe ich Skifahren oder ich gehe arbeiten. (nicht denite Klausel) Wenn das Wetter schön ist und Schnee liegt, gehe ich Skifahren. . (denite Klausel) Denition Klauseln mit höchstens einem positiven Literal der Formen (¬A1 ∨ . . . ∨ ¬Am ∨ B) oder (¬A1 ∨ . . . ∨ ¬Am ) oder B beziehungsweise (äquivalent) A1 ∧ . . . ∧ Am ⇒ B oder A1 ∧ . . . ∧ Am ⇒ f oder B. heiÿen Hornklauseln (nach ihrem Ernder). Eine Klausel mit nur einem positiven Literal heiÿt Fakt. Bei Klauseln mit negativen und einem positiven Literal wird das positive Literal Kopf genannt. Zum besseren Verständnis der Darstellung von Hornklauseln möge der Leser die in der Denition verwendeten Äquivalenzen herleiten (Aufgabe ??). Beispiel: Wissensbasis: (Wetter_schön)1 (Schneefall)2 (Schneefall ⇒ Schnee)3 (Wetter_schön ∧ Schnee ⇒ Skifahren)4 Gilt Skifahren? Inferenzregel (verallgemeinerter Modus Ponens): A1 ∧ . . . ∧ Am , A1 ∧ . . . ∧ Am ⇒ B . B Beweis für Skifahren: MP(2,3) : (Schnee)5 MP(1,5,4) : (Skifahren)6 Modus Ponens ist vollständig für aussagenlogische Hornklauseln startet bei den Fakten und leitet die Anfrage her backward chaining: mit der Anfrage starten und rückwärts arbeiten, bis die Fakten erreicht sind forward chaining: SLD-Resolution Selection rule driven linear resolution for denite clauses . Beispiel, ergänzt durch die negierte Anfrage (Skifahren ⇒ f ): (Wetter_schön)1 (Schneefall)2 (Schneefall ⇒ Schnee)3 (Wetter_schön ∧ Schnee ⇒ Skifahren)4 (Skifahren ⇒ f )5 SLD-Resolution: Res(5,4) : Res(6,1) : Res(7,3) : Res(8,2) : (Wetter_schön ∧ Schnee ⇒ f )6 (Schnee ⇒ f )7 (Schneefall ⇒ f )8 () es wird immer mit der gerade aktuell hergeleiteten Klausel weitergearbeitet. Reduktion des Suchraumes. Literale der aktuellen Klausel werden immer der Reihe nach in fester Reihenfolge (z.B. von links nach rechts) abgearbeitet (Selection rule driven ). Literale der aktuellen Klausel werden Teilziele (engl. subgoals) genannt. Literale der negierten Anfrage sind die Ziele (engl. goals). I linear resolution: I I I I Inferenzregel: A1 ∧ . . . ∧ Am ⇒ B1 , B1 ∧ B2 ∧ . . . ∧ Bn ⇒ f . A1 ∧ . . . ∧ Am ∧ B2 ∧ . . . ∧ Bn ⇒ f SLD-Resolution und PROLOG I I I I Der Beweis (Widerspruch) ist gefunden, wenn die Liste der Teilziele der aktuellen Klausel (goal stack) leer ist. Gibt es zu einem Teilziel ¬Bi keine Klausel mit einem komplementären Literal Bi als Klauselkopf, so terminiert der Beweis und es kann kein Widerspruch gefunden werden. PROLOG-Programme bestehen aus prädikatenlogischen Hornklauseln Abarbeitung erfolgt mittels SLD-Resolution. Berechenbarkeit und Komplexität I I I I I I I I Wahrheitstafelmethode bestimmt nach endlicher Zeit alle Modelle. Die Mengen der unerfüllbaren, der erfüllbaren und der allgemeingültigen Formeln sind entscheidbar. T (n) = O(2n ) Optimierung: Semantische Bäume, im Worst-Case auch exponentiell. Bei der Resolution wächst die Zahl der abgeleiteten Klauseln im Worst-Case exponentiell mit der Zahl der Klauseln. S. Cook: 3-Sat-Problem ist NP-vollständig 3-Sat ist die Menge aller KNF-Formeln deren Klauseln genau drei Literale haben. Für Hornklauseln: Zeit für Erfüllbarkeitstest wächst nur linear mit der Zahl der Literale in der Formel. Anwendungen und Grenzen I I I I I I Digitaltechnik Verikation digitaler Schaltungen Generierung von Testmustern einfache KI-Anwendungen: diskrete Variablen, wenige Werte, keine Relationen zw. Var. probabilistische Logik verwendet Aussagenlogik, modelliert Unsicherheit Fuzzylogik, erlaubt unendlich viele Wahrheitswerte. Teil III Prädikatenlogik erster Stufe Prädikatenlogik erster Stufe Aussage: Roboter 7 bendet sich an xy-Position (35,79) aussagenlogische Variable: Roboter_7_bendet_sich_an_xy-Position_(35,79) 100 Roboter auf Gitter mit 100 × 100 Punkten. ⇒ 100 · 100 · 100 = 1 000 000 = 106 Variablen Relation Roboter A steht weiter rechts als Roboter B. (100 · 99)/2 = 4950 geordnete Paare aus x -Werten. 104 Formeln der Art: Roboter_7_steht_weiter_rechts_als_Roboter_12 ⇔ Roboter_7_bendet_sich_an_xy_Position_(35,79) ∧ Roboter_12_bendet_sich_an_xy_Position_(10,93) ∨ ... mit (104 )2 · 0.495 = 0.495 · 108 Alternativen auf der rechten Seite. Prädikatenlogik erster Stufe: Position(nummer, xPosition, yPosition) ∀u ∀v Steht_weiter_rechts(u, v ) ⇔ ∃xu ∃yu ∃xv ∃yv Position(u, xu , yu ) ∧ Position(v , xv , yv ) ∧ xu > x Syntax von Termen z.B.: f (sin(ln(3)), exp(x)) Denition Sei V eine Menge von Variablen, K eine Menge von Konstanten und F eine Menge von Funktionssymbolen mit V ∩ K ∩ F = ∅. Die Menge der Terme wird rekursiv deniert: • Alle Variablen und Konstanten sind (atomare) Terme. • Sind t1 , . . . , tn Terme und f ein n-stelliges Funktionssymbol, so ist auch f (t1 , . . . , tn ) ein Term. Die Syntax von Formeln ist deniert wie folgt: Denition Sei P eine Menge von Prädikatssymbolen. Prädikatenlogische Formeln sind wie folgt aufgebaut: • Sind t1 , . . . , tn Terme und p ein n-stelliges Prädikatssymbol, so ist p(t1 , . . . , tn ) eine (atomare) Formel. • Sind A und B Formeln, so sind auch ¬A, (A), A ∧ B, A ∨ B, A ⇒ B, A ⇔ B Formeln. • Ist x eine Variable und A eine Formel, so sind auch ∀x A und ∃x A Formeln. ∀ ist der All- und ∃ der Existenzquantor. • p(t1 , . . . , tn ) und ¬p(t1 , . . . , tn ) heiÿen Literale. • Formeln, bei denen jede Variable im Wirkungsbereich eines Quantors ist, heiÿen Aussagen oder geschlossene Formeln. Variablen, die nicht im Wirkungsbereich eines Quantors sind, heiÿen freie Variablen. Formel Beschreibung ∀x frosch(x) ⇒ grün(x) Alle Frösche sind grün ∀x frosch(x) ∧ braun(x) ⇒ groÿ(x) Alle braunen sind groÿ ∀x mag(x, kuchen) Jeder mag Kuchen ¬∃x mag(x, kuchen) Keiner mag Kuchen Frösch ¬∀x mag(x, kuchen) Nicht jeder mag Kuche ∃x ∀y mag(y , x) Es gibt etwas, das jed mag ∃x ∀y mag(x, y ) Es gibt jemanden, der a les mag ∀x ∃y mag(y , x) Jedes Ding wird von j mandem geliebt ∀x ∃y mag(x, y ) Jeder mag etwas Semantik Denition Eine Belegung B oder Interpretation ist deniert durch • Eine Abbildung von der Menge der Konstanten und Variablen K ∪ V auf eine Menge W von Objekten aus der Welt. • Eine Abbildung von der Menge der Funktionssymbole auf die Menge der Funktionen der Welt. Jedem n-stelligen Funktionssymbol wird eine n-stellige Funktion zugeordnet. • Eine Abbildung von der Menge der Prädikatssymbole auf die Menge der Relationen der Welt. Jedem n-stelligen Prädikatssymbol wird eine n-stellige Relation zugeordnet. Example Konstanten: c1 , c2 , c3 , zweistelliges Funktionssymbol zweistelliges Prädikatssymbol gr . plus , F ≡ gr(plus(c1 , c3 ), c2 ) Wähle Belegung: B1 : c1 7→ 1, c2 7→ 2, c3 7→ 3, plus 7→ +, gr 7→ > Damit wird die Formel abgebildet auf 1 + 3 > 2, bzw. nach Auswertung Gröÿer-Relation G auf {1, 2, 3, 4}: G = {(4, 3), (4, 2), (4, 1), (3, 2), (3, 1), (2, 1)}. Da (4, 2) ∈ G , ist F unter der Belegung B1 wahr. 4>2 ergibt B2 : c1 7→ 2, c2 7→ 3, c3 7→ 1, 2 − 1 > 3, bzw. plus 7→ −, gr 7→ >, 1 > 3. (1, 3) ist nicht in G enthalten. Die Wahrheit einer Formel in PL1 hängt also von der Belegung ab. Denition • Eine atomare Formel p(t1 , . . . , tn ) ist wahr unter der Belegung B, wenn nach Belegung und Auswertung aller Terme t1 , . . . , tn und Belegung des Prädikates p durch die n-stellige Relation r gilt (B(t1 ), . . . , B(tn )) ∈ r . • Die Wahrheit von quantorenfreien Formeln ergibt sich aus der Wahrheit der atomaren Formeln wie in der Aussagenlogik über die Semantik der logischen Operatoren. • Eine Formel ∀x F ist wahr unter der Belegung B genau dann wenn sie bei beliebiger Änderung der Belegung für die Variable x wahr ist. • Eine Formel ∃x F ist wahr unter der Belegung B genau dann wenn es für die Variable x eine Belegung gibt, welche die Theorem Seien A, B prädikatenlogische Formeln und A enthalte keine freien Variablen. Dann gilt A |= B genau dann wenn A ⇒ B eine Tautologie ist. Auÿerdem gilt A |= B genau dann wenn A ∧ ¬B unerfüllbar ist. head: Example Ein Stammbaum: Hans A. Relation: Katrin A. Franz A. Anna A. Otto A. Maria B. Eva A. Isolde A. Otto B. Klaus B. Kind = { (Otto A., Katrin A., Franz A.), (Maria B., Katrin A., Franz A (Hans A., Anna A., Otto A.), (Eva A., Anna A., Otto A.), (Isolde A., Anna A., Otto A.), (Klaus B., Maria B., Otto B einstellige Relation: ∀x ∀y ∀z kind(x, y , z) ⇔ kind(x, z, y ), ∀x ∀y nachkomme(x, y ) Siehe auch Aufgabe ??! ⇔ ∃z kind(x, y , z) ∨ (∃u ∃v kind(x, u, v ) ∧ nachkomme(u, y Wissensbasis WB ≡ weiblich(katrin) ∧ weiblich(anna) ∧ weiblich(maria) ∧ weiblich(eva) ∧ weiblich(isolde) ∧ kind(otto,katrin,franz) ∧ kind(maria,katrin,franz) ∧ kind(eva,anna,otto) ∧ kind(hans,anna,otto) ∧ kind(isolde,anna,otto) ∧ kind(klaus,maria,ottob) ∧ (∀x ∀y ∀z kind(x, y , z) ⇒ kind(x, z, y )) ∧ (∀x ∀y nachkomme(x, y ) ⇔ ∃z kind(x, y , z) ∨ (∃u ∃v kind(x, u, v ) ∧ nachkomme(u, y )). Ist kind(eva,otto,anna) ableitbar? Ist nachkomme(eva,franz) ableitbar? Gleichheit Gleichheitsaxiome: ∀x x = x (Reexivität) ∀x ∀y x = y ⇒ y = x (Symmetrie) ∀x ∀y ∀z x = y ∧ y = z ⇒ x = z (Transitivität) ∀x ∀y x = y ⇒ f (x) = f (y ) (Substitutionsaxiom) (3) (4) Ersetzung von Termen Example ersetze y durch sin(x): ∀x x = 5 ⇒ x = y ∀x x = 5 ⇒ x = sin(x) korrekt: falsch! ∀x x = 5 ⇒ x = sin(z) Denition Man schreibt ϕ[x/t] für die Formel, die entsteht, wenn man in ϕ jedes freie Vorkommen der Variable x durch den Term t ersetzt. Hierbei dürfen in dem Term t keine Variablen Example Wird in der Formel ∀x x = y y durch x + 1 ersetzt, so ergibt sich ∀x x = x + 1. Korrekt: ∀x x = y + 1 Quantoren und Normalformen Denition ??: ∀x p(x) ≡ p(a1 ) ∧ , . . . , ∧ p(an ) für alle Konstanten a1 . . . an aus K . ∃x p(x) ≡ p(a1 ) ∨ . . . ∨ p(an ) deMorgan-Regeln: ∀x ϕ ≡ ¬∃¬ ϕ. Example Jeder will geliebt werden werden. ≡ Keiner will nicht geliebt Denition Eine prädikatenlogische Formel ϕ ist in Normalform, wenn gilt pränexer • ϕ = Q1 x1 . . . Qn xn ψ . • ψ ist eine quantorenfreie Formel. • Qi ∈ {∀, ∃} für i = 1, . . . , n. Achtung: Variable umbenennen: ∀x p(x) ⇒ ∃x q(x). ∀x p(x) ⇒ ∃y q(y ) Quantor nach vorne bringen: ∀x ∃y p(x) ⇒ q(y ). Example Konvergenz einer Folge (an )n∈N gegen den Grenzwert a: ∀ε > 0 ∃n0 ∈ N ∀n > n0 |an − a| < ε formal: abs(x) für |x|, a(n) für an , minus(x, y ) für x − y , el(x, y ) für x ∈ y , gr(x, y ) für x > y : ∀ε (gr (ε, 0) ⇒ ∃n0 (el(n0 , N) ⇒ ∀n (gr (n, n0 ) ⇒ gr (ε, abs(minus(a(n (6) Implikationen eliminieren: ∀ε (¬gr (ε, 0) ∨ ∃n0 (¬el(n0 , N) ∨ ∀n (¬gr (n, n0 ) ∨ gr (ε, abs(minus(a(n), Quantoren nach vorne: Theorem Jede prädikatenlogische Formel läÿt sich in eine äquivalente Formel in pränexer Normalform transformieren. Skolemisierung ∀x1 ∀x2 ∃y1 ∀x3 ∃y2 p(f (x1 ), x2 , y1 ) ∨ q(y1 , x3 , y2 ). ∀x1 ∀x2 ∀x3 ∃y2 p(f (x1 ), x2 , g (x1 , x2 )) ∨ q(g (x1 , x2 ), x3 , y2 ) ∀x1 ∀x2 ∀x3 p(f (x1 ), x2 , g (x1 , x2 )) ∨ q(g (x1 , x2 ), x3 , h(x1 , x2 , x3 )) p(f (x1 ), x2 , g (x1 , x2 )) ∨ q(g (x1 , x2 ), x3 , h(x1 , x2 , x3 )). Gleichung 6 ¬gr (ε, 0) ∨ ¬el(n0 (ε), N) ∨ ¬gr (n, n0 (ε)) ∨ gr (ε, abs(minus(a(n), a))). Durch den Wegfall der Variable n0 kann die Skolemfunktion den Namen n0 erhalten. Skolemisierung: ∀x1 . . . ∀xn ∃y ϕ wird ersetzt durch ∀x1 . . . ∀xn ϕ[y /f (x1 , . . . , xn )] wobei dief in ϕ nicht vorkommen darf. In ∃y p(y ), so wird y durch eine Konstante ersetzt. I I resultierende Formel ist nicht mehr semantisch äquivalent zur Ausgangsformel Die Erfüllbarkeit bleibt jedoch erhalten. Laufzeit: Normalformtransformation(Formel ) 1. Transformation in pränexe Normalform: Transformation in konjunktive Normalform ( Satz 8 ): Äquivalenzen eliminieren. Implikationen eliminieren. Wiederholte Anwendung von deMorgen-Regeln und Distributivgesetzen. Gegebenenfalls Variablen umbenennen. Alle Quantoren nach auÿen ziehen. 2. Skolemisierung: Existenzquantizierte Variablen durch neue Skolemfunktionen ersetzen. Resultierende Allquantoren löschen. Beweiskalküle Die universelle Logikmaschine natürliches Schlieÿen I I I I I Gentzenkalkül Sequenzenkalkül für Anwendung durch Menschen intuitive Inferenzregeln anwendbar auf beliebige PL1-Formeln Beispiel: zwei einfache Inferenzregeln: A, A ⇒ B B (Modus Ponens, MP) ∀x A A[x/t] (∀-Elimination, ∀ Variable x muss ersetzt werden durch einen Grundterm t Beweis für kind(eva,otto,anna): WB : WB : 1 kind(eva,anna,otto) 2 ∀x ∀y ∀z kind(x, y , z) ⇒ kind(x, z ∀E (2) : x/eva, y /anna, z/otto 3 kind(eva,anna,otto) ⇒ kind(eva,ot MP(1, 3) unvollständiger Kalkül! 4 kind(eva,otto,anna) Theorem (Gödel'scher Vollständigkeitssatz) Die Prädikatenlogik erster Stufe ist vollständig. Das heiÿt, es gibt einen Kalkül, mit dem sich jede Aussage ϕ, die aus einer Wissensbasis WB folgt, beweisen läÿt. Wenn WB |= ϕ, dann gilt WB ` ϕ. I I I Jede wahre PL1-Aussage ist beweisbar. Gilt auch die Umkehrung? Ist alles was wir syntaktisch herleiten können auch wahr? Theorem (Korrektheit) Es gibt Kalküle, mit denen sich nur wahre Aussagen beweisen lassen. Das heiÿt, wenn WB ` ϕ gilt, dann auch WB |= ϕ. I I Beweisbarkeit und semantische Folgerung sind äquivalent, sofern der Kalkül korrekt und vollständig ist. Kalküle des natürlichen Schlieÿens für Automatisierung ungeeignet. Wissensbasis in konjunktiver Normalform: Resolutionsbeweis für Beispiel Anfrage: Q ≡ ¬kind(eva,otto,anna) WB ∧ ¬Q Beweis: ≡ ??: (kind(eva,anna,otto))1 ∧ (¬kind(x, y , z) ∨ kind(x, z, y ))2 ∧ (¬kind(eva,otto,anna))3 (2) x/eva, y /anna, z/otto : (¬kind(eva,anna,otto) ∨ kind(eva,otto,a Res(3, 4) : (¬kind(eva,anna,otto))5 Res(1, 5) : ()6 , Beispiel: I jeder kennt seine eigene Mutter I kennt Hans jemanden? (kennt(x, mutter(x)))1 ∧ (¬kennt(hans, y ))2 Unikation: x/hans, y /mutter(hans) (kennt(hans, mutter(hans)))1 ∧ (¬kennt(hans, mutter(hans)))2 . Denition Zwei Literale heiÿen unizierbar, wenn es eine Ersetzung σ für alle Variablen gibt, welche die Literale gleich macht. Solch ein σ wird Unikator genannt. Ein Unikator heiÿt allgemeinster Unikator (engl. most general unier (MGU)) wenn sich aus ihm alle anderen Unikatoren durch Ersetzung von Variablen ergeben. Example Die Literale p(f (g (x)), y , z) und p(u, u, f (u)) sollen uniziert werden. Einige Unikatoren: σ1 σ2 σ3 σ4 σ5 : : : : : y /f (g (x)), x/h(v ), y /f (g (h(v ))), x/h(h(v )), y /f (g (h(h(v )))), x/h(a), y /f (g (h(a))), x/a, y /f (g (a)), z/f (f (g (x))), z/f (f (g (h(v )))), z/f (f (g (h(h(v ))))), z/f (f (g (h(a)))), z/f (f (g (a))), u/f (g (x)) u/f (g (h(v u/f (g (h(h u/f (g (h(a u/f (g (a)) I I I I Prädikatssymbole werden wie Funktionssymbole behandelt d.h. das Literal wird wie ein Term behandelt. Argumente von Funktionen werden sequentiell abgearbeitet. Terme werden rekursiv über die Termstruktur uniziert. Komplexität: I I I I Die einfachsten Unikationsalgorithmen sind in den meisten Fällen sehr schnell. Worst-Case: Rechenzeit wächst exponentiell mit der Termgröÿe. In d. Praxis scheitern fast alle Unikationsversuche, also Worst-Case-Komplexität meist ohne Auswirkungen. Schnelle Unikationsalgorithmen auch im Worst-Case fast linear [Bib92] Allgemeine Resolutionsregel für Prädikatenlogik: Denition Resolutionsregel für zwei Klauseln in konjunktiver Normalform (A1 ∨ . . . ∨ Am ∨ B), (¬B 0 ∨ C1 ∨ . . . ∨ Cn ) σ(B) = σ(B 0 (σ(A1 ) ∨ . . . ∨ σ(Am ) ∨ σ(C1 ) ∨ . . . ∨ σ(Cn )) (7) 0 wobei σ der MGU von B und B ist. Theorem Die Resolutionsregel ist korrekt, das heiÿt, die Resolvente folgt semantisch aus den beiden Vaterklauseln. Vollständigkeit ? Example Russellsche Antinomie: Es gibt einen Barbier der alle Menschen rasiert, die sich nicht selbst rasieren. . In PL1 formalisiert: ∀x rasiert(barbier, x) ⇔ ¬rasiert(x, x) Klauselnormalform (siehe Aufgabe ?? ): (¬rasiert(barbier, x) ∨ ¬rasiert(x, x))1 ∧ (rasiert(barbier, x) ∨ rasiert(x, x (8) I I keinen Widerspruch ableitbar! also: Resolution unvollständig! Denition Die Faktorisierung einer Klausel erfolgt durch (A1 ∨ A2 ∨ . . . ∨ An ) σ(A1 ) = σ(A2 ) , (σ(A2 ) ∨ . . . ∨ σ(An )) wobei σ der MGU von A1 und A2 ist. Nun läÿt sich aus Gleichung 8 ein Widerspruch ableiten Fak(1, σ : x/barbier ) : (¬rasiert(barbier, barbier))3 Fak(2, σ : x/barbier ) : (rasiert(barbier, barbier))4 Res(3, 4) : ()5 . und es gilt allgemein Theorem Die Resolutionsregel (7) zusammen mit der Faktorisierungsregel (43) ist vollständig, das heiÿt, durch Anwendung von Faktorisierungs- und Resolutionsschritten läÿt Kombinatorische Suchraumexplosion Resolutionsstrategien Suchraumreduktion durch spezielle Strategien: Unit Resolution I I I bevorzugt Resolutionsschritte, bei denen eine der beiden Klauseln aus nur einem Literal, einer sogenannten Unit-Klausel besteht. Vollständig Heuristik (keine garantierte Suchraumreduktion) Set of Support Strategie . Set of Support (SOS) ⊂ WB ∧ ¬Q I I I I I I Resolution nur zwischen Klauseln aus SOS und dem Komplement. Resolvente wird zum SOS hinzugefügt. garantierte Suchraumreduktion unvollständig. vollständig, wenn WB ∧ ¬Q\SOS erfüllbar Oft wird als initiales SOS die negierte Anfrage ¬Q verwendet. Input Resolution I I I an jedem Resolutionsschritt muss eine Klausel aus der Eingabemenge WB ∧ ¬Q beteiligt sein. garantierte Suchraumreduktion unvollständig. Pure Literal Regel I I I I alle Klauseln werden gelöscht, die Literale enthalten, zu denen es kein komplementätes Literal in anderen Klauseln gibt. garantierte Suchraumreduktion vollständig. wird von praktisch allen Resolutionsbeweisern verwendet Subsumption I I I I I Stellen die Literale einer Klausel K1 eine Teilmenge der Literale der Klausel K2 dar, so kann Klausel K2 gelöscht werden. Zum Beispiel ist (regnet(heute) ⇒ Straÿe_nass(heute)) überüssig, wenn schon Straÿe_nass(heute) gilt. garantierte Suchraumreduktion vollständig. wird von praktisch allen Resolutionsbeweisern verwendet Gleichheit Gleichheitsaxiome: ∀x x = x ∀x ∀y x = y ⇒ y = x ∀x ∀y ∀z x = y ∧ y = z ⇒ x = z Lösung: spezielle Inferenzregeln für Gleichheit. Demodulation: Eine Gleichung t1 = t2 wird mittels Unikation auf einen Term t wie folgt angewendet: t1 = t2 , Paramodulation, BB92]. (. . . t . . .), σ(t1 ) = σ(t) . (. . . σ(t2 ) . . .) arbeitet mit bedingten Gleichungen [Bib92; t1 = t2 erlaubt: 1. Ersetzung von t1 durch t2 2. Ersetzung von t2 durch t1 Lösung: I Gleichungen werden oft nur in einer Richtung genutzt ⇒ gerichtete Gleichungen I Termersetzungssysteme I spezielle Gleichheitsbeweiser. Automatische Theorembeweiser Otter, 1984 [Kal01] I I erfolgreicher Resolutionsbeweiser (mit Gleichheitsbehandlung) L. Wos, W. McCune: Argonne National Laboratory, Chicago Currently, the main application of Otter is research in abstract algebra and formal logic. Otter and its predecessors have been used to answer many open questions in the areas of nite semigroups, ternary Boolean algebra, logic calculi, combinatory logic, group theory, lattice theory, and algebraic geometry. SETHEO, 1987 [Let+92] I I I I PROLOG-Technologie Warren Abstract Machine W. Bibel, J. Schumann, R. Letz: Technische Universität München PARTHEO: Implementierung auf Parallelrechnern E, 2000 [Sch02] moderner Gleichheitsbeweiser I S. Schulz: Technische Universität München Homepage von E: I E is a a purely equational theorem prover for clausal logic. That means it is a program that you can stu a mathematical specication (in clausal logic with equality) and a hypothesis into, and which will then run forever, using up all of your machines resources. Very occasionally it will nd a proof for the hypothesis and tell you so ;-). Vampire I I I Resolution mit Gleichheitsbehandlung A. Voronkov: University of Manchester, England Sieger auf der CADE-20, 2005 Isabelle [NPW02] I I interaktiver Beweiser für Prädikatenlogik höherer Stufe T. Nipkov, L. Paulson, M. Wenzel: Univ. Cambridge, Techn. Univ. München Mathematische Beispiele Anwendung von E [Sch02] auf: In einer Halbgruppe sind links- und rechtsneutrales Element gleich Denition Eine Struktur (M, ·) bestehend aus einer Menge M mit einer zweistelligen inneren Verknüpfung · heiÿt Halbgruppe, wenn das Assoziativgesetz ∀x ∀y ∀z (x · y ) · z = x · (y · z) gilt. Ein Element e ∈ M heiÿt linksneutral (rechtsneutral), wenn gilt ∀x e · x = x (∀x x · e = x ). Zu zeigen ist: Theorem Besitzt eine Halbgruppe ein linksneutrales Element el und ein rechtsneutrales Element er , so gilt el = er . Beweis, Variante 1: intuitives mathematisches Schlieÿen Oenbar gilt für alle x ∈ M el · x = x (9) x · er = x (10) und Setze in Gleichung 9 x = er und in Gleichung 10 x = el ergibt el · er = er und el · er = el . Also: el = el · er = er , . Beweis, Variante 2: Resolutionsbeweis manuell (¬ el = er )1 negierte Anfrag (m(m(x, y ), z) = m(x, m(y , z)))2 (m(el , x) = x)3 (m(x, er ) = x)4 Gleichheitsaxiome: (x = x)5 (¬ x = y (¬ x = y (¬ x = y (¬ x = y Beweis: ∨ ∨ ∨ ∨ y = x)6 ¬ y = z ∨ x = z)7 m(x, z) = m(y , z))8 m(z, x) = m(z, y ))9 Res(3, 6, x6 /m(el , x3 ), y6 /x3 ) : Res(7, 10, x7 /x10 , y7 /m(el , x10 )) : Res(4, 11, x4 /el , x11 /er , z11 /el ) : Res(1, 12, ∅) : (Reexivität) (Symmetrie) (Transitivität) Substitution in Substitution in (x = m(el , x))10 (¬ m(el , x) = z ∨ x = z)11 (er = el )12 (). Beweis, Variante 3: Resolutionsbeweis automatisch mit dem Beweiser E Transformation in Klauselnormalformsprache LOP: (¬A1 ∨ . . . ∨ ¬Am ∨ B1 ∨ . . . ∨ Bn ) 7→ B1 ; . . . ;Bn <- A1 , . . . ,Am . Eingabedatei für E: <- gl(el,er). gl( m(m(X,Y),Z), m(X,m(Y,Z)) ). gl( m(el,X), X ). gl( m(X,er), X ). gl(X,X). gl(Y,X) <- gl(X,Y). gl(X,Z) <- gl(X,Y), gl(Y,Z). gl( m(X,Z), m(Y,Z) ) <- gl(X,Y). gl( m(Z,X), m(Z,Y) ) <- gl(X,Y). # # # # # # # # # Query Assoziativität linksneutrales rechtsneutrales Gleichh: Reflex Gleichh: Symmet Gleichh: Transi Gleichh: Substi Gleichh: Substi Aufruf des Beweisers: unixprompt> eproof halbgr1.lop # Problem status determined, constructing proof obje # Evidence for problem status starts 0 : [--gl(el,er)] : initial 1 : [++gl(X1,X2),--gl(X2,X1)] : initial 2 : [++gl(m(el,X1),X1)] : initial 3 : [++gl(m(X1,er),X1)] : initial 4 : [++gl(X1,X2),--gl(X1,X3),--gl(X3,X2)] : ini 5 : [++gl(X1,m(X1,er))] : pm(3,1) 6 : [++gl(X2,X1),--gl(X2,m(el,X1))] : pm(2,4) 7 : [++gl(el,er)] : pm(5,6) 8 : [] : sr(7,0) 9 : [] : 8 : {proof} # Evidence for problem status ends Beweis, Variante 4: Resolutionsbeweis automatisch, ohne Gleichheitsaxiome Eingabedatei: <- el = er. m(m(X,Y),Z) = m(X,m(Y,Z)) . m(el,X) = X . m(X,er) = X . % % % % Query Assoziativität v. m linksneutrales El. v. rechtsneutrales El. v. Aufruf des Beweisers: unixprompt> eproof halbgr1a.lop # Problem status determined, constructing proof object # Evidence for problem status starts 0 : [--equal(el, er)] : initial 1 : [++equal(m(el,X1), X1)] : initial 2 : [++equal(m(X1,er), X1)] : initial 3 : [++equal(el, er)] : pm(2,1) 4 : [--equal(el, el)] : rw(0,3) 5 : [] : cn(4) 6 : [] : 5 : {proof} Anwendungen I I I I I Vierfarbentheorem wurde 1976 mit Hilfe eines Spezialbeweisers erstmals bewiesen. Inferenz in Expertensystemen (heute weniger) automatische Programmverikation z.B. Sicherheitseigenschaften von kryptographischen Protokollen[FS97; Sch01]. Software-Wiederverwendung Beispiel: Software-Wiederverwendung Spezikation der Anfrage: PRE : Vorbedingungen, die der Anwendung des gesuchten Q vor Programms gelten müssen POSTQ : Nachbedingungen, die Programms gelten müssen. nach der Anwendung des gesuchten Aufgabe: Suche in einer Software-Datenbank nach Modulen, welche diese Anforderung erfüllen. Software-Datenbank enthält zu jedem Modul M eine Beschreibung der Vorbedingungen PREM und der Nachbedingungen POSTM . Es muss also gelten: PREQ ⇒ PREM . Wenn zum Beispiel ein Modul in der Datenbank nur Listen von ganzen Zahlen akzeptiert, so müssen in der Vorbedingung der Anfrage auch Listen von ganzen Zahlen als Eingabe auftreten. Eine Zusatzbedingung, in der Anfrage, dass zum Beispiel nur gerade Zahlen auftreten, stört hier nicht. Auÿerdem muss gelten: POSTM ⇒ POSTQ nach der Anwendung des Moduls müssen alle Eigenschaften, die die Anfrage fordert, erfüllt sein. Example VDML-SL, Vienna Development Method - Specication language Software-Datenbank: rotate erzeugt zyklischen Shift der Listenelemente. Rotate(l : List) l 0 : List pre true post (l = [] ⇒ l 0 = []) ∧ (l 6= [] ⇒ l 0 = (tl l)ˆ[hd l]) Gesucht: shue erzeugt eine beliebige Permutation der Liste. 0 Zu beweisen: (PRE ⇒ PRE ) ∧ (POST Q M Wissensbasis WB M ⇒ POSTQ ) folgt aus der ∀l, l 0 , x, x 0 : List · (l = x ∧ l 0 = x 0 ∧ (w ⇒ w )) ∧ (l = x ∧ l 0 = x 0 ∧ ((l = [] ⇒ l 0 = []) ∧ (l 6= [] ⇒ l 0 = (tl l)ˆ[hd l]) ⇒ ∀i : Item · (∃x1 , x2 : List · x = x1ˆ[i]ˆx2 ⇔ ∃y1 , y2 : List · x 0 = y1ˆ WB enthält eine Beschreibung des Datentyps List Zusammenfassung I I I das Beweisen mathematischer Sätze ist automatisierbar Automatische Beweiser sind für Verikationsaufgaben einsetzbar Für Schlieÿen im Alltag ist PL1 nicht geeignet Weiterführende Literatur: I I I I sehr gute moderne Einführung in die Logik (+ Modallogik und Temporallogik): [Das05] Resolution und automatische Beweiser: [BB92], [Bib92], [CL73] für die KI relevante Logiken: [GRS03]. Webseite zum Buch Teil IV Grenzen der Logik Das Suchproblem I I I automatische Beweiser schaen 20000 Inferenzen pro Sekunde. Menschen schaen nur 1 Inferenz pro Sekunde. Menschen lösen schwierige Probleme viel schneller. Gründe: I I I I Menschen Menschen Menschen Menschen benutzen intuitive Kalküle auf höherer Ebene arbeiten mit Lemmas benutzen intuitives Metawissen (informal!) benutzen Heuristiken Probleme: I I Menschen können oft intuitives Metawissen nicht verbal formulieren! Menschen lernen Heuristiken durch Erfahrung Lösung: Anwendung von maschinellen Lernverfahren zum Lernen von Heuristiken [ESS89; SE90] Beispiel: Resolution 1. Beweissteuerungsmodul bewertet die verschiedenen Alternativen für den nächsten Schritt heuristisch 2. wählt die Alternative mit der besten Bewertung 3. Bewertung der verfügbaren Klauseln aufgrund von Attributen der Klauseln wie etwa die Zahl der Literale, die Zahl der positiven Literale, die Komplexität der Terme 4. Man verwendet maschinelle Lernverfahren, um aus erfolgreichen Beweisen zu lernen [ESS89; SE90] 5. erfolgreiche Resolutionsschritten werden als positiv gespeichert 6. erfolglose Resolutionen werden als negativ gespeichert 7. maschinelles Lernverfahren generiert Programm zur Bewertung von Klauseln Lösung: interaktive Systeme I I I I Mathematica, Maple oder MuPad Isabelle [NPW02] Omega [SB04] MKM 1 1 www.mathweb.org/mathweb/demo.html Entscheidbarkeit und Unvollständigkeit I I I es gibt korrekte und vollständige Kalküle und Theorembeweiser jeder Satz kann in endlicher Zeit bewiesen werden! Was ist, wenn die Aussage nicht wahr ist? Theorem Die Menge der allgemeingültigen Formeln der Prädikatenlogik erster Stufe ist halbentscheidbar. Aufgabe ?? Die Aussagenlogik ist entscheidbar! Logik höherer (zweiter) Stufe: Wenn eine Prädikat p(n) für n gilt, so gilt beziehungsweise ∀p p(n) ⇒ p(n + 1) auch p(n + 1), Theorem (Gödelscher Unvollständigkeitssatz) Jedes Axiomensystem für die Natürlichen Zahlen mit Addition und Multiplikation (die Arithmetik) ist unvollständig. Das heiÿt, es gibt in der Arithmetik wahre Aussagen, die nicht beweisbar sind. Der Gödelsche Beweis arbeitet mit der sogenannten Gödelisierung. Hier wird jede arithmetische Formel eindeutig als Zahl kodiert (Gödelnummer). Die Gödelisierung wird verwendet um die Formel F = Ich bin nicht beweisbar. in der Arithmetik zu formulieren. F ist wahr und nicht beweisbar. Logiken werden unvollständig wenn die Sprache zu mächtig wird. Beispiel: PL1 Beispiel: Mengenlehre erlaubt Antinomien: Die Menge aller Barbieren die alle rasieren, die sich nicht selbst rasieren. 2 Dilemma: Sprachen, die mächtig genug sind, führen zu Widersprüchen! 2 Viele weitere logische Antinomien sind zu nden in [Wie]. Der iegende Pinguin 1. Tweety ist ein Pinguin 2. Pinguine sind Vögel 3. Vögel können iegen Formalisiert in PL1 ergibt sich als Wissensbasis WB pinguin(tweety) pinguin(x) ⇒ vogel(x) vogel(x) ⇒ iegen(x) WB ` iegen(tweety) Der iegende Pinguin Tweety Neuer Versuch: Pinguine können nicht iegen pinguin(x) ⇒ ¬ iegen(x) ` ¬iegen(tweety) Aber: ` iegen(tweety) I I Die Wissensbasis ist widersprüchlich. die Logik ist monoton: I neues Wissen kann altes nicht ungültig machen Denition Eine Logik heiÿt monoton, wenn für eine beliebige Wissensbasis WB und eine beliebige Formel φ die Menge der aus WB ableitbaren Formeln eine Teilmenge der aus WB ∪ φ ableitbaren Formeln ist. Noch ein Versuch (alle) Vögel auÿer Pinguinen können iegen WB 2 : pinguin(tweety) pinguin(x) ⇒ vogel(x) vogel(x) ∧ ¬ pinguin(x) ⇒ iegen(x) pinguin(x) ⇒ ¬ iegen(x) Problem gelöst! ` ¬iegen(tweety) iegen(tweety) ist nicht ableitbar! Der Rabe Abraxas WB 3 : rabe(abraxas) rabe(x) ⇒ vogel(x) pinguin(tweety) pinguin(x) ⇒ vogel(x) vogel(x) ∧ ¬ pinguin(x) ⇒ iegen(x) pinguin(x) ⇒ ¬ iegen(x) Die Flugeigenschaften von Abraxas sind unklar! WB 4 : rabe(abraxas) rabe(x) ⇒ vogel(x) rabe(x) ⇒ ¬ pinguin(x) pinguin(tweety) pinguin(x) ⇒ vogel(x) vogel(x) ∧ ¬ pinguin(x) ⇒ iegen(x) pinguin(x) ⇒ ¬ iegen(x) Das Frame Problem Es müssen auch alle Eigenschaften aufgeführt werden, die das Objekt nicht hat: Frameaxiome Planungsprobleme: Wird zum Beispiel ein blaues Haus rot angestrichen, so ist es hinterher rot. Wissensbasis: farbe(haus,blau) anstreichen(haus,rot) anstreichen(x, y ) ⇒ farbe(x, y ) das Haus ist nun rot und blau. nichtmonotone Logiken: Entfernen von Wissen (Formeln) aus der Wissensbasis möglich! Default-Logik Eigenschaften für Objekte, die so lange gelten wie keine anderen Regeln vorhanden sind. Im Tweety-Beispiel wäre die Regel Vögel können iegen eine derartige Default-Regel. Modellierung von Unsicherheit besser: P(vogel(x) ⇒ iegen(x)) = 0.99 P(iegen|vogel) = 0.99 zu arbeiten. Mit Hilfe von Bayes-Netzen lassen sich auch komplexe Anwendungen mit vielen Variablen modellieren. andere Modellierung für Das Wetter ist schön . Die Variable Wetter_ist_schön ist stetig mit Werten in [0, 1]. Wetter_ist_schön = 0.7 bedeutet dann Das Wetter ist ziemlich schön . ⇒ Fuzzy-Logik Mit hoher Wahrscheinlichkeit wird es ein biÿchen Regen geben Wahrscheinlichkeitsdichte P(Niederschlagsmenge = X ) = Y 0 10 20 30 40 50 Regenmenge [mm] Wahrscheinlichkeitsdichte der stetigen Variable Regenmenge. sehr wahrscheinlich zwischen 10 und 20mm Regen. ormalismus Aussagenlogik uzzylogik iskrete Wahrscheinlichkeitslogik tetige Wahrscheinlichkeitslogik Anzahl der Wahrheitswerte 2 ∞ n ∞ Wahrscheinlichkeite ausdrückbar ja ja Vergleich verschiedener Formalismen zur Modellierung unsicheren Wissens. Teil V Logikprogrammierung mit PROLOG Algorithm = Logic + Control Anwendungen: I I KI Computerlinguistik Literatur: [Bra86; CM94] Syntax PL1 / Klauselnormalform (¬A1 ∨ . . . ∨ ¬Am ∨ B) (A1 ∧ . . . ∧ Am ) ⇒ B A (¬A1 ∨ . . . ∨ ¬Am ) ¬(A1 ∧ . . . ∧ Am ) PROLOG B :- A1 , . . . ,Am . B :- A1 , . . . ,Am . A. ?- A1 , . . . ,Am . ?- A1 , . . . ,Am . Bezeichnung Regel Regel Fakt Anfrage (Query) Anfrage (Query) PROLOG Systeme und Implementierungen I I GNU-PROLOG [Dia04] SWI-PROLOG PROLOG-Systeme interpretieren Warren-abstract-machine-Code (WAM). Die PROLOG-Quelldatei wird in den sogenannten WAM-Code compiliert, welcher dann auf der WAM interpretiert wird. Geschwindigkeit bis zu 10 Millionen logische Inferenzen pro Sekunde (LIPS) auf 1 Gigahertz-PC Einfache Beispiele 1 2 3 4 5 6 7 8 9 10 11 kind(otto,katrin,franz). kind(maria,katrin,franz). kind(eva,anna,otto). kind(hans,anna,otto). kind(isolde,anna,otto). kind(klaus,maria,ottob). kind(X,Z,Y) :- kind(X,Y,Z). nachkomme(X,Y) :- kind(X,Y,Z). nachkomme(X,Y) :- kind(X,U,V), nachkomme(U,Y). PROLOG-Programm mit Verwandtschaftsbeziehungen (Datei: verw1.pl). PROLOG-Interpreter laden und compilieren: ?- [verw1]. - ?- kind(eva,otto,anna). Yes - ?- nachkomme(X,Y). X = otto Y = katrin Yes - ?- nachkomme(klaus,Y). Y = maria Yes - ?- nachkomme(klaus,katrin). wird nicht beantwortet. Lösung: 1 2 3 nachkomme(X,Y) :- kind(X,Y,Z). nachkomme(X,Y) :- kind(X,Z,Y). nachkomme(X,Y) :- kind(X,U,V), nachkomme(U,Y). Nun wird aber ?- kind(eva,otto,anna). falsch beantwortet! Lösung: 1 2 3 4 5 6 7 8 9 10 11 12 kind_fakt(otto,katrin,franz). kind_fakt(maria,katrin,franz). kind_fakt(eva,anna,otto). kind_fakt(hans,anna,otto). kind_fakt(isolde,anna,otto). kind_fakt(klaus,maria,ottob). kind(X,Z,Y) :- kind_fakt(X,Y,Z). kind(X,Z,Y) :- kind_fakt(X,Z,Y). nachkomme(X,Y) :- kind(X,Y,Z). nachkomme(X,Y) :- kind(X,U,V), nachkomme(U,Y). Semantik von PROLOG Programmen I deklarative Semantik: Hornklauseln I prozedurale Semantik: PROLOG-Programme logische Interpretation der Abarbeitung der Suchbaum für kind(eva,otto,anna) ¬ kind(e, o, a) (kind(e, o, a) ∨ ¬ kind(e, a, o)) kind(e, a, o) (kind(e, a, o) ∨ ¬ kind(e, o, a)) (kind(e, o, a) ∨ ¬ kind(e, a, o)) kind(e, a, o) ... Und-Oder-Baum für nachkomme(klaus,katrin) −nachk(kl,ka) nachk(kl,ka) nachk(kl,ka) 10 −kind(kl,ka,Z) 11 −kind(kl,U,V) −nachk(U,ka) kind(kl,ka,Z) kind(kl,m,ob) kind(kl,U,V) 8 −kind(ka,kl,Z) ... nachk(U,ka) 10 8 −kind(kl,V,U) kind(kl,m,ob) nachk(U,ka) −kind(U,ka,f) ... kind(a,ka,f) kind(m,ka,f) ... 11 −kind(U,U2,V) −nachk(U2,ka) .......... ... ... Ablaufsteuerung und prozedurale Elemente Vermeidung von unnötigem Backtracking durch Cut 1 2 max(X,Y,X) :- X >= Y. max(X,Y,Y) :- X < Y. Anfrage: ?- max(3,2,Z), Z > 10. Backtracking wegen Z = 3 Mit Cut: 1 2 max(X,Y,X) :- X >= Y, !. max(X,Y,Y). Das built-in Prädikat fail alle Kinder und deren Eltern ausgeben: ?- kind_fakt(X,Y,Z), write(X), write(’ ist Kind von ’), write(Y), write(’ und ’), write(Z), write(’.’), nl, fail. Ausgabe: otto ist Kind von katrin und franz. maria ist Kind von katrin und franz. eva ist Kind von anna und otto. ... No. Was würde ohne fail am Ende Negation as Failure Anfrage: ?- kind_fakt(ulla,X,Y). Antwort: No Antwort ist logisch nicht korrekt! Warum? Der Beweiser E würde hier korrekt antworten: No proof found. Die Einschränkung auf Hornklauseln ist wichtig für die prozedurale Abarbeitung mittels SLD-Resolution. Gegenbeispiel: Russelsche Antinomie (Beispiel ??) rasiert(barbier, X ) ∨ rasiert(X , X ) enthält die Nicht-Hornklausel - [A,2,2,B,3,4,5] [Head|Tail] trennt das erste Element (Head) vom Rest (Tail) der Liste. WB : liste([A,2,2,B,3,4,5]). Dialog: ?- liste([H|T]). H = A T = [2, 2, B, 3, 4, 5] Yes Bäume als Listen [b,c] [a,b,c] • b c und a b [[e,f,g],[h],d] • e f • g c [a,[b,e,f,g],[c,h],d] a • d h b und e f c g h d Das Prädikat 1 2 I append(X,Y,Z) append([],L,L). append([X|L1],L2,[X|L3]) :- append(L1,L2,L3). deklarative (rekursive) logische Beschreibung und gleichzeitig Abarbeitung Beispiele: ?- append([a,b,c],[d,1,2],Z). Z = [a, b, c, d, 1, 2] - ?- append(X,[1,2,3],[4,5,6,1,2,3]). X = [4, 5, 6] Naive Reverse 1 2 nrev([],[]). nrev([H|T],R) :- nrev(T,RT), append(RT,[H],R). Besser: Liste Akkumulator [a,b,c,d] [b,c,d] [c,d] [d] [] 1 2 [] [a] [b,a] [c,b,a] [d,c,b,a] accrev([],A,A). accrev([H|T],A,R) :- accrev(T,[H|A],R). 1 2 3 4 :- dynamic nachkomme/2. nachkomme(X,Y) :- kind(X,Y,Z), asserta(nachkomme(X,Y nachkomme(X,Y) :- kind(X,U,V), nachkomme(U,Y), asserta(nachkomme(X,Y)). Die Anfrage ?- nachkomme(klaus, katrin). führt zum Hinzufügen von: nachkomme(klaus, katrin). nachkomme(maria, katrin). I I Genetic Programming Maschinelles Lernen Ein Planungsbeispiel Example Ein Bauer wollte einen Kohlkopf, eine Ziege und einen Wolf über einen Fluss bringen. Sein Boot war aber so klein, dass er entweder nur den Kohlkopf oder nur die Ziege oder nur den Wolf hinüberfahren konnte. Der Bauer dachte nach und sagte dann zu sich: Bringe ich zuerst den Wolf ans andere Ufer, so frisst die Ziege den Kohl. Transportiere ich den Kohl als erstes, wird die Ziege vom Wolf gefressen. Was soll ich tun? 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 aktion(Start,Ziel):plan(Start,Ziel,[Start],Pfad), nl,write(’Loesung:’),nl, write_path(Pfad). plan(Start,Ziel,Besucht,Pfad):gehe(Start,Next), sicher(Next), \+ member(Next,Besucht), % not(member(...)) plan(Next,Ziel,[Next|Besucht],Pfad). plan(Ziel,Ziel,Pfad,Pfad). gehe(zust(X,X,Z,K),zust(Y,Y,Z,K)):-gegenueber(X,Y). gehe(zust(X,W,X,K),zust(Y,W,Y,K)):-gegenueber(X,Y). gehe(zust(X,W,Z,X),zust(Y,W,Z,Y)):-gegenueber(X,Y). gehe(zust(X,W,Z,K),zust(Y,W,Z,K)):-gegenueber(X,Y). % % % % Bauer, Bauer, Bauer, Bauer gegenueber(links,rechts). gegenueber(rechts,links). sicher(zust(B,W,Z,K)):- gegenueber(W,Z), gegenueber(Z,K). sicher(zust(B,B,B,K)). Anfrage: ?- start. Antwort Loesung: Bauer und Bauer von Bauer und Bauer und Bauer und Bauer von Bauer und Yes Ziege von links nach rechts rechts nach links Wolf von links nach rechts Ziege von rechts nach links Kohl von links nach rechts rechts nach links Ziege von links nach rechts Denition von plan in Logik: ∀z plan(z, z) ∧ ∀s ∀z ∀n [gehe(s, n) ∧ sicher(n) ∧ plan(n, z) ⇒ plan(s, z Situationskalkül! Constraint Logic Programming (CLP) Problem mit PROLOG: Frame-Axiome, siehe Tweety-Beispiel: pinguin(tweety) schlieÿt rabe(tweety) nicht aus! I CLP = Formulierung von Randbedingungen (engl. constraint) für Variablen I Interpreter überwacht die Einhaltung aller Randbedingungen. I Der Programmierer wird entlastet Zitat [Fre97]: Constraint programming represents one of the closest approaches computer science has yet made to the Holy Grail of programming: the user states the problem, the computer solves it. Example Für die Raumaufteilung am Albert-Einstein-Gymnasium bei den mündlichen Abiturprüfungen soll der Hausmeister einen Plan erstellen. Er hat folgende Informationen: Die vier Lehrer Maier, Huber, Mueller und Schmid prüfen die Fächer Deutsch, Englisch, Mathe und Physik in den aufsteigend nummerierten Räumen 1, 2, 3 und 4. Jeder Lehrer prüft genau ein Fach in genau einem Raum. Auÿerdem weiÿ er folgendes über die Lehrer und ihre Fächer: 1. Herr Maier prüft nie in Raum 4. 2. Herr Müller prüft immer Deutsch 3. Herr Schmid und Herr Müller prüfen nicht in benachbarten Räumen. 4. Frau Huber prüft Mathematik. 5. Physik wird immer in Raum Nr. 4 geprüft. 6. Deutsch und Englisch werden nicht in Raum 1 geprüft Wer prüft was in welchem Raum? 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 fd_domain([Deutsch, Englisch, Mathe, Physik],1,4), fd_all_different([Deutsch, Englisch, Mathe, Physik fd_labeling([Maier, Huber, Mueller, Schmid]), Maier #\= 4, % Maier prüft nicht i Mueller #= Deutsch, % Müller prüft Deutsc dist(Mueller,Schmid) #>= 2, % Abstand Müller/Schm Huber #= Mathe, % Huber prüft Mathema Physik #= 4, % Physik in Raum 4 Deutsch #\= 1, % Deutsch nicht in Ra Englisch #\= 1, % Englisch nicht in R nl, write([Maier, Huber, Mueller, Schmid]), nl, write([Deutsch, Englisch, Mathe, Physik]), nl. Ausgabe: [3,1,2,4] [2,3,1,4] Raumplan: Raum Nr. Lehrer Fach 1 Huber Mathe 2 Müller Deutsch Finite-Domain-Constraint-Solver Übung: Einstein-Rätsel 3 Maier Englisch 4 Schmid Physik Zusammenfassung I I I I I I I Unikation, Listen, deklarative Programmierung, relationale Sicht auf Prozeduren Übergabeparameter für Eingabe- und Ausgabe kurze Programme Werkzeug zum Rapid Prototyping CLP für Optimierungs- und Planungsaufgaben und Logikrätsel PROLOG in Europa, LISP in USA Literatur: [Bra86] und [CM94], Handbücher: [Wie04; Dia04], CLP: [Bar98] Teil VI Suchen, Spielen und Probleme lösen h (((hh P P P P hh h X P(( X ( P P ((hhhh (h hh ((( (` ` X X P (((hhh ( h `` X X X X P * Suchbaum für SLD-Resolution für einfachen Beweis mit Tiefenschranke 14 Beispiel: Schach I I I Verzweigungsfaktor b = 30, Tiefe d = 50: 3050 ≈ 7.2 · 1073 Blattknoten. 50 X 1 − 3051 Anzahl Inferenzschritte = 30d = = 7.4 · 1073 , 1 − 30 d=0 I I I I 10000 Computer je einer Milliarde Inferenzen pro Sekunde Parallelisierung ohne Verluste Rechenzeit: 7.4 · 1073 Inferenzen = 7.4 · 1060 sec ≈ 2.3 · 1053 Jahre, 10000 · 109 Inferenzen/sec I 1043 mal Alter des Universums Fragen: I I Wie kann es dann sein, dass es gute Schachspieler und heutzutage auch gute Schachcomputer gibt? Wie kann es sein, dass Mathematiker Beweise für Sätze nden, bei denen der Suchraum noch viel gröÿer ist? Example Das 8-Puzzle: 2 5 1 4 8 7 3 6 → 1 2 3 4 5 6 7 8 Mögliche Start- und Zielzustände des 8-Puzzle. 1 4 5 7 8 2 3 6 1 5 2 4 3 7 8 6 1 4 7 .. . 2 5 3 8 6 .. . 1 5 2 4 3 7 8 6 .. . .. . .. . 1 2 4 5 3 7 8 6 1 5 2 4 8 3 7 6 .. . .. . .. . 1 7 .. . .. . 5 2 4 3 8 6 .. . 4 1 2 5 3 7 8 6 .. . .. . .. . 1 4 7 1 2 4 5 3 7 8 6 .. . .. . .. . 1 4 7 .. . .. . 2 5 3 8 6 2 5 3 8 6 .. . 1 4 7 .. . .. . .. . 2 3 5 8 6 1 2 3 4 5 6 7 8 Denition Der mittlere Verzweigungsfaktor eines Baumes ist der Verzweigungsfaktor, den ein Baum mit konstantem Verzweigunsfaktor, gleicher Tiefe und gleich vielen Blattknoten hätte. √ mittlerer Verzweigungsfaktor = 8 ≈ 2.83. 1 4 5 7 8 2 3 6 1 5 2 4 3 7 8 6 1 5 2 4 3 7 8 6 1 5 2 4 8 3 7 6 1 5 2 4 3 7 8 6 1 5 4 3 2 7 8 6 1 5 2 4 3 6 7 8 1 5 2 4 8 3 7 6 1 5 2 4 8 3 7 6 5 2 1 4 3 7 8 6 1 5 2 7 4 3 8 6 .. . .. . .. . .. . .. . .. . 1 2 4 5 3 7 8 6 1 2 4 5 3 7 8 6 4 1 2 5 3 7 8 6 1 2 3 4 5 7 8 6 4 1 2 5 3 7 8 6 .. . .. . 4 1 2 7 5 3 8 6 .. . .. . 1 2 4 7 8 .. . .. . 3 5 6 1 2 3 4 5 6 7 8 .. . mittlerer Verzweigungsfaktor ≈ 1.83 3 Beim 8-Puzzle hängt der mittlere Verzweigungsfaktor vom Startzustand ab (siehe Aufgabe ?? ). Denition Ein Suchproblem wird deniert durch folgende Gröÿen Zustand: Beschreibung des Zustands der Welt in dem sich ein Suchagent bendet. Startzustand: der Initialzustand in dem der Agent gestartet wird. Zielzustand: erreicht der Agent einen Zielzustand, so terminiert er und gibt (falls gewünscht) eine Lösung aus. Aktionen: Alle erlaubten Aktionen des Agenten. Lösung: Der Pfad im Suchbaum vom Startzustand zum Zielzustand. Kostenfunktion: ordnet jeder Aktion einen Kostenwert zu. Wird benötigt, um kostenoptimale Lösungen zu nden. Zustandsraum: Menge aller Zustände. Angewandt auf das 8-Puzzle-Problem ergibt sich 3 × 3 Matrix S mit den Werten 1,2,3,4,5,6,7,8 (je einmal) und einem leeren Feld. Startzustand: Ein beliebiger Zustand. Zielzustand: Ein beliebiger Zustand, z.B. der in Abbildung 53 rechts angegebene Zustand. Aktionen: Bewegung des leeren Feldes Sij nach links (falls j 6= 1), rechts (falls j 6= 3), oben (falls i 6= 1), unten (falls i 6= 3). Kostenfunktion: Die konstante Funktion 1, da alle Aktionen gleich aufwändig sind. Zustandsraum: Der Zustandsraum zerfällt in Bereiche, die gegenseitig nicht erreichbar sind ( ). Daher gibt es nicht lösbare 8-Puzzle-Probleme. Zustand: Zur Analyse der Suchalgorithmen werden noch folgende Begrie benötigt: Denition • Die Zahl der Nachfolgeszustände eines Zustands s wird als Verzweigungsfaktor (engl. branching faktor) b(s) bezeichnet, beziehungsweise mit b , falls der Verzweigungsfaktor konstant ist. • Der eektive Verzweigungsfaktor eines Baumes der Tiefe d mit insgesamt n Knoten wird deniert als der Verzweigungsfaktor, den ein Baum mit konstantem Verzweigunsfaktor, gleicher Tiefe und gleicher Knotenzahl n hätte (siehe Aufgabe ?? ). • Ein Suchalgorithmus heiÿt vollständig, wenn er für jedes lösbare Problem eine Lösung ndet. Terminiert ein vollständiger Suchalgorithmus ohne eine Lösung zu nden, so ist das Problem also nicht lösbar. Auösen der Gleichung n= d X i=0 bi = b d+1 − 1 b−1 nach b ergibt eektiven Verzweigungsfaktor Theorem Bei stark verzweigenden endlichen Suchbäumen mit groÿem konstantem Verzweigungsfaktor liegen fast alle Knoten auf der letzten Ebene. Beweis: (Aufgabe ?? ). Example Kürzester Weg von Stadt A zu Stadt B Frankfurt 111 85 67 Karlsruhe Würzburg Bayreuth 104 Mannheim 183 140 64 Stuttgart Ulm 107 170 123 85 115 München 59 Rosenheim 81 184 126 Salzburg 93 Zürich 91 Passau 102 189 55 Memmingen Basel 220 171 191 Bern 75 Nürnberg 230 120 Landeck 73 Innsbruck Der Süddeutschlandgraph mit Kostenfunktion. Linz Eine Stadt als aktueller Ort des Reisenden. Startzustand: Eine beliebige Stadt. Zielzustand: Ein beliebige Stadt. Aktionen: Reise von der aktuellen Stadt zu einer Nachbarstadt. Kostenfunktion: Die Entfernung zwischen den Städten. Zustandsraum: Alle Städte, d.h. Knoten im Graphen. Zustand: Denition Ein Suchalgorithmus heiÿt optimal , wenn er, falls eine Lösung existiert, immer die Lösung mit den niedrigsten Kosten ndet. Das 8-Puzzle-Problem ist jede Aktion führt in einen eindeutig bestimmten Nachfolgezustand. beobachtbar: der Agent weiÿ immer, in welchem Zustand er sich bendet. Man kann mit sogenannten Oine-Algorithmen optimale Lösungen nden. Sonst: Lernen durch Verstärkung I deterministisch: I I I Uniformierte Suche Breitensuche 1 2 5 6 3 7 8 9 4 10 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 11 12 Breitensuche(Knotenliste, Ziel) NeueKnoten = ∅ For all Knoten ∈ Knotenliste If Ziel_erreicht(Knoten) Return(Lösung gefunden, Knoten) NeueKnoten = Append(NeueKnoten, Nachfolger(Knoten)) If NeueKnoten 6= ∅ Return(Breitensuche(NeueKnoten, Ziel)) Else Return(keine Lösung) Der Algorithmus für die Breitensuche. I I Algorithmus ist generisch. anwendungsspezische Funktionen Ziel_erreicht und Analyse I I I vollständig. optimal, wenn die Kosten aller Aktionen gleich sind (siehe Übung). Rechenzeit = c· I I d X i=0 bi = b d+1 − 1 = O(b d ). b−1 Speicherplatzbedarf = O(b d ). Uniform Cost Search: aus aufsteigend sortierter Liste der Knoten wird immer der mit niedrigsten Kosten expandiert. Immer optimal! Tiefensuche 1 1 2 3 4 2 1 3 4 1 2 5 6 7 8 5 3 4 1 2 8 18 19 20 1 3 4 3 21 22 2 6 7 8 6 9 10 11 3 4 7 8 1 4 3 21 23 24 25 22 3 15 16 17 1 4 2 7 12 13 14 1 4 1 4 22 29 26 27 28 30 31 32 3 4 8 Tiefensuche(Knoten, Ziel) ZielErreicht(Knoten) Return(Lösung gefunden) NeueKnoten = Nachfolger(Knoten) While NeueKnoten 6= ∅ Ergebnis = Tiefensuche(Erster(NeueKnoten), Ziel) If Ergebnis = Lösung gefunden Return(Lösung gefunden) NeueKnoten = Rest(NeueKnoten) Return(keine Lösung) If Der Algorithmus für die Tiefensuche. Analyse I I I I unvollständig. nicht optimal Rechenzeit = O(b d ) Speicherplatzbedarf = O(bd) Iterative Deepening 1 2 3 4 5 6 7 Schranke IterativeDeepening(Knoten, Ziel) Tiefenschranke = 0 Repeat Ergebnis = Tiefensuche-B(Knoten, Ziel, 0, Tiefenschranke) Tiefenschranke = Tiefenschranke + 1 Until Ergebnis = Lösung gefunden Tiefensuche-B(Knoten, Ziel, Tiefe, Schranke) ZielErreicht(Knoten) Return(Lösung gefunden) NeueKnoten = Nachfolger(Knoten) While NeueKnoten 6= ∅ Und Tiefe < Schranke Ergebnis = Tiefensuche-B(Erster(NeueKnoten), Ziel, Tiefe + 1, Schranke) If Ergebnis = Lösung gefunden Return(Lösung gefunden) NeueKnoten = Rest(NeueKnoten) Return(keine Lösung) If Der Algorithmus für Iterative Deepening, der die leicht modizierte Tiefensuche mit Schranke (Tiefensuche-B) aufruft. Analyse I I I I vollständig. optimal, wenn Kosten konstant und Inkrement = 1 Rechenzeit = O(b d ) Speicherplatzbedarf = O(bd) Verlust durch wiederholte Berechnungen: Nb (dmax ) = dmax X i=0 bi = b dmax +1 − 1 b−1 dmax X−1 d=1 ! ! dmax X−1 1 b d+1 − 1 d+1 − dmax + 1 Nb (d) = = b b−1 b−1 d=1 d=1 ! ! dmax +1 dmax X 1 1 b −1 d = − dmax + 1 = b − b−1 b−1 b−1 d=2 dmax +1 1 b −1 1 ≈ = Nb (dmax ) b−1 b−1 b−1 dmax X−1 Für b = 20 etwa enthalten die ersten dmax − 1 Bäume zusammen 1 nur etwa b−1 = 1/19 der Knotenzahl des letzen Baumes. Vergleich Vollständigkeit Optimale Lösung Rechenzeit Speicherplatz Breitensuche ja ja (*) bd bd Uniform Cost Search ja ja bd bd Tiefensuche nein nein ∞ oder b ds bd Iterative Deepening ja ja (*) bd bd (*) heiÿt, dass die Aussage nur bei konstanten Kosten gilt. ds ist die maximale Tiefe bei endlichen Suchbaum. Heuristische Suche sind Problemlösungsstrategien, die in vielen Fällen zu einer schnelleren Lösung führen als die uninformierte Suche. Es gibt keine Garantie! im Alltag sind heuristische Verfahrensehr wichtig. I Heuristiken I I I Realzeitentscheidungen unter beschränkten Ressourcen I besser eine schnell gefundene gute Lösung als eine optimale, die nie gefunden wird. Mathematische Modellierung f (s) für Zustände + heuristische Bewertung + ... I heuristische Bewertungsfunktion I Knoten = Zustand HeuristischeSuche(Start, Ziel) Knotenliste = [Start] While True If Knotenliste = ∅ Return(keine Lösung) Knoten = Erster(Knotenliste) Knotenliste = Rest(Knotenliste) If Ziel_erreicht(Knoten) Return(Lösung gefunden, Knoten) Knotenliste = Einsortieren(Nachfolger(Knoten),Knotenliste) Der Algorithmus für die heuristische Suche.a a Während des Einsortierens eines neuen Knotens in die Knotenliste kann es eventuell vorteilhaft sein, zu prüfen, ob der neue Knoten schon vorhanden ist und gegebenenfalls das Duplikat zu löschen. Tiefensuche und Breitensuche sind Spezialfälle der I I Die beste Heuristik wäre eine Funktion, die für jeden Knoten die tatsächlichen Kosten zum Ziel berechnet. Real: Kostenschätzfunktion h Er: Schatz, denk mal an die Spritkosten! Ich pück dir woanders welche. Sie: Nein, ich will die da! Gierige Suche Basel Frankfurt 111 85 67 Karlsruhe Würzburg Bayreuth 104 Mannheim 183 140 64 Stuttgart Ulm 107 170 123 85 115 München 59 Rosenheim 81 184 Linz 126 Salzburg 93 Zürich 91 Passau 102 189 55 Memmingen Basel 220 171 191 Bern 75 Nürnberg 230 120 Landeck 73 Innsbruck Kostenschätzfunktion h(s) = Luftlinienentfernung von Stadt s nach Ulm. 204 Bayreuth 207 Bern 247 Frankfort 215 Innsbruck 163 Karlsruhe 137 Landeck 143 Linz 318 München 120 Mannheim 164 Memmingen 47 Nürnberg 132 Passau 257 Rosenheim 168 Stuttgart 75 Salzburg 236 Würzburg 153 Zürich 157 Linz h = 318 Mannheim h = 164 Passau Salzburg h = 257 h = 236 Linz h = 318 Rosenheim h = 168 Innsbruck h = 163 München h = 120 Karlsruhe h = 137 Nürnberg h = 132 Würzburg Mannheim Ulm h = 153 h = 164 h=0 München Passau h = 120 h = 257 Salzburg h = 236 Memmingen Ulm Nürnberg Passau Rosenheim h = 47 h = 0 h = 132 h = 257 h = 168 I I Frankfurt h = 215 MannheimNürnbergUlm: 401 km MannheimKarlsruheStuttgartUlm: 323 km Bayreuth h = 207 Kostenfunktion g (s) = Summe der vom Start bis zum aktuellen Knoten angefallen Heuristische Schätzung h(s) = Geschätzte Kosten vom aktuellen Knoten zum Ziel heuristische Bewertungsfunktion f (s) = g (s) + h(s). Forderung: Denition Eine heuristische Kostenschätzfunktion h(s), welche die tatsächlichen Kosten vom Zustand s zum Ziel nie überschätzt, heiÿt zulässig (engl. admissible). = HeuristischeSuche mit Bewertungsfunktion f (s) = g (s) + h(s) und zulässiger Heuristik h astern-Algorithmus Frankfurt (0) 0,215,215 Würzburg (1) 111,153,264 Mannheim (2) 85,164,249 Frankfurt (3) Karlsruhe (4) Nürnberg (5) 170,215,385 152,137,289 315,132,447 Frankfurt (0) 0,215,215 Würzburg (1) 111,153,264 Mannheim (2) 85,164,249 Frankfurt (6) Stuttgart (7) Ulm (8) Nürnberg (9) 222,215,437 251,75,326 294,0,294 215,132,347 Karlsruhe (3) 152,137,289 Mannheim (10) 219,164,383 Stuttgart (11) 216,75,291 Nürnberg (4) Frankfurt (5) 315,132,447 170,215,385 Basel (12) 343,204,547 Karlsruhe (13) Würzburg (14) Ulm (15) 280,137,417 356,153,509 323,0,323 Theorem Der A? -Algorithmus ist optimal. Das heiÿt, er ndet immer die Lösung mit den niedrigsten Gesamtkosten, wenn die Heuristik h zulässig ist. Beweis: Lösungsknoten • l s f (l) ≤ f (s) l0 f (s) ≤ g (l 0 ) Der von A? zuerst gefundene Lösungsknoten l hat nie höhere Kosten als ein beliebiger anderer Lösungsknoten l 0 . g (l) = g (l) + h(l) = f (l) ≤ f (s) = g (s) + h(s) ≤ g (l 0 ). Schwächen von A? : I I hoher Speicherplatzbdearf Liste der oenen Knoten muss sortiert sein ⇒ Heapsort Lösung: Iterative Deepening I I Wie Tiefensuche, aber Schranke für die heuristische Bewertung f (s). Empirischer Vergleich der Suchalgorithmen zulässige Heuristiken Für das 8-Puzzle: I I h1 zählt die Anzahl der falschen Plättchen h2 misst den Manhattan-Abstand Beispiel: Abstand zwischen h1 (s) = 7, 2 5 1 4 8 7 3 6 und 1 2 3 4 5 6 7 8 h2 (s) = 1 + 1 + 1 + 1 + 2 + 0 + 3 + 1 = 10 h1 und h2 sind zulässig! Vergleich der Suchalgorithmen I I mit Mathematica implementiert Mittelwerte über 132 zufällig generierte lösbare 8-Puzzle-Probleme Vergleich Iterative Deepening e Schritte 2 20 4 81 6 806 8 6455 0 50512 2 486751 4 6 8 A? -Algorithmus Heuristik h1 Heuristik h2 A Zeit [sec] Schritte Zeit [sec] Schritte Zeit [sec] L 0.003 3.0 0.0010 3.0 0.0010 0.013 5.2 0.0015 5.0 0.0022 0.13 10.2 0.0034 8.3 0.0039 1.0 17.3 0.0060 12.2 0.0063 7.9 48.1 0.018 22.1 0.011 75.7 162.2 0.074 56.0 0.031 IDA? − 10079.2 2.6 855.6 0.25 − 69386.6 19.0 3806.5 1.3 − 708780.0 161.6 53941.5 14.1 eektiver Verzweigungsfaktor: Zusammenfassung I I I I für uninformierte Suche ist nur Iterative Deepening praktisch einsetzbar. Warum? IDA? ist vollständig, schnell und speicherezient gute Heuristiken reduzieren den eektiven Verzweigungsfaktor stark Was bringt die Heuristik wenn das Problem unlösbar ist? Wie ndet man gute Heuristiken? I I Manuell u.a. durch Vereinfachung des Problems automatischen Generieren von Heuristiken mit maschinellen Lernverfahren Spiele mit Gegner I I I I I Spiele für zwei Spieler Schach, Dame, Reversi, Go deterministisch, beobachtbar Kartenspiele: nur teilweise beobachtbar, warum? Nullsummenspiele: Gewinn + Verlust = 0 Minimax Suche Besonderheiten bei Spielen: I I I I I I I I I mittlerer Verzweigungsfaktor bei Schach etwa 30 bis 35 50 Züge pro Spieler: 30100 ≈ 10148 Blattknoten Realzeitanforderungen beschränkte Suchtiefe heuristische Bewertungsfunktion b , Spieler: Max, Gegner: Min Annahme: Gegner Min macht immer den für ihn besten Zug. Max maximiert Bewertung seiner Züge Min minimiert Bewertung seiner Züge Minimax-Spielbaum mit Vorausschau von 4 Halbzügen. 3 Max 3 Min 6 Max Min Bewertung 2 0 1 3 6 3 2 1 2 4 2 4 6 1 6 4 0 7 9 1 6 7 3 4 1 5 8 9 2 2 3 4 5 1 2 7 6 9 4 Alpha-Beta-Pruning Alphabeta-Spielbaum mit Vorausschau von 4 Halbzügen. 3 Max 6 Max Min Bewertung I I ≤2 b 3 Min 0 1 3 6 3 0 7 9 1 6 7 3 4 1 2 ≤1 a 2 ≤2 c 9 2 2 An jedem Blattknoten wird die Bewertung berechnet. Für jeden Maximumknoten wird während der Suche der aktuell gröÿte Wert der bisher traversierten Nachfolger in α gespeichert. I I I Für jeden Minimumknoten wird während der Suche der aktuell kleinste Wert der bisher traversierten Nachfolger in β gespeichert. Ist an einem Minimumknoten k der aktuelle Wert β ≤ α, so kann die Suche unter k beendet werden. Hierbei ist α der gröÿte Wert eines Maximumknotens im Pfad von der Wurzel zu k . Ist an einem Maximumknoten l der aktuelle Wert α ≥ β , so kann die Suche unter l beendet werden. Hierbei ist β der kleinste Wert eines Minimumknotens im Pfad von der Wurzel zu k . Der in Abbildung 238 angegebene Algorithmus ist eine Erweiterung der Tiefensuche mit zwei sich abwechselnd aufrufenden Funktionen für die Maximum- und Minimumknoten. Er verwendet die oben denierten Werte α und β . AlphaBetaMax(Knoten, α, β ) If TiefenschrankeErreicht(Knoten) Return(Bewertung(Knoten)) NeueKnoten = Nachfolger(Knoten) While NeueKnoten 6= ∅ α = Maximum(α, AlphaBetaMin(Erster(NeueKnoten), α, β ) If α ≥ β Return(β ) NeueKnoten = Rest(NeueKnoten) Return(α) AlphaBetaMin(Knoten, α, β ) TiefenschrankeErreicht(Knoten) Return(Bewertung(Knoten)) NeueKnoten = Nachfolger(Knoten) While NeueKnoten 6= ∅ β = Minimum(β , AlphaBetaMax(Erster(NeueKnoten), α, β ) If β ≤ α Return(α) NeueKnoten = Rest(NeueKnoten) Return(β ) If Der Algorithmus für die Alpha-Beta-Suche mit den zwei Funktionen AlphaBetaMin und AlphaBetaMax. Komplexität hängt stark von der Knotenordnung ab Worst-Case: kein Gewinn, d.h. nd = b d Best-Case: Nachfolger von Maximumknoten absteigend sortiert, Nachfolger von Minimuknoten aufsteigend: √ Verzweigungsfaktor ≈ b . √ d nd = b = b d/2 Schach: Verzweigungsfaktors reduziert sich von 35 auf etwa 6. Suchhorizont wird verdoppelt. Average-Case: Verzweigungsfaktor ≈ b 3/4 Schach: Verzweigungsfaktors reduziert sich von 35 auf etwa 14. ⇒ 8 statt 6 Halbzüge vorausberechnen Heuristische Knotenordnung: Verzweigungsfaktor ≈ 7 bis 8 Rechenzeit Nichtdeterministische Spiele I I I z.B. Würfelspiele Max, Würfeln, Min, Würfeln, . . . , Mittelung über die Bewertungen aller Würfe Heuristische Bewertungsfunktionen I I Liste relevanter Features oder Attribute. lineare Bewertungsfunktion B(s) B(s) = a1 · Material + a2 · Bauernstruktur + a3 · Königsicherheit + a4 · Springer_im_Zentrum + a5 · Läufer_Diagonalabdeck (11) Material = Material(eigenes Team) − Material(Gegner) Material(Team) = Anz. Bauern(Team) · 100 + Anz. Springer(Team) + Anz. Läufer(Team) · 300 + Anz. Türme(Team + Anz. Damen(Team) · 900 + . . . Gewichtungen ai werden vom Experten gefühlsmäÿig festgelegt und optimiert besser: Optimierung der Gewichte durch maschinelles Lernen Lernen von Heuristiken I I I I Experte legt nur die Features f1 (s), . . . , fn (s) fest. maschinelles Lernverfahren lernt eine möglichst optimale Bewertungsfunktion B(f1 , . . . , fn ) Bewertung am Ende, z.B.: Sieg, Niederlage, Remis Lernverfahren verändert Bewertungsfunktion Problem: I Credit Assignment keine Bewertung der einzelnen Züge! I erst am Ende ein positives oder negatives Feedback. I Feedback für Aktionen in der Vergangenheit? junges Gebiet: Lernens durch Verstärkung (engl. reinforcement learning) (siehe Abschnitt ??). Die weltbesten Schachcomputer arbeiten immer noch ohne Lernverfahren. Gründe: I I I Lernens durch Verstärkung sehr rechenaufwändig Manuell erstellte Heuristiken sind schon sehr stark optimiert. Stand der Forschung I Denition von Elaine Rich : Articial Intelligence is the study of how to make computers do things at which, at the moment, people are better. direkter Vergleich von Computer und Mensch in einem Spiel 1950 Claude Shannon, Konrad Zuse, John von Neumann: erste Schachprogramme 1955 Arthur Samuel: Programm, das Dame spielen und lernen konnte auf IBM 701. Archivierte Spiele, bei denen jeder einzelne Zug von Experten bewertet war. Programm spielt gegen sich selbst spielen. Credit Assignment: Für jede einzelne Stellung während eines Spiels vergleicht er die Bewertung durch die Funktion B(s) und die durch Alpha-Beta-Pruning berechnete Bewertung und verändert B(s) entsprechend. Stand der Forschung II 1961 Samuels Dame-Programm besiegt den viertbesten Damespieler der USA. 1990 Tesauro: Lernen durch Verstärkung. lernfähiges Backgammon-Programm TD-Gammon spielte auf Weltmeisterniveau (siehe Abschnitt ??). 1997 IBM's Deep Blue besiegt mit 3.5 zu 2.5 den Schachweltmeister Gary Kasparov Deep Blue denkt etwa 12 Halbzüge mit AlphaBeta-Pruning voraus. Stand der Forschung III 2004 Hydra: Schachcomputer auf Parallelrechner 64 parallele Xeon-Prozessoren, je 3 Ghz Rechenleistung, 1 GByte Speicher. Software: C. Denninger (Österreich) und U. Lorenz, C. Lutz (Deutschl.). Stellungsbewertung: FPGA-Coprozessor (Field Programmable Gate Arrays). 200 Millionen Stellungen pro Sekunde. Hydra kann etwa 18 (max. 40) Halbzüge vorausberechnen. Hydra macht Züge, die Groÿmeister nicht verstehen. Alpha-Bete-Suche mit bekannten Heuristiken und handkodierte Stellungsbewertung. Hydra ist nicht lernfähig. 2009 Pocket Fritz 4, gewinnt auf PDA das Copa Mercosur Schachturnier in Buenos Aires: Stand der Forschung IV 9 Siege, 1 Unentschieden gegen excellente Schachspieler, 3 Groÿmeister Suchalg. HIARCS 134 exploriert ≤ 20,000 Stellungen pro Sekunde ⇒ Pocket Fritz 4 ist ≈ 10,000 mal langsamer als Hydra 4 HIARCS = Higher Intelligence Auto Response Chess System. Herausforderungen heute: I I I I I I I I Go: quadratisches Brett mit 361 Feldern 181 weiÿe, 180 schwarze Stein mittlerer Verzweigungsfaktor: etwa 300 nach 4 Halbzügen: 8 · 109 Stellungen klassische Spielbaum-Suchverfahren chancenlos! Muster auf dem Brett erkennen! Menschen sind den Computerpn noch überlegen. Teil VII Schlieÿen mit Unsicherheit 1. Tweety ist ein Pinguin 2. Pinguine sind Vögel 3. Vögel können iegen Formalisiert in PL1 ergibt sich als Wissensbasis WB pinguin(tweety) pinguin(x) ⇒ vogel(x) vogel(x) ⇒ iegen(x) Es läÿt sich ableiten: iegen(tweety) Der iegende Pinguin Tweety Neuer Versuch: Pinguine können nicht iegen pinguin(x) ⇒ ¬ iegen(x) Es läÿt sich ableiten: ¬iegen(tweety) Aber: Es läÿt sich auch ableiten: iegen(tweety) I I Die Wissensbasis ist widersprüchlich. die Logik ist monoton: I neues Wissen kann altes nicht ungültig machen Wahrscheinlichkeitslogik Unsicherheit: 99% aller Vögel können iegen Agent hat unvollständige Informationen über den Zustand der Welt (Realzeitentscheidungen) Unvollständigkeit: Heuristische Suche Schlieÿen mit unsicherem und unvollständigem Wissen Lass uns mal in Ruhe überlegen, was wir nun machen! Beispiel: Hat ein Patient Schmerzen im rechten Unterbauch und erhöhten Leukozytenwert, so besteht der Verdacht auf eine akute Blinddarmentzündung (Appendizitis). Bauchschmerzen re. u. ∧ Leukozyten > 10000 → Blinddarmentzündung Aus Bauchschmerzen re. u. ∧ Leukozyten > 10000 ist mit Modus Ponens Blinddarmentzündung ableitbar. MYCIN I I I 1976, Shortlie und Buchanan Certainty Factors geben Grad der Sicherheit von Fakten und Regeln an A →β B mit Sicherheitsfaktor β Beispiel: Bauchschm. re. u. ∧ Leukozyten > 10000 →0.6 Blinddarmentzündung I I I Formeln für die Verknüpfung der Faktoren von Regeln Kalkül inkorrekt inkonsistente Ergebnisse konnten abgeleitet werden. Andere Formalismen zur Modellierung von Unsicherheit I I I I nichtmonotone Logiken Defaultlogik Dempster-Schäfer-Theorie: ordnet einer logischen Aussage A eine Glaubensfunktion (engl. belief function) Bel(A) zu Fuzzy-Logik ( ⇒ Regelungstechnik) Schlieÿen mit bedingten Wahrscheinlichkeiten I I I I I I bedingte Wahrscheinlichkeiten statt Implikation (materiale Implikation) subjektive Wahrscheinlichkeiten Wahrscheinlichkeitstheorie sehr gut fundiert Schlieÿen mit unsicherem und unvollständigem Wissen Methode der maximalen Entropie (MaxEnt) Bayes-Netze Rechnen mit Warscheinlichkeiten Example I I Wahrscheinlichkeit für Würfeln einer Sechs gleich 1/6 Wahrscheinlichkeit für Würfeln einer ungeraden Zahl gleich 1/2 Denition Sei Ω die zu einem Versuch gehörende endliche Menge von Ereignissen. Jedes Ereignis ω ∈ Ω steht für einen möglichen Ausgang des Versuchs. Schlieÿen sich die Ereignisse wi ∈ Ω gegenseitig aus, decken aber alle möglichen Ausgänge des Versuchs ab, so werden diese Elementarereignisse genannt. I Einmaliges Würfeln: Ω = {1, 2, 3, 4, 5, 6} I I I I I I I Würfeln einer geraden Zahl {2, 4, 6} ist kein Elementarereignis Würfeln einer Zahl kleiner als 5 {1, 2, 3, 4} ist kein Elementarereignis Grund: {2, 4, 6} ∩ {1, 2, 3, 4} = {2, 4} = 6 ∅ Mit zwei Ereignissen A und B ist A ∪ B ein Ereignis. Ω ist das sichere Ereignis die leere Menge ∅ ist das unmögliches Ereignis statt A ∩ B schreiben wir A ∧ B , denn x ∈ A ∩ B ⇔ x ∈ A ∧ x ∈ B. Mengenschreibweise A∩B A∪B Ā Ω ∅ I I I I Aussagenlogik A∧B A∨B ¬A w f Beschreibung Schnittmenge / und Vereinigung / oder Komplement / Negation sicheres Ereignis / wahr unmögliches Ereignis / falsch A, B , etc.: Zufallsvariablen hier nur diskrete Zufallsvariablen mit endlichem Wertebereich Augenzahl ist diskret mit den Werten 1,2,3,4,5,6. Wahrscheinlichkeit, 5 oder 6 zu würfeln ist gleich 1/3: P(Augenzahl ∈ {5, 6}) = P(Augenzahl = 5 ∨ Augenzahl = 6) = 1/ Denition Sei Ω = {ω1 , ω2 , . . . , ωn } endlich. Es sei kein Elementarereignis bevorzugt, d.h. man setzt eine Symmetrie bezüglich der Häugkeit des Auftretens aller Elementarereignisse voraus. Die Wahrscheinlichkeit P(A) des Ereignisses A ist dann P(A) = |A| Anzahl der für A günstigen Fälle = |Ω| Anzahl der möglichen Fälle Example Die Wahrscheinlichkeit, eine gerade Augenzahl zu würfeln ist P(Augenzahl ∈ {2, 4, 6}) = |{2, 4, 6}| 3 1 = = . |{1, 2, 3, 4, 5, 6}| 6 2 I I I I I I Jedes Elementarereignis hat die Wahrscheinlichkeit 1/|Ω| (Laplace-Annahme) geht nur für endliche Ereignisräume Beispiel: Augenfarbe mit Werten grün, blau, braun Augenfarbe = blau beschreibt binären (booleschen) Variablen sind selbst eine Aussagen Beispiel: P(JohnRuftAn) statt P(JohnRuftAn = w ) Direkt aus der Denition folgen einige Regeln: Theorem 1. P(Ω) = 1. 2. P(∅) = 0, d.h. das unmögliche Ereignis hat die 3. 4. 5. 6. 7. Wahrscheinlichkeit 0. Für paarweise unvereinbare Ereignisse A und B gilt P(A ∨ B) = P(A) + P(B). Für zwei zueinander komplementäre Ereignisse A und ¬A gilt P(A) + P(¬A) = 1. Für beliebige Ereignisse A und B gilt P(A ∨ B) = P(A) + P(B) − P(A ∧ B). Für A ⊆ B gilt P(A) ≤ P(B). Sind Pn A1 , . . . , An die Elementarereignisse, so gilt i=1 P(Ai ) = 1 (Normierungsbedingung). Beweis als Übung Wahrscheinlichkeitsverteilung (Verteilung) für A, B P(A, B) = (P(A, B), P(A, ¬B), P(¬A, B), P(¬A, ¬B)) Verteilung in Matrixform: P(A, B) A=w A=f P(A, B) = P(A ∧ B) B=w B=f P(A, B) P(A, ¬B) P(¬A, B) P(¬A, ¬B) Wahrscheinlichkeitsverteilung I I I I I I I (engl. joint probability distribution) : d Variablen X1 , . . . , Xd mit je n Werten: Verteilung enthält Werte P(X1 = x1 , . . . , Xd = xd ) x1 , . . . , xd nehmen jeweils n verschiedene Werte an. d -dimensionale Matrix mit insgesamt nd Elementen darstellen. einer der nd Werte ist redundant Verteilung wird durch nd − 1 Werte eindeutig charakterisiert. Bedingte Wahrscheinlichkeiten Example In der Doggenriedstraÿe in Weingarten wird die Geschwindigkeit von 100 Fahrzeugen gemessen. Ereignis Häugkeit Fahrzeug beobachtet Fahrer ist Student (S ) Geschwindigkeit zu hoch (G ) Fahrer ist Student u. Geschw. zu hoch (S ∧ G ) rel. Häu 100 30 10 5 1 0. 0. 0.0 Fahren Studenten häuger zu schnell als der Durchschnitt? Antwort: Bedingte Wahrscheinlichkeit P(G |S) = |Fahrer ist Student und Geschw. zu hoch| = 5 = 1 ≈ 0.17 Denition Für zwei Ereignisse A und B ist die Wahrscheinlichkeit P(A|B) für A unter der Bedingung B (bedingte Wahrscheinlichkeit) deniert durch P(A|B) = P(A ∧ B) P(B) P(A|B) = Wahrscheinlichkeit von A, wenn man nur das Ereignis B betrachtet, d.h. |A ∧ B| P(A|B) = . |B| Beweis: P(A ∧ B) P(A|B) = = P(B) |A ∧ B| |Ω| |B| |Ω| = |A ∧ B| . |B| Denition Gilt für zwei Ereignisse A und B P(A|B) = P(A), so nennt man diese Ereignisse unabhängig. Theorem Für unabhängige Ereignisse A und B folgt aus der Denition P(A ∧ B) = P(A) · P(B). Beweis? Example Wahrscheinlichkeit für 2 Sechsen 1/36, wenn die Würfel unabhängig sind, denn P(W1 = 6 ∧ W2 = 6) = P(W1 = 6) · P(W2 = 6) = Fällt Würfel 2 immer gleich wie Würfel 1, so gilt 1 P(W1 = 6 ∧ W2 = 6) = . 6 1 1 1 · = , 6 6 36 Die Kettenregel Produktregel: P(A ∧ B) = P(A|B)P(B) Kettenregel: P(X1 , . . . , Xn ) = P(Xn |X1 , . . . , Xn−1 ) · P(X1 , . . . , Xn−1 ) = P(Xn |X1 , . . . , Xn−1 ) · P(Xn−1 |X1 , . . . , Xn−2 ) · P(X1 , . . . , Xn−2 ) = P(Xn |X1 , . . . , Xn−1 ) · P(Xn−1 |X1 , . . . , Xn−2 ) · . . . · P(X2 |X1 ) · P(X1 = n Y i=1 P(Xi |X1 . . . , Xi−1 ), (12 Marginalisierung für zweiwertige Variablen A und B gilt P(A) = P((A ∧ B) ∨ (A ∧ ¬B)) = P(A ∧ B) + P(A ∧ ¬B). allgemein: P(X1 = x1 , . . . , Xd−1 = xd−1 ) = X P(X1 = x1 , . . . , Xd−1 = xd−1 , Xd = xd I Die resultierende Verteilung P(X1 , . . . , Xd−1 ) heiÿt Randverteilung I Projektion eines Quaders auf eine Seitenäche. Example Leuko App : Leukozytenwert gröÿer als 10000 : Patient hat Appendizitis (akut entzündeten Blinddarm), P(App, Leuko) Leuko ¬Leuko gesamt App ¬App gesamt 0.23 0.05 0.28 0.31 0.41 0.72 0.54 0.46 1 z.B. gilt: P(Leuko) = P(App, Leuko) + P(¬App, Leuko) = 0.54. P(Leuko|App) = P(Leuko, App) = 0.82 P(App) Die Bayes-Formel P(A|B) = P(A ∧ B) P(B) Bayes-Formel: P(A|B) = sowie P(B|A) = P(B|A) · P(A) P(B) P(A ∧ B) P(A) (13) Appendizitis-Beispiel: P(App|Leuko) wäre für die Diagnose der Appendizitis interessanter, wird aber nicht publiziert! I Warum wird P(Leuko|App) publiziert, P(App|Leuko) aber nicht? 0.82 · 0.28 P(Leuko|App) · P(App) P(App|Leuko) = = = 0.43 P(Leuko) 0.54 (14) I Beispiel: Krebsdiagnose I I I I Prostatakarzinom (PCa) bei Männern in Deutschland Messung des Tumormarkers PSA (prostataspezisches Antigen): Test ist positiv, wenn die Konzentration von PSA ≥ 4ng /ml . Gesucht ist die Wahrscheinlichkeit P(C |pos) für PCa (C = cancer) wenn der Test positiv ist.5 Gegeben: P(C ) = 0.0032 = 0.32% = Wahrscheinl. für PCa in einem Jahr.6 5 Annahme: Test wird einmal pro Jahr durchgeführt. 6 Für einem 55-jährigen Mann. Siehe http://www.prostata.de/pca_haeufigkeit.html Beispiel: Krebsdiagnose Testqualität nach [HL04]: I Sensitivität: P(pos|C ) = 0.95 I Spezität: P(neg |¬C ) = 0.25 I also: P(pos|¬C ) = 1 − P(neg |¬C ) = 0.75 P(pos|C ) · P(C ) P(pos) P(pos|C ) · P(C ) = P(pos|C ) · P(C ) + P(pos|¬C ) · P(¬C ) 0.95 · 0.0032 = 0.95 · 0.0032 + 0.75 · 0.9968 = 0.0040 P(C |pos) = Beispiel: Krebsdiagnose nochmal mit geänderter Spezität: I Sensitivität: P(pos|C ) = 0.95 I Spezität: P(neg |¬C ) = 0.99 I also: P(pos|¬C ) = 1 − P(neg |¬C ) = 0.01 P(pos|C ) · P(C ) P(pos) P(pos|C ) · P(C ) = P(pos|C ) · P(C ) + P(pos|¬C ) · P(¬C ) 0.95 · 0.0032 = 0.95 · 0.0032 + 0.01 · 0.9968 = 0.23 P(C |pos) = Die Methode der Maximalen Entropie I I I I Kalkül zum Schlieÿen bei unsicherem Wissen Oft zu wenig Wissen für die Lösung der notwendigen Gleichungen Idee von E.T. Jaynes (Physiker): Entropie der gesuchten Wahrscheinlichkeitsverteilung maximieren! [Jay57,Jay03] [Che83,Nil86,Kan89,KK92] und Anwendung am Beispiel des LEXMED-Projektes Eine Inferenzregel für Warscheinlichkeiten Modus Ponens: A, A → B B Verallgemeinerung auf Wahrscheinlichkeitsregeln P(A) = α, P(B|A) = β P(B) = ? Gegeben: zwei Wahrscheinlichkeitswerte α, β , gesucht: P(B) Marginalisierung: P(B) = P(A, B) + P(¬A, B) = P(B|A) · P(A) + P(B|¬A) · P(¬A). Mit klassischer Wahrscheinlichkeitsrechnung nur: P(B) ≥ P(B|A) · P(A). Verteilung P(A, B) = (P(A, B), P(A, ¬B), P(¬A, B), P(¬A, ¬B)) Abkürzung p1 p2 p3 p4 I I I = = = = P(A, B) P(A, ¬B) P(¬A, B) P(¬A, ¬B) Diese vier Parameter bestimmen die Verteilung. Daraus lässt sich jede Wahrscheinlichkeit für A und B berechnen. Vier Gleichungen werden benötigt. Normierungsbedingung: p1 + p2 + p3 + p4 = 1 P(A, B) = P(B|A) · P(A) = αβ P(A) = P(A, B) + P(A, ¬B) Gleichungssystem: p1 = αβ p1 + p2 = α p1 + p2 + p3 + p4 = 1 (15) in (16): (16) in (17): p2 = α − αβ = α(1 − β) p3 + p4 = 1 − α eine Gleichung fehlt! (15) (16) (17) (18) (19) Lösung eines Optimierungsproblems. Gesucht: Verteilung p für p3 , p4 , welche die Entropie H(p) = − n X i=1 pi ln pi = −p3 ln p3 − p4 ln p4 unter der Nebenbedingung p3 + p4 = 1 − α (Gleichung 19) maximiert. Warum soll gerade die Entropiefunktion maximiert werden? I I I Entropie misst die Unsicherheit einer Verteilung. negative Entropie als Maÿ für den Informationsgehalt der Verteilung. Maximieren der Entropie minimiert den Informationsgehalt der Verteilung. Zweidimensionale Entropiefunktion mit Nebenbedingung p3 + p4 = 1. 1 0.8 0.6 0.4 0.2 0 0 0.2 0.4 0.6 0.8 1 Maximierung der Entropie I I Nebenbedingung: p3 + p4 − 1 + α = 0 Methode der Lagrangeparameter [BHW89] Lagrangefunktion: L = −p3 ln p3 − p4 ln p4 + λ(p3 + p4 − 1 + α). ∂L = − ln p3 − 1 + λ = 0 ∂p3 ∂L = − ln p4 − 1 + λ = 0 ∂p4 p3 = p4 = 1−α . 2 P(B) = P(A, B)+P(¬A, B) = p1 +p3 = αβ + 1−α 1 1 = α(β − )+ 2 2 2 1 1 P(B) = P(A)(P(B|A) − ) + . 2 2 Einsetzen von α und β : P(B) = P(A) ( P(B|A) - 1/2 ) + 1/2 1 P(B|A)=1 P(B|A)=0.9 0.8 P(B|A)=0.8 P(B|A)=0.7 P(B|A)=0.6 P(B) 0.6 P(B|A)=0.5 0.4 P(B|A)=0.4 P(B|A)=0.3 0.2 P(B|A)=0.2 P(B|A)=0.1 0 P(B|A)=0 0 0.2 0.4 0.6 P(A) 0.8 1 Theorem Sei eine konsistente7 Menge von linearen probabilistischen Gleichungen gegeben. Dann existiert ein eindeutiges Maximum der Entropiefunktion unter den gegebenen Gleichungen als Nebenbedingungen. Die dadurch denierte MaxEnt-Verteilung besitzt unter den Nebenbedingungen minimalen Informationsgehalt. I I Es gibt keine andere Verteilung, welche die Nebenbedingungen erfüllt und eine geringere Entropie hat. Ein Kalkül, der zu Verteilungen mit höherer Entropie führt, fügt ad hoc Informationen hinzu, was nicht gerechtfertigt ist. 7 Eine Menge von probabilistischen Gleichungen heiÿt konsistent, wenn es mindestens eine Verteilung gibt, welche alle Gleichungen erfüllt. I I I p3 und p4 kommen immer symmetrisch vor Daher p3 = p4 (Indierenz) allgemein: Denition Wenn eine beliebige Vertauschung von zwei oder mehr Variablen in den Lagrangegleichungen diese in einen Satz äquivalenter Gleichungen überführt, so nennt man diese Variablen indierent. Theorem Ist eine Menge von Variablen {pi1 , . . . pik } indierent, so liegt das Entropiemaximum unter den gegebenen Nebenbedingungen an einem Punkt mit pi1 = pi2 = . . . = pik . Entropiemaximum ohne explizite Nebenbedingungen I I I I I gar kein Wissen gegeben auÿer der Normierungsbedingung p1 + p2 + . . . + pn = 1 keine Nebenbedingungen. alle Variablen sind indierent. p1 = p2 = . . . = pn = 1/n.(Aufgabe ?? ) alle Welten gleich wahrscheinlich (Gleichverteilung) Spezialfall: zwei Variablen A und B P(A, B) = P(A, ¬B) = P(¬A, B) = P(¬A, ¬B) = 1/4, P(A) = P(B) = 1/2 und P(B|A) = 1/2 1 0.8 0.6 0.4 0.2 0 0 0.2 0.4 0.6 0.8 1 Noch ein Beispiel gegeben: P(B|A) = β P(A, B) = P(B|A)P(A) = βP(A) und p1 = β(p1 + p2 ) Nebenbedingungen βp2 + (β − 1)p1 = 0 p1 + p2 + p3 + p4 − 1 = 0. I I Keine symbolische Lösung! Numerisches Lösen der Lagrangegleichungen 0.4 0.35 0.3 0.25 0.2 0.15 p1 p2 p3 p4 0.1 0.05 0 0 0.2 0.4 0.6 0.8 P(B|A) p1 , p2 , p3 , p4 in Abhängigkeit von β . 1 Bedingte Wahrscheinlichkeit versus materiale Implikation A B A ⇒ B w w w w f f f w w f f w P(A) P(B) P(B|A) 1 1 1 1 0 0 0 1 nicht deniert 0 0 nicht deniert Frage: Welchen Wert nimmt P(B|A) an, wenn nur P(A) = α und P(B) = γ gegeben ist. Bedingte Wahrscheinlichkeit versus materiale Implikation p1 = P(A, B), p2 = P(A, ¬B), p3 = P(¬A, B), p4 = P(¬A, ¬B) Randbedingungen p1 + p2 = α p1 + p3 = γ p1 + p2 + p3 + p4 = 1 (20) (21) (22) Maximierung der Entropie (siehe ): p1 = αγ, I I p2 = α(1 − γ), p3 = γ(1 − α), Aus p1 = αγ folgt P(A, B) = P(A) · P(B) Unabhängigkeit von A und B . p4 = (1 − α)(1 − γ). Aus der Denition P(B|A) = P(A, B) P(A) folgt für P(A) 6= 0 P(B|A) = P(B) Für P(A) = 0 bleibt P(B|A) undeniert. A B A ⇒ B w w w f w w P(A) P(B) P(B|A) α β β 0 β nicht deniert MaxEnt-Systeme I I I I I I MaxEnt-Optimierung meist nicht symbolisch durchführbar Daher: numerische Maximierung der Entropie SPIRIT: Fernuni Hagen [RM96,BK00] PIT: TU München [Sch96,ES99,SE00] PIT verwendet Sequential Quadratic Programming (SQP), um numerisch ein Extremum der Entropiefunktion zu nden. Als Eingabe erwartet PIT eine Datei mit den Randbedingungen: var A{t,f}, B{t,f}; P([A=t]) = 0.6; P([B=t] | [A=t]) = 0.3; QP([B=t]); QP([B=t] | [A=t]); I I I I Anfrage QP([B=t]) Eingaben in www.pit-systems.de Ergebnis: Nr Truthvalue Probability Query 1 UNSPECIFIED 3.800e-01 QP([B=t]); 2 UNSPECIFIED 3.000e-01 QP([A=t]-|> [B=t]); P(B) = 0.38 und P(B|A) = 0.3 ab. Das Tweety-Beispiel P(Vogel|Pinguin) = 1 P(Fliegt|Vogel) ∈ [0.95, 1] P(Fliegt|Pinguin) = 0 Pinguine sind Vögel (fast alle) Vögel können iegen Pinguine können nicht iegen PIT-Eingabedatei: var Pinguin{ja,nein}, Vogel{ja,nein}, Fliegt{ja,nein}; P([Vogel=ja] | [Pinguin=ja]) = 1; P([Fliegt=ja] | [Vogel=ja]) IN [0.95,1]; P([Fliegt=ja] | [Pinguin=ja]) = 0; QP([Fliegt=ja]| [Pinguin=ja]); Antwort: Nr Truthvalue 1 UNSPECIFIED Probability 0.000e+00 Query QP([Pinguin=ja]-|> [Fliegt=ja]); MaxEnt und Nichtmonotonie I I I I I Wahrscheinlichkeitsintervalle sind oft sehr hilfreich zweite Regel im Sinne von normalerweise iegen Vögel: P(Fliegt|Vogel) ∈ (0.5, 1] MaxEnt ermöglicht nichtmonotones SchlieÿeRzn MaxEnt auch auf anspruchsvollen Benchmarks für nichtmonotones Schlieÿen erfolgreich [Sch96] Anwendung von MaxEnt im medizinischen Expertensystem Lexmed Lexmed, ein medizinisches Expertensystem für Appendizitisdiagnose Manfred Schramm, Walter Rampf, Wolfgang Ertel Lexmed = Hochschule Ravensburg-Weingarten, Krankenhaus 14-Nothelfer, Weingarten Technische Universität München [SE00,Le99] lernfähiges Expertensystem für medizinische Diagnose. Das Projekt wurde nanziert vom Land Baden-Württemberg im Rahmen der Innovativen Projekte, von der AOK Baden-Württemberg, der Hochschule Ravensburg-Weingarten und vom Krankenhaus 14 Nothelfer in Weingarten. Ergebnis der PIT-Diagnose Diagnose App. entzündet App. perforiert negativ andere Wahrscheinlichkeit 0.70 0.17 0.06 0.07 Appendizitisdiagnose mit formalen Methoden I I I I I häugste ernsthafte Ursache für akute Bauchschmerzen [Dom91]:Appendizitis schwierige Diagnose [Ohm95]. ca. 20% der entfernten Appendizes unauällig Ebenso gibt es Fälle, in denen ein entzündeter Appendix nicht erkannt wird. de Dombal (Groÿbritannien) entwickelte 1972 ein Expertensystem zur Diagnose akuter Bauchschmerzen. [Dom72,Ohm94,Ohm95]. Lineare Scores Für jeden Wert eines Symptoms (zum Beispiel Fieber oder Bauchschmerzen rechts unten) notiert der Arzt eine bestimmte Anzahl an Punkten. Bei n Symptomen S1 , . . . , Sn lässt sich ein Score formal als Appendizitis falls w1 S1 + . . . + wn Sn > Θ Diagnose = negativ sonst beschreiben. I I I I Scores sind zu schwach für die Modellierung komplexer Zusammenhänge. Scoresysteme können keine Kontexte berücksichtigen. Sie können z.B. nicht zwischen dem Leukozytenwert eines älteren Patienten und dem eines Jüngeren unterscheiden. stellen hohe Anforderungen an Datenbanken (repräsentativ). Hybride Probabilistische Wissensbasis Anfrage an das Expertensystem: Wie hoch ist die Wahrscheinlichkeit für einen entzündeten Appendix, wenn der Patient ein 23-jähriger Mann mit Schmerzen im rechten Unterbauch und einem Leukozytenwert von 13000 ist? P(Bef4 = entzündet ∨ Bef4 = perforiert | Geschl = männlich ∧ Alter ∈ 21-25 ∧ Leuko ∈ 12k-15 Symptom Werte # Abk. Geschlecht männlich, weiblich 2 Geschl Alter 0-5,6-10,11-15,16-20,21-25,26- 10 Alter 35,36-45,46-55,56-65,65- Schmerz 1. Quad. ja, nein 2 S1Q Schmerz 2. Quad. ja, nein 2 S2Q Schmerz 3. Quad. ja, nein 2 S3Q Schmerz 4. Quad. ja, nein 2 S4Q Abwehrspannung lokal, global, keine 3 Abw Loslasschmerz ja, nein 2 Losl S. bei Erschütterung ja, nein 2 Ersch Rektalschmerz ja, nein 2 RektS Darmgeräusche schwach, normal, vermehrt, keine 4 Darmg Pos. Sonographiebef. ja, nein 2 Sono Path. Urinsedim. ja, nein 2 PathU Fieber rektal -37.3, 38.1- 6 TRek 0-6k, 6k-8k, 8k-10k, 10k-12k, 12k- 7 Leuko 37.4-37.6, 37.7-38.0, 38.4, 38.5-38.9, 39.0- Leukozyten Wissensquellen Datenbank Expertenwissen Dr. Rampf 15000 Patienten aus Baden-Württemberg 1995 Dr. Hontschik Wissensverarbeitung Arzt Anfrage Diagnose vollständige Wahrscheinlichkeitsverteilung Komplettierung vollautomatisch P(Leuko > 10000 | App=positiv) =0.7 fast vollautomatisch Datenbank MaxEnt Verteilung Regelbasis ca. 500 Regeln manuell Experte Systemarchitektur Anfrage/ Symptome Diagnose Benutzeroberfläche Diagnose Symptome speichern Kosten− matrix Gewichtung laden Patientenverwaltung Wahrscheinlichkeiten Arzt−spezif. Patienten−Datenbank (geschützt) Laufzeitsystem Anfrage Antwort PIT Wahrscheinlichkeits− verteilung Experten MaxEnt Vervollständigung Literatur Datenbank Regel− erzeugung Regel− menge Wissensmodellierung Wahrscheinlichkeitsverteilung I Mächtigkeit der Verteilung: 210 · 10 · 3 · 4 · 6 · 7 · 4 = 20 643 840 I I I I 20 643 839 unabhängige Werte. Jede Regelmenge mit weniger als 20 643 839 Wahrscheinlichkeitswerten beschreibt diesen Ereignisraum eventuell nicht vollständig. vollständige Verteilung wird benötigt. menschlicher Experte kann nicht 20 643 839 Werte liefern! Funktion von Lexmed Wahrscheinlichkeitsaussagen: P(Leuko > 20000 |Bef4 = entzündet) = 0.09 8 8 Statt einzelner numerischer Werte können hier auch Intervalle (beispielsweise [0.06, 0.12]) verwendet werden. Der Abhängigkeitsgraph S3Q2 Leuko7 36 1 88 TRek6 PathU2 2 55 Abw3 22 RektS2 6 48 Alt10 37 Bef4 43 7 S2Q2 85 9 Losl2 35 S1Q2 12 30 29 Sono2 96 S4Q2 22 27 26 18 Lernen von Regeln durch Statistische Induktion I I I I I Schätzen der Regelwahrscheinlichkeiten Struktur des Abhängigkeitsgraphen = Struktur der gelernten Regeln (wie Bayes-Netz) A-priori-Regeln, z.B. Gleichung 23), Regeln mit einfacher Bedingung, z.B. Gleichung 24 Regeln: Befund und 2 Symptome (Gleichung 25) P(Bef4 = entzündet) = 0.40 (23) P(Sono = ja|Bef4 = entzündet) = 0.43 (24) P(S4Q = ja|Bef4 = entzündet ∧ S2Q = ja ) = 0.61 (25) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 P([Leuko7=0-6k] P([Leuko7=6-8k] P([Leuko7=8-10k] P([Leuko7=10-12k] P([Leuko7=12-15k] P([Leuko7=15-20k] P([Leuko7=20k-] P([Leuko7=0-6k] P([Leuko7=6-8k] P([Leuko7=8-10k] P([Leuko7=10-12k] P([Leuko7=12-15k] P([Leuko7=15-20k] P([Leuko7=20k-] | | | | | | | | | | | | | | [Bef4=negativ] [Bef4=negativ] [Bef4=negativ] [Bef4=negativ] [Bef4=negativ] [Bef4=negativ] [Bef4=negativ] [Bef4=negativ] [Bef4=negativ] [Bef4=negativ] [Bef4=negativ] [Bef4=negativ] [Bef4=negativ] [Bef4=negativ] * * * * * * * * * * * * * * [Alt10=16-20]) [Alt10=16-20]) [Alt10=16-20]) [Alt10=16-20]) [Alt10=16-20]) [Alt10=16-20]) [Alt10=16-20]) [Alt10=21-25]) [Alt10=21-25]) [Alt10=21-25]) [Alt10=21-25]) [Alt10=21-25]) [Alt10=21-25]) [Alt10=21-25]) = = = = = = = = = = = = = = [0.132,0 [0.257,0 [0.250,0 [0.159,0 [0.087,0 [0.032,0 [0.000,0 [0.132,0 [0.227,0 [0.211,0 [0.166,0 [0.081,0 [0.041,0 [0.004,0 Einige Lexmed-Regeln mit Wahrsch.-Intervallen. * steht für ∧ . Wahrscheinl. schätzen durch Zählen der Häugkeit: Risikomanagement mit Hilfe der Kostenmatrix Ergebnis der PIT-Diagnose Diagnose App. entzündet App. perforiert negativ andere Wahrscheinlichkeit 0.24 0.16 0.55 0.05 Was tun? Die Kostenmatrix Wahrscheinlichkeit für versch. Befunde entzündet perforiert negativ andere Therapie 0.25 0.15 0.55 0.05 Operation 0 500 5800 6000 Not-Operation 500 0 6300 6500 Ambulant beob. 12000 150000 0 16500 Sonstiges 3000 5000 1300 0 Stationär beob. 3500 7000 400 600 I Optimale Entscheidungen haben (Mehr-)Kosten 0. I Ziel: Therapie mit den minimalen mittleren Kosten. I Wahrscheinlichkeitsvektor = (0.25, 0.15, 0.55, 0.05) I zu erwartende Kosten für Fehlentscheidungen. I Für erste Zeile: (Operation): Matrix · Vektor = 0.25 · 0 + 0.15 · 500 + 0.55 · 5800 + 0.05 · 6000 = 3565. I kostenorientierter Agent 3565 3915 26325 2215 2175 Kostenmatrix im binären Fall I I I Befunde: Appendizitis und NSAP Therapien: P(Operation) = p1 und P(Ambulant beobachten) = p2 Kostenmatrix: 0 k2 . k1 0 I falsch positiv, Falsch negativ 0 k2 k1 0 p1 · = (k2 p2 , k1 p1 ) p2 1/k1 (k2 p2 , k1 p1 ) = ((k2 /k1 )p2 , p1 ) gleiches Ergebnis mit 0 k 1 0 , Risikomanagement. I I I Arbeitspunkt des Diagnosesystems k = 0: System extrem riskant eingestellt k → ∞ alle Patienten werden operiert. Leistungsfähigkeit / ROC-Kurve 1 Sensitivität 0.8 0.6 0.4 LEXMED Ohmann−Score Score m. LEXMED−Daten RProp m. LEXMED−Daten Zufallsentscheidung 0.2 0 0 0.2 0.4 0.6 1 − Spezifität 0.8 1 Einsatzgebiete und Erfahrungen I I I I I I I I I Einsatz in der Diagnostik unterstützt Qualitätssicherung: Diagnosequalität von Krankenhäusern mit der von Expertensystemen vergleichen. seit 1999 im Einsatz im 14-Nothelfer-Krankenhaus Weingarten www.lexmed.de, ohne Diagnosequalität ist vergleichbar mit erfahrenem Chirurg sehr schwierig kommerziell zu vermarkten falscher Zeitpunkt? Wunsch d. Patienten nach persönlicher Betreuung! Seit de Dombal 1972 sind 35 Jahre vergangen. Wird es noch weitere 35 Jahre dauern? Schlieÿen mit Bayes-Netzen I I I d Variablen X1 , . . . , Xd mit je n Werten Wahrscheinlichkeitsverteilung hat nd − 1 Werte. in d. Praxis: Verteilung enthält viel Redundanz. Unabhängige Variablen P(X1 , . . . , Xd ) = P(X1 ) · P(X2 ) · . . . · P(Xd ). bedingte Wahrscheinlichkeiten werden trivial:9 P(A|B) = P(A, B) P(A)P(B) = = P(A) P(B) P(B) An einem einfachen und sehr anschaulichen Beispiel von , das durch [RN03] noch bekannter wurde und mittlerweile zum KI-Grundwissen gehört, wollen wir das Schlieÿen mit Bayes-Netzen erläutern. 9 Wird bei der Naive-Bayes-Methode mit Erfolg auf die Textklassikation angewendet (siehe Abschnitt ??). Das Alarm-Beispiel J. Pearl [Pea88] Example Wissensbasis: P(J |Al ) = 0.90 P(J |¬Al ) = 0.05 P(Erd ) = 0.002. Anfragen: P(M |Al ) = 0.70 P(M |¬Al ) = 0.01 P(Al |Ein, Erd ) P(Al |Ein, ¬Erd ) P(Al |¬Ein, Erd ) P(Al |¬Ein, ¬Erd ) P(Ein|J ∨ M ) = = = = 0.95 0.94 0.29 0.001, P(J |Ein) P(M |Ein) Graphische Darstellung des Wissens als Bayes-Netz Einbruch P (Ein ) 0.001 Alarm John Al P (J ) w 0.90 f 0.05 Erdbeben P (Erd ) 0.002 Ein Erd P (Al ) w w 0.95 w f 0.94 f w 0.29 f f 0.001 Mary Al P (M ) w 0.70 f 0.01 Bedingte Unabhängigkeit Denition Zwei Variablen A und B heiÿen gegeben C , wenn bedingt unabhängig, P(A, B|C ) = P(A|C ) · P(B|C ). Beispiele: P(J , M |Al ) = P(J |Al ) · P(M |Al ) P(J , Ein|Al ) = P(J |Al ) · P(Ein|Al ) Theorem Folgende Gleichungen sind paarweise äquivalent, das heiÿt jede einzelne dieser Gleichungen beschreibt die bedingte Unabhängigkeit der Variablen A und B gegeben C . P(A, B|C ) = P(A|C ) · P(B|C ) P(A|B, C ) = P(A|C ) P(B|A, C ) = P(B|C ) Beweis: P(A, B, C ) = P(A, B|C )P(C ) = P(A|C )P(B|C )P(C ) P(A, B, C ) = P(A|B, C )P(B|C )P(C ). Also: P(A|B, C ) = P(A|C ) (26) (27) (28) Praktische Anwendung P(J |Ein) = P(J , Ein) P(J , Ein, Al ) + P(J , Ein, ¬Al ) = P(Ein) P(Ein) (29) P(J , Ein, Al ) = P(J |Ein, Al )P(Al |Ein)P(Ein) = P(J |Al )P(Al |Ein)P(Ein (30) P(J |Al )P(Al |Ein)P(Ein) + P(J |¬Al )P(¬Al |Ein)P(Ein) P(Ein) = P(J |Al )P(Al |Ein) + P(J |¬Al )P(¬Al |Ein). (31) P(J |Ein) = P(Al |Ein) und P(¬Al |Ein) fehlen! P(Al |Ein) = = P(Al , Ein) P(Al , Ein, Erd ) + P(Al , Ein, ¬Erd ) = P(Ein) P(Ein) P(Al |Ein, Erd )P(Ein)P(Erd ) + P(Al |Ein, ¬Erd )P(Ein)P( P(Ein) = P(Al |Ein, Erd )P(Erd ) + P(Al |Ein, ¬Erd )P(¬Erd ) = 0.95 · 0.002 + 0.94 · 0.998 = 0.94 P(¬Al |Ein) = 0.06 P(J |Ein) = 0.9 · 0.94 + 0.05 · 0.06 = 0.849 Analog: P(M |Ein) = 0.659 P(J , M |Ein) = P(J |Ein)P(M |Ein) = 0.849 · 0.659 = 0.559. P(J ∨ M |Ein) = P(¬(¬J , ¬M )|Ein) = 1 − P(¬J , ¬M |Ein) = 1 − P(¬J |Ein)P(¬M |Ein) = 1 − 0.051 = 0.948. P(Ein|J ) = P(J |Ein)P(Ein) 0.849 · 0.001 = = 0.016 P(J ) 0.052 P(Ein|M ) = 0.056 (siehe Aufgabe ?? ). P(Ein|J , M ) = 0.284 P(J |Ein) = P(J |Al )P(Al |Ein) + P(J |¬Al )P(¬Al |Ein) Konditionierung: P(A|B) = X c P(A|B, C = c)P(C = c|B). Software für Bayes-Netze: PIT 1 2 3 4 5 6 7 8 9 10 11 12 13 14 var Alarm{t,f}, Einbruch{t,f}, Erdbeben{t,f}, John{t,f}, Mary{t,f}; P([Erdbeben=t]) = 0.002; P([Einbruch=t]) = 0.001; P([Alarm=t] | [Einbruch=t] AND [Erdbeben=t]) P([Alarm=t] | [Einbruch=t] AND [Erdbeben=f]) P([Alarm=t] | [Einbruch=f] AND [Erdbeben=t]) P([Alarm=t] | [Einbruch=f] AND [Erdbeben=f]) P([John=t] | [Alarm=t]) = 0.90; P([John=t] | [Alarm=f]) = 0.05; P([Mary=t] | [Alarm=t]) = 0.70; P([Mary=t] | [Alarm=f]) = 0.01; = = = = 0.95; 0.94; 0.29; 0.001; QP([Einbruch=t] | [John=t] AND [Mary=t]); Antwort: P([Einbruch=t] | [John=t] AND [Mary=t]) = 0.2841. Man kann zeigen [Sch96], dass bei der Angabe der CPTs oder äquivalenter Regeln aus dem MaxEnt-Prinzip die gleichen bedingten Unabhängigkeiten wie bei einem Bayes-Netz folgen. Software für Bayes-Netze: JavaBayes Software für Bayes-Netze: Hugin I I I I mächtiger und komfortabler ist das professionell vertriebene System auch stetige Variablen möglich kann auch Bayes-Netze lernen, das heiÿt das Netz vollautomatisch aus statistischen Daten generieren Entwicklung von Bayes-Netzen Bei den Variablen v1 , . . . , vn mit jeweils |v1 |, . . . , |vn | verschiedenen Werten hat die Verteilung insgesamt n Y i=1 |vi | − 1 unabhängige Einträge. Alarm-Beispiel: 25 − 1 = 31 unabhängige Einträge. Bayes-Netz: Für einen Knoten vi mit den ki Elternknoten ei1 , . . . , eiki besitzt die zugehörige CPT (|vi | − 1) Einträge. ki Y j=1 |eij | Alle CPTs zusammen: n X i=1 10 (|vi | − 1) ki Y j=1 |eij | (32) Alarm-Beispiel: 2 + 2 + 4 + 1 + 1 = 10 10 Knoten ohne Vorgänger: Hierfür setzen wir den Wert 1 ein, denn die CPT enthält mit der A-priori-Wahrscheinlichkeit genau einen Wert. Spezialfall I I I I I I I n Variablen, gleiche Zahl b an Werten jeder Knoten hat k Elternknoten. Alle CPTs zusammen besitzen n(b − 1)b k Einträge. vollständige Verteilung enthält b n − 1 Einträge. lokale Vernetzung Modularisierung Lexmedals Bayes-Netz Leuko7 S3Q2 TRek6 PathU2 Abw3 RektS2 Alt10 Bef4 S2Q2 Losl2 S1Q2 Sono2 S4Q2 Ersch2 Darmg4 Sex2 I I Mächtigkeit der Verteilung: 20 643 839 Mächtigkeit des Bayes-Netzes: 521 Werte In der Reihenfolge (Leuko, TRek, Abw, Alt, Losl, Sono, Ersch, Darmg, Sex, S4Q, S1Q, S2Q, RektS, PathU, S3Q, Bef4) berechnet man n X i=1 (|vi | − 1) ki Y j=1 |eij | = 6 · 6 · 4 + 5 · 4 + 2 · 4 + 9 · 7 · 4 + 1 · 3 · 4 + 1 · 4 +3 · 3 · 4 + 1 · 4 + 1 · 4 · 2 + 1 · 4 · 2 + 1 · 4 + 1 · 4 + 1 · 4 + 1 · 4 + Kausalität und Netzstruktur Aufbau eines Bayes-Netzes: 1. Entwurf der Netzwerkstruktur meist manuell 2. Eintragen der Wahrscheinlichkeiten in die CPTs meist automatisch I I I I Ursachen Einbruch und Erdbeben Symptome John und Mary Alarm: nicht beobachtbare Variable Kausalität beachten: von Ursache zu Wirkung vorgehen Einbruch Erdbeben Einbruch Erdbeben Einbruch Alarm Erdbeben Einbruch Alarm John Erdbeben Alarm John Mary Schrittweiser Aufbau des Alarm-Netzes unter Beachtung der Kausalität. Vgl.: Aufgabe ?? Semantik von Bayes-Netzen A B A C C C A B B Zwischen zwei Knoten A und B wird keine Kante eingetragen, wenn sie unabhängig (links) oder bedingt unabhängig sind (Mitte, rechts). Forderungen: I I Bayes-Netz hat keine Zyklen keine Variable hat einen Nachfolger mit kleinerer Nummer Es gilt P(Xn |X1 , . . . , Xn−1 ) = P(Xn |Eltern(Xn )). Theorem Ein Knoten in einem Bayes-Netz ist bedingt unabhängig von allen Nicht-Nachfolgern, gegeben seine Eltern. Sind die Elternknoten E1 und E2 gegeben, so sind alle Nichtnachfolger B1 , . . . B8 unabhängig von A. B2 B3 B1 E1 [i] E2 A B5 B7 N1 N3 B4 B6 N2 N4 B8 Kettenregel für Bayes-Netze: P(X1 , . . . , Xn ) = n Y i=1 P(Xi |X1 . . . , Xi−1 ) = n Y i=1 P(Xi |Eltern(Xi )) Damit gilt Gleichung 30 P(J , Ein, Al ) = P(J |Al )P(Al |Ein)P(Ein) Die wichtigsten Begrie und Grundlagen von Bayes-Netzen sind nun bekannt und wir können diese zusammenfassen [Jen01]: Denition Ein Bayes-Netz ist deniert durch: • Eine Menge von Variablen und einer Menge von gerichteten Kanten zwischen diesen Variablen. • Jede Variable hat endlich viele mögliche Werte. • Die Variablen zusammen mit den Kanten stellen einen gerichteten azyklischen Graphen (engl. directed acyclic graph, DAG) dar. Ein DAG ist ein gerichteter Graph ohne Zyklen, das heiÿt ohne Pfade der Form (A, . . . , A). • Zu jeder Variablen A ist die CPT, das heiÿt die Tabelle der bedingten Wahrscheinlichkeiten P(A|Eltern(A)), angegeben. Zwei Variablen A und B heiÿen bedingt unabhängig gegeben C , wenn P(A, B|C ) = P(A|C ) · P(B|C ), bzw. wenn P(A|B, C ) = P(A|C ). Neben den grundlegenden Rechenregeln für Wahrscheinlichkeiten Bayes-Formel: P(A|B) = P(B|A) · P(A) P(B) Marginalisierung: P(B) = P(A, B) + P(¬A, B) = P(B|A) · P(A) + P(B|¬A) · P(¬A) Konditionierung: P(A|B) = P c P(A|B, C = c)P(C = c|B) Eine Variable in einem Bayes-Netz ist bedingt unabhängig von allen Nicht-Nachfolge-Variablen, gegeben ihre ElternVariablen. Wenn X1 , . . . , Xn−1 keine Nachfolger von Xn sind, gilt P(Xn |X1 , . . . , Xn−1 ) = P(Xn |Eltern(Xn )). Diese Bedingung muss beim Aufbau eines Netzes beachtet werden. Beim Aufbau eines Bayes-Netzes sollten die Variablen in Sinne der Kausalität angeordnet werden. Zuerst die Ursachen, dann die verdeckten Variablen und zuletzt die Diagnosevariablen. Siehe auch: d-Separation in [Pea88] und [Jen01]. Zusammenfassung I I I I I I I I I Wahrscheinlichkeitslogik zum Schlieÿen mit unsicherem Wissen Methode der maximalen Entropie modelliert nichtmonotones Schlieÿen Bayes-Netze als ein Spezialfall von MaxEnt Bayes-Netze enthalten Unabhängigkeitsannahmen beim Aufbau eines Bayes-Netzes müssen alle CPTs ganz gefüllt werden Bei MaxEnt kann man beliebiges Wissen formulieren. Beispiel: Ich bin mir ziemlich sicher, dass A gilt.: P(A) ∈ [0.6, 1] Inkonsistenz: P(A) = 0.7 und P(A) = 0.8 PIT erkennt die Inkonsistenz In manchen Fällen trotzdem Schlieÿen möglich Kombination von MaxEnt und Bayes-Netzen 1. Nach Bayessche Methodik ein Netz aufbauen 2. Fehlende Werte für CPTs können durch Intervalle ersetzt werden 3. oder durch andere Formeln der Wahrscheinlichkeitslogik. 4. MaxEnt-System vervollständigt die Regelmenge Lexmed I I I I medizinisches Expertensystem Lexmed besser als lineare Score-Systeme Scores sind äquivalent Spezialfall Naive-Bayes, das heiÿt zur Annahme, alle Symptome sind bedingt unabhängig gegeben die Diagnose (siehe Abschnitt ??, Aufgabe ?? ). Lexmed kann aus Daten einer Datenbank Wissen lernen (siehe Kapitel ?? ). Ausblick I I I I I I I Bayessche Schlieÿen ist heute sehr wichtig und weit entwickelt Umgang mit stetigen Variablen bedingt möglich Kausalität in Bayes-Netzen ungerichtete Bayes-Netze Literatur: [Pea88; Jen01; Whi96; DHS01] Association for Uncertainty in Articial Intelligence (AUAI) (www.auai.org). UAI-Konferenz Teil VIII Maschinelles Lernen und Data Mining Warum Maschinelles Lernen? Elaine Rich [Ric83]: Articial Intelligence is the study of how to make computers do things at which, at the moment, people are better., und: Menschen lernen besser als Computer ⇒ Maschinelles Lernen ist für die KI sehr wichtig Warum Maschinelles Lernen? I I Komplexität der Software-Entwicklung, z.B. I Verhalten eines autonomen Roboters I Expertensysteme I Spamlter Lösung: hybride Mischung aus programmierten und gelernten Komponenten. I I I I Lernen von Vokabeln einer Fremdsprache? Auswendiglernen eines Gedichts? Lernen mathematischer Fertigkeiten? Lernen des Skifahrens? Sortieranlage für Äpfel Größe groß − − − − − − − + + + + + + + + + + + + + + + − + + + + + + + − − − − − − − − − − −− − − − − − − − − − − − − − − − − klein − grün + Hkl. A − Hkl. B − rot Farbe Apfelsortieranlage und einige im Merkmalsraum klassizierte Äpfel der Handelsklassen A und B. Sortieranlage für Äpfel Merkmale (engl. features): Gröÿe und Farbe Äpfel in HKl. A, bzw. B einteilen Klassikationsaufgabe: (Classier) Gröÿe [cm] Farbe [0: grün, 1: rot] Handelsklasse 8 8 6 3 ... 0.1 0.3 0.9 0.8 . . . B A A B ... Trainingsdaten für den Apfelsortieragenten. Kurve trennt die Klassen Größe − − groß − − klein − − − − − − − − −− − − − − − − − + + + + + + + + + + + + + + + − + + Hkl. A − Hkl. B + + + + + + − − − − − − − − − − − − − − grün − rot Farbe In der Praxis: 30 oder mehr Merkmale! n Merkmale: In n-dimensionalem Merkmalsraum ist eine (n − 1)-dimensionale Hyperäche zu nden, welche die beiden Klassen möglichst gut trennt. Begrie bildet einen Merkmalsvektor auf einen Klassenwert ab. Feste Anzahl von Alternativen. Beispiel: Apfelsortierung Klassikation / Classier: bildet einen Merkmalsvektor auf eine reelle Zahl ab Prognose des Kurses einer Aktie aus gegebenen Approximation: Beispiel: Merkmalen Der lernende Agent Farbe Agent Größe klassifizierte Äpfel (lernen) Handelsklasse Der lernende Agent, allgemein Merkmal 1 ... Agent Merkmal n Trainingsdaten (lernen) Klasse / Funktionswert Denition des Begris Maschinelles Lernen [Mit97] : Machine Learning is the study of computer algorithms that improve automatically through experience. In Anlehnung daran denieren wir nun: Denition Ein Agent heiÿt lernfähig, wenn sich seine Leistungsfähigkeit auf neuen, unbekannten Daten, im Laufe der Zeit (nachdem er viele Trainingsbeispiele gesehen hat) verbessert (gemessen auf einem geeigneten Maÿstab). Begrie am Beispiel der Apfelsortierung: Abbildung von Gröÿe und Farbe eines Apfels auf die Handelsklasse lernen Performance-Maÿ: Zahl der korrekt klassizierten Äpfel variabler Agent: (genauer eine Klasse von Agenten): das Lernverfahren bestimmt die Klasse aller möglichen Funktionen. Trainingsdaten: (Erfahrung): Trainingsdaten enthalten das Wissen, welches von dem Lernverfahren extrahiert werden soll. Testdaten: zeigen, ob der trainierte Agent gut von den gelernten auf neue Daten generalisieren kann. Aufgabe: Was ist Data-Mining? Was ist Data-Mining? I I I I Wissen aus Daten extrahieren Wissen für Menschen verständlich machen Beispiel: Induktion von Entscheidungsbäumen Wissensmanagement: I Analyse von Kundenwünschen durch Statistik, z.B. in e-Shops I gezielte Werbung Denition Der Prozess des Gewinnens von Wissen aus Daten sowie dessen Darstellung und Anwendung wird als Data Mining bezeichnet. Literatur: I. Witten und E. Frank. Data Mining. Von den Autoren in Java entwickelte DataMining Programmbibliothek WEKA: (www.cs.waikato.ac.nz/~ml/weka). Hanser Verlag München, 2001 Datenanalyse Lexmed-Daten, N = 473 Patienten: Var.-Nr. Beschreibung Werte 1 Alter stetig 2 Geschlecht (1=männl., 2=weibl.) 1,2 3 Schmerz Quadrant 1 0,1 4 Schmerz Quadrant 2 0,1 5 Schmerz Quadrant 3 0,1 6 Schmerz Quadrant 4 0,1 7 Lokale Abwehrspannung 0,1 8 Generalisierte Abwehrspannung 0,1 9 Schmerz bei Loslassmanoever 0,1 10 Erschuetterung 0,1 11 Schmerz bei rektaler Untersuchung 0,1 12 Temperatur axial stetig 13 Temperatur rektal stetig 14 Leukozyten stetig 15 Diabetes mellitus 0,1 x1 = (26, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 37.9, 38.8, 23100, 0, 1) x2 = (17, 2, 0, 0, 1, 0, 1, 0, 1, 1, 0, 36.9, 37.4, 8100, 0, 0) Mittelwert x̄i := N 1 X p x N p=1 i Standardabweichung v u u si := t Kovarianz N 1 X p (x − x̄i )2 . N − 1 p=1 i N σij = 1 X p (x − x̄i )(xjp − x̄j ) N − 1 p=1 i Korrelationskoezient: Kij = 1. −0.009 0.14 0.037−0.096 −0.009 1. −0.0074−0.019−0.06 0.14 −0.0074 1. 0.55 −0.091 0.037−0.019 0.55 1. −0.24 −0.096−0.06 −0.091 −0.24 1. 0.12 0.063 0.24 0.33 0.059 0.018−0.17 0.13 0.051 0.14 0.051 0.0084 0.24 0.25 0.034 −0.034−0.17 0.045 0.074 0.14 −0.041−0.14 0.18 0.19 0.049 0.034−0.13 0.028 0.087 0.057 0.037−0.017 0.02 0.11 0.064 0.05 −0.034 0.045 0.12 0.058 −0.037−0.14 0.03 0.11 0.11 0.37 0.045 0.11 0.14 0.017 0.012−0.2 0.045 −0.0091 0.14 0.12 0.018 0.063−0.17 0.24 0.13 0.33 0.051 0.059 0.14 1. 0.071 0.071 1. 0.19 0.16 0.086 0.4 0.15 0.28 0.048 0.2 0.11 0.24 0.12 0.36 0.063 0.29 0.21 −0.0001 0.053 0.33 σij . si · sj 0.051−0.034 −0.041 0.034 0.037 0.05−0.037 0.37 0.012 0.0084 −0.17−0.14−0.13−0.017 −0.034 −0.14 0.045 −0.2 0.24 0.045 0.18 0.028 0.02 0.045 0.03 0.11 0.045 0.25 0.074 0.19 0.087 0.11 0.12 0.11 0.14 −0.0091 0.034 0.14 0.049 0.057 0.064 0.058 0.11 0.017 0.14 0.19 0.086 0.15 0.048 0.11 0.12 0.063 0.21 0.053 0.16 0.4 0.28 0.2 0.24 0.36 0.29 −0.0001 0.33 1. 0.17 0.23 0.24 0.19 0.24 0.27 0.083 0.084 0.17 1. 0.53 0.25 0.19 0.27 0.27 0.026 0.38 0.23 0.53 1. 0.24 0.15 0.19 0.23 0.02 0.32 0.24 0.25 0.24 1. 0.17 0.17 0.22 0.098 0.17 0.19 0.19 0.15 0.17 1. 0.72 0.26 0.035 0.15 0.24 0.27 0.19 0.17 0.72 1. 0.38 0.044 0.21 0.27 0.27 0.23 0.22 0.26 0.38 1. 0.051 0.44 0.083 0.026 0.02 0.098 0.035 0.044 0.051 1. −0.0055 0.084 0.38 0.32 0.17 0.15 0.21 0.44 −0.0055 1. Korrelationsmatrix für die 16 Appendizitis-Variablen, gemessen auf 473 Fällen. Korrelationsmatrix als Dichteplot Kij = −1: schwarz, Kij = 1: weiÿ |Kij | = 0: schwarz, |Kij | = 1: weiÿ Das Perzeptron, ein linearer Classier Linear separable zweidimensionale Datenmenge. Trenngerade: a1 x1 + a2 x2 = 1. x2 1/a2 − − − − − + + + + + + + + + − − + − − − − − − − − − − − − − 1/a1 x1 Lineare Separabilität n − 1-dimensionale Hyperebene im Rn ist durch n X ai xi = θ i=1 gegeben, also: Denition Zwei Mengen M1 ⊂ Rn und M2 ⊂ Rn heiÿen linear separabel, wenn reelle Zahlen a1 , . . . , an , θ existieren mit n X i=1 ai xi > θ für alle x ∈ M1 und Der Wert θ wird als Schwelle bezeichnet. n X i=1 ai xi ≤ θ für alle x ∈ Lineare Separabilität x2 x2 AND XOR 1 1 −x1 + 3/2 x1 x1 0 1 0 1 AND ist linear separabel, XOR nicht. (• =wahr ˆ , ◦ =falsch ˆ ). Perzeptron P (x) w1 x1 w2 x2 w3 x3 wn xn Denition Sei w = (w1 , . . . , wn ) ∈ Rn ein Gewichtsvektor und x ∈ Rn ein Eingabevektor. Ein Perzeptron stellt eine Funktion P : Rn → {0, 1} dar, die folgender Regel entspricht: n 1 falls w x = X w x > 0 i i P(x) = i=1 0 sonst Perzeptron I I I I zweilagiges gerichtetes Neuronales Netzwerk Die Eingabevariablen xi werden als Merkmale (engl. features) bezeichnet. trennende Hyperebene geht durch den Ursprung P Punkte x über der Hyperebene ni=1 wi xi = 0 werden positiv (P(x) = 1) klassiziert Die Lernregel M+ : Menge der positiven Trainingsmuster M− : Menge der negativen Trainingsmuster 11 , S. 164 : PerzeptronLernen(M+ , M− ) w = beliebiger Vektor reeller Zahlen ungleich 0 Repeat x ∈ M+ If w x ≤ 0 Then w = w + x For all x ∈ M− If w x > 0 Then w = w − x Until alle x ∈ M+ ∪ M− werden korrekt klassiziert For all 11 M. Minsky und S. Papert. Perceptrons . MIT Press, Cambridge, MA, 1969. PerzeptronLernen(M+ , M− ) ... x ∈ M+ If w x ≤ 0 Then w = w + x For all x ∈ M− If w x > 0 Then w = w − x For all ... (w + x) · x = w x + x2 ⇒ w x wird irgendwann positiv! (w − x) · x = w x − x2 ⇒ w x wird irgendwann negativ!12 12 Vorsicht! Dies ist kein Konvergenzbeweis! Example M+ = {(0, 1.8), (2, 0.6)}, M− = {(−1.2, 1.4), (0.4, −1)} Initialer Gewichtsvektor: w = (1, 1) Gerade w x = x1 + x2 = 0 (−1.2, 1.4) falsch klassiziert, denn (−1.2, 1.4) falsch klassiziert, 1 denn (−1.2, 1.4) · = 0.2 > 0. 1 Konvergenz Theorem Es seien die Klassen M+ und M− linear separabel durch eine Hyperebene w x = 0. Dann konvergiert die PerzeptronLernen für jede Initialisierung (6= 0) des Vektors w . Das Perzeptron P mit dem so berechneten Gewichtsvektor trennt die Klassen M+ und M− , d.h. P(x) = 1 ⇔ x ∈ M+ P(x) = 0 ⇔ x ∈ M− . und [MP69] Lineare Separabilität I I I I Perzeptron kann nicht beliebige linear separable Mengen trennen im R2 Ursprungsgerade im Rn Hyperebene im Ursprung, P denn ni=1 wi xi = 0. Trick xn := 1 Gewicht wn =: −θ wirkt als Schwelle n X i=1 I I wi xi = n−1 X i=1 wi xi − θ > 0 (bias unit), ⇔ n−1 X denn wi xi > θ i=1 Anwendung: an jeden Trainingsdatenvektor ein 1-Bit anhängen! auch das Gewicht wn , bzw. die Schwelle θ wird gelernt! ein Perzeptron Pθ : Rn−1 → {0, 1} n−1 X 1 falls wi xi > θ Pθ (x1 , . . . , xn−1 ) = i=1 0 sonst (33) mit beliebiger Schwelle kann durch ein Perzeptron P : Rn → {0, 1} mit Schwelle 0 simuliert werden. Also: Theorem Eine Funktion f : Rn → {0, 1} kann von einem Perzeptron genau dann dargestellt werden, wenn die beiden Mengen der positiven und negativen Eingabevektoren linear separabel sind. Beweis: separabel. Vergleiche Gleichung 33 mit der Denition von linear Example 5 5 5 5 5 5 4 4 4 4 4 4 5 4 3 3 3 3 3 3 3 2 2 2 2 2 2 2 1 1 1 1 1 1 1 0 0 0 1 2 3 4 5 0 0 1 2 3 4 5 0 0 1 2 3 Positive Trainingsbeispiele (M+ ) I I 4 5 0 0 1 2 3 4 5 0 0 1 2 3 4 5 0 0 1 2 3 Negative Trainingsbeispiele (M− ) 4 5 0 1 2 3 4 5 Testmuster Trainingsdaten werden in 4 Iterationen über alle Muster gelernt Testen der Generalisierungsfähigkeit: verrauschte Muster mit einer variablen Anzahl invertierter (aufeinanderfolgender) Bits. Relative Korrektheit des Perzeptrons in Abhängigkeit von der Zahl invertierter Bits in den Testdaten. Korrektheit 1 0.8 0.6 0.4 0.2 5 10 15 20 25 Bitflips Optimierung und Ausblick I I I langsame Konvergenz Beschleunigung durch Normierung der Gewichtsänderungsvektoren: w = w ± x/|x|. Bessere Initialisierung des Vektors w. X X w0 = x − x, x∈M+ I I x∈M− die in genauer untersucht werden soll. mehrlagige Netze, z.B. Backpropagation sind mächtiger (Abschnitt ??) Backpropagation kann nicht linear separable Mengen trennen Die Nearest Neighbour Methode I I I I I Auswendiglernen mit Generalisierung Arzt merkt sich Fälle 1. bei der Diagnose: erinnern an ähnlich gelagerte Fälle aus der Vergangenheit. 2. gleiche oder eine ähnliche Diagnose stellen. Schwierigkeiten: I Arzt muss gutes Gefühl für Ähnlichkeit besitzen I Ist der gefundene Fall ähnlich genug? Was heiÿt Ähnlichkeit? Zwei Beispiele sind umso ähnlicher, je geringer ihr Abstand im Merkmalsraum ist. x2 − − − − − − − − − + − − + + + + + + + + + − − x1 Schwarz markierter Punkt wird negativ klassiziert. Abstand Abstand d(x, y) zwischen zwei Punkten: durch die euklidische Norm gegebenen Metrik v u n uX d(x, y) = |x − y| = t (xi − yi )2 . i=1 gewichtete Merkmale: v u n uX wi (xi − yi )2 . dw (x, y) = |x − y| = t i=1 Algorithmus NearestNeighbour(M+ , M− , s) t = argminx∈M+ ∪M− {d(s, x)} If t ∈ M+Then Return(+) Else Return() Klassentrennung (virtuell) − − − + − + + + Voronoidiagramm + − I I Nearest-Neighbour-Methode ist mächtiger als das Prezeptron beliebig komplexe Trennlinien (Hyperächen) möglich − x2 − − − + − − − + + + + + + + + + + + + − − − − − − − − − − + − x1 I I I Gefahr durch Ausreiÿer Fehlanpassungen an zufällige Fehler (Rauschen) Überanpassung (engl. overtting). Example I I I Wir wenden NearestNeighbour auf Beispiel ?? an. Hamming-Abstand als Metrik13 Testbeispiele mit invertierten Bits wie beim Perzeptron 13 Der Hamming Abstand zweier Bit-Vektoren ist die Anzahl unterschiedlicher Bits der beiden Vektoren. Korrektheit 1 0.8 0.6 0.4 0.2 5 10 15 20 25 Bitflips Korrektheit der Nearest-Neighbour-Klassikation (grau: Perzeptron) k-Nearest-Neighbour-Methode Mehrheitsentscheid unter den k nächsten Nachbarn: Der Algorithmus k-NearestNeighbour. k-NearestNeighbour(M+ , M− , s) V = {k nächste Nachbarn in M+ ∪ M− } If |M+ ∩ V | > |M− ∩ V | Return Then (+) ElseIf |M+ ∩ V | < |M− ∩ V | Return Then () Else Return(Random(+, )) Mehr als zwei Klassen I I I Nearest-Neighbour-Klassikation für mehr als zwei Klassen: Klasse des nächsten Nachbarn k-Nearest-Neighbour-Methode: Klasse mit Mehrheit unter den k nächsten Nachbarn. k-Nearest-Neighbour-Methode nur bei wenigen Klassen, bis etwa 10 Klassen Klassikation versus Approximation 1 0.5 0 −0.5 Trainingsdaten Klassifikation −1 0 I I I Differenz der Motorspannungen v Agent Differenz der Motorspannungen v Autonomer Roboter soll lernen, sich vom Licht wegzubewegen. 0.5 1 1.5 Verhältnis der Sensorinputs x 2 1 0.5 0 −0.5 Trainingsdaten approximierte Funktion −1 0 0.5 1 1.5 Verhältnis der Sensorinputs x 2 Sensorsignale sl des linken und sr des rechten Sensors, x = sr /sl Aus x soll v = Ur − Ul bestimmt werden. Der Agent muss eine Abbildung f nden, die für jeden Wert x den richtigen Wert v = f (x) berechnet. Approximationsmethoden I I I I Polynominterpolation, Spline-Interpolation, Methode der kleinsten Quadrate Problematisch in hohen Dimensionen. Schwierigkeit: in der KI werden modellfreie Approximationsmethoden benötigt Neuronale Netze, Supportvektormaschinen, Gauÿ'sche Prozesse, ..., Nearest Neighbour k-NN für Approximationsprobleme 1. Bestimmung der Menge V = {x1 , x2 , . . . xk } der k nächsten Nachbarn von x 2. mittlerer Funktionswert k 1X ˆ f (xi ) f (x) = k i=1 Je gröÿer k wird, desto glatter wird die Funktion fˆ. (34) Der Abstand ist relevant bei groÿem k : I I I viele Nachbarn mit groÿem Abstand wenige Nachbarn mit kleinem Abstand. Berechnung von fˆ durch weit entfernte Nachbarn dominiert Lösung: in k-NearestNeighbour werden Stimmen gewichtet mit wi = 1 , 1 + αd(x, xi )2 (35) Approximation: Gleichung 34 wird ersetzt durch fˆ(x) = I I Pk i=1 wi f (xi ) . P k w i i=1 Einuÿ der Punkte für gröÿer werdenden Abstand geht gegen Null. alle Trainingsdaten können zur Klassif./Approx. verwentet werden! k-NN mit/ohne Abstandsgewichtung k -Nearest Neighbour 10 000 10 000 10 000 8000 8000 8000 6000 6000 6000 4000 4000 4000 20 22 24 26 28 20 k=1 22 24 26 28 20 k=2 22 24 26 28 k=6 Nearest Neighbour mit Abstandsgewichtung 12 000 12 000 12 000 10 000 10 000 10 000 8000 8000 8000 6000 6000 6000 4000 4000 20 22 24 α = 20 26 4000 20 22 α=4 24 26 20 22 α=1 24 26 Rechenzeiten I I I I I I I Lernen durch einfaches Abspeichern Daher sehr schnelles Lernen Klassikation/Approximation eines Vektors x sehr aufwändig Finden der k nächsten Nachbarn bei n Trainingsdaten: Θ(n) Klassikation/Approximation: Θ(k) Gesamtrechenzeit:Θ(n + k) Nearest-Neighbour-Methoden = Lazy Learning Beispiel: Lawinenprognose Aufgabe: aus der Neuschneemenge ist die aktuelle Lawinengefahr zu bestimmen. Lazy Learning 5 Lawinen− gefahren− stufe 4 Eager Learning 3 2 1 20 50 100 200 3−Tages−Neuschneesumme [cm] NN-Methoden: Einsatzgebiete Nearest-Neighbour-Methoden sind gut geeignet, wenn eine gute lokale Approximation benötigt wird, die aber keine hohen Anforderungen an die Geschwindigkeit des Systems stellen. Nearest-Neighbour-Methoden sind schlecht geeignet, wenn eine für Menschen verständliche Beschreibung des in den Daten enthaltenen Wissens gefordert wird (Data Mining). Fallbasiertes Schlieÿen (engl. case-based reasoning), kurz CBR: I I Erweiterung von NN-Methoden auf symbolische Problembeschreibungen und deren Lösung [Ric03] Einsatzgebiete: I Diagnose technischer Probleme I Telefonhotlines CBR-Beispiel Merkmal Anfrage Fall aus Fallbasis Defektes Teil: Rücklicht Vorderlicht Fahrrad Modell: Marin Pine Mountain VSF T400 Baujahr: 1993 2001 Stromquelle: Batterie Dynamo Zustand der Birnen: ok ok Lichtkabelzustand: ? ok Diagnose: ? Massekontakt vorne Reparatur: ? Stelle Massekontakt Lösung fehlt vorne her Transformation: Rücklicht auf Vorderlicht abbilden CBR-Schema Anfrage x Lösung für x Transformation Fall y RückLösung für y transformation CBR: Probleme Frame-Problem: Kann der Entwickler alle möglichen Spezialfälle und Problemvarianten vorhersehen und abbilden? Ähnlichkeit passendes Ähnlichkeitsmass für symbolische Merkmale. Transformation Wie ndet man die Abbildung und deren Umkehrung? Modellierung Lösungen: I Interessante Alternative zu CBR: Bayes-Netze. I Symbolische Problemrepräsentation ist oft abbildbar auf numerische Merkmale. I Dann sind andere Verfahren einsetzbar. Lernen von Entscheidungsbäumen Schnee_Entf (1,2,3,4,5,6,7,8,9,10,11) > 100 <= 100 ja (1,2,3,4) Wochenende ja Sonne ja ja (5,6,7) (5,6,7,8,9,10,11) nein nein (5,6,7,8) (9,10,11) nein nein (8) Entscheidungsbaum für das Klassikationsproblem Skifahren. Bäume und Merkmale Variable Werte Beschreibung Skifahren ja, nein Fahre ich los in das nächstgele- (Zielvariable) gene Skigebiet mit ausreichend Schnee? Sonne ja, nein Sonne scheint heute? Schnee_Entf ≤ 100, > 100 Entfernung des nächstes Skigebiets mit guten Schneeverhältnissen (über/unter 100 km) Wochenende ja, nein Ist heute Wochenende? Variablen für das Klassikationsproblem Skifahren. Trainingsdaten Tag Nr. 1 2 3 4 5 6 7 8 9 10 11 Schnee_Entf ≤ 100 ≤ 100 ≤ 100 ≤ 100 > 100 > 100 > 100 > 100 > 100 > 100 > 100 Wochenende ja ja ja nein ja ja ja ja nein nein nein Sonne ja ja nein ja ja ja ja nein ja ja nein Skifahren ja ja ja ja ja ja nein nein nein nein nein Zeilen 6 und 7 widersprechen sich! Baum aus Abbildung 423 ist also optimal! Wie entsteht der Baum aus den Daten? optimaler Algorithmus: alle Bäume erzeugen, für jeden Baum die Zahl der Fehlklassikationen auf den Daten berechnen und schlieÿlich einen Baum mit minimaler Fehlerzahl auswählen. Nachteil: inakzeptabel hohe Rechenzeit! also: heuristischer Algorithmus mit Greedy-Strategie Die Entropie als Maÿ für den Informationsgehalt I I Attribut mit höchstem Informationsgewinn Trainingsdaten S = (ja,ja,ja,ja,ja,ja,nein,nein,nein,nein,nein) mit p1 = p(ja) = 6/11 und p2 = p(nein) = 5/11. I Wahrscheinlichkeitsverteilung p = (p1 , p2 ) = (6/11, 5/11). I allgemein p = (p1 , . . . , pn ) mit n X i=1 pi = 1. zwei Extremfälle sicheres Ereignis: p = (1, 0, 0, . . . , 0). (36) 1 1 1 p = ( , ,..., ) n n n Ungewissheit ist maximal! (37) Gleichverteilung: Claude Shannon: wieviele Bits benötigt man mindestens, um solch ein Ereignis zu kodieren? 1. (Gleichung 36): Null Bits 2. (Gleichung 37): log2 n Bits allgemeiner Fall p = (p1 , . . . , pn ) = ( I I n X i=1 I (38) log2 mi Bits für den i -ten Fall benötigt. Erwartungswert H für die Zahl der Bits: H= I 1 1 1 , ,..., ) m1 m2 mn pi log2 mi = n X i=1 pi log2 1/pi = − n X pi log2 pi . i=1 Je mehr Bits man benötigt, um ein Ereignis zu kodieren, desto höher ist die Unsicherheit über den Ausgang. Daher: Entropie H als Maÿ für die Unsicherheit einer Wahrscheinlichkeitsverteilung: H(p) = H(p1 , . . . , pn ) := − n X i=1 pi log2 pi . Problem: 0 log2 0 undeniert! Denition 0 log2 0 := 0 (siehe ). damit: H(1, 0, . . . , 0) = 0 und 1 1 H( , . . . , ) = log2 n n n eindeutiges globales Maximum der Entropie! Spezialfall: zwei Klassen H(p) = H(p1 , p2 ) = H(p1 , 1−p1 ) = −(p1 log2 p1 +(1−p1 ) log2 (1−p1 )) 1 0.9 0.8 H(p,1−p) 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0 0.1 0.2 0.3 0.4 0.5 p 0.6 0.7 0.8 0.9 1 Die Entropiefunktion für den Zweiklassenfall. Datenmenge D mit Wahrscheinlichkeitsverteilung p: H(D) = H(p). Informationsgehalt I (D) der Datenmenge D ist das Gegenteil von Unsicherheit, also I (D) := 1 − H(D). (39) Der Informationsgewinn Wenden wir nun die Entropieformel an auf das Beispiel, so ergibt sich H(6/11, 5/11) = 0.994 Informationsgewinn InfGewinn(D,A) = n X |Di | i=1 |D| I (Di ) − I (D) Mit Gleichung 39 erhalten wir InfGewinn(D,A) = n X |Di | i=1 = 1− |D| I (Di ) − I (D) = n X |Di | |D| i=1 = H(D) − i=1 |D| (1 − H(Di )) − (1 H(Di ) − 1 + H(D) n X |Di | i=1 n X |Di | |D| H(Di ) Angewendet auf Schnee_Entf: 4 7 H(D≤100 ) + H(D>100 ) 11 11 4 7 ·0+ · 0.863 = 0.44 = 0.994 − 11 11 InfGewinn(D,Schnee_Entf) = H(D) − analog erhält man InfGewinn(D,Wochenende) = 0.150 und InfGewinn(D,Sonne) = 0.049 also: Wurzelknoten wird Schnee_Entf [6,5] [6,5] [6,5] Schnee_Entf Wochenende Sonne <=100 > 100 [4,0] Gewinn: [2,5] 0.445 ja nein ja nein [5,2] [1,3] [5,3] [1,2] 0.150 Vergleich 0.049 Tag Nr. 1 2 3 4 5 6 7 8 9 10 11 Schnee_Entf ≤ 100 ≤ 100 ≤ 100 ≤ 100 > 100 > 100 > 100 > 100 > 100 > 100 > 100 Wochenende ja ja ja nein ja ja ja ja nein nein nein Sonne ja ja nein ja ja ja ja nein ja ja nein Skifahren ja ja ja ja ja ja nein nein nein nein nein Datenmenge für das Klassikationsproblem Skifahren. Für D≤100 ist die Klassikation eindeutig Also terminiert der Baum hier. ja. Im Zweig D>100 herrscht keine Eindeutigkeit. Also InfGewinn(D>100 ,Wochenende) = 0.292 InfGewinn(D>100 ,Sonne) = 0.170 Der Knoten erhält also das Attribut Wochenende. Für Wochenende = nein terminiert der Baum mit der Entscheidung nein. Für Wochenende = ja bringt Sonne einen Gewinn von 0.171. Aufbau des Baumes beendet, weil keine weiteren Attribute mehr verfügbar sind. Schnee_Entf (1,2,3,4,5,6,7,8,9,10,11) > 100 <= 100 ja (1,2,3,4) Wochenende ja Sonne ja ja (5,6,7) (5,6,7,8,9,10,11) nein nein (5,6,7,8) (9,10,11) nein nein (8) Entscheidungsbaum für das Klassikationsproblem Skifahren. Systeme C4.5 CART CHAID Knime 1993, Ross Quinlan, Weiterentwicklung von ID3 (Iterative Dichotomiser 3, 1986). Nachfolger (kostenpichtig): C5.0 (Classication and Regression Trees), 1984, Leo Breiman, ähnlich zu C4.5, komfortable graphische Benutzeroberäche, teuer. (Chi-square Automatic Interaction Detectors), 1964, J. Sonquist und J. Morgan, stoppt das Wachsen des Baumes bevor er zu groÿ wird. Heute bedeutungslos Data Mining Werkzeug (Konstanz Information Miner), sehr komfortable Benutzeroberäche, Verwendet die Weka Java-Bibliothek. Anwendung von C4.5 Trainingsdaten in Datei ski.data: <=100, ja , ja , <=100, ja , ja , <=100, ja , nein, <=100, nein, ja , >100, ja , ja , >100, ja , ja , >100, ja , ja , >100, ja , nein, >100, nein, ja , >100, nein, ja , >100, nein, nein, ja ja ja ja ja ja nein nein nein nein nein Informationen über Attribute und Klassen in Datei ski.names: |Klassen: nein: nicht Skifahren, ja: Skifahren | nein,ja. | |Attribute | Schnee_Entf: <=100,>100. Wochenende: nein,ja. Sonne: nein,ja. unixprompt> c4.5 -f ski -m 1 C4.5 [release 8] decision tree generator Wed Aug 2 ---------------------------------------| Options: File stem <ski> Sensible test requires 2 branches with >=1 cases | Read 11 cases (3 attributes) from ski.data | Decision Tree: | Schnee_Entf = <=100: ja (4.0) Schnee_Entf = >100: | Wochenende = nein: nein (3.0) | Wochenende = ja: | | Sonne = nein: nein (1.0) | | Sonne = ja: ja (3.0/1.0) Simplified Decision Tree: | Schnee_Entf = <=100: ja (4.0/1.2) Schnee_Entf = >100: nein (7.0/3.4) | Evaluation on training data (11 items): | Before Pruning After Pruning -----------------------------------------Size Errors Size Errors Estimate | 7 1( 9.1%) 3 2(18.2%) (41.7%) < Der Lernalgorithmus Daten,Knoten ErzeugeEntscheidungsbaum( Amax If ) = Attribut mit maximalem Informationsgewinn InfGewinn(Amax ) =0 Knoten Knoten Then Else ordne wird Blattknoten mit häugster Klasse in Amax zu a1 , . . . , an von Amax das Attribut Erzeuge für jeden Wert Daten einen Nachfolgeknoten: K1 , . . . , Kn D1 , . . . , Dn mit Di = {x ∈ |Amax (x) = ai } For all i ∈ {1, . . . , n} If alle x ∈ Di gehören zur gleichen Klasse Ci Then Erzeuge Blattknoten Ki mit Klasse Ci Else ErzeugeEntscheidungsbaum(Di , Ki ) Teile Daten auf in Daten Lernen von Appendizitisdiagnose (LEXMED) app.names: |Definition der Klassen und Attribute | |Klassen 0=Appendizitis negativ | 1=Appendizitis positiv 0,1. | |Attribute | Alter: Geschlecht_(1=m___2=w): Schmerz_Quadrant1_(0=nein__1=ja): Schmerz_Quadrant2_(0=nein__1=ja): Schmerz_Quadrant3_(0=nein__1=ja): Schmerz_Quadrant4_(0=nein__1=ja): Lokale_Abwehrspannung_(0=nein__1=ja): Generalisierte_Abwehrspannung_(0=nein__1=ja): Schmerz_bei_Loslassmanoever_(0=nein__1=ja): Erschuetterung_(0=nein__1=ja): Schmerz_bei_rektaler_Untersuchung_(0=nein__1=ja): Temp_ax: Temp_re: Leukozyten: Diabetes_mellitus_(0=nein__1=ja): continuous. 1,2. 0,1. 0,1. 0,1. 0,1. 0,1. 0,1. 0,1. 0,1. 0,1. continuous. continuous. continuous. 0,1 app.data: 19,1,0,0,1,0,1,0,1,1,0,362,378,13400,0,1 13,1,0,0,1,0,1,0,1,1,1,383,385,18100,0,1 32,2,0,0,1,0,1,0,1,1,0,364,374,11800,0,1 18,2,0,0,1,1,0,0,0,0,0,362,370,09300,0,0 73,2,1,0,1,1,1,0,1,1,1,376,380,13600,1,1 30,1,1,1,1,1,0,1,1,1,1,377,387,21100,0,1 56,1,1,1,1,1,0,1,1,1,0,390,?,14100,0,1 36,1,0,0,1,0,1,0,1,1,0,372,382,11300,0,1 36,2,0,0,1,0,0,0,1,1,1,370,379,15300,0,1 33,1,0,0,1,0,1,0,1,1,0,367,376,17400,0,1 19,1,0,0,1,0,0,0,1,1,0,361,375,17600,0,1 12,1,0,0,1,0,1,0,1,1,0,364,370,12900,0,0 ... Die Datei enthält 9764 Fälle. unixprompt> c4.5 -f app -u -m 100 | C4.5 [release 8] decision tree generator Wed Aug 23 13:13:15 2006 ---------------------------------------| Options: File stem <app> Trees evaluated on unseen cases Sensible test requires 2 branches with >=100 cases | Read 9764 cases (15 attributes) from app.data | Decision Tree: | Leukozyten <= 11030 : | Schmerz_bei_Loslassmanoever = 0: | | Temp_re > 381 : 1 (135.9/54.2) | | Temp_re <= 381 : | | | Lokale_Abwehrspannung = 0: 0 (1453.3/358.9) | | | Lokale_Abwehrspannung = 1: | | | | Geschlecht_(1=m___2=w) = 1: 1 (160.1/74.9) | | | | Geschlecht_(1=m___2=w) = 2: 0 (286.3/97.6) | Schmerz_bei_Loslassmanoever = 1: | | Leukozyten <= 8600 : | | | Temp_re > 378 : 1 (176.0/59.4) | | | Temp_re <= 378 : | | | | Geschlecht_(1=m___2=w) = 1: | | | | | Lokale_Abwehrspannung = 0: 0 (110.7/51.7) Beschnittener Baum Leukozyten > 11030 : 1 (5767.0/964.1) Leukozyten <= 11030 : | Schmerz_bei_Loslassmanoever = 0: | | Temp_re > 381 : 1 (135.9/58.7) | | Temp_re <= 381 : | | | Lokale_Abwehrspannung = 0: 0 (1453.3/370.9) | | | Lokale_Abwehrspannung = 1: | | | | Geschlecht_(1=m___2=w) = 1: 1 (160.1/79.7) | | | | Geschlecht_(1=m___2=w) = 2: 0 (286.3/103.7) | Schmerz_bei_Loslassmanoever = 1: | | Leukozyten > 8600 : 1 (984.7/322.6) | | Leukozyten <= 8600 : | | | Temp_re > 378 : 1 (176.0/64.3) | | | Temp_re <= 378 : | | | | Geschlecht_(1=m___2=w) = 1: | | | | | Lokale_Abwehrspannung = 0: 0 (110.7/55.8) | | | | | Lokale_Abwehrspannung = 1: 1 (160.6/73.4) | | | | Geschlecht_(1=m___2=w) = 2: | | | | | Alter <= 14 : 1 (131.1/67.6) | | | | | Alter > 14 : 0 (398.3/144.7) Evaluation on training data (9764 items): | Before Pruning After Pruning -----------------------------------------Size Errors Size Errors Estimate 37 2197(22.5%) 21 2223(22.8%) (23.6%) | | | Before Pruning After Pruning -----------------------------------------Size Errors Size Errors Estimate 37 1148(23.5%) 21 1153(23.6%) (23.6%) | (a) (b) <-classified as ---- ---758 885 (a): class 0 268 2971 (b): class 1 << << Stetige Attribute Knoten: Leukozyten > 11030 Die Schwelle ΘD,A für ein Attribut A wird bestimmt durch ΘD,A = max{InfGewinn(D, A > v )}. v für alle in den Trainingsdaten D vorkommenden Werte v von A. Jedes stetige Attribut wird an jedem neu erzeugten Knoten wieder getestet! Pruning Der Baumschnitt Aristoteles: von zwei wissenschaftlichen Theorien, die den gleichen Sachverhalt gleich gut erklären, ist die einfachere zu bevorzugen. Occam's Rasiermesser (engl. Occam's razor) Unter allen Bäumen mit einer festen Fehlerrate ist also immer ein kleinster Baum auszuwählen. Generalisieren I I I Je komplexer ein Modell, desto mehr Details werden repräsentiert, aber umso schlechter läÿt sich das Modell auf neue Daten übertragen. Daher: Trainingsdaten (z.B. 2/3 aller Daten) Testdaten (z.B. 1/3 aller Daten) Überanpassung (engl. overtting) 28 relativer Fehler [%] 27 Fehler auf Testdaten Fehler auf Trainingsdaten 26 25 24 23 22 21 20 0 20 40 60 80 100 120 140 160 180 200 Baumgröße [Zahl der Knoten] Überanpassung Denition Sei ein bestimmtes Lernverfahren, das heiÿt eine Klasse lernender Agenten, gegeben. Man nennt einen Agenten A überangepasst an die Trainingsdaten, wenn es einen anderen Agenten A0 gibt, dessen Fehler auf den Trainingsdaten gröÿer ist als der von von A, aber auf der gesamten Verteilung von Daten ist der Fehler von A0 kleiner als der von A. Kreuzvalidierung (engl. cross validation): Fehler auf den Testdaten messen bis er signikant ansteigt! Pruning bei C4.5 schneidet solange Knoten des Baumes ab, bis ein aus dem Fehler auf den Trainingsdaten geschätzter Fehler auf den Testdaten wieder zunimmt.14 Reduced Error Pruning Greedy-Verfahren: I I I I nicht optimal, Bias hin zu kleinen Bäumen mit Attributen mit hohem Gain ganz oben. Gain ratio bei vielen Attributwerten. Stärken: sehr schnell, bei den Lexmed-Daten (ca. 10000 Trainingsdaten mit 15 Attributen) ca. 0.18 sec 14 Besser wäre es allerdings, beim Pruning den Fehler auf den Testdaten zu verwenden. Fehlende Werte 56, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 390, ?, 14100, 0, 1, Möglichkeiten beim Aufbau des Baumes: verwende I häugsten Wert unter allen anderen Trainingsdaten I häugsten Wert unter allen anderen Trainingsdaten in der gleichen Klasse I Wahrscheinlichkeitsverteilung aller Attributwerte einsetzen und das fehlerhafte Trainingsbeispiel entsprechend dieser Verteilung aufteilen auf die verschiedenen Äste im Baum 15 Bei der Klassikation werden fehlende Werte gleich behandelt wie beim Lernen. 15 Grund für das Vorkommen von nicht ganzzahligen Werten in den Klammerausdrücken hinter den Blattknoten der C4.5-Bäume. Zusammenfassung I I I I I I I I Für Klassikationsaufgaben sehr beliebtes Verfahren Einfache Anwendung hohe Geschwindigkeit: Auf 10 000 Daten mit 15 Attributen benötigt C4.5 etwa 0.3 Sekunden für das Lernen Irrelevante Attribute werden automatisch gelöscht Anwender kann den Entscheidungsbaum verstehen Anwender kann den Entscheidungsbaum verändern Entscheidungsbaum kann leicht in bestehende Programme eingebaut werden erzeugte Bäume sind nicht immer optimal[Mit97] Kreuzvalidierung und Überanpassung I I I Problem der Überanpassung. Komplexität des gelernten Modells passt sich Komplexität der Trainingsdaten! Resultat: Überanpassung Modellkomplexität: Baumgröÿe k-Nearest-Neighbour-Methode: Zahl k der nächsten Nachbarn Neuronale Netze: Zahl der verdeckten Schichten / Neuronen Entscheidungsbaumlernen: k -fache Kreuzvalidierung Kreuzvalidierung(X, k ) Daten zufällig aufteilen in k gleich groÿe Blöcke X = X1 ∪ . . . ∪ Xk For all γ ∈ {γmin , . . . , γmax } For all i ∈ {1, . . . , k} Trainiere ein Modell der Komplexität γ auf X\Xi Berechne den Fehler E (γ, Xi ) auf der Testdatenmenge Xi P Berechne den mittleren Fehler E (γ) = k1 ki=1 E (γ, Xi ) Wähle den Wert γopt = argminγ E (γ) mit geringstem mittlerem Fehler Trainiere nales Modell mit γopt auf gesamter Datenmenge X Bias-Variance-Tradeo I I Zu einfaches Modell: nicht optimale Approximation (Bias) Zu komplexes Modell: Das Modell variiert sehr bei veränderten Daten (Variance). Example Funktionsapproximation mit Polynomen acht Datenpunkte nach y (x) = sin(x) + r (0, 0.2) mit normalverteiltem Rauschen erzeugt: 1.5 1.5 1 1 0.5 0.5 0 0 -0.5 -0.5 -1 -1 -1.5 -1.5 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 Nearest Neighbour Data Description γ=1 Nearest Neighbour Data Description Gegeben: Datenmenge X = (x1 , . . . , xn ) NNDD-Formel: Ein neuer Punkt q wird akzeptiert, wenn D(q, NN(q)) ≤ γD(NN(q), NN(NN(q))) Nearest Neighbour Data Description γ=1 Nearest Neighbour Data Description γ=1 Nearest Neighbour Data Description γ=1 Nearest Neighbour Data Description = 0.5 γ = 0.8 γ = 1.0 γ = 1.2 k Nearest Neighbour Data Description Gegeben: Datenmenge X = (x1 , . . . , xn ) neue Formel: Ein neuer Punkt q wird akzeptiert, wenn D(q, kNN(q)) ≤ γD(kNN(q), kNN(kNN(q))) kNN(q) ist der k -te nächste Nachbar zu q. k Nearest Neighbour Data Description k = 2, γ = 1 k Nearest Neighbour Data Description k = 2, γ = 6 k Nearest Neighbour Data Description k = 2, γ = 4 k Nearest Neighbour Data Description k = 3, γ = 1 k Nearest Neighbour Data Description k = 3, γ = 1 k Nearest Neighbour Data Description k = 4, γ = 1 k Nearest Neighbour Data Description k = 4, γ = 2 k Nearest Neighbour Data Description k = 4, γ = 4 Nearest Neighbour Data Description (Var. Ertel) Gegeben: Datenmenge X = (x1 , . . . , xn ) neue Formel: Ein neuer Punkt q wird akzeptiert, wenn D(q, NN(q)) ≤ γ D̄ D̄ = mittlerer Abstand der nächsten Nachbarn zu allen Datenpunkten in X. Nearest Neighbour Data Description (Var. Ertel) γ = 0.5, D̄ = 0.223 Lernen von Bayes-Netzen Lernen der Netzwerkstruktur Bei vorgegebenen Variablen wird aus den Trainingsdaten die Netzwerktopologie generiert. Dieser erste Schritt ist der mit Abstand schwierigere und verdient im Folgenden eine genauere Betrachtung. Lernen der bedingten Wahrscheinlichkeiten Bei bekannter Netzwerktopologie müssen die CPTs mit Werten gefüllt werden. Wenn genügend Trainingsdaten verfügbar sind, können durch Zählen von Häugkeiten in den Daten alle benötigten bedingten Wahrscheinlichkeiten geschätzt werden. Dieser Schritt ist relativ leicht automatisierbar. Lernen der Netzwerkstruktur Siehe [Jen01][Jen01] I I kausale Abhängigkeit kann nicht einfach automatisch erkannt werden Finden einer optimalen Struktur für ein Bayes-Netz als klassisches Suchproblem: V1 , . . . , Vn , I Gegeben: Variablen I Gesucht: gerichteter azyklischer Graph (engl. directed acyclic Datei mit Trainingsdaten. graph, DAG), welcher die den Daten zugrunde liegende Wahrscheinlichkeitsverteilung möglichst gut wiedergibt. Suchraum: Zahl unterschiedlicher DAGs wächst schnell: Bei 5 Knoten 29281 DAGs, bei 9 Knoten 1015 DAGs [MDBM00]. Heuristische Verfahren I I I I I Suche im Raum aller DAGs schätze für jeden DAG die Werte der CPTs berechnen daraus die Verteilung Berechne Abstand der Verteilung zu der aus den Daten bekannten Verteilung Wähle die Verteilung mit dem kleinsten Abstand zu der aus den Daten bekannten Verteilung P(Him, Bar, Nied) = (0.40, 0.07, 0.08, 0.10, 0.09, 0.11, 0.03, 0.12). Netz a: Him Netz b: Bar Him Nied Bar Nied euklidische Norm der Dierenz der beiden Vektoren: X dq (x, y) = (xi − yi )2 i Abstand für Beispiel: dq (Pa , P) = 0.0029, dq (Pb , P) = 0.014. Netz a besser! Alternative P (Kullback-Leibler-Abstand): dk (x, y) = i yi (log2 yi − log2 xi ), Abstand für Beispiel: dk (Pa , P) = 0.017, dk (Pb , P) = 0.09 Gefahr: Überanpassung f (N) = Gröÿe(N) + w · dk (PN , P). Gröÿe(N) = Anzahl aller Einträge in den CPTs und PN die Verteilung des Netzes N . w ist ein Gewichtungsfaktor, der manuell angepasst werden muss. Suchraumproblem: ausgehend von einer (kausalen) Ordnung der Variablen V1 , . . . , Vn nur diejenigen gerichteten Kanten (Vi , Vj ) in das Netz einzeichnen, für die i < j . Gestartet wird mit dem maximalen Modell, das diese Bedingung erfüllt (5 Variablen): V1 V2 V3 V4 V5 gierige Suche: Kanten entfernen, bis f nicht mehr weiter abnimmt. Forschung zum Lernen von Bayes-Netzen I I I I I EM-Algorithmus Markov-Chain-Monte-Carlo-Methoden Gibbs-Sampling Hugin (www.hugin.com) oder Bayesware (www.bayesware.com). Der Naive-Bayes-Klassizierer P(B|S1 , . . . , Sn ) = P(S1 , . . . , Sn |B) · P(B) , P(S1 , . . . , Sn ) P(S1 , . . . , Sn , B) müssen bestimmt werden! Annahme: alle Symptomvariablen sind bedingt unabhängig gegeben B: P(S1 , . . . , Sn |B) = P(S1 |B) · . . . · P(Sn |B). Leuko7 S3Q2 TRek6 PathU2 Abw3 RektS2 Alt10 Bef4 S2Q2 Losl2 S1Q2 Sono2 S4Q2 Ersch2 Darmg4 Sex2 Damit erhält man die Formel Q P(B) ni=1 P(Si |B) P(B|S1 , . . . , Sn ) = . P(S1 , . . . , Sn ) Naive-Bayes-Klassizierer: bNaive-Bayes = argmax P(B = bi |S1 , . . . , Sn ). i∈{1,...,k} Nenner in Gleichung 40 konstant, also: Naive-Bayes-Formel bNaive-Bayes = argmax P(B = bi ) i∈{1,...,k} n Y i=1 P(Si |B) (40) Anzahl der Werte in den CPTs: 6 · 4 + 5 · 4 + 2 · 4 + 9 · 4 + 3 · 4 + 10 · (1 · 4) + 1 = 141. I I I Für Lexmed wäre diese Vereinfachung nicht mehr akzeptabel! Naive-Bayes-Klassikation ist gleich ausdrucksstark wie lineare Scores Scores liegt die Annahme zugrunde, dass alle Symptome bedingt unabhängig gegeben der Befund sind. Schätzen von Warscheinlichkeiten Problem, wenn die P(Si |B) klein sind! P(Si = x|B = y ) = |Si = x ∧ B = y | . |B = y | Beispiel: I I I I P(Si = x|B = y ) = 0.01, 40 Trainingsfälle für B = y . sehr wahrscheinlich wird P(Si = x|B = y ) = 0 geschätzt. Aber P(Si = x|B = z) > 0 Damit wird der Wert B = z immer bevorzugt. Fehler! Daher wird P(A|B) ≈ |A ∧ B | nAB = |B| nB ersetzt durch P(A|B) ≈ nAB + mp , nB + m wobei p = P(A). Je gröÿer m, desto gröÿer das Gewicht der A-priori-Wahrscheinlichkeit P(A). Textklassikation mit Naive-Bayes I I I I I I Naive-Bayes wird oft verwendet zur Textklassikation automatisches Filtern von Email (Spam-Filter) Naive-Bayes-Klassizierer lernt, erwünschte Mails von Spam zu trennen. Ausltern von unerwünschten Beiträgen in Internet-Diskussionsforen Aufspüren von Webseiten mit kriminellen Inhalten Suche in Volltext-Datenbanken oder in der Literatur nach relevanten Informationen und Filterung Lernen eines Spam-Filters: 1. Der Benutzer muss eine gröÿere Anzahl Emails manuell als erwünscht oder Spam klassizieren. 2. Der Filter wird trainiert. 3. Wiederholung von 1 und 2 Beispiel: Textanalyse Beispieltext von Alan Turing [Tur50]: Wir dürfen hoen, dass Maschinen vielleicht einmal auf allen rein intellektuellen Gebieten mit dem Menschen konkurrieren. Aber mit welchem sollte man am besten beginnen? Viele glauben, dass eine sehr abstrakte Tätigkeit, beispielsweise das Schachspielen, am besten geeignet wäre. Ebenso kann man behaupten, dass es das beste wäre, Maschinen mit den besten Sinnesorganen auszustatten, die überhaupt für Geld zu haben sind, und sie dann zu lehren, englisch zu verstehen und zu sprechen. Dieser Prozess könnte sich wie das normale Unterrichten eines Kindes vollziehen. Dinge würden erklärt und benannt werden, usw. Wiederum weiÿ ich nicht, welches die richtige Antwort ist, aber ich meine, dass man beide Ansätze erproben sollte. I I I Textklassen: I für interessant und ¬I für uninteressant. Datenbank schon klassizierter Texte. Welche Attribute sollen verwendet werden? Naive Bayes macht das so: Für jede der n Wortpositionen im Text wird ein Attribut si deniert. Als mögliche Werte für alle Positionen si sind alle im Text vorkommenden Worte erlaubt. Nun müssen die Werte n Y P(I |s1 , . . . , sn ) = c · P(I ) P(si |I ) (41) i=1 sowie P(¬I |s1 , . . . , sn ) berechnet werden. In obigem Beispiel mit insgesamt 107 Worten ergibt dies P(I |s1 , . . . , sn ) = c · P(I ) · P(s1 = Wir |I ) · P(s2 = dürfen |I ) · . . . · P(s107 = sollte |I ) und P(¬I |s1 , . . . , sn ) = c · P(¬I ) · P(s1 = Wir |¬I ) · P(s2 = dürfen |¬I ) · . . . · P(s107 = sollte |¬I ). Wie lernt Naive Bayes? auf den beiden Klassen von Texten werden alle P(si |I ), P(si |¬I ) und die A-priori-Wahrscheinlichkeiten P(I ), P(¬I ) berechnet. Die Naive Bayes-Annahme: P(si |I ) hängt nicht von der Position im Text ab! Das heiÿt zum Beispiel, dass P(s61 = und |I ) = P(s69 = und |I ) = P(s86 = und |I ). einfacher: P(und|I ) Für jedes im Text vorkommende Wort wi wird seine Häugkeit ni ermittelt und Gleichung 41 vereinfacht sich: P(I |s1 , . . . , sn ) = c · P(I ) ` Y i=1 P(wi |I )ni Der Index i im Produkt läuft nur noch bis zur Zahl ` unterschiedlicher im Text vorkommender Worte. (42) Ergebnisse I I I Naive-Bayes liefert bei der Textklassikation hervorragende Ergebnisse Spam-Filter erreichen Fehlerraten von weit unter einem Prozent. Die Systeme DSPAM und CRM114 erreichen eine Korrektheit von fast 99,99% [Zdz05]. Clustering Suchmaschineneingabe: Decke Treer: I I I I Microfaser-Decke, unter der Decke Stuck an der Decke Wie streiche ich eine Decke zwei unterscheidbare Cluster! Beispiel Trainingsdaten sind nicht klassiziert. Der Lehrer fehlt hier Finden von Strukturen Häufungen im Raum der Trainingsdaten nden Ganz wichtig: Wahl eines geeigneten Abstandsmaÿes für Punkte I Clustering: I I I I Abstandsmaÿe der Euklidische Abstand v u n uX de (x, y) = t (xi − yi )2 . i=1 Summe der Abstandsquadrate dq (x, y) = n X i=1 (xi − yi )2 , Manhattan-Abstand dm (x, y) = n X i=1 |xi − yi | Abstandsmaÿe Abstand der maximalen Komponente d∞ (x, y) = max |xi − yi | i=1,...,n das normierte Skalarprodukt als Ähnlichkeitsmaÿ: xy |x| |y| als Abstandsmaÿ zum Beispiel der Kehrwert ds (x, y) = |x| |y| xy Beispiel: Suche in Volltextdatenbanken Merkmale x1 , . . . , xn als Komponenten des Vektors x, werden wie folgt berechnet: I I I Wörterbuch mit zum Beispiel 50000 Wörtern Vektor hat die Länge 50000 xi = Häugkeit des i-ten Wörterbuch-Wortes im Text. fast alle Komponenten sind null k-Means und der EM-Algorithmus Zahl der Cluster ist bekannt! I I k-Means-Verfahren: Zuerst werden die k Clustermittelpunkte µ1 , . . . , µk zufällig oder manuell initialisiert. Dann wird wiederholt: I Klassikation aller Daten zum nächsten Clustermittelpunkt I Neuberechnung der Clustermittelpunkte Beispiel Algorithmus k-Means(x1 , . . . , xn , k ) initialisiere µ1 , . . . , µk (z.B. zufällig) Repeat Klassiziere x1 , . . . , xn zum jeweils nächsten µi Berechne µ1 , . . . , µk neu Until keine Änderung in µ1 , . . . , µk Return(µ1 , . . . , µk ) Berechnung des Clustermittelpunktes: l 1X µ= xi . l i=1 I I I keine Konvergenzgarantie, aber meist recht schnelle Konvergenz. Zahl der Iterationsschritte meist viel kleiner als Zahl der Punkte. Komplexität: O(ndkt), mit I I I n = Gesamtzahl der Punkte, d = Dimension des Merkmalsraumes t = Zahl der Iterationsschritte EM-Algorithmus I I I I stetige Variante von k-Means liefert für jeden Punkt die Wahrscheinlichkeiten für die Zugehörigkeit zu den verschiedenen Klassen. Art der Wahrscheinlichkeitsverteilung der Daten ist bekannt. (Oft Normalverteilung) EM-Algorithmus bestimmt die Parameter (Mittelwert µ und Standardabweichungen σij der k mehrdimensionalen Normalverteilungen) für jeden Cluster: Expectation: Für jeden Datenpunkt wird berechnet, mit welcher Wahrscheinlichkeit P(Cj |xi ) er zu jedem der Cluster gehört. Maximization: Unter Verwendung der neu berechneten Wahrscheinlichkeiten werden die Parameter der Verteilung neu berechnet. weicheres Clustering! Der EM-Algorithmus wird neben dem Clustering zum Beispiel für das Lernen von Bayes-Netzen eingesetzt [DHS01]. Hierarchisches Clustering Anfang: n Cluster mit je einem Punkt. Wiederholt werden die beiden nächsten Nachbarcluster vereinigt: Hierarchisches-Clustering(x1 , . . . , xn ) initialisiere C1 = {x1 }, . . . , Cn = {xn } Repeat Finde zwei Cluster Ci und Cj mit kleinstem Abstand Vereinige Ci und Cj Until Abbruchbedingung erreicht Return(Baum mit Clustern) 11 10 9 8 7 6 5 4 3 2 1 0 Clusterabstand Ebene Hierarchisches Clustering Abstände der Cluster z.B. Abstand der zwei nächstliegenden Punkte aus den beiden Clustern Ci und Cj , also dmin (Ci , Cj ) = Damit erhält man den min |x − y|. x∈Ci , y∈Cj Nearest Neighbour-Algorithmus.16 16 Der Nearest Neighbour-Algorithmus ist nicht zu verwechseln mit der Nearest Neighbour-Methode zur Klassikation aus Abschnitt ??. Beispiel I I I I I Algorithmus erzeugt minimal aufspannenden Baum17 die beiden beschriebenen Algorithmen erzeugen ganz unterschiedliche Cluster arbeitet auf Adjazenzmatrix (O(n2 ) Zeit und Speicherplatz) Schleife wird n − 1 mal durchlaufen asymptotische Rechenzeit: O(n3 ) 17 Ein minimal aufspannender Baum ist ein zyklenfreier ungerichteter Graph mit minimaler Summe der Kantenlängen. Farthest Neighbour-Algorithmus I Abstands von zwei Clustern als Abstand der beiden entferntesten Punkte dmax (Ci , Cj ) = I I max |x − y| x∈Ci ,y∈Cj Alternativ: Abstand der Clustermittelpunkte dµ (Ci , Cj ) = |µi − µj | andere Clustering-Algorithmen:18 18 R.O. Duda, P.E. Hart und D.G. Stork. DH73]. des Klassikers [ Wiley, 2001. Pattern Classication . Neuauage Wie bestimmt man die Zahl der Cluster? Ideas: I Wie gut sind die Cluster getrennt? I Finde k , das die Cluster optimal trennt. I Silhouette Width Kriterium19 . 19 P. J. Rousseeuw. Silhouettes: a Graphical Aid to the Interpretation and Validation of Cluster Analysis. In: (1987), S. 5365. Computational and Applied Mathematics 20 Das Silhouette Width Kriterium Gegeben: I I I Daten: (x1 , . . . , xn ). Zahl k der Cluster. Zuordnung c : xi 7→ c(xi ) der Punkte zu Clustern. Gesucht I Funktion die die Qualität der Aufteilung der Punkte in Cluster misst! Aufgabe: I Finde unter den nn Aufteilungen der Punkte in Cluster eine optimale. Das Silhouette Width Kriterium I I I I Miÿt die Qualität der Aufteilung der Punkte in Cluster! d̄(i, `) = mittlerer Abstand von xi zu allen Punkten (6= xi ) in Cluster `. a(i) = d̄(i, c(xi )) = mittlerer Abstand von xi zu allen anderen Punkten im gleichen Cluster. b(i) = minj6=c(xi ) {d̄(i, j)} = kleinster mittlerer Abstand von Punkt xi zu einem Cluster, zu dem xi nicht gehört. 0 falls a(i) = 0 b(i) − a(i) s(i) = sonst max{a(i), b(i)} Das Silhouette Width Kriterium 0 falls a(i) = 0 b(i) − a(i) s(i) = sonst max{a(i), b(i)} Es gilt: −1 ≤ s(i) ≤ 1. 1 0 s(i) = −1 falls Punkt falls Punkt falls Punkt xi xi xi in der Mitte seines eigenen Clusters ist. auf dem Rand zwischen zwei Clustern liegt. im falschen Cluster ist. OMRk Algorithm Siehe [Bar+14], Idee: Finde k , das S = 1 n Pn i=1 s(i) maximiert. OMRk(x1 , . . . , xn , p, kmax ) S∗ = −∞ For k = 2 To kmax For i=1 To p Erzeuge zufällige Partition mit k Clustern Ermittle mit k-Means eine Partition P Bestimme S für P If S > S ∗ Then S∗ = S; k∗ = k; P∗ = P Return(k ∗ , P ∗ ) Data Mining in der Praxis I I I Alle vorgestellten Lernverfahren können zum Data Mining verwendet werden. teilweise mühsam Daten müssen immer passend formatiert werden Data Mining-System: I I I I komfortable grasche Benutzeroberäche Werkzeuge zur Visualisierung der Daten Vorverarbeitung, wie zum Beispiel die Manipulation von fehlenden Werten Analyse der Daten mit Lernverfahren Data Mining Werkzeuge Das frei verfügbare System KNIME, das wir im folgenden Abschnitt kurz vorstellen werden, bietet eine komfortable Benutzeroberäche und alle Arten der oben erwähnten Werkzeuge. KNIME verwendet unter anderem WEKA-Module. Auÿerdem bietet es eine einfache Möglichkeit, mittels eines graphischen Editors den Datenuss der ausgewählten Visualisierungs-, Vorverarbeitungs- und Analysewerkzeuge zu kontrollieren. Eine ganz ähnliche Funktionalität bietet eine mittlerweile groÿe Zahl anderer Systeme, wie zum Beispiel das Open-Source-Projekt I RapidMiner(www.rapidminer.com) I Clementine (www.spss.com/clementine) (baut auf SPSS auf) I KXEN Analytic Framework (www.kxen.com). I KNIME (Konstanz Information Miner, www.knime.org) Alternative: Open-Source Java-Programmbibliothek WEKA[WF01] Das Data Mining Werkzeug KNIME Zusammenfassung Lernen mit Lehrer faules Lernen (lazy learning) I I eifriges Lernen k-Nearest-Neighbour-Methode (Klass. + Approx.) Fallbasiertes Lernen (Klass. + Approx.) (eager learning) I I I Induktion von Entscheidungsbäumen (Klass.) Lernen von Bayes-Netzen (Klass. + Approx.) neuronale Netze (Klass. + Approx.) Lernen ohne Lehrer (Clustering) I I I I Nearest Neighbour-Methode Farthest Neighbour-Methode k-Means neuronale Netze Lernen durch Verstärkung I I I I I Wert-Iteration Q-Lernen TD-Lernen Policy-Gradient-Methoden neuronale Netze Oene Fragen / Forschung (engl. feature selection) Kann eine Maschine neue Merkmale nden? z.B. mittels Berechnung des Informationsgewinns von Merkmalen Clustering zum automatischen kreativen Entdecken von Merkmalen automatische Merkmalsextraktion: I I I Literatur I I I I I I I I T. Mitchell. Machine Learning. www-2.cs.cmu.edu/~tom/mlbook.html. McGraw Hill, 1997 C.M. Bishop. Pattern recognition and machine learning. Springer New York: 2006 E. Alpaydin. Introduction to Machine Learning. MIT Press, 2004 R.O. Duda, P.E. Hart und D.G. Stork. Pattern Classication. Neuauage des Klassikers [DH73]. Wiley, 2001 Journal of Machine Learning Research (http://jmlr.csail.mit.edu, frei verfügbar!) Machine Learning Journal International Conference on Machine Learning (ICML). C.L. Blake D.J. Newman S. Hettich und C.J. Merz. UCI Repository of machine learning databases. http://www.ics.uci.edu/~mlearn/MLRepository.html. 1998 Teil IX Neuronale Netze Neuronale Netze I I I I I I I I Etwa 10 bis 100 Milliarden Nervenzellen besitzt das menschliche Gehirn. ca. 1900 biologisch bekannt 1943 McCulloch und Pitts: A logical calculus of the ideas immanent in nervous activity (in [AR88]). Bionik-Zweig innerhalb der KI Jedes Neuron ist mit etwa 1000 bis 10 000 anderen Neuronen verbunden ungefähr 1014 Verbindungen Zeit für einen Impuls eines Neurons ≈ 1 Millisekunde Taktfrequenz < 1 Kilohertz Biologie Zellkörper Axon Dendrit Synapse Simulation Das mathematische Modell Auaden des Aktivierungspotentials, durch Summation der gewichteten Ausgabewerte x1 , . . . , xn aller eingehenden Verbindungen: n X wij xj . j=1 Neuron i x1 . . . xj . . . xn xi = f ( n X j=1 wij xj ) xi Aktivierungsfunktion xi = f f n X ! wij xj j=1 Schwellwertfunktion (Heavisidesche Stufenfunktion) 0 falls x < Θ f (x) = HΘ (x) = . 1 sonst Das Neuron berechnet dann seine Ausgabe als Pn 0 falls j=1 wij xj < Θ xi = . 1 sonst Diese Formel ist identisch mit einem Perzeptron mit der Schwelle Θ. xi w1 x1 w2 x2 w3 wn x3 xn Stufenfunktion ist unstetig. Alternative: Sigmoid-Funktion: 1 0.8 0.6 f(x) 0.4 T = 0.01 T = 0.4 T=1 T=2 T=5 T = 100 0.2 0 Θ f (x) = 1 1 + e− x−Θ T Modellierung des Lernens D. Hebb, 1949 (Hebb-Regel): Wenn es eine Verbindung wij von Neuron j und Neuron i gibt und wiederholt Signale von Neuron j zu Neuron i geschickt werden, was dazu führt, dass die beiden Neuronen gleichzeitig aktiv sind, dann wird das Gewicht wij verstärkt. Eine mögliche Formel für die Gewichtsänderung ∆wij ist ∆wij = ηxi xj mit der Konstante η (Lernrate), welche die Gröÿe der einzelnen Lernschritte bestimmt. Hopeld-Netze I I I Bei der Hebb-Regel können die Gewichte im Laufe der Zeit nur wachsen. Schwächer werden ist nicht möglich. Dies kann man z.B. durch eine Zerfallskonstante modellieren, die ein unbenutztes Gewicht pro Zeitschritt um einen konstanten Faktor, etwa 0.99, abschwächt. Andere Lösung (Hopeld 1982) I I I binäre Neuronen mit Werten ±1 ∆wij = ηxi xj Wann wird ∆wij positiv / negativ ? Autoassoziativspeicher I I I In einem Autoassoziativspeicher können Muster gespeichert werden. Abrufen: ähnliches Muster vorgeben. klassische Anwendung: Erkennung von Schriftzeichen Lernphase: N binär kodierte Muster q1 , . . . , qN sollen gelernt werden. qij ∈ {−1, 1}: ein Pixel eines Musters. I I I I n Pixel: neuronales Netz mit n Neuronen Neuronen sind vollständig vernetzt Gewichtsmatrix symmetrisch Diagonalelemente wii = 0 Rekurrente Verbindung von zwei Neuronen wji xi xj wij Lernen p 1X k k wij = q q . n k=1 i j (43) Verwandtschaft zur Hebb-Regel! Mustererkennung Man legt ein neues Muster x an und aktualisiert alle Neuronen nach n X −1 falls wij xj < 0 xi = (44) j=1 j6=i 1 sonst bis das Netz stabil wird. Programmschema HopeldAssoziator(q) Initialisiere alle Neuronen: x = q Repeat i = Random(1,n) Aktualisiere Neuron i nach Gleichung 44 Until x konvergiert Return(x) Anwendung auf ein Mustererkennungsbeispiel I I I Ziern in einem 10 × 10 Pixelfeld Hopeld-Netz hat also 100 Neuronen insgesamt 100·99 = 4950 Gewichte 2 Die vier vom Netz gelernten Trainingsbeispiele. 10% Rauschen 62 Schritte 144 Schritte 232 Schritte 379 Schritte 10% Rauschen 65 Schritte 147 Schritte 202 Schritte 301 Schritte 10% Rauschen 66 Schritte 112 Schritte 150 Schritte 359 Schritte Einige stabile Zustände des Netzes, die nicht gelernt wurden. Die zehn gelernten Muster. ↓ Sechs verrauschte Muster mit etwa 10% Rauschen. ↓ ↓ ↓ ↓ ↓ Die aus den verrauschten Mustern entstandenen stabilen Zustände. Analyse Neuronen Elementarmagnete wij xi 1 xj wji -1 1 2 − 12 wij Neuronale und der physikalische Interpretation des Hopeld-Modells. Gesamtenergie des Systems: E =− 1X wij xi xj . 2 i,j Auch in der Physik gilt wii = 0 und wij = wji . Hopeld-Dynamik I I I physikalisches System im Gleichgewicht minimiert E (x, y). System bewegt sich auf einen Zustand minimaler Energie zu. Hopeld-Dynamik aktualisiert in jedem Schritt den Zustand eines Neurons so, dass es den mit kleinerer Gesamtenergie einnimmt. Beitrag des Neurons i zur Gesamtenergie: n 1 X wij xj . − xi 2 j6=i Wenn n X wij xj < 0 j6=i ist, dann führt xi = −1 zu einem negativen Beitrag zur Gesamtenergie, xi = 1 hingegen zu einem positiven Beitrag. Analog: Für n X j6=i wij xj ≥ 0 muss xi = 1 sein. I I I gesamte Energie des Systems nimmt im Laufe der Zeit monoton ab. Netzwerk bewegt sich auf einen Zustand minimaler Energie zu. Welche Bedeutung haben diese Minima der Energiefunktion? Analog: Für n X j6=i wij xj ≥ 0 muss xi = 1 sein. I I I I I I I gesamte Energie des Systems nimmt im Laufe der Zeit monoton ab. Netzwerk bewegt sich auf einen Zustand minimaler Energie zu. Welche Bedeutung haben diese Minima der Energiefunktion? Die gelernten Muster stellen Minima der Energiefunktion dar. Falls jedoch zu viele Muster gelernt werden, so konvergiert das System gegen Minima, die keinen gelernten Mustern entsprechen. Wechsel von Ordnung zu Chaos. Phasenübergang Physik I I I Schmelzen eines Eiskristalls. Im Kristall herrscht ein Zustand hoher Ordnung. Im üssigen Wasser ist die Struktur der Moleküle aufgelöst. Neuronales Netz I I I I Phasenübergang geordneten Lernen und Wiedererkennen von Mustern chaotisches Lernen im Fall von zu vielen Mustern. Eekten, die wir bei uns selbst gelegentlich beobachten. Phasenübergang im Hopeld-Netz alle Neuronen seien in Musterzustand q1 n X In wij qj werden die gelernten Gewichte aus Gleichung 43 j=1 j6=i eingesetzt: n X j=1 wij qj1 N n N n X 1 XX k k 1 1 X 1 1 2 qik qjk qj1 qi (qj ) + = q q q = n j=1 k=1 i j j n j=1 k=2 j6=i j6=i j6=i n = qi1 ! N 1 XX k k 1 + q q q n j=1 k=2 i j j j6=i i -te Komponente des angelegten Musters plus eine Summe mit (n − 1)(N − 1) Summanden. Wenn diese Summanden alle statistisch unabhängig sind, kann man die Summe durch eine normalverteilte Zufallsvariable mit Standardabweichung r 1p N −1 (n − 1)(N − 1) ≈ n n beschreiben. I I I I I I Rauschen nicht störend, solange N n! genauere Berechnung ergibt als kritischen Punkt N = 0.146 n. Beispiel: bei 100 Neuronen können bis zu 14 unkorrelierte Muster gespeichert werden. Speicherkapazität weit unter der von Listenspeichern! Hopeld-Netze arbeiten nur dann gut, wenn Muster mit etwa 50% 1-Bits gelernt werden. Abhilfe: Neuronen mit Schwelle Zusammenfassung und Ausblick I I I I I I I Hopeld Modell trug in den achtziger Jahren zur Welle der Begeisterung für neuronale Netze bei Neuroinformatik Hopeld-Netze sind rekurrent Netze ohne Rückkopplungen sind einfacher zu verstehen Problem: lokale Minima ⇒ Boltzmann-Maschine, simulated annealing Hopeld-Dynamik auch auf andere Energiefunktionen anwendbar z.B. Problem des Handlungsreisenden Neuronale Assoziativspeicher I I I I I I I I Telefonbuch: Abbildung von Namen auf Telefonnummer realisiert über Tabelle in Datenbank Zugansgkontrolle zu einem Gebäude mittels Foto des Gesichts der zu kontrollierenden Person Probleme, wenn nur Fotos in Datenbank gespeichert werden Lösung: Assoziativspeicher: kann auch ähnliche Fotos dem richtigen Namen zuordnen. typische Aufgabe für maschinelle Lernverfahren. Einfacher Ansatz: Nearest Neighbour Methode. Für Zugangskontrolle aber nicht anwendbar. Warum? Korrelationsmatrix-Speicher gegeben: Trainingsdaten mit N Anfrage-Antwort-Paaren: T = {(q1 , t1 ), . . . , (qN , tN )} Matrix W, die alle Anfragevektoren korrekt auf ihre Antworten abbildet. für p = 1, . . . , N gesucht: p p t =W·q , t1 bzw. = n X j=1 tj w11 q1 tip tm wmn qi qn wij qjp (45) Berechnung der Matrixelemente wij (Hebb-Regel): wij = N X qjp tip p=1 Denition Zwei Vektoren x und y heiÿen orthonormal, wenn x·y = 1 falls x = y 0 sonst (46) Theorem Wenn alle N Anfragevektoren qp in den Trainingsdaten orthonormal sind, so wird jeder Vektor qp durch Multiplikation mit der Matrix wij aus Gleichung 46 auf den entsprechenden Antwortvektor tp abgebildet. Beweis: Wir setzen Gleichung 46 in Gleichung 45 ein und erhalten p (W · q )i = = n X wij qjp = qjr tir qjp = j=1 r =1 j=1 tip n X N X n X qjp qjp j=1 + N X r =1 | {z } =1 r 6=p tir n X ( qjp qjp tip j=1 n X qjr qjp tir ) r =1 r 6=p qjr qjp = tip j=1 | {z } =0 sei der Name Hans einem Gesicht zugeordnet, Ausgabe bei Eingabe eines ähnlichen Gesichtes: z.B. Gans oder Hbns Problem: + N X 2 Die Pseudoinverse Anfragevektoren als Spalten einer n × N Matrix: Q = (q1 , . . . , qN ) Antwortvektoren als Spalten einer m × N Matrix T = (t1 , . . . , tN ): T=W·Q (47) Gleichung nach W aufzulösen: W = T · Q−1 . (48) Wie soll man eine nicht invertierbare Matrix invertieren? Eine Matrix Q ist invertierbar genau dann, wenn es eine Matrix Q−1 gibt mit der Eigenschaft Q · Q−1 = I, Gesucht: Matrix, die dieser Eigenschaft am nächsten kommt (49) Denition Sei Q eine reelle n × m Matrix. Eine m × n Matrix Q+ heiÿt Pseudoinverse zu Q, wenn sie ||Q · Q+ − I|| minimiert. Hierbei ist ||M|| die quadratische Norm, das heiÿt die Summe der Quadrate aller Matrixelemente von M . Nun: W = T · Q+ (50) Gewichstmatrix W minimiert den Assoziationsfehler (engl. crosstalk) T−W·Q . I I Das Finden der Pseudoinversen ist nicht einfach. Backpropagation-Algorithmus Die binäre Hebb-Regel (Palm-Modell) Muster sind binär kodiert: qp ∈ {0, 1}n und tp ∈ {0, 1}m . n = 10, m = 6: q3 q2 q1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Abrufen der gespeicherten Muster q3 q2 q1 1 1 1 1 1 1 1 1 1 1 1 1 2 3 0 0 0 0 1 1 1 3 2 1 1 1 1 1 1 1 3 3 3 1 1 1 1 0 3 binäre Hebb-Regel: wij = N _ p=1 qjp tip . (51) Speicherkapazität I Gewichtsmatrix muss dünn besetzt sein Matrix hat m n Elemente. Ein zu speicherndes Paar hat m + n Bits. Zahl der speicherbaren Muster Nmax :20 α= Zahl speicherbarer Bits (m + n)Nmax = ≤ ln2 ≈ 0.69. (52) Zahl der Speicherzellen mn Speichermodell Listenspeicher Der Assoziativspeicher mit binärer Hebb-Regel Kohonen-Assoziativspeicher Hopeld-Netz 20 G. Palm. On Associative Memory. In: S. 1931. α 1 0.69 0.72 0.292 Biological Cybernetics 36 (1980), Ein Fehlerkorrekturprogramm Paarkodierung für Anfragevektoren q Anfragevektor besitzt 676 Bits für jedes der Paare aa, ab, . . . , az, ba, . . . , bz, . . . , za, . . . , zz. Beispiel: für hans werden ha, an und ns mit Eins besetzt. 26 · 26 = 676 geordnete Paare von Buchstaben. Im Antwortvektor t werden für jede Position in dem Wort 26 Bit reserviert (Wortlänge max. 10). Für hans werden die Bits 8, 27, 66 und 97 besetzt Die Gewichtsmatrix W hat eine Gröÿe von 676 · 260 Bit = 199420 Bit. Speicherkapazität Nmax ≤ 0.69 mn 676 · 260 = 0.69 ≈ 130 Worte m+n 676 + 260 Gespeicherte Namen: agathe, agnes, alexander, andreas, andree, anna, annemarie, astrid, august, bernhard, bjorn, cathrin, christian, christoph, corinna, corrado, dieter, elisabeth, elvira, erdmut, ernst, evelyn, fabrizio, frank, franz, georey, georg, gerhard, hannelore, harry, herbert, ingilt, irmgard, jan, johannes, johnny, juergen, karin, klaus, ludwig, luise, manfred, maria, mark, markus, marleen, martin, matthias, norbert, otto, patricia, peter, phillip, quit, reinhold, renate, robert, robin, sabine, sebastian, stefan, stephan, sylvie, ulrich, ulrike, ute, uwe, werner, wolfgang, xavier Assoziationen des Programms: Gib Muster: harry Gib Muster: andrees Schwelle: 6, Antwort: a Schwelle: 4, Antwort: harry Schwelle: 5, Antwort: andree Schwelle: 3, Antwort: harry Schwelle: 2, Antwort: horryrrde Schwelle: 4, Antwort: andrees Schwelle: 3, Antwort: mnnrens ------------------------------- Schwelle: 2, Antwort: morxsnssr Gib Muster: ute ------------------------------- Lineare Netze mit minimalem Fehler Lernen aus Fehlern Gegeben: Trainingsvektoren Idee: T = {(q1 , t1 ), . . . , (qN , tN )} mit qp ∈ [0, 1]n tp ∈ [0, 1]m . ist eine Funktion f : [0, 1]n → [0, 1]m , welche den mittleren quadratischen Fehler Gesucht: N X p=1 auf den Daten minimiert. (f (qp ) − tp )2 Lösungsvorschlag: f (q) = 0, und falls f (qp ) = tp q∈ / {q1 , . . . , qN } ∀ p ∈ {1, . . . , N}. Warum werden wir mit dieser Funktion nicht glücklich? Lösungsvorschlag: f (q) = 0, und falls f (qp ) = tp q∈ / {q1 , . . . , qN } ∀ p ∈ {1, . . . , N}. Warum werden wir mit dieser Funktion nicht glücklich? I I I I I Weil wir ein intelligentes System bauen wollen! Generalisierung von den Trainingsdaten auf neue unbekannte Daten Wir wollen keine Überanpassung (engl. overtting) Wir wollen eine Funktion haben, die glatt ist und zwischen den Punkten ausgleicht. Wir müssen die Funktionenklasse aber noch weiter einschränken. Die Methode der kleinsten Quadrate Lineares zweilagiges Netzwerk y =f n X ! wi xi i=1 mit f (x) = x berechnet. y w1 x1 w2 x2 w3 x3 wn xn Sigmoid-Funktion bringt nichts, denn sie ist streng monoton wachsend! Gesucht: Vektor w, der !2 n N N X X X p wi qi − t p E (w) = (wqp − t p )2 = p=1 p=1 i=1 minimiert. Notwendige Bedingung für ein Minimum der Fehlerfunktion: für j = 1, . . . , n muss ! N n X X ∂E wi qip − t p qjp = 0 =2 ∂wj p=1 i=1 sein. Ausmultiplizieren ergibt N n X X p=1 i=1 ! wi qip qjp − t p qjp =0 Vertauschen der Summen ergibt LGS: n X wi i=1 N X qip qjp = p=1 N X t p qjp , p=1 Mit Aij = N X p=1 qip qjp und bj = N X t p qjp Aw = b I i, j = 1, . . . , n p=1 als Matrixgleichung (Normalgleichungen): I für (53) (54) Normalgleichungen besitzen immer mindestens eine Lösung und wenn A invertierbar ist, genau eine. A ist positiv denit, was zur Folge hat, dass die gefundene Lösung im eindeutigen Fall ein globales Minimum darstellt. Rechenzeiten: I I Aufstellen der Matrix: Θ(N · n2 ) Auösen des Gleichungssystems: O(n3 ). Diese Methode lässt sich leicht auf mehrere Ausgabeneuronen erweitern Anwendung auf die Appendizitisdaten lineare Abbildung von den Symptomen auf die stetige Klassenvariable AppScore: AppScore = 0.00085 −0.025 Alter S4Q +0.0034 −0.11 − 0.125 + 0.12 RektS Diab Geschl AbwLok + 0.0027 − 1.83. + 0.025 + 0.031 TAxi S1Q + 0.035 AbwGlo + 0.0031 + 0.13 TRek −0 Losl +0 + 0.000021 stetige Werte für AppScore, obwohl App die Werte 0 und 1 annimmt! Schwellwertentscheidung! S2Q Le Fehlerrate 0.7 0.65 0.6 0.55 0.5 0.45 0.4 0.35 0.3 0.25 0.2 Meth. d. kl. Qu. auf 6640 Trainingsdaten Meth. d. kl. Qu. auf 3031 Testdaten RProp auf 3031 Testdaten 0 0.2 0.4 0.6 Schwelle Θ 0.8 1 Fehler der Methode der kleinsten Quadrate auf den Trainings- und Testdaten. Die Delta-Regel bisher: Batch-Lernen jetzt: inkrementellen Lernen. in jedem Schritt werden für ein neues Trainingsbeispiel die Gewichte verändert: wj = wj + ∆wj Fehlerminimierung, Fehlerfunktion also nochmal partielle Ableitungen der N n X X ∂E =2 wi qip − t p ∂wj p=1 i=1 Gradient ∇E = ∂E ∂E ,..., ∂w1 ∂wn ! qjp . Gradientanabstieg: N n X X η ∂E wi qip − t p ∆wj = − = −η 2 ∂wj p=1 i=1 ! qjp , Lernrate η frei wählbar Durch Ersetzen der Aktivierung p y = n X wi qip i=1 des Ausgabeneurons bei angelegtem Trainingsbeispiel qp : Delta-Regel ∆wj = η N X p=1 (t p − y p )qjp . DeltaLernen(Trainingsbeispiele, η ) Initialisiere alle Gewichte wj zufällig Repeat ∆w = 0 For all (qp , tp ) ∈ Trainingsbeispiele Berechne Netzausgabe yp = wp qp ∆w = ∆w + η(tp − yp )qp w = w + ∆w Until w konvergiert I I Gewichtsänderungen erfolgen erst, nachdem alle Trainingsbeispiele angelegt wurden. Variante: direktes Ändern der Gewichte nach jedem Trainingsbeispiel DeltaLernenInkrementell(Trainingsbeispiele, η ) Initialisiere alle Gewichte wj zufällig Repeat (qp , tp ) ∈ Trainingsbeispiele Berechne Netzausgabe yp = wp qp w = w + η(tp − yp )qp w konvergiert For all Until Inkrementelle Variante der Delta-Regel. Vergleich mit Perzeptron I I I Beim Perzeptron wird durch die Schwellwertentscheidung ein Klassizierer für linear separable Klassen gelernt. Methode der kleinsten Quadrate und Delta-Regel erzeugen eine lineare Approximation an die Daten. Aus der gelernten linearen Abbildung kann durch Anwendung einer Schwellwertfunktion auch ein Klassizierer erzeugt werden. Methode der kleinsten Quadrate ist (u.a. wg. Rechenzeitgarantie) immer dann vorzuziehen, wenn das inkrementelle Lernen nicht benötigt wird. Der Backpropagation-Algorithmus I I I I Erweiterung der inkrementellen Delta-Regel mit Sigmoid-Funktion mehr als zwei Schichten von Neuronen Bekannt durch den Artikel21 in der legendären PDP-Sammlung22 . Learning Internal Parallel Distributed Processing 21 D.E. Rumelhart, G.E. Hinton und Williams R.J. Representations by Error Propagation 22 D. Rumelhart und J. McClelland. MIT Press, 1986. . in [RM86]. 1986. . Bd. 1. 2 w11 tjp Zielausgabe xjp Ausgabeschicht wn23n2 verdeckte Schicht 1 w11 wn12n1 Eingabeschicht Neuronenmodell: xj = f n X ! wji xi (55) i=1 mit der Sigmoidfunktion f (x) = 1 . 1 + e −x Ähnlich wie bei der inkrementellen Deltaregel werden die Gewichte entsprechend dem negativen Gradienten der über die Ausgabeneuronen summierten quadratischen Fehlerfunktion 1 X Ep (w) = (tkp − xkp )2 2 k∈Ausgabe für das Trainigsmuster p geändert: ∆p wji = −η ∂Ep . ∂wji Mehrfache Anwendung der Kettenregel (siehe23 oder24 ) liefert die Backpropagation-Lernregel (verallgemeinerte Deltaregel) ∆p wji = ηδjp xip , mit p p p p xj (1 − xj )(tj − xj ) falls j Ausgabeneuron ist X p δjp = p p δk wkj falls j verdecktes Neuron ist, xj (1 − xj ) k 23 D.E. Rumelhart, G.E. Hinton und Williams R.J. Representations by Error Propagation Simulation Neuronaler Netze 24 A. Zell. SNNS, bzw. JNNS: Wesley, 1994. Learning Internal . in [RM86]. 1986. . Im Buch beschriebener Simulator www-ra.informatik.uni-tuebingen.de/SNNS. Addison j Bezeichnungen der Neuronen und Gewichte für die Anwendung der Backpropagation-Regel. wji i BackPropagation(Trainingsbeispiele, η ) Initialisiere alle Gewichte wj zufällig Repeat For all (qp , tp ) ∈ Trainingsbeispiele 1. Anlegen des Anfragevektors qp an die Eingabeschicht 2. Vorwärtspropagieren: 3. Für alle Schichten ab der ersten verdeckten aufwärts Für alle Neuronen der Schicht P Berechne Aktivierung xj = f ( ni=1 wji xi ) Berechnung des quadratischen Fehlers Ep (w) 4. Rückwärtspropagieren: Until Für alle Lagen von Gewichten ab der letzten abwärts Für jedes Gewicht wji wji = wji + ηδjp xip w konvergiert oder Zeitschranke erreicht I I I Es können nichtlineare Abbildungen gelernt werden. Ohne verdeckte Schicht nur lineare Abbildungen möglich. mehrlagige Netze mit linearer Aktivierungsfunktion können nur eine lineare Abbildungen lernen variable Sigmoidfunktion f (x) = 1 1 + e −(x−Θ) . mit Schwelle Θ verwendet. Wie beim Perzeptron wird zu jeder Schicht ein Neuron hinzugefügt, dessen Aktivierung immer den Wert eins hat und das mit allen Neuronen der nächst höheren Schicht verbunden ist. Die Gewichte von dieser Verbindungen werden ganz normal gelernt und repräsentieren die Schwellen Θ der Nachfolgeneuronen. NETtalk: ein Netz lernt das Sprechen Sejnovski und Rosenberg 198625 System lernt, englischen Text laut und verständlich vorzulesen. 25 T.J. Sejnowski und C.R. Rosenberg. to read aloud NETtalk: a parallel network that learns . Techn. Ber. JHU/EECS-86/01. Wiederabdruck in [AR88] S. 661-672. The John Hopkins University Electrical Engineering und Computer Science Technical Report, 1986. betont tief zentral 26 Neuronen 80 Neuronen ... abc...z_,. ... abc...z_,. ... abc...z_,. ... abc...z_,. ... abc...z_,. ... abc...z_,. ... abc...z_,. 7 x 29 = 203 Neuronen the_father_is Demo:Nettalk (http://www.cnl.salk.edu/ParallelNetsPronounce/index.php) I I I I I I I I I Das Netz wurde trainiert mit 1000 Worten Für jeden Buchstaben wurde als Zielausgabe manuell dessen Betonung angegeben. Um die Betonungsattribute in reale Töne umzusetzen, wurde ein Teil des Sprachsynthesesystems DECtalk verwendet. Das Netz hat insgesamt 203 × 80 + 80 × 26 = 18320 Gewichte. auf VAX 780 wurde mit 50 Zyklen über alle Worte trainiert. Bei 5 Zeichen pro Wort: 5 · 50 · 1000 = 250 000 Iterationen des Backpropagation-Algorithmus. 69 Stunden Rechenzeit. Menschliche Eigenschaften: Am Anfang undeutlich nur ganz einfache Worte. Später: Korrektheit von 95%. Lernen von Heuristiken für Theorembeweiser I I I I Semantic Web benötigt automatische Theorembeweiser, um Suchanfragen zu beantworten groÿe Zahl möglicher Inferenzschritte beim Beweisen kombinatorische Explosion des Suchraums heuristische Suche: z.B. astern-Algorithmus I heuristische Bewertungsfunktion ??? Suchbaum eines Beweisers XXXX XXX XXX XXX @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ I I I I I I verschieden Alternativen für den nächsten Schritt bewerten Alternative mit der besten Bewertung auswählen. Resolution: Bewertung der verfügbaren Klauseln basierend auf Attributen wie: Zahl der Literale, Zahl der positiven Literale, Komplexität der Terme, etc. Positive und negative Trainingsdaten Auf diesen Daten wird ein Backpropagation-Netzwerk trainiert Mit dem gelernten Netz ist der Beweiser viel schneller (siehe26 ,27 ) 26 W. Ertel, J. Schumann und Ch. Suttner. Learning Heuristics for a Theorem Articial-Intelligence-Tagung Prover using Back Propagation. In: 5. Österreichische . Hrsg. von J. Retti und K. Leidlmair. Berlin, Heidelberg: Informatik-Fachberichte 208, Springer-Verlag, 1989, S. 8795. 27 Ch. Suttner und W. Ertel. Automatic Acquisition of Search Guiding Heuristics. In: 10th Int. Conf. on Automated Deduction 449, 1990, S. 470484. . Springer-Verlag, LNAI Probleme und Verbesserungen I I I lokale Minima der Konvergenz von Backpropagation oft sehr langsam Verwendung eines Impuls-Terms (engl. momentum) bei der Gewichtsänderung. Die Lernregel ändert sich dann zu ∆p wji (t) = ηδjp xip + γ∆p wji (t − 1) I I I Minimierung der linearen Fehlerfunktion statt der quadratischen quadratische Näherung der Fehlerfunktion (Fahlmann): Quickprop Adaptive Schrittweitensteuerung (Riedmiller): RProp Lösung: Support-Vektor-Maschinen (SVM) Vorteile von linearen neuronalen Netzen: I schnelles Lernen I Konvergenzgarantie I geringe Gefahr für Overtting Vorteile von nichtlinearen Netzen (z.B. Backpropagation): I komplexe Funktionen können gelernt werden Nachteile von nichtlinearen Netzen (z.B. Backpropagation): I lokale Minima, Konvergenzprobleme und Overtting 1. nichtlineare Transformation der Daten mit der Eigenschaft, dass die transformierten Daten linear separabel sind. Die Transformation wird als Kernel bezeichnet. 2. Im transformierten Raum werden die Support-Vektoren bestimmt. − x2 − − Lineare Trennung der Klassen: Es ist immer möglich, durch Transformation des Vektorraumes die Klassen linear separabel zu machen, sofern die Daten keine Widersprüche enthalten.28 z.B. mit der Transformation der Daten durch Einführung einer neuen Dimension xn+1 : 1 falls x ∈ Klasse 1 xn+1 = 0 falls x ∈ Klasse 0. 28 Ein Datenpunkt ist widersprüchlich, wenn er zu beiden Klassen gehört. x2 − − + − − − − + + − + − + − + + + + + + + x1 − − − x3 − − x2 − − − − + + + + + + + + + + + x1 So einfach geht es aber nicht. Warum? I SVMs sind auch auf Regressionsprobleme anwendbar. Literatur: I I I I I I I I I S. Schölkopf und A. Smola. Learning with Kernels: Support Vector Machines, Regularization, Optimization, and Beyond. MIT Press, 2002 E. Alpaydin. Introduction to Machine Learning. MIT Press, 2004 C. J. Burges. A Tutorial on Support Vector Machines for Pattern Recognition. In: Data Min. Knowl. Discov. 2.2 (1998), S. 121167. doi: http://dx.doi.org/10.1023/A:1009715923555 In allen Industriebereichen Mustererkennung in allen Ausprägungen Analyse von Fotos zur Erkennung von Personen oder Gesichtern Erkennen von Fischschwärmen auf Sonarechos Erkennen und Klassizieren von militärischen Fahrzeugen auf Radarscans Erkennen von gesprochener Sprache und handschriftlichen I I I I I I Steuern von einfachen Robotern heuristische Steuerung der Suche in Backgammon- oder Schachcomputern Einsatz der Netze zum Lernen durch Verstärkung (Kapitel 10) Prognose von Aktienkursen Beurteilung der Kreditwürdigkeit von Bankkunden ... Zusammenfassung und Ausblick I I I I Perzeptron, Delta-Regel und Backpropagation verwandt zu Scores, Naive-Bayes und Methode der kleinsten Quadrate Hopeld-Netze sehr anscheulich, aber nur schwer in der Praxis handhabbar Für die Praxis wichtig: Assoziativspeichermodelle: Kohonen, Plam Für alle NN-Modelle gilt: I I I I Informationen werden verteilt über viele Gewichte gespeichert (holograsch). Absterben einzelner Neuronen hat kaum Auswirkungen auf die Funktion eines Gehirns. Netzwerk ist robust gegenüber kleinen Störungen. Wiedererkennen von fehlerhaften Mustern Nachteile: I I I I Es ist schwierig, Informationen zu lokalisieren. Es ist praktisch unmöglich, in einem trainierten Netz die vielen Gewichte zu analysieren und zu verstehen ( ⇒ Entscheidungsbaum) das Groÿmutter-Neuron ist sehr schwer zu nden Probleme bei der Verbindung von NNs mit symbolverarbeitenden Systemen. Nicht behandelt: I I I I selbstorganisierende Karten (Kohonen) inkrementelles Lernen sequentielle Netze zum Lernen von zeitabhängigen Prozessen Lernen ohne Lehrer (siehe Kapitel 10) Literatur: I I I A. Zell. Simulation Neuronaler Netze. Im Buch beschriebener Simulator SNNS, bzw. JNNS: www-ra.informatik.uni-tuebingen.de/SNNS. Addison Wesley, 1994, H. Ritter, T. Martinez und K. Schulten. Neuronale Netze. Addison Wesley, 1991, R. Rojas. Theorie der neuronalen Netze. Springer, 1993. Sammlung wichtiger Originalarbeiten in I J. Anderson und E. Rosenfeld. Neurocomputing: Foundations of Research. Sammlung von Originalarbeiten. Cambridge, MA: MIT Press, 1988, I J. Anderson, A. Pellionisz und E. Rosenfeld. Neurocomputing (vol. 2): directions for research. Cambridge, MA, USA: MIT Press, 1990 Zeitschriften I Neural Networks I Neurocomputing Konferenz: NIPS (Neural Information Processing Systems) Teil X Lernen durch Verstärkung (Reinforcement Learning) Einführung I I I Robotik Aufgaben sind oft sehr komplex nicht programmierbar Aufgabenstellung I I I I durch Versuch und Irrtum herausnden, welche Aktionen sind Menschen lernen so, z.B. Laufen: Belohnung durch Vorwärtskommen Bestrafung durch Stürze gut Der Krabbler gy gx −5 −4 −3 −2 −1 0 1 2 3 4 5 x Der Krabbler 10 000000000000000000000000 111111111111111111111111 10 −5 −4 −3 −2 −1 0 1 2 3 4 5 Der Krabbler −5 −4 −3 −2 −1 0 1 2 3 4 5 Der Krabbler −5 −4 −3 −2 −1 0 1 2 3 4 5 Der Krabbler −5 −4 −3 −2 −1 0 1 2 3 4 5 Der Krabbler 10 000000000000000000000000 111111111111111111111111 10 −5 −4 −3 −2 −1 0 1 2 3 4 5 Der Laufroboter −1 0 1 2 3 x Der Laufroboter −1 0 1 2 3 x Der Laufroboter −1 0 1 2 3 x Der Laufroboter −1 0 1 2 3 x Der Laufroboter −1 0 1 2 3 x Der Laufroboter −1 0 1 2 3 x Der Laufroboter −1 0 1 2 3 x Der Laufroboter −1 0 1 2 3 x Der Laufroboter −1 0 1 2 3 x Der Zustandsraum −1 0 1 2 x 3 −1 0 1 2 x 3 ← → ↑↓ ↑↓ ← → −1 0 1 2 3 x −1 0 1 2 3 x Der Zustandsraum li. re. ob. ← → ↑↓ ↑↓ unt.← → 1 2 3 4 ← ← ← 1→→→ ↑↓ ↑↓ ↑↓ ↑↓ ← ← 2← →→→ ↑↓ ↑↓ ↑↓ ↑↓ ← ← 3← →→→ ↑↓ ↑↓ ↑↓ ↑↓ ← ← 4← →→→ 1 2 3 4 1 ↓ ↓ ↓ ↓ 2→→→ ↑ ↓ 3←←← ↑ ↑ ↑ 4← Zustandsraum: 2 x 2 (links), 4 x 4 (Mitte), optimale Strategie (rechts). Der Agent Agent Zustand s Aktion a Umgebung Der Agent Belohnung r Agent Zustand s Aktion a Umgebung Die Aufgabenstellung Zustand st ∈ S : at st −→ st+1 Übergangsfunktion δ: st+1 = δ(st , at ) Direkte Belohnung rt = r (st , at ) rt > 0: positive Verstärkung rt = 0: kein Feedback rt < 0: negative Verstärkung Strategie π:S→A oft ist über lange Zeit rt = 0! Eine Strategie ist optimal, wenn sie langfristig die Belohnung maximiert Abgeschwächte Belohnung (engl. discounted reward) Belohnungsfunktion: π 2 V (st ) = rt + γrt+1 + γ rt+2 + . . . = ∞ X γ i rt+i . (56) i=0 Alternative: h 1X V (st ) = lim rt+i . h→∞ h i=0 π Eine Strategie π ? heiÿt optimal, ? wenn für alle Zustände s V π (s) ≥ V π (s) Abkürzung: V ? = V π ? (57) (58) Entscheidungsprozesse (engl. Markov decision process, MDP): Belohnung einer Aktion hängt nur von aktuellem Zustand und aktueller Aktion ab POMDP (engl. partially observable Markov decision process): Zustand des Agenten nicht exakt bekannt. Markov-Entscheidungsprozess Uniformierte kombinatorische Suche 2 3 3 2 3 4 4 3 3 4 4 3 2 3 3 2 Gitter 2 2 2 2 2 3 2 3 4 3 2 3 2 Anz. Zust. 4 9 16 Strategien 24 = 16 24 34 4 = 5184 24 38 44 ≈ 2.7 · 107 2 3 3 3 2 3 4 4 4 3 3 4 4 4 3 25 24 31 ≈ 2.2 · Uniformirte kombinatorische Suche allgemein: I 4 Eckknoten mit 2 möglichen Aktionen I 2(nx − 2) + 2(ny − 2) Randknoten mit 3 Aktionen I (nx − 2)(ny − 2) innere Knoten mit 4 Aktionen also: 24 32(nx −2)+2(ny −2) 4(nx −2)(ny −2) verschiedene Strategien Wert von Zuständen π1 : s0 ↓ ↓ ↓ ↓ →→→ ↑ ↓ ←←← ↑ ↑ ↑ ↑ π2 : s0 ←← ↓ ↓ →→ ↑ ↓ ↓ ←←← ↑ →→→ Bewegung nach rechts mit 1 belohnt, nach links mit -1 bestraft mittlerer Vortrieb für π1 : 3/8 = 0.375, mittlerer Vortrieb für π2 : 2/6 ≈ 0.333 V π (st ) = rt + γrt+1 + γ 2 rt+2 + . . . γ 0.9 0.8375 0.8 V π1 (s0 ) 2.81 1.38 0.96 V π2 (s0 ) 2.66 1.38 1.00 Wert-Iteration und Dynamische Programmierung Dynamische Programmierung , Richard Bellman, 1957 [Bel57]: Unabhängig vom Startzustand st und der ersten Aktion at müssen ausgehend von jedem möglichen Nachfolgezustand st+1 alle folgenden Entscheidungen optimal sein. global optimale Strategie durch lokale Optimierungen Gesucht ist eine optimale Strategie π?, welche V π (st ) = rt + γrt+1 + γ 2 rt+2 + . . . = ∞ X i=0 und erfüllt. Es folgt ? V π (s) ≥ V π (s) γ i rt+i . r (st , at ) hängt nur von st und at ab, also V ? (st ) = max[r (st , at ) + γ max (r (st+1 , at+1 ) + γ r (st+2 , at+2 ) + . . . at+1 ,at+2 ,... at (60) = max[r (st , at ) + γV ? (st+1 )]. at Bellman-Gleichung: (61) (Fixpunktgleichung) V ? (s) = max[r (s, a) + γV ? (δ(s, a))]. (62) π ? (s) = argmax[r (s, a) + γV ? (δ(s, a))]. (63) a also a Iterationsvorschrift: (Fixpunktiteration) V̂ (s) = max[r (s, a) + γ V̂ (δ(s, a))] a Initialisierung: ∀s V̂ (s) = 0 (64) Wert-Iteration() s∈S V̂ (s) = 0 For all Repeat s∈S V̂ (s) = maxa [r (s, a) + γ V̂ (δ(s, a))] V̂ (s) sich nicht mehr ändert For all Until Theorem Die Wert-Iteration konvergiert gegen V ? [SB98]. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1.25 −1 2.12 −1 2.91 0 0 −1 −1 0 0 0 0 1 1.9 0 0 1.39 0 1.54 0 2.24 0 0 1 1 0 0 0 0 1 0.73 −1 1.66 −1 2.49 0 0 0 0 0 0 0 0 0 0 2.66 0 2.96 0 3.28 0 0 1 0 0 1.9 −1 0 1.39 0 2.02 0 2.62 0 1 −1 0 0 0 1 0 0 0 0 0 0 1.25 0 1.39 0 2.02 0 0.81 0 1.54 0 1.71 1 0 1.25 0 1.82 0 2.36 0 0 1 −1 0 0 0 0 0 0 0 1.71 0 0 0 0 0 0 0 0 0.9 0 1 −1 0 0 0 0 1 0 0.73 0 1.39 0 1.54 0 0 0 0 0 0 0 0 0 0 0.81 0 1.54 0 0 0 0 0 0 0 0 0 0 0 0 0 ... 0 0 2.96 0 3.28 0 3.65 0 0 0 0 0 1 0 1 2.66 −1 3.39 −1 4.05 V* Wert-Iteration mit γ = 0.9 und zwei optimale Strategien. es ist falsch, die Aktion zu wählen, welche zum Zustand mit maximalem V ? -Wert führt. Warum? Achtung: 0 0 2.66 0 2.96 0 3.28 0 Anwendung auf s = (2, 3) in 0 0 0 0 0 0 0 2.96 0 3.28 0 3.65 0 0 0 0 0 1 0 1 2.66 −1 3.39 −1 4.05 V* π ? (2, 3) = [r (s, a) + γV ? (δ(s, a))] argmax a∈{links,rechts,oben} = argmax {1 + 0.9 · 2.66, −1 + 0.9 · 4.05, 0 + 0.9 · 3.2 {links,rechts,oben} = argmax {3.39, 2.65, 2.95} {links,rechts,oben} = links Der Laufroboter in Hardware Demo:Laufroboter Unbekannte Welt was tun, wenn der Agent kein Modell für seine Aktionen hat? V̂ (s) = max[r (s, a) + γ V̂ (δ(s, a))] a 0 0 2.66 0 2.96 0 3.28 0 0 0 0 0 0 0 0 2.96 0 3.28 0 3.65 0 0 0 0 0 1 0 1 2.66 −1 3.39 −1 4.05 V* Q-Lernen Bewertungsfunktion Q(st , at ) π ? (s) = argmax Q(s, a). a (65) Abschwächen zukünftiger Belohnungen und maximieren von rt + γrt+1 + γ 2 rt+2 + . . . Bewertung der Aktion at im Zustand st : Q(st , at ) = max (r (st , at )+γr (st+1 , at+1 )+γ 2 r (st+2 , at+2 )+. . .). at+1 ,at+2 ,... (66) Vereinfachung: Q(st , at ) = max (r (st , at ) + γ r (st+1 , at+1 ) + γ 2 r (st+2 , at+2 ) + . . .) at+1 ,at+2 ,... (67) = r (st , at ) + γ max (r (st+1 , at+1 ) + γr (st+2 , at+2 ) + . . .) at+1 ,at+2 ,... (68) = r (st , at ) + γ max(r (st+1 , at+1 ) + γ max(r (st+2 , at+2 ) + . . .)) at+1 at+2 (69) = r (st , at ) + γ max Q(st+1 , at+1 ) (70) = r (st , at ) + γ max Q(δ(st , at ), at+1 ) (71) = r (s, a) + γ max Q(δ(s, a), a0 ) 0 (72) at+1 at+1 a Fixpunktgleichung wird iterativ gelöst mittels: Q̂(s, a) = r (s, a) + γ max Q̂(δ(s, a), a0 ) 0 a (73) Q-Lernen() s ∈ S, a ∈ A Q̂(s, a) = 0 (oder zufällig) For all Repeat Wähle (z.B. zufällig) einen Zustand s Repeat Wähle eine Aktion a und führe sie aus Erhalte Belohnung r und neuen Zustand s 0 Q̂(s, a) := r (s, a) + γ maxa0 Q̂(s 0 , a0 ) s := s 0 Until s ist ein Endzustand Oder Zeitschranke erreicht Until Q̂ konvergiert Der Algorithmus für das Q-Lernen. Anwendung des Verfahrens mit und nx = 3, ny = 2 0 0 0 0 0 0 0 0 0 0.73 0 1 −0.1 1.9 −0.1 1.25 1.9 0.71 −0.1 1.71 1.54 0.81 2.49 0.71 ..... −0.1 0.81 1.9 −0.1 −0.1 0 1.39 1.54 1.39 0.9 −0.09 0.73 1.71 1.54 0.81 1.9 1.66 0.49 0 1 0.73 0.81 1.71 1.66 1.39 2.13 0.49 0.73 0 0 1 1.54 0.9 1.54 1.49 −0.09 1.54 0.81 1.66 0 −0.1 1.39 1.71 1.49 0.73 1.9 0.73 1.39 1.54 1.39 0.81 1 −0.1 0.73 0.73 0 0 −1 1.39 0 1.71 0 0.9 1 0.73 0.81 1.54 0.9 0 1 −1 0 0 0 0 −1 0.81 0 0.9 0 0.81 0.81 0 0.9 0 1 0.73 0.81 0.9 0 −1 0.81 0.73 0 1 0 0.81 0.49 0 0 0 −0.09 0 0.73 0 0.81 0 0 0 0 0 0 0 0 0 γ = 0.9 0.71 Theorem Gegeben sei ein deterministischer MDP mit beschränkten direkten Belohnungen r (s, a). Zum Lernen wird Gleichung 73 mit 0 ≤ γ < 1 verwendet. Sei Q̂n (s, a) der Wert für Q̂(s, a) nach n Aktualisierungen. Wird jedes Zustands-Aktions-Paar unendlich oft besucht, so konvergiert Q̂n (s, a) für alle Werte von s und a gegen Q(s, a) für n → ∞. Beweis: I I I Jeder Zustands-Aktions-Übergang kommt unendlich oft vor Betrachte Intervalle in denen alle Zustands-Aktions-Übergänge mindestens einmal vorkommen. Der max. Fehler in der Q̂ -Tabelle wird in jedem dieser Intervalle um mindestens den Faktor γ reduziert: Sei ∆n = max |Q̂n (s, a) − Q(s, a)| s,a der maximale Fehler in der Tabelle Q̂n und s 0 = δ(s, a). Für jeden Tabelleneintrag Q̂n (s, a) gilt: |Q̂n+1 (s, a) − Q(s, a)| = |(r + γ max Q̂n (s 0 , a0 )) − (r + γ max Q(s 0 , a0 0 0 a a 0 0 0 0 0 0 = γ | max Q̂n (s , a ) − max Q(s , a )| 0 0 a a ≤ γ max |Q̂n (s , a ) − Q(s 0 , a0 )| 0 a |Q̂n (s 00 , a0 ) − Q(s 00 , a0 )| = γ ∆n . ≤ γ max 00 0 s ,a Die erste Ungleichung gilt, weil für beliebige Funktionen f und g | max f (x) − max g (x)| ≤ max |f (x) − g (x)| x x x und die zweite, weil durch zusätzliches Variieren des Zustandes s 00 das resultierende Maximum nicht kleiner werden kann. Es folgt also k Bemerkungen I I Q-Lernen konvergiert nach Satz 95 unabhängig von den während des Lernens gewählten Aktionen. Konvergenzgeschwindigkeit ist abhängig von den während des Lernens gewählten Aktionen. Q-Lernen in nichtdeterministischer Umgebung nichtdeterministischer Agent: Reaktion der Umgebung auf die Aktion a im Zustand s ist nichtdeterministisch. X Q(st , at ) = E (r (s, a)) + γ P(s 0 |s, a) max Q(s 0 , a0 ), 0 s0 I I a Konvergenzgarantie für das Q-Lernen geht verloren! Grund: bei gleichem Zustand s und gleicher Aktion a völlig verschiedene Reaktion der Umgebung (74) Neue Lernregel Q̂n (s, a) = (1 − αn )Q̂n−1 (s, a) + αn [r (s, a) + γ max Q̂n−1 (δ(s, a), a0 )] 0 a mit zeitlich variablem Gewichtungsfaktor αn = I I I (75) 1 . 1 + bn (s, a) bn (s, a) gibt an, wie oft bis zur n-ten Iteration im Zustand s die Aktion a schon ausgeführt wurde. stabilisierender Term Q̂n−1 (s, a). Werte bn (s, a) für alle Zustands-Aktions-Paare müssen gespeichert werden. TD-Fehler und TD-Lernen αn = α (konstant): Q̂n (s, a) = (1 − α)Q̂n−1 (s, a) + α[r (s, a) + γ max Q̂n−1 (δ(s, a), a0 )] 0 a = Q̂n−1 (s, a) + α [r (s, a) + γ max Q̂n−1 (δ(s, a), a0 ) − Q̂n−1 (s a0 | {z TD-Fehler I I I α = 1: Q-Lernen α = 0: Es ndet kein Lernen statt 0 < α < 1: ??? Erkunden und Verwerten Q-Lernen() s ∈ S, a ∈ A Q̂(s, a) = 0 (oder zufällig) For all Repeat Wähle (z.B. zufällig) einen (welchen?) Zustand s Repeat Wähle eine (welche?) Aktion a und führe sie aus Erhalte Belohnung r und neuen Zustand s 0 Q̂(s, a) := r (s, a) + γ maxa0 Q̂(s 0 , a0 ) s := s 0 Until s ist ein Endzustand Oder Zeitschranke erreicht Until Q̂ konvergiert Möglichkeiten zur Wahl der nächsten Aktion zufällige Wahl: I I führt zu gleichmäÿigem Erkunden möglichen Aktionen sehr langsame Konvergenz (engl. exploration) immer die beste Aktion wählen (höchster I I I aller Q̂ -Wert:) exploitation) schon gelernten optimales Verwerten (engl. Verhaltens relativ schnelle Konvergenz nicht optimale Strategien werden gelernt Wahl des Startzustands 0 0 0 0 0 0 0 0 0 0.73 0 1 −0.1 0.73 0.73 −0.1 0.73 1.54 0.81 1.25 1.9 0.71 −0.1 1.71 1.54 0.81 2.49 0.71 ..... −0.1 0.81 1.9 −0.1 −0.1 0 1.39 1.54 1.39 0.9 −0.09 0.73 1.71 1.54 0.81 1.9 1.66 0.49 0 1 0.73 0.81 1.71 1.66 1.39 2.13 0.49 0.73 0 0 1 1.54 0.9 1.54 1.49 −0.09 0 −0.1 1.39 1.71 1.66 1.9 0.73 1.39 1.54 1.49 0.81 1 0 0 −1 1.39 0 1.71 0 0.9 1 0.73 0.81 1.54 0.9 0 −0.1 1.39 0.49 1.9 1 −1 0 0 0 0 −1 0.81 0 0.9 0 0.81 0.81 0 0.9 0 1 0.73 0.81 0.9 0 −1 0.81 0.73 0 1 0 0.81 −0.09 0 0 0 0 0 0.73 0 0.81 0 0 0 0 0 0 0 0 0.71 Funktionsapproximation, Generalisierung und Konvergenz I I Stetige Variablen ⇒ unendlicher Zustandsraum Tabelle mit V − oder Q−Werten kann nicht mehr gespeichert werden Lösung: I I I I Q(s, a)-Tabelle wird ersetzt durch ein neuronales Netz mit den Input-Variablen s , a und Q -Wert als Ziel-Output. Endliche Repräsentation der (unendlichen) Funktion Q(s, a)! Generalisierung (aus endlich vielen Trainingsbeispielen) Keine Konvergenzgarantie mehr, denn Satz 95 gilt nur, wenn jedes Zustands-Aktionspaar unendlich oft besucht wird. Alternative: beliebiger anderer Funktionsapproximator Achtung: POMDP POMDP I I I I (engl. partially observable Markov decision process): viele verschiedene Zustände werden als einer erkennt. viele Zustände in der realen Welt werden auf eine Beobachtung (engl. observation) abgebildet. Konvergenzprobleme bei der Wert-Iteration oder beim Q-Lernen Lösungsansätze:29 , Observation Based Learning30 . 29 98. 30 LR02. Anwendungen: TD-Gammon I I I I I I TD-Learning (Temporal Dierence Learning) verwendet weiter in der Zukunft liegende Zustände TD-Gammon: einem Programm zum Spielen von Backgammon TD-Learning zusammen mit einem Backpropagation-Netz mit 40 bis 80 verdeckten Neuronen Einzige direkte Belohnung: Ergebnis am Ende eines Spiels. TD-Gammon wurde trainiert in 1.5 Millionen Spielen gegen sich selbst. Es besiegte Weltklassespieler. Weitere Anwendungen I I I RoboCup: mit Lernen durch Verstärkung wird heute das Verhalten der Roboter gelernt, z.B. Dribbeln [SSK05; Rob]. Inverses Pendel Steuerung eines Quadrocopter Probleme in der Robotik: I I I Extreme Rechenzeiten bei hochdimensionalen Problemen (viele Variablen/Aktionen) Feedback der Umwelt bei realen Robotern ist sehr langsam. Bessere, schnellere Lernalgorithmen werden benötigt. Landen von Flugzeugen [Russ Tedrake, IROS 08] Birds don't solve Navier-Stokes! [Russ Tedrake, IROS 08] Birds don't solve Navier-Stokes! [Russ Tedrake, IROS 08] Birds don't solve Navier-Stokes! [Russ Tedrake, IROS 08] Fluch der Dimensionen curse of dimensionality I Problem: hochdimensionale Zustands- und Aktionsräume Lösungsmöglichkeiten: I I I I I I Lernen in der Natur auf vielen Abstraktionsebenen Informatik: jede gelernte Fähigkeit wird in ein Modul gekapselt Aktionsraum wird stark verkleinert Zustände werden abstrahiert hierarchisches Lernen [BM03] verteiltes Lernen (Tausendfüÿler ein Gehirn pro Bein) Fluch der Dimensionen, weitere Ideen I I I Menschl. Gehirn ist bei Geburt keine Tabula Rasa Gute initiale Strategie für Roboter? I 1. Klassische Programmierung. I 2. Lernen durch Verstärkung I 3. Trainer gibt zusätzliches Feedback oder: I 1. Lernen durch Demonstration (lernen mit Lehrer) I 2. Lernen durch Verstärkung [Bil+08] I 3. Trainer gibt zusätzliches Feedback Aktuelle Forschung I I I I I Fitted Value Iteration Verbindung von Lernen durch Verstärkung mit Imitation Learning Policy Gradienten Methoden Actor Critic Methoden Natural Gradient Methoden Fitted Value Iteration 1: 2: 3: 4: 5: 6: 7: Randomly sample m states from the MDP Ψ←0 n ← the number of available actions in A repeat i = 1 → m do for j = 1 → n do for q(a) ← R(s (i) ) + γV (s (j) ) 8: end for 9: y (i) ← max q(a) 10: 11: 12: end for P 2 (i) Ψ ← arg minΨ m − ΨT Φ(s (i) )) i=1 (y until Ψ Converges www.teachingbox.org I reinforcement learning algorithms: I value iteration I Q(λ), SARSA(λ) I TD(λ) I tabular and function approximation versions I actor critic I tile coding I locally weighted regression I Example Environments: I mountain car I gridworld (with editor), windy gridworld I dicegame I n armed bandit I pole swing up Literatur I I I Erste Einführung: T. Mitchell. Machine Learning. www-2.cs.cmu.edu/~tom/mlbook.html. McGraw Hill, 1997 Standardwerk: R. Sutton und A. Barto. Reinforcement Learning. www.cs.ualberta.ca/~sutton/book/the-book.html. MIT Press, 1998 Übersicht: L.P. Kaelbling, M.L. Littman und A.P. Moore. Reinforcement Learning: A Survey. In: Journal of Articial Intelligence Research 4 (1996). www-2.cs.cmu.edu/afs/cs/ project/jair/pub/volume4/kaelbling96a.pdf, S. 237285