Operationen auf Fuzzy

Transcrição

Operationen auf Fuzzy
Methoden der KI in der
Biomedizin
Fuzzy Logic
Karl D. Fritscher
Motivation
• Die logikbasierte Wissensverarbeitung ermöglicht die
Formalisierung und Verarbeitung von sog. „sicherem
Wissen“, d.h. von Wissen, das eindeutig zwischen
„falsch“ und „wahr“ unterscheidet.
• In der Realität ist diese binäre Unterscheidung oft nicht
möglich. Häufiger tritt der Fall auf, dass eine
Wahrscheinlichkeit angegeben werden kann (z.B.
Regenwahrscheinlichkeit, Überlebensrate, OP-Risiko
etc.). Entsprechend kann solches Wissen mit
probabilistischen Methoden (z.B. Bayes-Netze)
verarbeitet werden.
• Häufig liegt aber auch kein statistisches Wissen vor,
sondern sog. „vages“ Wissen
Motivation
• Beispiel: Das Sorites-Paradoxon (SandhaufenParadoxon):
– Frage: Wie viele Sandkörner bilden einen Sandhaufen?
– Annäherung:
• 1 Milliarde Sandkörner sind ein Sandhaufen
• Nimmt man von einem Sandhaufen ein Sandkorn weg, dann bleibt
es ein Sandhaufen
– Formale Schlussfolgerung: Wenn X ein Sandhaufen ist, dann
kann man ein Sandkorn entfernen und das Ergebnis ist wieder
ein Sandhaufen
– Daraus folgt dann, dass auch 1 Sandkorn ein Sandhaufen ist
Widerspruch!
Motivation
• Interpretation:
– Offensichtlich wird die Schlussfolgerung nicht plötzlich falsch,
sondern ihre Richtigkeit nimmt mit abnehmender Größe des
Sandhaufens „allmählich“ ab.
– Mit anderen Worten und aus mengenorientierter Sicht:
• Die binäre Entscheidbarkeit der Mengenzugehörigkeit eines
Elementes „Sandkorn“ aus der Grundmenge „alle Sandkörner“ zur
Teilmenge „Sandhaufen“ ist vage und hängt von der Größe der
Teilmenge ab.
• Fazit:
– Zur Beschreibung dieser Situation reicht die „klassische“ binäre
Elementbeziehung nicht aus; es werden „Grade“ der
Zugehörigkeit benötigt!
Unscharfe Mengen: Fuzzy-Mengen
•
•
•
•
Zweiwertige Mengenlehre: Element ist in einer Menge, oder nicht.
Zweiwertige Logik: Abbildung einer Variable X auf Wahrheitswerte
“wahr” oder “falsch”
Fuzzy-Logik erlaubt Elementen graduelle Zugehörigkeit zu Mengen.
Eine Fuzzy-Menge μ von X ist eine Funktion von einer Grundmenge
X in das reelle Einheitsintervall [0, 1], d.h. μ : X -> [0, 1].
“crisp set”
“fuzzy set”
Linguistische Terme und Variablen
• Unscharfer Wert wie z.B. "warm" für die Temperatur eines Zimmers:
linguistischer Term
• Die zugrundeliegende Variable, in diesem Fall "Temperatur":
linguistische Variable
• Eine linguistische Variable wird in der Regel durch mehrere
linguistische Terme beschrieben, deren Fuzzymengen den
Wertebereich der Variablen abdecken.
Zugehörigkeitsfunktionen
• Zuordnung von Variablen zu Fuzzy-Mengen über Zugehörigkeitsfunktion.
• Dreiecks- und Trapez-Funktionen sind üblich, erlaubt sind aber alle
Funktionen die auf [0,1] abbilden.
• Zugehörigkeitsfunktionen für einzelne linguistische Terme dürfen
sich überlappen
Zugehörigkeitsfunktionen
Zugehörigkeitsfunktionen
• Es ist üblich die Zugehörigkeitsfunktion µ(x) auf Werte zwischen 0 und
1 zu normieren.
• Unter dem „support“ supp(µ) einer unscharfen Menge A wird die
Menge der Elemente x verstanden, für die gilt µ(x)>0 , d.h.
supp(µ)= {x | x ∈ A, µ(x)>0}
• Das Intervall in welchem µ(x)=1 ist heißt Toleranz der Fuzzy-Menge.
Exkurs: Semantik der Zugehörigkeitsgrade
• Die Frage, welche realweltliche Bedeutung verschiedene
Zugehörigkeitsgrade haben, ist nicht einfach zu beantworten und
stellt ein fundamentales Problem der Theorie dar!
• Intuitiv scheint es klar zu sein, dass es einen Übergang zwischen 0
und 1 gibt, die konkrete Zuordnung von Werten für die
verschiedenen Grade ist zunächst jedoch völlig unklar.
• Ähnlich wie in der Wahrscheinlichkeitstheorie, spielt dieses
Problem in der praktischen Anwendung oft keine Rolle, wenn die
Zuordnungsfunktionen über Fuzzy-Sets nicht als Interpretation der
Wirklichkeit aufgefasst werden, sondern als Rechenregeln zum
Interpolieren zwischen den beiden sicheren Zuständen 0 und 1.
Operationen auf Fuzzy-Mengen
• Die Operationen auf Fuzzy-Mengen werden analog zu den
Operationen Vereinigung, Schnitt und Komplement auf „scharfen“
Mengen eingeführt.
• Dabei wird vereinbart, dass die Operationen elementweise
ausgeführt werden. D.h.: Der Zugehörigkeitsgrad eines
bestimmten Elements z.B. zum Schnitt zweier Fuzzy-Sets ergibt
sich aus den Zugehörigkeitsgraden des Elements zu den beiden
einzelnen Mengen.
• Eine weitere Bedingung ist, dass diese Operationen den „scharfen“
Operationen entsprechen müssen, wenn die Zugehörigkeitsgrade
durch die einfache Indikatorfunktion ersetzt wird.
Operationen auf Fuzzy-Mengen
• Es gibt ganze Klassen von Operatorfunktionen, die diese
Bedingungen erfüllen:
• Die sog. t-Normen (triangular norms) für die
Schnittmengenbildung
• Die sog. t-Conormen (auch s-Normen genannt) für die
Vereinigung
• Die sog. Negationen für die Komplementbildung
t-Normen
2
0 ,1 heißt t-Norm, wenn für
• Eine Funktion T : 0 ,1
alle Elemente a , b , c 0,1 gilt:
(1) T ( a , T (b , c ))
T (T ( a , b ) c )
(Assoziati vität)
(2) T ( a , b )
T (b , a )
(Kommutati vität)
(3) T ( a ,1)
a
(neutrales Element)
(4) a
T (a, c)
b
T (b , c )
(Monotonie )
• Typische Beispiele:
Tmin ( a , b )
min{ a , b}
TLuka ( a , b )
max{ 0 , a
(a, b)
T
prod
a b
b 1} (nach J. Lukasiewic z, 1878 - 1956)
Schnittmengenbildung
• Jede T-Norm erzeugt durch elementweise Anwendung
eine Schnittmenge zweier Fuzzy-Mengen.
• Beispiel: Für zwei Fuzzy-Sets µ1 und µ2 ergibt sich der
Schnitt als
u
U: (
1
2
)( u )
T(
1
(u ),
2
(u ))
1
TLuka
Tmin
µ1
µ2
n
t-Conormen (s-Normen)
2
• Eine Funktion
für alle Elemente a , b , c
: 0 ,1
(1)
(a,
(2)
(a, b)
(3)
( a ,0 )
(4) a
b
(b , c ))
0 ,1
0,1
(
heißt t-Conorm, wenn
gilt:
( a , b ), c )
(b , a )
(Kommutati vität)
a
(neutrales Element)
(a, c)
(b , c )
(Monotonie )
Typische Beispiele:
min
Luka
prod
(Assoziati vität)
(a, b)
max{ a , b}
(a, b)
min{ a
(a, b)
a
b
b ,1}
a b
Vereinigung
• Jede t-Conorm erzeugt durch elementweise
Anwendung eine Vereinigungsmenge zweier FuzzyMengen.
• Beispiel: Für zwei Fuzzy-Sets µ1 und µ2 ergibt sich die
Vereinigung als
u
U: (
1
2
)( u )
(
1
(u ),
2
(u ))
1
min
Luka
µ1
µ2
n
Negation
0,1 heißt Negation, wenn
• Eine Funktion neg : 0,1
wenn sie die Bedingung neg(0)=1, neg(1)=0 und die
folgende Bedingung erfüllt:
a, b
0,1 : a
• Beispiel: neg ( a )
b
neg ( a )
neg (b )
1 a
• Das Komplement einer Fuzzy-Menge µ ergibt sich
damit als:
u U : (u )
neg ( (u ))
Komplementbildung
• Beispiel:
1
neg(µ1)
µ1
n
Fuzzy-Regelsysteme
• Die Idee der Fuzzy-Regelsysteme ist es, durch die
Verwendung der Zugehörigkeitsfunktion linguistische
Regeln auszudrücken, die vage Angaben beinhalten
• Beispiel:
– Wenn der Blutdruck sehr hoch ist, besteht die Gefahr eines
Insultes
– Wenn der Puls ungefähr gleich dem systolischen Druck ist,
liegt ein Schock vor
• Fuzzy- oder linguistische Regeln drücken die
unscharfen sprachlichen Bewertungen (z.B. hoch,
ungefähr, meistens) als Zugehörigkeitsfunktionen aus.
Sie bestehen aus einer Antezedenz, die aus der
Verknüpfung unscharfer Mengen besteht und einer
Konsequenz, die in der Regel auch einen unscharfen
Wert liefert.
Typischer Aufbau
Aus (1):
Typischer Aubau
• Fuzzifizierungsschnittstelle:
– Nimmt Messwerte auf, transformiert sie in einen geeigneten
Wertebereich und wandelt ihn in eine Fuzzy-Menge
• Wissensbasis:
– Enthält Informationen über Wertebereiche der Mess- und Stellgrößen,
die den linguistischen Variablen zugeordneten Fuzzy-Sets und die
linguistischen Regeln
• Entscheidungslogik:
– Leitet unter Verwendung der Wissensbasis aus den Messgrößen eine
unscharfe Stellgröße ab
• Defuzzifizierungsschnittstelle:
– Leitet aus der unscharfen Stellgröße einen scharfen Stellwert ab
Fuzzy-Regelsysteme nach Mamdani (1975)
1. Expertenwissen wird in Form von Regeln dargestellt
– „Wenn der Druck hoch ist und die Flussgeschwindigkeit niedrig ist,
dann ist der Widerstand sehr groß“
– „Wenn der Insulinspiegel hoch ist oder die Glukosekonzentration
nahe Null ist, dann ist die Zuckeraufnahme sehr dringend“
2. Die in den Regeln enthaltenen linguistischen Terme/Variablen
(z.B. sehr hoch, nahe Null, positiv klein etc.) werden identifiziert
und durch geeignete Zugehörigkeitsfunktionen einem Fuzzy-Set
zugeordnet (fuzzifiziert)
3. Für eine gegebene Situation werden die Messwerte der
Prämissen entsprechend der Regeln verknüpft.
4. Diese Verknüpfung entspricht der Vereinigung (Oder) oder
Schnittbildung (Und) der entsprechenden Fuzzy-Sets und liefert
daher auch die Konklusion in Form eines Fuzzy-Sets.
5. Aus diesem wird dann ein scharfer Ausgabewert abgeleitet
(defuzzifiziert)
Fuzzifizierung
• Die Fuzzy-Sets für die linguistischen Terme werden
häufig als Dreiecksfunktionen ausgelegt:
Aus (1)
Entscheidungsfindung mit Fuzzy-Logic
Beispiel: Temperaturregelung eines Heizungsventils
anhand zweier Fuzzy-Regeln
Regel 1
WENN Temperatur = ist-kalt
DANN Heizventil = ist-weit-offen
Regel 2
WENN Temperatur = ist-warm
DANN Heizventil = ist-kaum-offen
Entscheidungsfindung mit Fuzzy-Logic
1. Schritt: Fuzzifikation
Bestimmung des Grades an Zugehörigkeit eines Input. Das
fuzzifizierte Signal ist ein n-Tupel von Zugehörigkeitsgraden,
wobei n die Anzahl der linguistischen Terme angibt
T=17°C
T=(0.25,0.75)
=> 17°C Temperatur zugehörig 0.25 "kalt" und 0.75 "warm"
Entscheidungsfindung mit Fuzzy-Logic
2. Schritt: Implikation
Übertragung der zuvor ermittelten Werte der Bedingung der FuzzyRegel auf die Schlussfolgerung, d.h. eine Output-Menge.
Entscheidungsfindung mit Fuzzy-Logic
2. Schritt: Implikation
• Liegen mehrere Prämissen vor müssen diese verknüpft werden.
Nach Mamdani geht man dabei ausschließlich von UNDVerknüpfungen aus (z. B. WENN Temperatur = ist-kalt UND
Druck=ist-niedrig DANN …)
• Weiters wird die Bedingung eingeführt, dass eine
Schlussfolgerung nicht stärker sein kann, als die schwächste
Voraussetzung.
• Daher ist die Verknüpfung der Schnitt der Zugehörigkeitsfunktion,
die den niedrigsten Wert aller Prämissen liefert.
Entscheidungsfindung mit Fuzzy-Logic
3. Schritt: Akkumulation
Schließen mehrere Fuzzy-Regeln auf eine Output-Variable, werden die
Ergebnisse der betreffenden Implikationen kombiniert (vereinigung
beider Mengen). Dies geschieht durch Anwendung von s-Normen, in
diesem Fall unter Anwendung des Maximum-Operators (ODER).
Entscheidungsfindung mit Fuzzy-Logic
4. Schritt: Defuzzifizierung
Das Ergebnis der Akkumulation ist eine Fuzzy-Menge. Die
Defuzzifizierung reduziert die Fuzzy-Menge auf einen einzelnen
repräsentativen Wert zB durch center-of-gravity (center-of-area,
Schwerpunkt)-Methode.
Defuzzifizierung
• Ziel: Aus dem Ausgabe-Fuzzy-Set soll ein skalarer,
scharfer Wert abgeleitet werden, der den Fuzzy-Set
möglichst gut repräsentiert
• Typische Methoden:
– Schwerpunktmethode (center of gravity, COG)
• Berechnung des Schwerpunkts der von der y-Achse und der
Funktion µ(x1,…,xn ) gebildeten Fläche
– Mittelwert der Maxima-Methode (mean of maxima, MOM)
• Berechnung des Mittelwerts der Werte y ∈ Y , für den die Fuzzy Menge µ(x1,…,xn ) Ihren maximalen Zugehörigkeitsgrad aufweist
– Max-Kriterium-Methode:
• Ausgabe eines beliebigen Wertes y ∈ Y , für den die Fuzzy Menge µ(x1,…,xn ) Ihren maximalen Zugehörigkeitsgrad aufweist
Defuzzifizierung
•
Eine gute Repräsentierung des Ausgabe-Fuzzy-Sets liefern v.a. die
Schwerpunkt- und Mittelwertmethode
•
Allerdings „glätten“ sie die Maxima weg, was gefährlich sein kann!
Aus (1)
Anwendungen in der Medizin
CADIAG-II:
Medicine
Computer-Assisted
Diagnosis
in
Motivation:
• diagnostische
Hypothesen
(Bestätigung
Ausschluss von Diagnosen)
• Vorschläge für weitere Untersuchungen
• Pathologische Befundung
Internal
und
Medframe/CADIAG-IV: A Consultation System Framework for
Internal Medicine and Related Areas
Motivation:
• Weiterentwicklung von CADIAG-II (Bestätigung
Ausschluss von Diagnosen und Therapie Vorschläge)
http://www.meduniwien.ac.at/msi/mes/
und
Anwendungen in der Medizin
• FuzzyARDS: Knowledge-Based Monitoring and Decision
Support (Acute Respiratory Distress Syndrome)
Motivation:
• Wissensbasierte Entscheidungshilfe für die
intensivmedizinischen Versorgung von ARDS
Patienten
• FuzzyKBWean: A Fuzzy Control System for Weaning from
Artificial Ventilation
Motivation:
• Optimierung der künstliche Beatmung nach Herzoperationen
• (Semi)automatische Steuerung der Beatmungsmaschine
http://www.meduniwien.ac.at/msi/mes/
Weitere Anwendungs-Beispiele
(1) To predict the response to treatment
with citalopram in alcohol dependence
(2) To analyze diabetic neuropathy and to
detect early diabetic retinopathy
(3) To determine appropriate lithium
dosage
(4) To calculate volumes of brain tissue
from magnetic resonance imaging (MRI)
and to analyze functionalMRI data
(5) To characterize stroke subtypes and
coexisting causesof ischemic stroke
(6) To improve decision-making in radiation
therapy
(7) To control hypertension during
anesthesia
(8) To determine flexor-tendon repair
techniques
(9) To detect breast cancer lung cancer or
prostate cancer
(10) To assist the diagnosis of central
nervous systems tumors (astrocytic
tumors)
(11) To discriminate benign skin
lesions from malignant
melanomas
(12) To visualize nerve fibers in the
human brain
(13) To represent quantitative
estimates of drug use
(14) To study the auditory P50
component in schizophrenia
(15) Many other areas of application,
to mention a few, are
(a) to study fuzzy epidemics
(b) to make decisions in nursing
A. Torres, J. Nieto: Fuzzy Logic and
Bioinformatics, ID 91908, 2006
Literatur
(1) G. Görz, C.-R. Rollinger, J. Schneeberger (Hrsg.): Handbuch
der Künstlichen Intelligenz, Oldenbourg-Verlag, München,
2000
(2) J. Kahlert und H. Frank: "Fuzzy-Logik und Fuzzy-Control",
Vieweg-Verlag 1994, ISBN 3-528-05304-6
(3) Senen Barro, Roque Marin: Fuzzy Logic in Medicine, Springer
Berlin Heidelberg, 2002

Documentos relacionados