Grundkurs Künstliche Intelligenz

Werbung
Folien zum Buch
Grundkurs Künstliche
Intelligenz
Wolfgang Ertel
Springer-Verlag, 2011
www.hs-weingarten.de/~ertel/kibuch
www.vieweg.de
2. März 2016
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)
Geschichte der KI
Agenten
Wissensbasierte Systeme
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 (2).
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
2015
??).
Daimler stellt ersten autonomen LKW auf der Autobahn A8
vor.
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
Beispiel
Spamlter: Sein Ziel ist es, Emails in die richtige Klasse einzuteilen.
Agent 1:
Spamlter erwünscht
entscheidet
SPAM
korrekte Klasse
erwünscht SPAM
189
1
11
799
Spamlter erwünscht
entscheidet
SPAM
Ist Agent 2 schlechter als Agent 1?
Agent 2:
korrekte Klasse
erwünscht SPAM
200
38
0
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.
Beispiel
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
Syntax
Semantik
Beweisverfahren
Resolution
Hornklauseln
Berechenbarkeit und Komplexität
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:
Satz
Die Operationen
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∧w
sind kommutativ und assoziativ und es
⇔ A ⇒ B
⇔ ¬B ⇒ ¬A
⇔
⇔
⇔
⇔
⇔
⇔
⇔
⇔
⇔
⇔
⇔
(Implikation)
(Kontraposition)
A ⇔ B
(Äquivalenz)
¬A ∨ ¬B
(De Morgan'sche R
¬A ∧ ¬B
(A ∨ B) ∧ (A ∨ C ) (Distributivgesetze
(A ∧ B) ∨ (A ∧ C )
w
(Tautologie)
f
(Widerspruch)
A
w
f
A
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
w w
w f
f w
f f
A ⇒ B
w
f
w
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.
Satz
(Deduktionstheorem)
|= WB ⇒ Q .
I
I
I
WB |= Q
gilt genau dann wenn
Beweis von WB |= Q z.B. durch Beweis von WB ⇒ Q mit
Wahrheitstafelmethode.
Die Wahrheitstafelmethode ist ein Beweisverfahren für die
Aussagenlogik!
Nachteil: im Worst-Case sehr lange Rechenzeit (2n Belegungen)
Widerspruchsbeweis
I
I
I
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:
Satz
(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
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
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
Satz
Jede aussagenlogische Formel läÿt sich in eine äquivalente
konjunktive Normalform transformieren.
Beispiel
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)
(Implikati
(de Morg
(Distribut
(Distribut
(Assoziat
Beweiskalkül: Modus Ponens
A, A ⇒ B
.
B
Modus Ponens ist korrekt aber nicht vollständig.
Resolution
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.
Beispiel
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)
Satz
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
??).
Beispiel
Das Logikrätsel Nr. 7 aus [Ber89] mit dem Titel A charming
English family lautet:
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.
Beispiel
Das Logikrätsel Nr. 28 aus [Ber89] mit dem Titel Der
Hochsprung lautet:
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?
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 ),
Wette des dritten Mädchens: (C ⇔ ¬A).
Behauptung: Es können nicht alle drei die Wette gewinnen:
Q ≡ ¬((A ⇔ ¬B) ∧ (B ⇔ ¬C ) ∧ (C ⇔ ¬A))
Per Resolution ist nun zu zeigen, dass ¬Q unerfüllbar ist.
Resolutionsbeweis
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 .
Beispiel
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
Abarbeitung
I forward chaining:
Anfrage her
startet bei den Fakten und leitet die
mit der Anfrage starten und rückwärts
arbeiten, bis die Fakten erreicht sind
I backward 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 ⇒ f )5
Skifahren)4
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
Syntax
Semantik
Quantoren und Normalformen
Beweiskalküle
Resolution
Automatische Theorembeweiser
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 ) ∧
∧ xu > xv
Position(v , xv , yv )
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.
Formeln
•
Sind
•
Sind
•
Ist
t1 , . . . , tn Terme und p ein n-stelliges
p(t1 , . . . , tn ) eine (atomare) Formel.
Prädikatssymbol, so ist
A und B Formeln, so sind auch
¬A, (A), A ∧ B, A ∨ B, A ⇒ B, A ⇔ B
x eine Variable
∃x A Formeln. ∀
• p(t1 , . . . , tn )
•
Prädikatenlogische
sind wie folgt aufgebaut:
und
und
A
Formeln.
eine Formel, so sind auch
ist der All- und
¬p(t1 , . . . , tn )
∃
∀x A
und
der Existenzquantor.
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.
Die Denitionen 14 (KNF) und 22 (Hornklausel) gelten für
Formel
Beschreibung
∀x
frosch(x)
⇒
∀x
frosch(x)
∧
∀x
mag(x, kuchen)
grün(x)
braun(x)
Alle Frösche sind grün
⇒
groÿ(x)
Alle braunen Frösche sind groÿ
Jeder mag Kuchen
¬∀x
mag(x, kuchen)
Nicht jeder mag Kuchen
¬∃x
mag(x, kuchen)
Keiner mag Kuchen
∃x ∀y
mag(y , x)
Es gibt etwas, das jeder mag
∃x ∀y
mag(x, y )
Es gibt jemanden, der alles
∀x ∃y
mag(y , x)
∀x ∃y
mag(x, y )
mag
Jedes Ding wird von jemandem geliebt
∀x
kunde(x)
⇒
∃x
kunde(x)
∧
Jeder mag etwas
mag(bob, x)
mag(x, bob)
Bob mag jeden Kunden
Es gibt einen Kunden der Bob
mag
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.
Beispiel
Konstanten:
c1 , c2 , c3
, zweistelliges Funktionssymbol plus ,
zweistelliges Prädikatssymbol gr .
F ≡
gr(plus(c1 , c3 ), c2 )
Wähle Belegung:
B1 : c1 7→ 1, c2 7→ 2, c3 7→ 3,
plus
7→ +,
gr
Damit wird die Formel abgebildet auf
1 + 3 > 2,
bzw. nach Auswertung
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.
Gröÿer-Relation
4>2
7→ >
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
p durch die n-stellige
(B(t1 ), . . . , B(tn )) ∈ r .
Belegung des Prädikates
•
B,
t1 , . . . , tn und
Relation r gilt:
wenn nach Belegung und Auswertung aller Terme
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
∃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
wenn es für die Variable
x
B
genau dann
eine Belegung gibt, welche die Formel
wahr macht.
Denitionen zur semantischen Äquivalenz von Formeln, für erfüllbar,
wahr, unerfüllbar und Modell, semantische Folgerung werden aus der
Satz
Seien
A, B
prädikatenlogische Formeln und
freien Variablen. Dann gilt
eine Tautologie ist.
Auÿerdem gilt
ist.
A |= B
A |= B
A
enthalte keine
genau dann wenn
genau dann wenn
A ∧ ¬B
A ⇒ B
unerfüllbar
Beispiel
Ein Stammbaum:
Hans A.
Katrin A.
Franz A.
Anna A.
Otto A.
Maria B.
Eva A.
Isolde A.
Otto B.
Klaus B.
Relation:
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.) }
Relation:
Weiblich = {Katrin A., Anna A., Maria B., Eva A., Isolde A.}
Prädikate und deren Semantik
kind(x, y , z):
B(kind(x, y , z)) = w
≡
(B(x), B(y ), B(z)) ∈ Kind.
B(otto) = Otto A.,
B(eva) = Eva A.,
B(anna) = Anna A.
ist wahr!
gilt auch kind(eva, otto, anna)?
I kind(eva, anna, otto)
I
Mehr Prädikate
∀x ∀y ∀z
∀x ∀y
nachkomme(x, y )
Siehe auch Aufgabe
??!
kind(x, y , z)
⇔
⇔
kind(x, z, y ),
∃z kind(x, y , z) ∨
(∃u ∃v kind(x, u, v ) ∧
nachkomme(u, y
Wissensbasis
WB ≡
I
I
Ist
Ist
∧ 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 )).
weiblich(katrin)
ableitbar?
nachkomme(eva,franz) ableitbar?
kind(eva,otto,anna)
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
Wird in der Formel
∀x x = y
y durch x + 1 ersetzt, so ergibt sich
∀x x = x + 1
falsch!
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
vorkommen, über die in ϕ quantiziert wurde. Gegebenenfalls
müssen Variablen umbenannt werden, um dies sicherzustellen.
Beispiel
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
Laut Def. des Allquantors gilt:
∀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 ϕ ≡ ¬∃¬ ϕ.
Beispiel
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:
I
I
I
I
Variable umbenennen:
Quantor nach vorne bringen:
Wie geht das mit
∀x p(x) ⇒ ∃x q(x)
∀x p(x) ⇒ ∃y q(y )
∀x ∃y p(x) ⇒ q(y )
(∀x p(x)) ⇒ ∃y q(y )
?
Beispiel
Konvergenz einer Folge
(an )n∈N
gegen den Grenzwert
a:
∀ε > 0 ∃n0 ∈ N ∀n > n0 |an − a| < ε
formal:
|x|, a(n) für an ,
el(x, y ) für x ∈ y , gr(x, y )
I abs(x) für
I
minus(x, y ) für
für
x >y
x − y,
∀ε (gr (ε, 0) ⇒ ∃n0 (el(n0 , N) ⇒ ∀n (gr (n, n0 ) ⇒ gr (ε,
abs(minus(a(n), a))))))
∀ε (¬gr (ε, 0) ∨ ∃n0 (¬el(n0 , N) ∨ ∀n (¬gr (n, n0 ) ∨ gr (ε,
abs(minus(a(n), a))))))
Implikationen eliminieren:
Quantoren nach vorne:
∀ε ∃n0 ∀n (¬gr (ε, 0) ∨ ¬el(n0 , N) ∨ ¬gr (n, n0 ) ∨ gr (ε,
abs(minus(a(n), a))))
Satz
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
??
¬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.
Programmschema
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.
Laufzeit:
1. exponentiell (naiv)
2. polynomiell [Ede91]
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
Variable
x
(Modus
Ponens, MP)
∀x A
A[x/t]
(∀-Elimination, ∀E ).
muss ersetzt werden durch einen Grundterm
t
Beweis für kind(eva,otto,anna):
WB
:
1
kind(eva,anna,otto)
WB
:
2 ∀x ∀y ∀z
kind(x, y , z)
∀E (2) : x/eva, y /anna, z/otto 3
kind(eva,anna,otto)
MP(1, 3)
kind(eva,otto,anna)
unvollständiger Kalkül!
4
⇒
⇒
kind(x, z, y )
kind(eva,otto,anna)
Gödel!'scher Vollständigkeitssatz
Satz
(Gödel'scher Vollständigkeitssatz) Die Prädikatenlogik
erster Stufe ist vollständig. Das heiÿt, es gibt einen Kalkül, mit
ϕ, die aus einer Wissensbasis WB
WB |= ϕ, dann gilt WB ` ϕ.
dem sich jede Aussage
beweisen läÿt. Wenn
I
I
I
folgt,
Jede wahre PL1-Aussage ist beweisbar.
Gilt auch die Umkehrung?
Ist alles was wir syntaktisch herleiten können auch wahr?
Korrektheit
Satz
(Korrektheit) Es gibt Kalküle, mit denen sich nur wahre
Aussagen beweisen lassen. Das heiÿt, wenn
dann auch
I
I
WB |= ϕ.
WB ` ϕ
gilt,
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.
Resolution
Resolutionsbeweis für das Verwandtschaftsbeispiel:
Anfrage: Q ≡ ¬kind(eva,otto,anna)
Wissensbasis in konjunktiver Normalform:
WB ∧ ¬Q
≡
(kind(eva,anna,otto))1 ∧
(¬kind(x, y , z) ∨ kind(x, z, y ))2 ∧
(¬kind(eva,otto,anna))3
Beweis:
(2) x/eva, y /anna, z/otto : (¬kind(eva,anna,otto) ∨
Res(3, 4) : (¬kind(eva,anna,otto))5
Res(1, 5) : ()6 ,
kind(eva,otto,anna)
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 .
Uniaktion
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.
Beispiel
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)),
z/f (f (g (x))),
u/f (g (x)),
: x/h(v ), y /f (g (h(v ))), z/f (f (g (h(v )))), u/f (g (h(v )))
: x/h(h(v )), y /f (g (h(h(v )))), z/f (f (g (h(h(v ))))), u/f (g (h(h(v ))))
: x/h(a),
y /f (g (h(a))),
z/f (f (g (h(a)))),
u/f (g (h(a)))
: x/a,
y /f (g (a)),
z/f (f (g (a))),
u/f (g (a))
I
I
σ1 ist der allgemeinste Unikator.
Die anderen Unikatoren ergeben sich aus σ1 durch die
Ersetzungen x/h(v ), x/h(h(v )), x/h(a), x/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
Denition
Resolutionsregel für zwei Klauseln in konjunktiver Normalform
(A1 ∨ . . . ∨ Am ∨ B), (¬B 0 ∨ C1 ∨ . . . ∨ Cn )
σ(B) = σ(B 0 )
,
(σ(A1 ) ∨ . . . ∨ σ(Am ) ∨ σ(C1 ) ∨ . . . ∨ σ(Cn ))
(5)
wobei σ der MGU von B und B 0 ist.
Satz
Die Resolutionsregel ist korrekt, das heiÿt, die Resolvente folgt
semantisch aus den beiden Vaterklauseln.
Vollständigkeit ?
Beispiel: Russellsche Antinomie
Es gibt einen Barbier der alle Menschen rasiert, die sich
nicht selbst rasieren. .
In PL1 formalisiert:
∀x
rasiert(barbier, x)
Klauselnormalform (siehe Aufgabe
⇔ ¬rasiert(x, x)
??
):
(¬rasiert(barbier, x) ∨ ¬rasiert(x, x))1 ∧ (rasiert(barbier, x) ∨ rasiert(x, x))2
I
I
kein 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 121 ein Widerspruch ableiten
Fak(1, σ : x/barbier ) : (¬rasiert(barbier, barbier))3
Fak(2, σ : x/barbier ) : (rasiert(barbier, barbier))4
Res(3, 4) : ()5 .
Satz
Die Resolutionsregel (5) zusammen mit der
Faktorisierungsregel (41) ist vollständig, das heiÿt, durch
Anwendung von Faktorisierungs- und Resolutionsschritten läÿt
sich aus jeder unerfüllbaren Formel in konjunktiver Normalform
die leere Klausel ableiten.
Kombinatorische Suchraumexplosion
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:
Satz
Besitzt eine Halbgruppe ein linksneutrales Element
rechtsneutrales Element
er ,
so gilt
el = er .
el
und ein
Beweis, Variante 1:
intuitives mathematisches Schlieÿen
Oenbar gilt für alle x ∈ M
el · x = x
(6)
x · er = x
(7)
und
Setze in Gleichung 6 x = er und in Gleichung 7 x = el ergibt
el · er = er und el · er = el .
Also:
el = el · er = er .
Beweis, Variante 2:
Resolutionsbeweis manuell
(¬ el = er )1
(m(m(x, y ), z) = m(x, m(y , z)))2
(m(el , x) = x)3
(m(x, er ) = x)4
Gleichheitsaxiome:
Beweis:
(x = x)5
(¬ x = y
(¬ x = y
(¬ x = y
(¬ x = y
negierte Anfrage
(Reexivität)
∨
∨
∨
∨
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, ∅) :
(Symmetrie)
(Transitivität)
Substitution in m
Substitution in m
(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 v. m
linksneutr. El. v. m
rechtsneutr. El. v. m
Gleichh: Reflexivität
Gleichh: Symmetrie
Gleichh: Transitivität
Gleichh: Subst. in m
Gleichh: Subst. in m
Aufruf des Beweisers:
unixprompt> eproof halbgr1.lop
# Problem status determined, constructing proof object
# 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)] : initial
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. m
rechtsneutrales El. v. m
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}
# Evidence for problem status ends
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:
PREQ :
Vorbedingungen, die vor der Anwendung des gesuchten
Programms gelten müssen
POSTQ : Nachbedingungen, die nach der Anwendung des gesuchten
Programms gelten müssen.
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.
Beispiel
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])
Beispiel
Gesucht: shue erzeugt eine beliebige Permutation der Liste.
Shue(x : List) x 0 : List
pre true
post
∀i : Item · ( ∃x1 , x2 : List · x = x1ˆ[i]ˆx2 ⇔
∃y1 , y2 : List · x 0 = y1ˆ[i]ˆy2 )
Beispiel
Zu beweisen:
(PREQ ⇒ PREM ) ∧ (POSTM ⇒
Wissensbasis WB
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ˆ[i]ˆy2 ))).
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 Suchraumproblem
Entscheidbarkeit und Unvollständigkeit
Der iegende Pinguin
Modellierung von Unsicherheit
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
Probleme:
I
I
benutzen intuitive Kalküle auf höherer Ebene
arbeiten mit Lemmas
benutzen intuitives Metawissen (informal!)
benutzen Heuristiken
Menschen können oft intuitives Metawissen nicht verbal
formulieren!
Menschen lernen Heuristiken durch Erfahrung
Lernen von Heuristiken für Beweiser
[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?
Satz
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),
Satz
(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)
⇒ vogel(x)
vogel(x) ⇒ iegen(x)
pinguin(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)
⇒ vogel(x)
vogel(x) ∧ ¬ pinguin(x) ⇒
pinguin(x) ⇒ ¬ iegen(x)
pinguin(x)
Problem gelöst!
` ¬iegen(tweety)
iegen(tweety) ist nicht ableitbar!
iegen(x)
Der Rabe Abraxas
WB 3 :
rabe(abraxas)
rabe(x)
⇒
vogel(x)
pinguin(tweety)
⇒ vogel(x)
vogel(x) ∧ ¬ pinguin(x) ⇒
pinguin(x) ⇒ ¬ iegen(x)
pinguin(x)
iegen(x)
Die Flugeigenschaften von Abraxas sind unklar!
WB 4 :
rabe(abraxas)
⇒ vogel(x)
rabe(x) ⇒ ¬ pinguin(x)
pinguin(tweety)
pinguin(x) ⇒ vogel(x)
vogel(x) ∧ ¬ pinguin(x) ⇒
pinguin(x) ⇒ ¬ iegen(x)
rabe(x)
iegen(x)
Das Frame Problem
I
I
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 )
das Haus ist nun rot und blau.
⇒
farbe(x, y )
Andere Logiken
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
I
I
Mit Hilfe von Bayes-Netzen lassen sich auch komplexe
Anwendungen mit vielen Variablen modellieren.
Fuzzy-Logik: Wetter_ist_schön = 0.7 bedeutet dann
Das Wetter ist ziemlich schön .
Wahrscheinlichkeitslogik
Mit hoher Wahrscheinlichkeit wird es ein biÿchen Regen
geben
Wahrscheinlichkeitsdichte
P(Niederschlagsmenge = X ) = Y
0
I
I
10
20
30
40
50
Regenmenge [mm]
Wahrscheinlichkeitsdichte der stetigen Variable Regenmenge.
sehr wahrscheinlich zwischen 10 und 20mm Regen.
Formalismen zur Modellierung unsicheren
Wissens.
Formalismus
Aussagenlogik
Fuzzylogik
diskrete Wahrscheinlichkeitslogik
stetige Wahrscheinlichkeitslogik
Anzahl der
Wahrscheinlichkeiten
Wahrheitswerte
ausdrückbar
2
∞
n
∞
ja
ja
Teil V
Logikprogrammierung mit
PROLOG
PROLOG Systeme und Implementierungen
Einfache Beispiele
Ablaufsteuerung und prozedurale Elemente
Listen
Selbstmodizierende Programme
Algorithm = Logic + Control
Anwendungen:
KI
I Computerlinguistik
Literatur: [Bra86; CM94]
I
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.
1
2
3
Lösung:
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 ausgegeben
werden?
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 ??) enthält die Nicht-Hornklausel
rasiert(barbier, X ) ∨ rasiert(X , X )
Listen
[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
append(X,Y,Z)
append([],L,L).
append([X|L1],L2,[X|L3]) :- append(L1,L2,L3).
I
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:
1
2
Liste
[a,b,c,d]
[b,c,d]
[c,d]
[d]
[]
Akkumulator
[]
[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
Beispiel
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?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
start :-
aktion(zust(links,links,links,links),
zust(rechts,rechts,rechts,rechts)).
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, Wolf
Bauer, Ziege
Bauer, Kohl
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)).
sicher(zust(B,W,B,B)).
Anfrage: ?Loesung:
Bauer und
Bauer von
Bauer und
Bauer und
Bauer und
Bauer von
Bauer und
start. Antwort
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
Yes
Denition von plan in Logik:
∀z
plan(z, z) ∧ ∀s
∀z ∀n [gehe(s, n) ∧ sicher(n) ∧ plan(n, z) ⇒
Situationskalkül!
plan(s, z
Constraint Logic Programming (CLP)
Problem mit PROLOG:
Frame-Axiome, siehe Tweety-Beispiel:
pinguin(tweety) schlieÿt rabe(tweety) nicht aus!
I
I
I
CLP = Formulierung von Randbedingungen (engl.
constraint) für Variablen
Interpreter überwacht die Einhaltung aller Randbedingungen.
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.
CLP Beispiel
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?
CLP-Programm
start :fd_domain([Maier, Huber, Mueller, Schmid],1,4),
fd_all_different([Maier, Mueller, Huber, Schmid]),
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 in Raum 4
Mueller #= Deutsch,
% Müller prüft Deutsch
dist(Mueller,Schmid) #>= 2, % Abstand Müller/Schmid >= 2
Huber #= Mathe,
% Huber prüft Mathematik
Physik #= 4,
% Physik in Raum 4
Deutsch #\= 1,
% Deutsch nicht in Raum 1
Englisch #\= 1,
% Englisch nicht in Raum 1
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:
I
I
I
Prolog: [Bra86] und [CM94]
Handbücher: [Wie04; Dia04],
CLP: [Bar98]
Teil VI
Suchen, Spielen und
Probleme lösen
Einführung
Uninformierte Suche
Heuristische Suche
Spiele mit Gegner
Stand der Forschung
Ein stark beschnittener Suchbaum oder: Wo ist meine Katze geblieben?
Ein Suchbaum
hP
(((hh
P
P
P
hh
hX
(
P((
X
P
P
((hhhh
(h
hh
(((
(`
`
X
X
P
(((hhh
(
h
``
X
X
*
Suchbaum für einfachen Beweis mit SLD-Resolution
(Tiefenschranke 14)
X
X
P
Beispiel: Schach
I
I
I
I
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
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 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?
Das 8-Puzzle
2
5
1
4
8
7
3
6
→
1
4 5
7 8
..
.
2
5 3
8 6
..
.
1 5 2
4 3
7 8 6
..
.
..
.
..
.
..
.
3
4
5
6
7
8
1 2
4 5 3
7 8 6
1 5 2
4 8 3
7
6
..
.
2
2
3
6
1 5 2
4
3
7 8 6
1
4
7
1
..
.
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
..
.
mittlerer Verzweigungsfaktor =
..
.
√
2
5 3
8 6
2
5 3
8 6
..
.
1
4
7
..
.
..
.
8 ≈ 2.83
..
.
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.
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: 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.
Suchbaum: Zustände sind Knoten, Aktionen sind Kanten.
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 ??
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:
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
Satz
Bei stark verzweigenden endlichen Suchbäumen mit groÿem
konstantem Verzweigungsfaktor liegen fast alle Knoten auf der
letzten Ebene.
Beweis: (Aufgabe
??
).
Beispiel
Kürzester Weg von Stadt
Frankfurt
111
85
67
Karlsruhe
A
Würzburg
Mannheim
104
75
Nürnberg
183
140
64
Stuttgart
220
171
Ulm
107
170
123
85
115
München 59
Rosenheim
81
184
126
Salzburg
93
Zürich
91
Passau
102
189
55
Memmingen
Basel
B
Bayreuth
230
191
Bern
zu Stadt
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
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
I
I
Lösung)
Algorithmus ist generisch.
anwendungsspezische Funktionen Ziel_erreicht und
Nachfolger
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
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
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 mit Schranke
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
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
Der Algorithmus4
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)
Tiefensuche und Breitensuche sind Spezialfälle der Funktion
HeuristischeSuche.
4 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.
Anmerkungen
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
230
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
120
Landeck
Kostenschätzfunktion
73
Innsbruck
h(s) = Luftlinienentfernung
Linz
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
von Stadt
s
nach Ulm.
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
A? -Suche
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
Unter dem Namen der Stadt
s
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
ist jeweils g (s), h(s), f(s) angegeben.
Nummern in Klammer: Reihenfolge der Erzeugung des Knotens.
Satz
?
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 ).
IDA? -Suche
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).
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,
h1
und
h2
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
sind zulässig!
Vergleich der Suchalgorithmen
I
I
mit Mathematica implementiert
Mittelwerte über 132 zufällig generierte lösbare
8-Puzzle-Probleme
Vergleich
?
A -Algorithmus
Iterative Deepening
h1
Heuristik
Tiefe Schritte
2
20
4
81
6
806
8
6455
10
50512
12 486751
Zeit [sec]
0.003
0.013
0.13
1.0
7.9
75.7
Schritte
Heuristik
Zeit [sec]
3.0
5.2
10.2
17.3
48.1
162.2
0.0010
0.0015
0.0034
0.0060
0.018
0.074
IDA
14
16
18
−
−
−
Schritte
10079.2
69386.6
708780.0
2.6
19.0
161.6
3.0
5.0
8.3
12.2
22.1
56.0
h2
Zeit [sec]
0.0010
0.0022
0.0039
0.0063
0.011
0.031
Anz.
Läufe
10
24
19
14
15
12
?
855.6
3806.5
53941.5
0.25
1.3
14.1
16
13
4
Eektiver Verzweigungsfaktor:
uninformierte Suche: 2.8
Heuristik h1 : 1.5
Heuristik h2 : 1.3
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 .
AlphaBetaMax(Knoten, α, β )
TiefenschrankeErreicht(Knoten) Return(Bewertung(Knoten))
NeueKnoten = Nachfolger(Knoten)
While NeueKnoten 6= ∅
α = Maximum(α, AlphaBetaMin(Erster(NeueKnoten), α, β )
If α ≥ β Return(β )
NeueKnoten = Rest(NeueKnoten)
Return(α)
If
AlphaBetaMin(Knoten, α, β )
TiefenschrankeErreicht(Knoten) Return(Bewertung(Knoten))
NeueKnoten = Nachfolger(Knoten)
While NeueKnoten 6= ∅
β = Minimum(β , AlphaBetaMax(Erster(NeueKnoten), α, β )
If β ≤ α Return(α)
NeueKnoten = Rest(NeueKnoten)
Return(β )
If
I
I
Der in Abbildung ?? 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 β .
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
Liste relevanter Features oder Attribute.
I lineare Bewertungsfunktion B(s)
B(s) = a1 · Material + a2 · Bauernstruktur + a3 · Königsicherheit
+ a4 · Springer_im_Zentrum + a5 · Läufer_Diagonalabdeck
(8)
I
Material = Material(eigenes Team) − Material(Gegner)
Material(Team) =
Anz. Bauern(Team) · 100 + Anz. Springer(Team) · 300
+ Anz. Läufer(Team) · 300 + Anz. Türme(Team) · 500
+ 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
I
I
I
I
keine Bewertung der einzelnen Züge!
erst am Ende ein positives oder negatives Feedback.
Feedback für Aktionen in der Vergangenheit?
Lernens durch Verstärkung (engl. reinforcement learning)
(siehe Abschnitt ??).
Die meisten Schachcomputer arbeiten immer noch ohne
Lernverfahren. Gründe:
I
I
Lernens durch Verstärkung sehr rechenaufwändig
Manuell erstellte Heuristiken sind schon 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 135 exploriert ≤ 20,000 Stellungen pro
Sekunde
⇒ Pocket Fritz 4 ist ≈ 10,000 mal langsamer als Hydra
5 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
Der iegende Pinguin
Rechnen mit Wahrscheinlichkeiten
Die Methode der Maximalen Entropie
LEXMED, ein medizinisches Expertensystem für
Appendizitisdiagnose
Schlieÿen mit Bayes-Netzen
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)
⇒ vogel(x)
⇒ iegen(x)
pinguin(x)
vogel(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
Beispiel
I Wahrscheinlichkeit für Würfeln einer Sechs gleich
1/6
I 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
Beispiel
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:
Satz
1. P(Ω) = 1.
2. P(∅) = 0, d.h.
das unmögliche Ereignis hat die
Wahrscheinlichkeit 0.
3.
4.
Für paarweise unvereinbare Ereignisse
und
P(A ∨ B) = P(A) + P(B).
B
Für zwei zueinander komplementäre Ereignisse
gilt
5.
A
gilt
A
P(A) + P(¬A) = 1.
A und B gilt
P(A ∨ B) = P(A) + P(B) − P(A ∧ B).
6. Für A ⊆ B gilt P(A) ≤ P(B).
7. Sind
Pn A1 , . . . , An die Elementarereignisse, so
i=1 P(Ai ) = 1 (Normierungsbedingung).
Für beliebige Ereignisse
Beweis als Übung
gilt
und
¬A
Wahrscheinlichkeitsverteilung
(Verteilung) für
P(A, B)
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
Beispiel
In der Doggenriedstraÿe in Weingarten wird die Geschwindigkeit von
100 Fahrzeugen gemessen.
Ereignis
Häugkeit
rel.
Häugkeit
Fahrzeug beobachtet
100
1
Fahrer ist Student (S )
30
0.3
Geschwindigkeit zu hoch (G )
10
0.1
5
0.05
Fahrer ist Student u. Geschw. zu hoch (S
∧ G)
Fahren Studenten häuger zu schnell als der Durchschnitt?
Antwort: Bedingte Wahrscheinlichkeit
P(G |S) =
|Fahrer
ist Student und Geschw. zu hoch|
|Fahrer
ist Student|
=
5
1
= ≈ 0.17
30
6
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.
Satz
Für unabhängige Ereignisse
A
und
B
folgt aus der Denition
P(A ∧ B) = P(A) · P(B).
Beweis?
Beispiel
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 ),
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 ).
xd
I
Die resultierende Verteilung
P(X1 , . . . , Xd−1 )
heiÿt
Randverteilung
I
Projektion eines Quaders auf eine Seitenäche.
Beispiel
Leuko:
App:
Leukozytenwert gröÿer als 10000
Patient hat Appendizitis (akut entzündeten Blinddarm),
¬App
gesamt
0.31
0.54
0.05
0.41
0.46
0.28
0.72
1
P(App, Leuko)
App
Leuko
0.23
¬Leuko
gesamt
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(A ∧ B)
P(A)
P(B|A) · P(A)
P(B)
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)
=
= 0.43
P(App|Leuko) =
P(Leuko)
0.54
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.6
Gegeben: P(C ) = 0.0032 = 0.32% = Wahrscheinl. für PCa in
einem Jahr.7
6 Annahme: Test wird einmal pro Jahr durchgeführt.
7 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.0021
=
0.95 · 0.0021 + 0.75 · 0.99679
= 0.0027
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.0021
=
0.95 · 0.0021 + 0.01 · 0.9979
= 0.17
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
(9) in (10):
(10) in (11):
p2 = α − αβ = α(1 − β)
p3 + p4 = 1 − α
eine Gleichung fehlt!
(9)
(10)
(11)
(12)
(13)
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 13)
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
Satz
8
Sei eine konsistente
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 höhere Entropie hat.
Ein Kalkül, der zu Verteilungen mit geringerer Entropie führt,
fügt ad hoc Informationen hinzu, was nicht gerechtfertigt ist.
8 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.
Satz
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)
1
1
1
0
0
1
0
0
P(B|A)
1
0
nicht deniert
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
(14)
(15)
(16)
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)
α
β
0
β
P(B|A)
β
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ÿen
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.
LEXMED-Anwendung: Anfrage
LEXMED-Anwendung: Antwort
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
Bei n Symptomen S1 , . . . , Sn :
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:
I
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-15k).
Symptome
Symptom
Geschlecht
Alter
Werte
#
männlich, weiblich
2
0-5,6-10,11-15,16-20,21-25,26-
ja, nein
ja, nein
ja, nein
ja, nein
lokal, global, keine
ja, nein
ja, nein
ja, nein
schwach, normal, vermehrt, keine
ja, nein
ja, nein
10
35,36-45,46-55,56-65,65Schmerz 1. Quad.
Schmerz 2. Quad.
Schmerz 3. Quad.
Schmerz 4. Quad.
Abwehrspannung
Loslasschmerz
S. bei Erschütterung
Rektalschmerz
Darmgeräusche
Pos. Sonographiebef.
Path. Urinsedim.
Fieber rektal
-37.3, 37.4-37.6, 37.7-38.0, 38.1-
2
2
2
2
3
2
2
2
4
2
2
6
38.4, 38.5-38.9, 39.0Leukozyten
0-6k, 6k-8k, 8k-10k, 10k-12k, 12k-
7
15k, 15k-20k, 20kBefund
entzündet perforiert negativ andere
,
,
,
4
Abk.
Geschl
Alter
S1Q
S2Q
S3Q
S4Q
Abw
Losl
Ersch
RektS
Darmg
Sono
PathU
TRek
Leuko
Bef4
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
9
9 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
27
96
Ersch2
S4Q2
22
26
Darmg4
18
Sex2
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 17),
Regeln mit einfacher Bedingung, (Gleichung 18)
Regeln: Befund und 2 Symptome (Gleichung 19)
P(Bef4 = entzündet) = 0.40 (17)
P(Sono = ja|Bef4 = entzündet) = 0.43 (18)
P(S4Q = ja|Bef4 = entzündet ∧ S2Q = ja ) = 0.61 (19)
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.156];
[0.257,0.281];
[0.250,0.274];
[0.159,0.183];
[0.087,0.112];
[0.032,0.056];
[0.000,0.023];
[0.132,0.172];
[0.227,0.266];
[0.211,0.250];
[0.166,0.205];
[0.081,0.120];
[0.041,0.081];
[0.004,0.043];
Einige LEXMED-Regeln mit Wahrsch.-Intervallen. * steht für ∧ .
Wahrscheinl. schätzen durch Zählen der Häugkeit:
|Bef4 = entzündet ∧ Sono = ja|
= 0.43.
|Bef4 = entzündet|
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
3565
Not-Operation
500
0
6300
6500
3915
Ambulant beob.
12000
150000
0
16500 26325
Sonstiges
3000
5000
1300
0
2215
Stationär beob.
3500
7000
400
600
2175
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
Kostenmatrix im binären Fall
I
I
I
Befunde: Appendizitis und NSAP
P(Appendizitis) = p1 und P(NSAP) = 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 über 40 Jahre vergangen. Wird es
noch weitere 40 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:10
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.
10 Wird bei der Naive-Bayes-Methode mit Erfolg auf die Textklassikation
angewendet (siehe
Abschnitt ??).
Das Alarm-Beispiel
J. Pearl [Pea88]
Beispiel
Wissensbasis:
P(J |Al ) = 0.90
P(J |¬Al ) = 0.05
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 )
=
=
=
=
0.95
0.94
0.29
0.001,
P(Erd ) = 0.002.
Anfragen:
P(Ein|J ∨
M)
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
P(A, B|C )
bedingt unabhängig,
= 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 )
Satz
Folgende Gleichungen sind paarweise äquivalent, das heiÿt jede
einzelne dieser Gleichungen beschreibt die bedingte
Unabhängigkeit der Variablen
A
P(A, B|C )
=
P(A|B, C ) =
P(B|A, C ) =
und
B
gegeben
C.
P(A|C ) · P(B|C )
P(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 )
(20)
(21)
(22)
Praktische Anwendung
P(J |Ein) =
P(J , Ein, Al )
P(J , Ein)
P(J , Ein, Al ) + P(J , Ein, ¬Al )
=
P(Ein)
P(Ein)
(23)
= P(J |Ein, Al )P(Al |Ein)P(Ein) = P(J |Al )P(Al |Ein)P(Ein
(24)
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).
(25)
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
11
(|vi | − 1)
ki
Y
j=1
|eij |
(26)
Alarm-Beispiel:
2 + 2 + 4 + 1 + 1 = 10
11 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 )).
Satz
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 24
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
Das Perzeptron, ein linearer Classier
Die Nearest Neighbour Methode
Kreuzvalidierung und Überanpassung
Lernen von Bayes-Netzen
Der Naive-Bayes-Klassizierer
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.
Was ist Lernen?
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
−
grün
rot
+
Hkl. A
−
Hkl. B
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
12
, S. 164 :
PerzeptronLernen(M+ , M− )
w = beliebiger Vektor reeller Zahlen ungleich 0
Repeat
x ∈ M+
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
If
12 M. Minsky und S. Papert.
Perceptrons
. MIT Press, Cambridge, MA, 1969.
PerzeptronLernen(M+ , M− )
...
x ∈ M+
w x ≤ 0 Then w = w + x
For all x ∈ M−
If w x > 0 Then w = w − x
For all
If
...
(w + x) · x = w x + x2
⇒
w x wird irgendwann positiv!
(w − x) · x = w x − x2
⇒
w x wird irgendwann negativ!13
13 Vorsicht! Dies ist kein Konvergenzbeweis!
Beispiel
I
I
I
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 weil (−1.2, 1.4) ·
Also w = (1, 1) − (−1.2, 1.4) = (2.2, −0.4)
1
1
= 0.2 > 0.
Konvergenz
Satz
Es seien die Klassen
Hyperebene
M+
w x = 0.
und
M−
linear separabel durch eine
Dann konvergiert die
für jede Initialisierung des Vektors
w.
dem so berechneten Gewichtsvektor trennt
und
M− ,
PerzeptronLernen
P mit
die Klassen M+
Das Perzeptron
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
(27)
mit beliebiger Schwelle kann durch ein Perzeptron P : Rn → {0, 1}
mit Schwelle 0 simuliert werden. Also:
Satz
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 27 mit der Denition von linear
Beispiel
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).
Beispiel
I Wir wenden
NearestNeighbour
auf Beispiel ?? an.
14
I Hamming-Abstand als Metrik
I Testbeispiele mit invertierten Bits wie beim Perzeptron
14 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ˆ.
(28)
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
(29)
Approximation: Gleichung 28 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 432 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).
(30)
1 1
1
p = ( , ,..., )
n n
n
Ungewissheit ist maximal!
(31)
Gleichverteilung:
Claude Shannon:
wieviele Bits benötigt man mindestens, um solch ein Ereignis zu
kodieren?
1. (Gleichung 30): Null Bits
2. (Gleichung 31): log2 n Bits
allgemeiner Fall
p = (p1 , . . . , pn ) = (
I
I
n
X
i=1
I
(32)
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).
(33)
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 33 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.15
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
15 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 16
Bei der Klassikation werden fehlende Werte gleich behandelt wie
beim Lernen.
16 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).
Beispiel
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)
Netz a:
= (0.40, 0.07, 0.08, 0.10, 0.09, 0.11, 0.03, 0.12).
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).
= Anzahl aller Einträge in den CPTs und PN die
Verteilung des Netzes N . w ist ein Gewichtungsfaktor, der manuell
angepasst werden muss.
Gröÿe(N)
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(S1 , . . . , Sn |B) · P(B)
,
P(S1 , . . . , Sn )
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 34 konstant, also:
Naive-Bayes-Formel
bNaive-Bayes = argmax P(B = bi )
i∈{1,...,k}
n
Y
i=1
P(Si |B)
(34)
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 )
(35)
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 35 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.
(36)
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.17
17 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 Baum18
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 )
18 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:19
19 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 Kriterium20 .
20 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
Recommender Systems
This section is missing in the book!
I
I
an application of machine learning techniques
goal: recommend products to customers with:
I
high probability of being purchased
I
I
I
I
I
I
I
I
Customers Who Bought Items in Your Recent History Also
Bought . . .
What Other Customers Are Looking At Right Now . . .
Frequently Bought Together . . .
More Items to Consider . . .
Customers Who Bought This Item Also Bought . . .
Customers Also Bought Items By . . .
What Other Items Do Customers Buy After Viewing This Item?
...
Listmania! . . .
Types of Recommender Systems
Collaborative ltering:
I
recommendations based on other (similar) users' purchases
Content based ltering:
I
recommendation of similar products
Collaborative Filtering
I
I
M consumers c1 , c2 , ..., cM
N products p1 , p2 , ..., pN
Interaction matrix
A:
21
c1
c2
c3
c4
c5
c6
c7
c8
c9
c10
p1 p2 p3 p4 p5 p6
1 0 1 0 0 0
1 1 1 0 0 1
1 0 1 1 0 0
1 0 1 1 0 1
1 1 1 0 0 1
0 0 0 0 1 0
0 1 1 0 0 0
0 1 1 0 0 0
0 1 0 0 1 1
1 1 0 1 0 0
21 matrix entries can be binary or positive real numbers
The user-based algorithm
Interaction matrix
A:
c1
c2
c3
c4
c5
c6
c7
c8
c9
c10
Consumer similarity matrix
WC :
c
c2
c3
c4
c5
c6
c7
p1 p2 p3 p4 p5 p6 1
c 1.00 0.75 0.85 0.75 0.75 0.34 0.62
1 0 1 0 0 10
c2 0.75 1.00 0.50 0.62 1.00 0.18 0.75
1 1 1 0 0 1
c 0.85 0.50 1.00 0.85 0.50 0.28 0.50
1 0 1 1 0 30
c 0.75 0.62 0.85 1.00 0.62 0.18 0.38
1 0 1 1 0 41
c 0.75 1.00 0.50 0.62 1.00 0.18 0.75
1 1 1 0 0 51
c 0.34 0.18 0.28 0.18 0.18 1.00 0.34
0 0 0 0 1 60
c 0.62 0.75 0.50 0.38 0.75 0.34 1.00
0 1 1 0 0 70
c 0.62 0.75 0.50 0.38 0.75 0.34 1.00
0 1 1 0 0 80
c 0.15 0.50 0.00 0.15 0.50 0.72 0.50
0 1 0 0 1 91
c
0.50 0.50 0.67 0.50 0.50 0.28 0.50
1 1 0 1 0 100
WC measures similarity of rows in A
Consumer similarity matrix
Correlation coecient:
with
WC
Kij =
σij
.
si · sj
N
1 X
(Aip − Āi )(Ajp − Āj )
σij =
N − 1 p=1
v
u
N
u 1 X
t
si =
(Aip − Āi )2 .
N − 1 p=1
WCij = (Kij + 1)/2
Octave: WC = (cor(A',A') + 1) / 2
Product Recommendation Scores
Interaction matrix
Recommendation Scores:
A:
c1
c2
c3
c4
c5
c6
c7
c8
c9
c10
p1 p2 p3 p4 p5 p6

1 0 1 0 0 0

1 1 1 0 0 1


1 0 1 1 0 0


1 0 1 1 0 1

1 1 1 0 0WC1·A = 


0 0 0 0 1 0


0 1 1 0 0 0


0 1 1 0 0 0


0 1 0 0 1 1
1 1 0 1 0 0
4.60
4.38
4.37
4.35
4.38
1.45
3.50
3.50
1.63
3.67
3.40
4.50
2.67
2.65
4.50
2.05
4.50
4.50
3.33
3.33
5.35
5.38
4.71
4.60
5.38
1.85
5.00
5.00
2.29
3.67
2.10
1.62
2.52
2.35
1.62
0.74
1.38
1.38
0.48
2.17
0.49
0.68
0.28
0.33
0.68
1.72
0.84
0.84
1.72
0.61
2.4
3.1
1.8
2.4
3.1
1.2
2.3
2.3
2.1
1.8
The item-based algorithm
Interaction matrix
c1
c2
c3
c4
c5
c6
c7
c8
c9
c10
A:
p1 p2 p3 p4 p5 p6
1 0 1 0 0 0
1 1 1 0 0 1
1 0 1 1 0 0p1
1 0 1 1 0 1p2
1 1 1 0 0 1p3
0 0 0 0 1 0p4
0 1 1 0 0 0p5
0 1 1 0 0 0p6
0 1 0 0 1 1
1 1 0 1 0 0
Product similarity matrix
p1
1.00
0.38
0.68
0.77
0.19
0.62
p2
0.38
1.00
0.46
0.32
0.45
0.62
WC measures similarity of columns in A
p3
0.68
0.46
1.00
0.48
0.12
0.54
p4
0.77
0.32
0.48
1.00
0.34
0.46
WP :
p5
0.19
0.45
0.12
0.34
1.00
0.55
p6
0.62
0.62
0.54
0.46
0.55
1.00
Product similarity matrix
Correlation coecient:
with
WP
Kij =
σij
.
si · sj
N
1 X
(Api − A¯T i )(Apj − A¯T j )
σij =
N − 1 p=1
v
u
N
u 1 X
si = t
(Api − Āi )2 .
N − 1 p=1
WCij = (Kij + 1)/2
Octave: WC = (cor(A,A) + 1) / 2
Product Recommendation Scores
Interaction matrix
Recommendation Scores:
A:
c1
c2
c3
c4
c5
c6
c7
c8
c9
c10
p1 p2 p3 p4 p5 p6

1.68 0.83 1.68 1.24 0.31
1 0 1 0 0 0

2.68
2.46 2.68 2.02 1.31
1 1 1 0 0 1


1 0 1 1 0 0
 2.45 1.15 2.15 2.24 0.65
 3.07 1.78 2.70 2.70 1.20
1 0 1 1 0 1

1 1 1 0 0A·WP
1 =
 2.68 2.46 2.68 2.02 1.31
 0.19 0.45 0.12 0.34 1.00
0 0 0 0 1 0

 1.05 1.46 1.46 0.80 0.57
0 1 1 0 0 0

 1.05 1.46 1.46 0.80 0.57
0 1 1 0 0 0

 1.19 2.07 1.12 1.11 2.00
0 1 0 0 1 1
2.14 1.70 1.61 2.09 0.98
1 1 0 1 0 0
1.1
2.7
1.6
2.6
2.7
0.5
1.1
1.1
2.1
1.7
The link-analysis algorithm
I
I
Adaptation of the link analysis algorithm for Web search
engines to E-commerce
Iterative analysis of link relevance22
product
nodes
p1
p2
p3
p4
A 24
consumer
nodes
c1
c2
c3
consumer−product graph
22 Zan Huang, Daniel Zeng, Hsinchun Chen, A Comparison of
Collaborative-Filtering Recommendation Algorithms for E-commerce, IEEE
Intelligent Systems 22(5): 68 - 78 (2007)
The link-analysis algorithm
CR = consumer representativeness matrix (M × M )
CRij = consumer j 's representativeness score for consumer i .
PR = product representativeness matrix (N × M )
PRij = product j 's representativeness score for consumer i .
CR = A · PR
CR = A · AT · CR
PR = AT · CR
xed-point equation, thus iteration (idea)
CR(t) = A · AT · CR(t − 1)
CR(0) = identity matrix
The link-analysis algorithm detail
I
Construct interaction matrix A. Normalize A to obtain
Aij
γ
Bij = P
A
j ij
I
Set initial consumer representativeness matrix (M × M )
CR(0) = η · IM
I
(IM : M × M identity matrix)
Iterate until convergence of CR(t):
1.
2.
3.
4.
PR(t) = AT · CR(t − 1)
CR(t) = B · PR(t)
P
CRij = CRij / i CRij (Normalization)
CR(t) = CR(t) + CR(0)
The link-analysis algorithm (Octave)
function linkanalysis(A,gamma,eta)
[m,n] = size(A)
rowsums = sum(A,2).^gamma;
for i = 1:m
B(i,:) = A(i,:) / rowsums(i);
endfor
CR = eta * eye(m);
delta = Inf;
while delta > 10^(-3)
CRold = CR;
PR = A’ * CR;
CR = B * PR;
colsums = sum(CR);
for j = 1:m
CR(:,j) = CR(:,j)/colsums(j);
endfor
CR = CR + eta * eye(m);
delta = norm(CR - CRold);
endwhile
endfunction
The link-analysis algorithm, result
Interaction matrix
Product representativeness:
A:
c1
c2
c3
c4
c5
c6
c7
c8
c9
c10
p1 p2 p3 p4 p5 p6 
1 0 1 0 0 0
1 1 1 0 0 1 

1 0 1 1 0 0 

1 0 1 1 0 1 

1 1 1 0 0PR T1 = 

0 0 0 0 1 0 

0 1 1 0 0 0 

0 1 1 0 0 0 

0 1 0 0 1 1 
1 1 0 1 0 0
1.73
1.66
1.76
1.75
1.66
0.48
0.59
0.59
0.49
1.71
0.59
1.67
0.56
0.58
1.67
0.56
1.72
1.72
1.70
1.66
1.88
1.82
1.86
1.84
1.82
0.60
1.84
1.84
0.64
0.78
0.33
0.28
1.39
1.37
0.28
0.22
0.25
0.25
0.21
1.37
0.04
0.09
0.03
0.06
0.09
1.33
0.08
0.08
1.27
0.07
0.
1.
0.
1.
1.
0.
0.
0.
1.
0.
Content-based ltering
I
I
I
I
Products are recommended based on their quality.
Product description via a set of features x1 , . . . xk .
Goal: nd a mapping from product features to a score.
Sort products wrt. their score
Example: the system yakadoo
Example: the system yakadoo
...
more questions
Example: the system yakadoo
Example: the system yakadoo
I
I
I
I
Expert system for customer service
Replaces the salesperson
Goal: Recommend a product that optimally matches the
customer's requirements
Solution 1: Nearest neighbour method
Nearest neighbour ltering
I
I
Target feature vector t = (t1 , . . . , tk ) from customer interview
Find most similar product in database containing items23
x1 , . . . , xn
recommended product = argmin d(t, xi )
i=1,...,n
I
Euclidean distance
d(t, x) =
k
X
i=1
23 More precise:
x1 , . . . , xn
(ti − xi )2 .
are the feature vectors of the items.
Weighted nearest neighbour ltering
I
Weighted Euclidean distance
d(t, x) =
k
X
i=1
I
wi (ti − xi )2 .
How to nd weight vector (w1 , . . . , wk )?
I
Manually
I
Minimize number of misclassications wrt. weight vector!
Teil IX
Neuronale Netze
Von der Biologie zur Simulation
Hopeld-Netze
Neuronale Assoziativspeicher
Lineare Netze mit minimalem Fehler
Der Backpropagation-Algorithmus
Support-Vektor-Maschinen (SVM)
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
(37)
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 =
(38)
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 38
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 37
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
(39)
Berechnung der Matrixelemente wij (Hebb-Regel):
wij =
N
X
qjp tip
p=1
Denition
Zwei Vektoren x und y heiÿen orthonormal, wenn
1 falls x = y
x·y =
0 sonst
(40)
Satz
Wenn alle
N
Anfragevektoren
qp
in den Trainingsdaten
p
orthonormal sind, so wird jeder Vektor q durch Multiplikation
mit der Matrix
Antwortvektor
Beweis:
wij aus Gleichung
tp abgebildet.
40 auf den entsprechenden
Wir setzen Gleichung 40 in Gleichung 39 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
(41)
Gleichung nach W aufzulösen:
W = T · Q−1 .
(42)
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
(43)
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+
(44)
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
11
1
11
11
1
1111
11
1
1
1
1
1
1
1
1
1
1
1
1
111
1
t1 t2 t3
Abrufen der gespeicherten Muster
q3
q2
q1
11
1
11
11
1
1111
11
1
1
1
1
1
1
1
1
1
1
2
0
3
3
1
0
3
0
2
3
0
0
0
0
1
3
3
0
Berechnung der Produkte Wq1 , Wq2 , Wq3 .
binäre Hebb-Regel:
wij =
N
_
p=1
qjp tip .
(45)
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 :24
α=
Zahl speicherbarer Bits
(m + n)Nmax
=
≤ ln2 ≈ 0.69. (46)
Zahl der Speicherzellen
mn
Speichermodell
Listenspeicher
Der Assoziativspeicher mit binärer Hebb-Regel
Kohonen-Assoziativspeicher
Hopeld-Netz
24 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?
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
E (w) =
N
X
p=1
(wqp − t p )2 =
N
n
X
X
p=1
i=1
!2
wi qip − t p
minimiert.
Notwendige Bedingung für ein Minimum der Fehlerfunktion: für
j = 1, . . . , n muss
!
N
n
X
X
∂E
=2
wi qip − t p qjp = 0
∂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
(47)
(48)
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
+0.081
Alter
S4Q
+ 0.12
Ersch
+0.000021
− 0.125
AbwLok
+ 0.0034
Leuko
stetige Werte für
annimmt!
Geschl
+ 0.025
+ 0.031
RektS
− 0.11
AppScore,
Diab
+ 0.035
AbwGlo
+ 0.0027
− 1.83.
obwohl
Schwellwertentscheidung!
S1Q
App
TAxi
S2Q
+ 0.13
− 0.021
Losl
+ 0.0031
TRek
die Werte 0 und 1
S3Q
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
(qp , tp ) ∈ Trainingsbeispiele
Berechne Netzausgabe yp = wp qp
∆w = ∆w + η(tp − yp )qp
w = w + ∆w
Until w konvergiert
For all
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 Artikel25 in der legendären
PDP-Sammlung26 .
Learning Internal
Parallel Distributed Processing
25 D.E. Rumelhart, G.E. Hinton und Williams R.J.
Representations by Error Propagation
26 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:
n
X
xj = f
!
wji xi
(49)
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 (siehe27 oder28 ) 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
27 D.E. Rumelhart, G.E. Hinton und Williams R.J.
Representations by Error Propagation
Simulation Neuronaler Netze
28 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 198629
System lernt, englischen Text laut und verständlich vorzulesen.
29 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
zX
X
XXX
X
X
z
@
@
@
@
@
@z
@
@
@
@
@
@
@
@z
@
@
@
@
@
z @
@
@
z
: Positive
Trainingsdaten
: Negative Trainingsdaten
: Nicht benutzt
Das Training
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
(siehe30 ,31 )
30 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.
31 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
Support-Vektor-Maschinen
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
Lösung: Support-Vektor-Maschinen
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
−
−
−
+ +
+
+
+
+
−
−
−
−
+
−
+
+
+
−
x1
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.32
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.
32 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
S. Schölkopf und A. Smola.
Learning with Kernels: Support
Vector Machines, Regularization, Optimization, and Beyond.
I
I
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
Anwendungen Neuronaler Netze
I
I
I
I
I
I
I
I
I
I
I
I
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
Texten
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)
Fluch der Dimensionen
Fluch der Dimensionen, weitere Ideen
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
Negative Verstärkung
Vielleicht sollte ich beim nächsten mal den Schwung etwas früher
einleiten oder langsamer fahren? Lernen durch negative
Positive Verstärkung
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 .
(50)
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 π
?
(51)
(52)
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.
I Markov-Entscheidungsprozess
I
Uninformierte kombinatorische Suche
2
3
3
2
3
4
4
3
3
4
4
3
2
3
3
2
2
3
3
3
2
3
4
4
4
3
3
4
4
4
3
3
4
4
4
3
Gitter
2 2
2 2
2 3 2
3 4 3
2 3 2
Anz. Zust.
4
9
16
25
Strategien
24
= 16
24 34 4
= 5184
24 38 44
≈ 2.7 · 107
24 312 49
≈ 2.2 · 1012
2
3
3
3
2
Uninformierte 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
π
2
V (st ) = rt + γrt+1 + γ 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
(54)
= max[r (st , at ) + γV ? (st+1 )].
at
Bellman-Gleichung:
(55)
(Fixpunktgleichung)
V ? (s) = max[r (s, a) + γV ? (δ(s, a))].
(56)
π ? (s) = argmax[r (s, a) + γV ? (δ(s, a))].
(57)
a
also
a
Iterationsvorschrift:
(Fixpunktiteration)
V̂ (s) = max[r (s, a) + γ V̂ (δ(s, a))]
a
Initialisierung: ∀s V̂ (s) = 0
(58)
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
Satz
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
0
0
Anwendung auf s = (2, 3) in
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.28}
{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
(59)
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 ,...
(60)
Vereinfachung:
Q(st , at ) =
max (r (st , at ) + γ r (st+1 , at+1 ) + γ 2 r (st+2 , at+2 ) + . . .)
at+1 ,at+2 ,...
= r (st , at ) + γ
max (r (st+1 , at+1 ) + γr (st+2 , at+2 ) + . . .)
at+1 ,at+2 ,...
= r (st , at ) + γ max(r (st+1 , at+1 ) + γ max(r (st+2 , at+2 ) + . . .))
at+1
at+2
= r (st , at ) + γ max Q(st+1 , at+1 )
at+1
= r (st , at ) + γ max Q(δ(st , at ), at+1 )
at+1
Q(δ(s, a), a0 )
= r (s, a) + γ max
0
a
Fixpunktgleichung
wird iterativ gelöst mittels:
Q̂(s, a) = r (s, a) + γ max
Q̂(δ(s, a), a0 )
0
a
(61)
Der Algorithmus für das Q-Lernen
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
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
Satz
Gegeben sei ein deterministischer MDP mit beschränkten
r (s, a). Zum Lernen wird Gleichung 61
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 → ∞.
direkten Belohnungen
mit
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
≤ γ max
|Q̂n (s 00 , a0 ) − Q(s 00 , a0 )| = γ ∆n .
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
Es folgt also
∆n+1 ≤ γ∆n
und
∆k ≤ γ k ∆0
also:
lim ∆n = 0
n→∞
Bemerkungen
I
I
Q-Lernen konvergiert nach Satz 91 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
(62)
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
(63)
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, a)]
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 91 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:33 , Observation Based Learning34 .
33 98.
34 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
Herunterladen