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