The State of the Game: Spamerkennung in den TREC und CEAS Spam-Challenges

Größe: px
Ab Seite anzeigen:

Download "The State of the Game: Spamerkennung in den TREC und CEAS Spam-Challenges"

Transkript

1 The State of the Game: Spamerkennung in den TREC und CEAS Spam-Challenges Christoph Raupach Universität Paderborn Zusammenfassung. Ich stelle zwei Algorithmen zur Spamerkennung aus den TREC und CEAS Spam-Challenges vor. Die erste Technik sind die Relaxed Online Support Vektor Maschinen, die s als hochdimensionale Featurevektoren darstellen und dann die Spam-Nachrichten von den Ham-Nachrichten trennen. Die zweite Methode sind die Orthogonal Sparse Bigrams with Confidence Factor, ein spezialisierter Spam-Erkennungsalgorithmus auf der Grundlage von Bayes Theorem. 1 Motivation Relaxed Online Support Vektor Maschinen Grundlagen Das Konzept der Support Vektor Maschinen Der Kernelbegriff Soft Margin SVMs Relaxed Online SVMs Die Implementation von Sculley et al Orthogonal Sparse Bigrams with Confidence Factor Bayes-Klassifikatoren Exponential Differential Document Count Orthogonal Sparse Bigrams Trainingsmethode Die TREC und CEAS-Challenges Bewertungsmetriken OSBF in der TREC ROSVM s in der TREC Der direkte Vergleich: Die CEAS Diskussion Literaturverzeichnis

2 2 Christoph Raupach 1 Motivation Perhaps when it comes to natural language processing and related fields, we re doomed to complex theories that will never have the elegance of physics equations. But if that s so, we should stop acting as if our goal is to author extremely elegant theories, and instead embrace complexity and make use of the best ally we have: the unreasonable effectiveness of data. (The Unreasonable Effectiveness of Data, [1]) Das Verschicken einer ist praktisch kostenlos. Warum sollte man also nicht eine große Menge von -Adressen sammeln, um die Besitzer der Adressen periodisch über die Vorzüge des eigenen Produkts aufzuklären? Diese Frage steht am Anfang des -Spam Problems: Viele Spammer beantworten sie mit ja und überschwemmen den -Nachrichtenverkehr mit unzähligen Werbenachrichten, auch Spam-Nachrichten genannt (eine genaue Definition von Spam-Nachrichten findet sich z.b. in [17]). Aufgrund der geringen Kosten, eine zu verschicken, reicht es oft, wenn von Millionen angeschriebener potentieller Käufer nur einer tatsächlich das Produkt kauft (wenn es denn tatsächlich ein Produkt gibt und es sich nicht zusätzlich noch um einen Betrugsversuch handelt). Botnets, Netze von mit Viren infizierter und von Spammern übernommener Computer, sind in der Lage, täglich mehrere Millionen -Nachrichten zu verschicken. Kostenlose -Konten werden von vielen Firmen angeboten und die eingebauten Schutzmechanismen sind nicht immer ausreichend, um zu verhindern, dass automatisch große Mengen von Accounts zum Zwecke der Spamversendung erstellt werden. Experten geben den Anteil von Spam am gesamten -Nachrichtenverkehr inzwischen mit teilweise über 90% an [2]. Gesetzliche Maßnahmen, um Spammer einzudämmen, erweisen sich oft als unzureichend, da Spammer in Länder mit schwächeren Anti-Spam Gesetzen ausweichen können. Um nicht in einer Flut ungewollter Werbung unterzugehen, ist es deswegen nötig, eingehende s durch Spamfilter zu prüfen, deren Aufgabe es ist für jede Nachricht zu entscheiden, ob es sich um eine Spam- oder eine Ham- (also eine gewünschte Nachricht) handelt. Ähnlich wie in den in [1] angesprochenden Aufgabenstellungen geht es auch beim Problem der Spam-Erkennung darum, menschliches Verhalten zu modellieren. Zusätzlich besteht immer die Gefahr, dass sich Spammer an das Verhalten von Spamfiltern anpassen, um sie unwirksam zu machen. Spamfilter müssen also robust gegenüber veränderten Strategien der Spammer sein und sich an neue Gegebenheiten anpassen können.

3 Spamerkennung in TREC und CEAS 3 Um solchen Anforderungen zu genügen, werden oft Verfahren des maschinellen Lernens eingesetzt, die versuchen ein statistisches Modell zu erlernen, anhand dessen sie Spam-Nachrichten von Ham-Nachrichten unterscheiden können. Um möglichst gute Verfahren zur Spamerkennung entwickeln zu können, werden seit einigen Jahren sogenannte Spam-Challenges durchgeführt, bei denen man versucht, Algorithmen unter möglichst realistischen Umständen miteinander zu vergleichen. In dieser Arbeit möchte ich zwei Methoden vorstellen, die in den Challenges von 2006 bis 2008 zu den Siegern gehörten. Das erste vorgestellte Verfahren sind die Relaxed Online Support Vektor Maschinen (ROSVM), die in der TREC-Spam-Challenge 2007 in mehreren Kategorien den ersten Platz belegten. Support Vektor Maschinen gehören zu den neueren Verfahren des maschinellen Lernens und werden auch in vielen anderen Bereichen (siehe z.b. [16], [29]) eingesetzt. Dem gegenüber steht die Methode der Orthogonal Sparse Bigrams with Confidence Factor (OSBF), die in der TREC-Spam- Challenge 2006 zu den Siegern zählte. OSBF basiert auf Bayes-Klassifikatoren und wurde im Gegensatz zu den Support Vektor Maschinen speziell zur Spam-Klassifikation entwickelt. Beide Algorithmen treffen in der CEAS-Spam- Challenge 2008 aufeinander, was zu einem direkten Vergleich zwischen den Support Vektor Maschinen als einem domänenunabhängigen Verfahren des maschinellen Lernens einerseits und OSBF als einem speziell auf Spam zugeschnittenen Algorithmus andererseits führt. Ich werde im Folgenden in Abschnitt 2 und Abschnitt 3 die beiden Algorithmen im einzelnen beschreiben. Danach werde ich im Abschnitt 4 zunächst die Evaluationsmethoden, dann die verschiedenen Szenarien und, nicht zuletzt, die Ergebnisse der TREC Spam-Challenges von 2006 und 2007 sowie der CEAS Spam-Challenge von 2008 beschreiben. Abschnitt 5 dient schließlich dazu die vorgestellten Ergebnisse zu diskutieren, ihre Bedeutung für die Forschung im Bereich der Spam-Erkennung aufzuzeigen und einige offene Fragen zu beschreiben. 2 Relaxed Online Support Vektor Maschinen In diesem Abschnitt möchte ich schrittweise den ersten vorgestellten Algorithmus, die Relaxed Online Support Vektor Maschine, einführen. Dafür werde ich zunächst nach [28] in Abschnitt 2.1 einige Grundlagen einführen und das Konzept der Maximum Margin Classifiers herleiten, auf dem Support Vektor Maschinen basieren. Das Resultat von Abschnitt 2.1 ist schließlich ein Optimierungsproblem für Maximum Margin Classifiers, das ich (wiederum nach [28]) in Abschnitt 2.2 durch Lagrangefunktionen ausdrücke um es für sogenannte Kernelmethoden (Abschnitt 2.3) zugänglich zu machen. Mit Hilfe von Kerneln können bestimmte, sehr hochdimensionale, Featureräume effizient verwendet

4 4 Christoph Raupach werden. Nach der Einführung der Kernel beschreibt Abschnitt 2.4 eine weitere Erweiterung, die verhindert, dass einzelnde Ausreißer in der Trainingsmenge die Entscheidungsgrenze stark verzerren. Abschnitt 2.5 beschreibt dann nach [23] einige Modifikationen der Support Vektor Maschine, um sie auch für große Datenmengen bzw. Datenströme einsetzen zu können, während Abschnitt 2.6 auf einige Aspekte der Implementation für die TREC-Spam-Challenge eingeht. Experimentelle Resultate der ROSVM Implementierung durch Sculley et al. für die TREC und CEAS-Spam-Challenges finden sich in Abschnitt Grundlagen Eine Support Vektor Maschine (SVM) ist ein Klassifizierungsalgorithmus aus dem Bereich des maschinellen Lernens, der Datenpunkte in Klassen einordnet. Datenpunkte werden dabei als Vektoren aus dem R d repräsentiert, deren einzelne Dimensionen sogenannte Features darstellen. Definition 2.1 (Datenpunkt, Featureraum) Ein Datenpunkt x R d ist ein d-dimensionaler Vektor, bei dem jede Dimension ein Feature darstellt. Die Menge aller möglichen Datenpunkte x wird Featureraum genannt. Die geeignete Auswahl der Features ist dabei ein Kernproblem des maschinellen Lernens. In diesem Abschnitt genügt es aber davon auszugehen, dass die Wahl der Features bereits geschehen ist. Beispielsweise könnte in einem Datenpunkt (x 1, x 2 ) R 2 die erste Koordinate für die Anzahl der Worte in einer stehen und die zweite Koordinate für die Anzahl der in der auftauchenden Hyperlinks. Der Begriff des Featureraums macht also insofern Sinn, als dass, je nach Wahl der Berechnungsvorschrift für die Features, nicht jeder Punkt x R ein gültiger Datenpunkt ist. Die genaue Wahl der Features bei D. Sculley et al. wird in Abschnitt 2.6 beschrieben. Die Aufgabe einer klassischen SVM ist es nun, eine Hypothese h : R d { 1, 1} aufzustellen, die Datenpunkte x R d ihrer korrekten Klasse y { 1, 1} zuordnet. Im konkreten Anwendungsfall der Spamerkennung korrespondieren die beiden Klassen dabei zu Spam- s und Ham- s. Abb. 1. Trennung von Datenpunkten durch eine Hyperebene

5 Spamerkennung in TREC und CEAS 5 Hypothesen h von klassischen SVMs versuchen dabei immer, wie in Abbildung 1 gezeigt und in Definition 2.2 formal definiert, die beiden Klassen durch eine einzelne Hyperebene zu trennen. Definition 2.2 (Hypothesenklasse von SVMs) Die Klasse aller Hypothesen H, die von (klassischen) SVMs berechnet werden können, ist gegeben durch die Menge aller Funktionen h : R d { 1, 1} mit w R d, b R und : h(x) = g(w T x + b) { 1, falls z < 0 g(z) = +1, falls z 0 Die zur Klassifikation genutzte Hyperebene ist durch das Tupel (w, b) definiert. Eine Menge von Datenpunkten, die sich durch eine einzelne Hyperebene in Klassen trennen lässt, heißt linear separierbar. Auf das mögliche Problem, dass die Datenpunkte nicht linear separierbar sind, werde ich in Abschnitt 2.3 und Abschnitt 2.4 eingehen. Bevor eine SVM aber eingesetzt wird, um Datenpunkte zu klassifizieren, wird sie erst, im eigentlichen Prozess des maschinellen Lernens, mit Hilfe einer Menge von Trainingsbeispielen trainiert. Im Laufe des Trainingsprozesses lernt die SVM eine feste Hypothese h H. Die Trainingsbeispiele sind dabei Datenpunkte, deren Klasse schon bekannt ist (z.b. durch manuelles Klassifizieren von s in Spam und Ham). Definition 2.3 (Trainingsbeispiel, Trainingsmenge) Ein Trainingsbeispiel (x, y) ist ein Tupel aus einem Datenpunkt x R d und seiner Klasse y { 1, 1}. Eine Trainingsmenge {(x (1), y (1) ),..., (x (m), y (m) )} ist eine endliche Menge von Trainingsbeispielen. Ziel ist es dabei eine Hypothese h H zu lernen, die die beiden Klassen möglichst gut trennt. Eine Besonderheit von Support Vektor Maschinen, die sie von ähnlichen Verfahren des maschinellen Lernens absetzt, ist dabei, dass SVMs eine Hypothese h lernen, die den minimalen Geometric Margin aller Punkte der Trainingsmenge maximiert. Support Vektor Maschinen gehören also zu den sogenannten Maximum Margin Classifiers, deren Grundlagen ich im Folgenden beschreiben werde. Definition 2.4 (Functional Margin, Geometric Margin) Der Functional Margin einer Hyperebene (w, b) zu einem Trainingsbeispiel (x (i), y (i) ) ist definiert als: ˆγ (i) = y (i) (w T x (i) + b) = y (i) ( w, x + b)

6 6 Christoph Raupach Ein Problem des Functional Margin ist, dass er vergrößert werden kann, in dem die Skalierung von w und b verändert wird. Um diesem Problem aus dem Weg zu gehen, ist der Geometric Margin für w = n w2 i definiert als: ( γ (i) = ˆγ(i) w T w = y(i) w x(i) + b ) w Ist der Geometric Margin für ein Trainingsbeispiel (x (i), y (i) ) positiv, so wurde es richtig klassifiziert (liegt auf der richtigen Seite der Hyperebene). Je größer der Geometric Margin ist, desto sicherer ist die Klassifikation dieses Beispiels. Abb. 2. Der Geometric Margin zweier Datenpunkte Abbildung 2 zeigt eine Trainingsmenge, in der für zwei Trainingsbeispiele der Geometric Margin zu einer Hyperebene eingezeichnet ist. Das Lernen einer Hyperebene anhand von Trainingsdaten kann nun als Optimierungsproblem dargestellt werden, in dem der minimale Functional Margin für eine feste Skalierung von (w, b) maximiert werden soll. Definition 2.5 (Maximum Margin Optimierungsproblem I) Unter den Bedingungen: max γ γ,w,b (1) i {1,..., m} : y (i) (w T x (i) + b) γ (2) w = 1 Die Variablen, auf die Einfluss genommen wird, sind also w, b und γ, wobei γ immer größtmöglich gewählt werden sollte. Die erste Bedingung stellt dabei sicher, dass γ nie größer als der minimale Functional Margin aller Beispiele gewählt werden kann. Die zweite Bedingung verhindert, dass γ allein durch die Skalierung von w und b vergrößert werden kann. Durch die Bedingung w = 1 wird das Optimierungsproblem allerdings auch nichtkonvex, also schwer zu lösen. Im Folgenden werde ich deswegen nach [28]

7 Spamerkennung in TREC und CEAS 7 eine schrittweise Umformung des Problems in ein konvexes Optimierungsproblem angeben. Zunächst wird γ durch ˆγ w ersetzt, um auf die zweite Bedingung in 2.5 verzichten zu können. Man erhält ein Optimierungsproblem, dessen Lösung die selbe Hyperebene beschreibt: Definition 2.6 (Maximum Margin Optimierungsproblem II) Unter den Bedingungen: max ˆγ,w,b ˆγ w (1) i {1,..., m} : y (i) (w T x (i) + b) ˆγ Die Zielfunktion ˆγ w ist allerdings immer noch nichtkonvex. Es ist nun entscheidend, dass die Skalierung von w im Grunde beliebig ist. Es ist also zum Beispiel möglich die Skalierungsbedingung w = 1 in Definition 2.5 durch eine beliebige andere Bedingung zu ersetzen, die die Skalierung von w festlegt. Ich lege nun in Definition 2.6 die Skalierung durch die zusätzliche Bedingung ˆγ = 1 fest. Dies ist eine Skalierungsbedingung, da folgt: min i y (i) (w T x (i) + b) = ˆγ = 1 Diese Bedingung kann erfüllt werden, indem das in Definition 2.6 beschriebene Optimierungsproblem gelöst wird und danach die Skalierung von w so geändert wird, dass für den minimalen Functional Margin ˆγ gilt ˆγ = 1. Da das Maximieren von 1 w dem Minimieren von w 2 entspricht ergibt sich ein neues Optimierungsproblem, dessen Lösung wiederum die selbe Hyperebene beschreibt. Definition 2.7 (Maximum Margin Optimierungsproblem III) Unter den Bedingungen: min w,b w 2 (1) i {1,..., m} : y (i) (w T x (i) + b) 1 Das in Definition 2.7 definierte Optimierungsproblem ist nun wegen w 2 = m w2 i konvex. Ich habe nun nach [28] das, den Maximum Margin Classifiern zugrundeliegende, Optimierungsproblem hergeleitet. Im folgenden Abschnitt wird das Optimierungsproblem mit Hilfe von Lagran-Multiplikatoren umformuliert, um es auch für sehr hochdimensionale Featureräume effizient berechenbar zu machen. Dies führt zum eigentlichen Begriff der Support Vektor Maschine.

8 8 Christoph Raupach 2.2 Das Konzept der Support Vektor Maschinen In diesem Kapitel möchte ich nach [28] das in Definition 2.7 formulierte Optimierungsproblem noch einmal mit Hilfe von Lagrange-Multiplikatoren ausdrücken. Das Ziel dabei ist, das Problem so umzuformen, dass es nicht mehr direkt von den Trainingsdaten abhängt, sondern nur noch vom Skalarprodukt von Paaren von Datenpunkten innerhalb der Trainingsmenge. Auch die Klassifikation eines neuen Datenpunktes x sollte nicht mehr direkt von x, sondern nur noch vom Skalarprodukt zwischen x und Datenpunkten der Trainingsmenge abhängen. Wie in Unterabschnitt 2.3 noch detailliert gezeigt werden wird, kann das Skalarprodukt x, y zwischen zwei Datenpunkten x und y in vielen Sonderfällen auch dann effizient berechnet werden, wenn x und y aus sehr hochdimensionalen (teilweise unendlich-dimensionalen) Featureräumen kommen. Ein weiterer Vorteil der Formulierung mit Hilfe von Lagrange- Multiplikatoren ist, dass die Klassifikation eines neuen Datenpunkts nur mit Hilfe von relativ wenigen Trainingsbeispielen aus der Gesamtmenge der Trainingsbeispiele (den sogenannten Support Vektoren) möglich ist. Im Folgenden werde ich zunächst die Langrangefunktion L(w, b, α) für das in Definition 2.7 angegebene Optimierungsproblem einführen. Mit Hilfe von L(w, b, α) gebe ich dann ein neues Optimierungsproblem an, dessen Lösung die selbe Hyperebene (w, b) beschreibt. Ich werde dieses Optimierungsproblem dann nach [28] mit Hilfe des Satzes von Karush-Kuhn-Tucker auf sein duales Problem zurückführen und damit eine endgültige Formulierung des den Support Vektor Maschinen zugrundeliegenden Problems erhalten. Diese endgültige Formulierung wird nur noch vom Skalarprodukt von Datenpunkten der Trainingsmenge abhängig sein. Wenn man das in Definition 2.7 definierte Optimierungsproblem betrachtet, so kann man die zugehörige Lagrangefunktion herleiten, in dem man jede Bedingung y (i) (w T x (i) + b) 1 umformt zu g i (w, b) = y (i) (w T x (i) + b) Die Lagrangefunktion ergibt sich dann wie folgt: Definition 2.8 (Lagrangefunktion) Die zu Definition 2.7 gehörige Lagrangefunktion ist definiert als L(w, b, α) := 1 2 w 2 Außerdem definiere ich Θ p (w, b) als α i (y (i) (w T x (i) + b) 1) Θ p (w, b) := max L(w, b, α) α 0 Man kann nun zeigen, dass eine Hyperebene genau dann Θ p (w, b) minimiert, wenn sie eine Lösung für das ursprüngliche Optimierungsproblem ist.

9 Spamerkennung in TREC und CEAS 9 Lemma 2.9 Eine Hyperebene (w, b) minimiert Θ p (w, b) genau dann, wenn (w, b) eine optimale Lösung für das Optimierungsproblem 2.7 ist. Beweis. Sei p = min w,b max α 00 L(w, b, α) = min w,b Θ p(w, b ). Sei (w, b) eine Hyperebene. Falls ein i {1,..., m} existiert mit y (i) (w T x (i) +b) < 1 (also eine Bedingung von 2.7 verletzt werden würde), so gilt: Θ p (w, b) = max L(w, b, α) = α 0 Da das zugehörige α i beliebig groß gewählt werden kann. Falls kein solches i {1,..., m} existiert, so gilt für alle i {1,..., m}: Es folgt: y (i) (w T x (i) + b) = 1 α i = 0 Θ p (w, b) = 1 2 w 2 Es gilt also genau dann Θ p (w, b) = p, wenn die Hyperebene (w, b) eine optimale Lösung für das Optimierungsproblem 2.7 ist. Nun kann der Satz von Karush-Kuhn-Tucker (in seiner Form nach [28]) eingeführt werden, der Bedingungen angibt unter denen ein Problem min w Θ p (w) auf sein duales Problem max α 0 Θ D (α) zurückgeführt werden kann, ohne dass sich der Wert der Lösung ändert. Satz 2.10 (Satz von Karush-Kuhn-Tucker) Sei L(w, α, β) = f(w) + k α i g i (w) + l β i h i (w) die Langrange Funktion zu einem Optimierungsproblem Seien alle h i affin und gelte min f(w) s.t. g i (w) 0 (i = 1,..., k) h i (w) = 0 (i = 1,..., l) w : i : g i (w) < 0

10 10 Christoph Raupach Dann existieren w, β, α, so dass gilt: p = Θ p (w ) = min w Θ p(w) = min w max L(w, α, β) α 0,β d = Θ D (α, β ) = max Θ D(α, β) = max α 0,β p = d = L(w, α, β ) min α 0,β w L(w, α, β) Weiterhin gilt: d i : dw i L(w, α, β ) = 0 i : αi g i(w ) = 0 Damit der Satz von Karush-Kuhn-Tucker auf die Lagrangefunktion L(w, b, α) angewendet werden kann, muss zunächst das duale Problem zu min w,b Θ p (w, b) definiert werden. Beim Anwenden des Satzes ist dann zu beachten, dass das in Definition 2.7 angegebene Optimierungsproblem keine Bedingungen der Form h i (w) = 0 besitzt. Zudem werden die Parameter im Optimierungsproblem 2.7 mit (w, b) anstelle von w (wie im Satz von Karush-Kuhn-Tucker) bezeichnet. Es ergibt sich für unser Problem also folgende Definition des dualen Problems: Definition 2.11 (Duales Problem) Definiere Das Problem ist das duale Problem zu Θ D (α) := min L(w, b, α) w,b max Θ D(α) α 0 min w,b Θ p(w, b) Der Satz von Karush-Kuhn-Tucker besagt, dass man unter bestimmten Bedingungen anstelle des ursprünglichen Problems min w,b Θ p (w, b) auch das duale Problem max α>0 Θ D (α) lösen kann. Um dies zu tun findet man zunächst ein Minimum von L(w, b, α) bezüglich (w, b) für ein festes α. Da für ein minimales (w, b) folgt w L(w, b, α) = 0 setze ich also: d dw 1 L(w, b, α) w L(w, b, α) =... = 0 d w m L(w, b, α) w m α i y (i) x (i) = 0 w = α i y (i) x (i)

11 Spamerkennung in TREC und CEAS 11 Für ein festes α ist das minimale w also bestimmt durch w = m α i y (i) x (i). Außerdem gilt d dbl(w, b, α) = 0 und es folgt: Ich definiere nun α i y (i) = 0 W (α) := L( α i y (i) x (i), b, α) = min L(w, b, α) = Θ D(α) w,b Wie man im Folgenden sieht ist W (α) nicht mehr von b abhängig. Mit w 2 = w T w gilt nun: W (α) = 1 m 2 ( α i x (i) y (i) ) T ( α j x (j) y (j) ) α i y (i) ( α j y (j) x (j) ) T x (i) α i y (i) b + j=1 α i = 1 m 2 ( α i x (i) y (i) ) T ( α j x (j) y (j) ) α i y (i) ( α j y (j) x (j) ) T x (i) + α i j=1 j=1 = 1 m 2 ( α i x (i) y (i) ) T ( α j x (j) y (j) ) + = 1 2 = j=1 α i α j y (i) y (j) (x (i) ) T x (j) + α i 1 2 j=1 α i α j y (i) y (j) x (i), x (j) W (α) hängt also nur von α ab. Zusätzlich hängt W (α) auch nur noch vom Skalarprodukt der Features der Trainingsbeispiele x (i), x (j) ab, nicht aber von den Featurevektoren der Datenpunkte selbst. Das duale Problem lässt sich also formulieren als: Definition 2.12 (Duales Optimierungsproblem) Unter den Bedingungen: max W (α) α 0 (1) m y(i) α i = 0 α i α i j=1 j=1

12 12 Christoph Raupach Die Lösung dieses Problems ist ein Vektor α, so dass gilt w = αi y (i) x (i) Die Hypothese h w,b (x) der Support Vektor Maschine ergibt sich dann nach dem Finden eines optimalen Wertes b für b als h w,b (x) = g((w ) T x + b ) = g( w, x + b ) = g( αi y (i) x (i), x + b ) Auch h w,b (x) hängt also nur noch vom Skalarprodukt x(i), x der Features der Trainingsbeispiele und des zu klassifizierenden Datenpunktes ab, nicht mehr von den Featurevektoren selbst. Da sowohl das Optimierungsproblem als auch die Hypothese nicht mehr von den Featurevektoren selbst abhängen, können bestimmte, sehr hochdimensionale Featureräume benutzt werden. In Unterabschnitt 2.3 gehe ich näher auf die Verwendung solcher Featureräume ein. Ein weiterer Vorteil des Optimierungsproblems, so wie es in Definition 2.12 formuliert ist, liegt wie bereits erwähnt darin, dass die Klassifikation eines neuen Datenpunktes x nur noch von wenigen Trainingsbeispielen x (i) der Trainingsmenge abhängt, da viele αi als 0 gewählt werden. Da nach dem Satz von Karush-Kuhn-Tucker gilt i : α i g i (w ) = 0 also, bezogen auf das vorliegende Problem i : α i ( y (i) ((w ) T x (i) + b ) + 1) = 0 folgt für alle Trainingsbeispiele i entweder αi = 0 oder y (i) ((w ) T x (i) + b ) = 1. Da aber y (i) ((w ) T x (i) + b ) gerade den functional margin eines Trainingsbeispiels i angibt und der minimale functional margin aller Trainingsbeispiele im Optimierungsproblem 2.7 genau 1 ist, folgt, dass αi > 0 nur für die Trainingsbeispiele gilt, die minimalen Abstand zur Hyperebene (w, b ) haben. Die Klassifikation eines neuen Datenpunktes x anhand der Hypothese h w,b (x) erfordert also in vielen Fällen nur eine Berechnung über relativ wenigen Trainingsbeispielen. Die Trainingsbeispiele mit αi > 0 heißen auch Support Vektoren. Zum Lösen der entstehenden Optimierungsprobleme gibt es mehrere Algorithmen von denen der bekannteste der SMO Algorithmus von Platt ist, der in [20] beschrieben wird. Die Laufzeit des SMO Algorithmus wurde auf vielen Datensätzen experimentell mit etwa Θ(n 2 ) bestimmt.

13 Spamerkennung in TREC und CEAS Der Kernelbegriff Die meisten in der Praxis vorkommenden Lernprobleme sind nicht linear separierbar. In diesem Abschnitt möchte ich nach [28] eine der Möglichkeiten vorstellen, auch nicht linear separierbare Probleme mit einer Support Vektor Maschine zu lernen. Um dies zu verdeutlichen möchte ich zunächst ein Beispiel angeben: Abb. 3. Nicht linear separierbare Trainingsmenge Die in Abbildung 3 gezeigte eindimensionale Trainingsmenge ist nicht linear separierbar, man kann die Klassen also nicht durch eine einzelne Hyperebene ( voneinander ) trennen. Bildet man die Trainingsmenge aber durch x φ(x) = x 2 in einen zweidimensionalen Raum ab, so ergibt sich die in Abbildung 4 gezeigte Situation. Abb. 4. linear separierbare Trainingsmenge Oft kann man also das Problem der fehlenden linearen Separierbarkeit dadurch abmildern, dass man die Datenpunkte durch eine Abbildung φ in einen höherdimensionalen Raum abbildet. Da die in Abschnitt 2.2 hergeleitete Version des Optimierungsproblems nur vom Skalarprodukt der Datenpunkte abhängt, ist es möglich jede Abbildung φ zu benutzen, solange für zwei Datenpunkte x, y das Skalarprodukt φ(x), φ(y) effizient berechenbar ist. In vielen Einzelfällen ist es möglich φ(x), φ(y) deutlich effizienter zu berechnen als φ(x). Betrachten wir beispielsweise für x R d die Abbildung φ(x) = (x i x j ) 1 i,j d. Um für ein x R d den Bildpunkt φ(x) zu berechnen, wird Zeit Θ(d 2 ) benötigt. Auf der anderen Seite gilt:

14 14 Christoph Raupach φ(x), φ(y) = d j=1 d x i x j y i y j ( d ) d = x i y i x j y j j=1 = (x T y) 2 =: K φ (x, y) Man kann also K φ (x, y) := φ(x), φ(y) in Zeit O(d) berechnen. Es macht nun Sinn K(x, y) als eine eigenständige Funktion zu definieren. Definition 2.13 (Kernelfunktion, Kernelmatrix) Eine Funktion K : R d R d R ist genau dann eine Kernelfunktion, wenn es eine Abbildung φ gibt, so dass für alle x, y R d gilt: K(x, y) = φ(x), φ(y) Für eine Menge von Datenpunkten {x (1),..., x (m) } ist die Kernelmatrix definiert als KM R m m mit KM ij = K(x (i), x (j) ). Der Satz von Mercer (zitiert nach seiner Form in [28]) liefert nun ein Kriterium nach dem man für eine gegebene Funktion K : R d R d R prüfen kann, ob K ein gültiger Kernel ist. Dadurch wird es möglich sehr viele unterschiedliche Funktionen K als Kernelfunktionen zu benutzen. Satz 2.14 (Satz von Mercer) Sei K : R d R d R eine Funktion. K ist genau dann eine gültige Kernelfunktion, wenn für alle endliche Mengen von Datenpunkten {x (1),..., x (m) } gilt, dass die Kernelmatrix KM symmetrisch positiv semidefinit ist. Formuliert man nun die im Optimierungsproblem 2.12 verwendete Zielfunktion W (α), sowie die sich ergebende Hypothese h w,b unter Verwendung von Kernelfunktionen um, so erhält man: W (α) = α i 1 2 j=1 h w,b (x) = g( αi y (i) K(x (i), x) + b) α i α j y (i) y (j) K(x (i), x (j) ) Das Auswählen eines geeigneten Kernels ist (eng verknüpft mit dem Auswählen geeigneter Features) ein Kernproblem bei der Verwendung von Support Vektor Maschinen. Auf die konkrete Wahl des Kernels der Implementation durch Sculley et al. zur Spamerkennung gehe ich in Abschnitt 2.6 näher ein.

15 Spamerkennung in TREC und CEAS Soft Margin SVMs Obwohl das Verwenden des richtigen Kernels dazu führen sollte, dass die Trainingsmenge prinzipiell linear separierbar ist, kann dies nicht im Allgemeinen garantiert werden. Durch einzelne Ausreißer kann es dazu kommen, dass die Trainingsmenge nicht mehr linear separierbar ist oder die Entscheidungsgrenze durch wenige Datenpunkte erheblich verzerrt wird. Abb. 5. Ausreißer ohne und mit Soft Margins Abbildung 5 zeigt, wie stark ein einzelner Ausreißer die Entscheidungsgrenze verzerren kann, wenn man fordert, dass alle Punkte richtig klassifiziert werden. Um diesem Problem entgegenzutreten, werden sogenannte Soft Margin Support Vektor Maschinen verwendet. Eine Soft Margin Support Vektor Maschine optimiert ein, im Vergleich zur klassichen Support Vektor Maschine, leicht verändertes Problem: Definition 2.15 (Soft Margin Optimierungsproblem) Unter den Bedingungen: min w,b,ξ w 2 + C (1) i {1,..., n} : y (i) (w T x (i) + b) 1 ξ i (2) i {1,..., n} : ξ i 0 Durch geeignete Wahl eines ξ i wird erlaubt, dass der functional margin y (i) (w T x (i) + b) negativ werden kann, das entsprechenden Beispiel also bewusst falsch klassifiziert wird. Dadurch, dass die ξ i in die Zielfunktion einfließen, wird sichergestellt, dass nicht zuviele Punkte der Trainingsmenge falsch klassifiziert werden und eine möglichst gute Gesamtlösung gefunden wird. Über die Konstante C R + kann man dabei steuern, wie wichtig die korrekte Klassifikation der Trainingsbeispiele ist. Analog zum Vorgehen in Abschnitt 2.2 kann auch dieses Optimierungsproblem mit der Hilfe von Lagrangefunktionen umformuliert werden. Man kann also Soft Margin Support Vektor Maschinen mit den in Abschnitt 2.3 vorgestellten Methoden kombinieren. ξ i

16 16 Christoph Raupach 2.5 Relaxed Online SVMs Das übliche Vorgehen bei der Verwendung von SVMs ist es, die SVMs zunächst auf einer Menge von Trainingsbeispielen zu trainieren und dann zur Klassifikation einer anderen Menge von Datenpunkten zu verwenden. Im Bereich der Spamerkennung ist es aber normalerweise so, dass s als Datenstrom ankommen und klassifiziert werden, sobald sie eintreffen. Zusätzlich sollte ein Spam-Erkennungsalgorithmus in der Lage sein, sich an falsch klassifizierte s anzupassen, also auch während des Klassifizierens zu lernen. Algorithmus 1 ist nach [23] 1 ein naiver Versuch, Support Vektor Maschinen für einen Datenstrom X = ((x 1, y 1 ),...) nutzbar zu machen. Die ankommenden Beispiele werden der Reihe nach klassifiziert. Eine neue Hypothese wird berechnet, wenn entweder ein Beispiel (x, y) falsch klassifiziert wird, also gilt y ( w, x + b) < 0 oder der functional margin eines Beispiels kleiner als 1 ist, also gilt 0 y ( w, x + b) < 1. Algorithm 1 Online SVM(X = ((x 1, y 1 ),...), C) 1: Initialisiere (w, b) 2: SeenData 3: while X do 4: (x, y) nächstes Beispiel in X 5: SeenData SeenData {(x, y)} 6: Klassifiziere x mit f(x) = g( w, x + b) 7: if y ( w, x + b) < 1 then 8: Lerne eine neue Hypothese w, b durch Anwendung von SMO auf SeenData 9: w w 10: b b 11: end if 12: end while Zu beachten ist dabei, dass der Vektor w der Hyperebene nicht explizit gespeichert, sondern wie in den Abschnitten 2.2 und 2.3 dargestellt wird, also nur das Skalarprodukt zwischen den Trainingsbeispielen in SeenData und neuen Datenpunkten x relevant ist. Algorithmus 1 verwendet den SMO Algorithmus nach [20] um neue Hypothesen zu berechnen, hat also bei der praktischen Anwendung das Problem, dass jede Ausführung des SMO Algorithmus etwa Zeit Θ( SeenData 2 ) kostet. Die Zeit zur Neuberechnung der Hypothese bei einem 1 Ich habe den Algorithmus im Vergleich zu [23] leicht abgeändert, da die Darstellung in [23] nahelegt, dass das neue Beispiel (x, y) beim Anpassen der Hypothese nicht berücksichtigt wird.

17 Spamerkennung in TREC und CEAS 17 schlecht klassifizierten Beispiel steigt also quadratisch mit der Anzahl der bereits gesehenen Beispiele, wodurch der Algorithmus in der Praxis für große Datenmengen unbenutzbar wird. Um auch die Klassifikation großer Datenströme zu ermöglichen, schlagen Sculley et al. in [23] das Konzept der Relaxed Online Support Vektor Maschine (oder ROSVM ) vor. Der Algorithmus einer Relaxed Online Support Vektor Maschine (Algorithmus 2) unterscheidet sich vom naiven Ansatz durch zwei Änderungen. Algorithm 2 Relaxed Online SVM(X = ((x 1, y 1 ),...), m, p, C) 1: Initialisiere (w, b) 2: SeenData 3: while X do 4: (x, y) nächstes Beispiel in X 5: if SeenData > p then 6: Entferne das älteste Beispiel aus SeenData 7: end if 8: SeenData SeenData {(x, y)} 9: Klassifiziere x mit f(x) = g( w, x + b) 10: if y ( w, x + b) < m then 11: Lerne eine neue Hypothese w, b durch Anwendung von SMO auf SeenData 12: w w 13: b b 14: end if 15: end while Nun werden bei der Berechnung einer neuen Hypothese nur noch die letzten p Datenpunkte im Datenstrom berücksichtigt. Der Aufwand zur Berechnung einer neuen Hypothese ist also nur noch etwa Θ(p 2 ). Außerdem wird nicht jedesmal eine neue Hypothese berechnet, wenn der functional margin eines Beispiels kleiner als 1 ist, sondern nur noch, wenn er kleiner als 0 m 1 ist. Dadurch wird weniger oft eine neue Hypothese berechnet (falls m auf 0 gesetzt wird, wird sogar nur dann eine neue Hypothese berechnet, wenn ein Beispiel falsch klassifiziert wurde), was für m < 1 zu einem Laufzeitgewinn auf Kosten von Genauigkeit führt. Wir haben nun alle Werkzeuge erarbeitet, die wir brauchen um die Implementation der ROSVM durch Sculley et al. für die TREC und CEAS Spam- Challenges zu verstehen.

18 18 Christoph Raupach 2.6 Die Implementation von Sculley et al. In [24] stellen Sculley et al. ihre Implementation der ROSVM für die TREC- Spam-Challenge vor, die auch als Referenz in der CEAS-Spam-Challenge verwendet wurde. Die erste wichtige Entscheidung bei der Implementation ist die Wahl des Featureraumes, die auch die Wahl des Kernels bestimmt. Sculley et al. verwenden in [24] einen sogenannten Binary 4-mer Featureraum, der ursprünglich in [16] zur Protein-Klassfikation verwendet wurde. Dieser Featureraum verwendet ein Feature (eine Dimension) für jede mögliche Zeichenfolge der Länge genau 4. Die 4-mer werden mittels eines Sliding-Window-Ansatzes für jede Folge von 4 aufeinanderfolgenden Zeichen in den ersten 3000 Zeichen jeder erstellt, sie enthalten also auch Leerzeichen und überlappen sich. Der Binary 4-mer Featureraum hat die Vorteile, dass er prinzipiell sprachunabhängig ist (Sonderzeichen werden z.b. berücksichtigt), kein Domänenwissen benötigt und Worte nicht exakt übereinstimmen müssen, um als ähnlich erkannt zu werden. Choose our huge company with absolute superb service.... hugc 0 hugd 0 huge 1 hugf 0... Abb. 6. Beispiel für einen 4-mer Featurevektor Abbildung 6 zeigt einen beispielhaften Ausschnitt aus einem 4-mer Featurevektor. Der Nachteil des 4-mer Featureraums ist, dass er sehr hochdimensional ist: Wenn jedes mögliche Zeichen ein Byte groß ist, gibt es 2 8 mögliche Zeichen, also 2 32 mögliche unterschiedliche Zeichenfolgen der Länge 4. In der Praxis wurden von Sculley et al. in verschiedenen Datensätzen der TREC-Spam- Challenge zwischen und unterschiedliche Zeichenfolgen der Länge 4 gefunden. Da nur die ersten 3000 Zeichen jeder berücksichtigt werden, kann man allerdings davon ausgehen, dass jeder Datenpunkt x {0, 1} 232 ein sehr dünn besetzter Vektor ist. Um den Binary 4-mer Featureraum zu verwenden ist es also nötig, effizient das Skalarprodukt x, y zweier sehr hochdimensionaler, dünn besetzer, binärer Vektoren zu berechnen. Sculley et al. berechnen in [24] dieses Skalarprodukt, in dem jeder Datenpunkt x als ein sortiertes Array gespeichert wird in dem jedes Element den Index eines Features angibt, das einen Wert von 1 hat. Das

19 Spamerkennung in TREC und CEAS 19 Skalarprodukt lässt sich nun in Zeit O(s) berechnen, wobei s die Anzahl der Features ist, die einen Wert von 1 haben. Die Parameter m, p, C der ROSVM wurden von Sculley et al. für die TREC- Spam-Challenge in drei Varianten gewählt, die unter den Bezeichnungen TFTS1F bis TFTS3F antraten. Die Ergebnisse der ROSVM von Sculley et al. werden in Abschnitt 4 vorgestellt. Abschnitt 5 diskutiert die Ergebnisse und vergleicht sie mit den Ergebnissen der Orthogonal Space Bigrams with Confidence Factor Methode von Fidelis Assis et al., die ich im folgenden Abschnitt vorstellen werde. 3 Orthogonal Sparse Bigrams with Confidence Factor Nachdem ich im letzen Abschnitt mit den ROSVMs den ersten Algorithmus dieser Arbeit vorgestellt habe möchte ich nun eine Methode beschreiben, die im Gegensatz zu den Support Vektor Maschinen speziell zur Spam- Erkennung entwickelt wurde: Orthogonal Sparse Bigrams with Confidence Factor (OSBF). Orthogonal Sparse Bigrams with Confidence Factor ist eine Kombination aus den Techniken der Orthogonal Sparse Bigrams zur Featureerzeugung (Abschnitt 3.3) und des Exponential Differential Document Count (Abschnitt 3.2), einer auf Bayes-Klassifikatoren basierenden Technik. Bevor ich den Exponential Differential Document Count einführe möchte ich in Abschnit 3.1 zunächst auf einige Grundlagen von Bayes-Klassifikatoren eingehen. Abschnitt 3.4 geht schließlich auf die Trainingsmethode ein, die von OSBF für die TREC-Spam- Challenge verwendet wurde. 3.1 Bayes-Klassifikatoren OSBF ist nach [5] ein bayes scher Filter, klassifiziert also s auf der Grundlage von Bayes Theorem. Satz 3.1 (Bayes Theorem) Seien S und F zwei Ereignisse. Dann ist die Wahrscheinlichkeit P r(s F ) das S eintritt, unter der Bedingung, dass F bereits eingetreten ist, gegeben als: P r(s F ) = P r(f S) P r(s) P r(f ) Allgemein kann man für unabhängige Ereignisse F 1,..., F n die Wahrscheinlichkeit P r(s F 1,..., F n ) durch mehrfaches Anwenden von Bayes Theorem ausdrücken als: P r(s F 1,..., F n ) = P r(s) n j=1 P r(f j S)) P r(f j )

20 20 Christoph Raupach Bei der Spam Klassifikation durch einen Bayes Klassifikator macht es Sinn, Datenpunkte nicht, wie in Abschnitt 2 als Punkte im R d aufzufassen, sondern stattdessen als eine Menge von Features. Ich werde, um einen anderen Begriff als in Abschnitt 2 zu wählen, im Folgenden von Featuremengen sprechen. Definition 3.2 (Featuremenge) Eine Featuremenge x = {F 1,..., F n } ist eine (endliche) Menge von Features. Analog zu Abschnitt 2 ist ein Trainingsbeispiel eine Featuremenge x kombiniert mit seiner Klasse y. Da ich Bayes-Klassifikatoren im Kontext der Spam Erkennung betrachte, werde ich im folgenden nach [5] annehmen, dass die Menge der möglichen Klassen durch die Menge {S, H} gegeben ist. Die Klasse S steht dabei für eine Spam- , während die Klasse H für eine Ham- (also eine Nicht-Spam- ) steht. Definition 3.3 (Trainingsbeispiel, Trainingsmenge) Ein Trainingsbeispiel (x, y) ist ein Tupel aus einer Featuremenge x und der zugehörigen Klasse y {S, H}. Eine Trainingsmenge T = {(x 1, y 1 ),..., (x m, y m )} = S H ist eine Menge aus Trainingsbeispielen. Die Teilmenge S T ist dabei definiert als: Analog ist H T definiert als: S = {(x, y) T : y = S} H = {(x, y) T : y = H} Das Ziel ist es nun, für eine gegebene Featuremenge x die Wahrscheinlichkeit P r(s x), also die Wahrscheinlichkeit, dass eine Spam ist, wenn sie durch x repräsentiert wird, abzuschätzen. Um Bayes Theorem anwenden zu können muss dafür zunächst die Wahrscheinlichkeit P r(s), also die a priori Wahrscheinlichkeit, dass eine Spam ist, ermittelt werden. Dann müssen für jedes Feature F i die Wahrscheinlichkeiten P r(f i ) und P r(f i S), also die a priori Wahrscheinlichkeit das F i in einer vorkommt und die bedingte Wahrscheinlichkeit mit der F i in einer Spam- vorkommt, geschätzt werden. Gegeben eine Trainingsmenge T = {(x 1, y 1 ),..., (x m, y m )} = S H mit m Trainingsbeispielen (x, y) ist dies wie folgt möglich: Die Wahrscheinlichkeiten P r(s), P r(f i ) können anhand der Trainingsbeispiele mit P r(s) = S m P r(f i ) = {(x, y) T : F i x} m abgeschätzt werden. Die bedingte Wahrscheinlichkeit P r(f i S) kann für jedes Feature F i abgeschätzt werden durch

21 Spamerkennung in TREC und CEAS 21 P r(f i S) = {(x, y) S : F i x} S Obwohl in der Realität die einzelnen Features F i selten völlig unabhängig sind, nimmt man zum Zwecke der Klassifikation normalerweise an, sie wären es. Ein Bayes Klassifikator schätzt die bedingte Wahrscheinlichkeit P r(s x) nun also mit Hilfe von Bayes Theorem als P r(s x) = P r(s F 1,..., F n ) = P r(s) n j=1 P r(f j S)) P r(f j ) ab. Analog wird auch die Wahrscheinlichkeit P r(h x) abgeschätzt. Um die Featuremenge x zu klassifizieren wird nun normalerweise y = arg max y {S,H} P r(y x) als Klasse genommen. In [6] wird allerdings eine alternative Methode beschrieben, die den Vorteil hat, dass das Ergebnis der Klassifikation ein Zahlenwert ist, an dem man ablesen kann, wie sicher die Klassifikation war. Die Berechnungsvorschrift nach [6] ist c = log 10 P r(h x) P r(s x) Es gilt nun c > 0 genau dann, wenn P r(h x) > P r(s x). Außerdem wird c größer, wenn der Unterschied zwischen P r(h x) und P r(s x) größer wird. Man kann also sagen, dass Featuremengen, für die c groß ist, sicherer klassifiziert wurden, als Featuremengen mit einem kleinen Wert von c. Ein Problem von Bayes Klassifikatoren ist allerdings, dass sie sehr empfindlich gegenüber Features sind, die in der Trainingsmenge nur selten vorkommen. Wenn zum Beispiel ein Feature F i in genau einem (Ham-)Beispiel (x, H) der Trainingsmenge T vorkommt, so werden die bedingten Wahrscheinlichkeiten P r(f i S) und P r(f i H) mit P r(f i S) = 0 und P r(f i H) = 1 abgeschätzt. Gerade im Fall von P r(f i S) hat das weitreichende Auswirkungen auf die Klassifikation von unbekannten Featuremengen x, da nun für jede Featuremenge x mit F i x folgt P r(s x) = P r(s F 1,..., F n ) = P r(s) n j=1 P r(f j S)) P r(f j ) Um diesem Problem aus dem Weg zu gehen, wurde in [5] eine Erweiterung der baye schen Regel, der sogenannte Exponential Differential Document Count vorgeschlagen, den ich im folgenden Abschnitt beschreiben möchte. 3.2 Exponential Differential Document Count Beim in [5] vorgestellten Exponential Differential Document Count (oder Konfidenzfaktor) geht es darum, den Einfluss von Features, die nur selten vorkommen und die keinen großen Informationsgewinn bringen, zu begrenzen. Für ein = 0

22 22 Christoph Raupach Beispiel F wird dabei für jede Klasse y {S, H} ein neuer Wert P r a (F y) berechnet, der anstelle der abgeschätzen bedingten Wahrscheinlichkeit P r(f y) verwendet wird. Gegeben einen Konfidenzfaktor CF (F ) [0, 1] berechnet sich P r a (F y) als: P r a (F y) = CF (F ) (P r(f y) 0.5) Der Konfidenzfaktor kann also verwendet werden, um den Einfluss eines Features F zu begrenzen. Wird CF (F ) = 0 gewählt, so gilt y {S, H} : P r a (F y) = 0.5 Das Feature hat also keine Auswirkungen mehr. Auf der anderen Seite hat ein Feature F mit Konfidenzfaktor CF (F ) = 1 in P a (F y) denselben Einfluss, wie in P (F y). In [5] wird nun mittels eines Verfahrens, das als empirische Deduktion bezeichnet wird, eine Formel für den Konfidenzfaktor hergeleitet. Diese Formel basiert auf den Unterschieden zwischen de normierten Anzahl eines Features in Spam und Ham Beispielen. Definition 3.4 (Anzahl, normierte Anzahl) Sei T = S H eine Trainingsmenge mit S Spam-Trainingsbeispielen und H Ham-Trainingsbeispielen. Dann ist für ein Feature F die Anzahl für S und H definiert als D F,S = {x S : F x} D F,H = {x H : F x} Die normierte Anzahl ist definiert als 2 : ND F,S = ND F,H = { H { S S D F,S, falls H > S D F,S, sonst H D F,H, falls S > H D F,H, sonst Der Ausgangspunkt für die Berechnung des Konfidenzfaktors eines Features F ist nun die Formel: ( NDF,S ND F,H CF (F ) = ND F,S + ND F,H ) 2 2 Diese Definition kommt in [5] nicht vor und wurde von mir der OSBF-Lua Implementation [19] entnommen

23 Spamerkennung in TREC und CEAS 23 Eine derartige Berechnung des Konfidenzfaktors betont Features mit stark unterschiedlichem Auftreten in Spam-Beispielen und Ham-Beispielen und garantiert, dass CF (F ) immer im Intervall [0, 1] liegt. Allerdings wird der Konfidenzfaktor für Features mit kleiner normierter Anzahl sehr groß: Für ein Feature mit ND F,S = 1 und ND F,H = 0, das nur in einem Beispiel vorkommt, gilt nun CF (F ) = 1, was der geringen absoluten Bedeutung dieses Features nicht entspricht und wieder zum ursprünglichen Problem von baye schen Klassifikatoren zurückführt. Um dies auszugleichen wird die Formel erweitert zu: CF (F ) = (ND F,S ND F,H ) 2 (ND F,S + ND F,H ) 2 c 1 D F,S +D F,H Nun ist der Konfidenzfaktor je nach Wahl von c 1 [0, 1] für ein Feature F mit ND F,S = 1 und ND F,H = 0, das nur in einem Beispiel vorkommt, deutlich geringer. In der nächsten Erweiterung der Formel werden mögliche, intrinsischen Gewichte W F von Features F integriert. Um solche Gewichte zu berücksichtigen und um die Bedeutung von Features, die in vielen Beispielen vorkommen nocheinmal zu stärken, wird nun der Term W F (D F,S +D F,H ) 1+W F (D F,S +D F,H ) an die Berechnungsvorschrift multipliziert. Sie lautet nun also: c 1 D F,S +D F,H CF (F ) = (ND F,S ND F,H ) 2 (ND F,S + ND F,H ) 2 W F (D F,S + D F,H ) 1 + W F (D F,S + D F,H ) Um außerdem Features mit einer großen Anzahl nocheinmal stärker zu bewerten wird das Produkt ND F,S ND F,H in die Formel eingefügt: CF (F ) = (ND F,S ND F,H ) 2 + ND F,S ND F,H (ND F,S + ND F,H ) 2 W F (D F,S + D F,H ) 1 + W F (D F,S + D F,H ) c 1 D F,S +D F,H Als letzte Ergänzung werden zwei zusätzliche Parameter c 2, c 3 eingefügt, mit denen man das Verhalten des Konfidenzfaktors kontrollieren kann: CF (F ) = ( (NDF,S ND F,H ) 2 + ND F,S ND F,H (ND F,S + ND F,H ) 2 W F (D F,S + D F,H ) 1 + c 3 W F (D F,S + D F,H ) c 1 D F,S +D F,H ) c2

24 24 Christoph Raupach In den in [5] durchgeführten Experimenten stellte sich c 1 = 0.25, c 2 = 10, c 3 = 8 als beste Wertekombination für c 1, c 2, c 3 heraus. Im folgenden Abschnitt möchte ich nun das Verfahren der Orthogonal Sparse Bigrams vorstellen, mit dem OSBF aus s Featuremengen generiert. 3.3 Orthogonal Sparse Bigrams Orthogonal Sparse Bigrams ist nach [27] eine Technik, um aus s Featuremengen für die Spamerkennung zu entnehmen. Orthogonal Sparse Bigrams bauen dabei auf die Technik des Sparse Binary Polynomial Hashing (SBPH) auf, bei dem Features aus Kombinationen von bis zu N Worten bestehen. Die Grundlage für beide Verfahren ist dabei ein Dokument. Definition 3.5 (Dokument) Ein Dokument ist eine (endliche) Folge von Worten w 1,..., w m. Beim Sparse Binary Polynomial Hashing werden für ein festes N für jede Wortfolge w 1,..., w N, die im Dokument vorkommt, 2 N 1 Features generiert. Dabei wird für jede mögliche Teilfolge von w 1,..., w N, die das neueste Wort w N enthält und in der beliebige Worte ausgelassen werden können, ein Feature erzeugt. Für die Wortfolge Poke It With A Stick werden also beispielsweise folgende Features erzeugt: # Binär Poke It With A Stick 1 1 Stick 3 11 A Stick With <skip> Stick With A Stick It <skip> <skip> Stick It <skip> A Stick It With <skip> Stick It With A Stick Poke <skip> <skip> <skip> Stick Poke <skip> <skip> A Stick Poke <skip> With <skip> Stick Poke <skip> With A Stick Poke It <skip> <skip> Stick Poke It <skip> A Stick Poke It With <skip> Stick Poke It With A Stick

25 Spamerkennung in TREC und CEAS 25 Der Nachteil des Sparse Binary Polynomial Hashings ist, dass für jede Wortfolge sehr viele Features erzeugt werden. Zudem sind die durch SBPH erzeugten Features nicht linear unabhängig, bezüglich einer binären ODER-Operation: So ist es im Beispiel möglich Feature 7 durch eine binäre ODER-Operation von Feature 5 und Feature 3 zu erzeugen. Die Idee der Orthogonal Sparse Bigrams ist es nun, nur die linear unabhängigen Kombinationen aus genau zwei Worten als Features zu erzeugen. Alle Features, bis auf Feature 1 können dann durch binäre ODER-Operationen erzeugt werden. Im Beispiel werden folgende Features generiert: # Binär Poke It With A Stick 3 11 A Stick With <skip> Stick It <skip> <skip> Stick Poke <skip> <skip> <skip> Stick Im Allgemeinen werden für ein Fenster der Länge N nur noch N 1 Features erzeugt. Um nun für ein gegebenes Dokument w 1,..., w m bestehend aus m Worten Features zu erzeugen, kann man mittels eines Sliding-Window-Ansatzes ein Fenster der Länge N m über das Dokument schieben. Für jede Position des Fensters werden alle N 1 neuen Features erzeugt und ausgegeben. Aus diesen Features wird dann eine Featuremenge als Eingabe für den Klassifizierungsalgorithmus generiert. Bevor man aber damit beginnen kann, Features aus einer zu erzeugen, muss die erst in ein Dokument der Form w 1,..., w m umgewandelt werden. Insbesondere muss also eine Regel festgelegt werden, nach der die Worte voneinander getrennt werden. Die in [27] vorgeschlagenen Methoden zur Worttrennung wurden dabei in den 4 Konfigurationen von OSBF, die zur TREC eingereicht wurden nicht verwendet. Stattdessen trennten nach [4] zwei der eingereichten Konfigurationen (ofls1f und ofls3f) Worte an Leerzeichen, während die anderen beiden Konfigurationen (ofls2f, ofls4f) Worte zusätzlich an beliebigen Zeichen c :, / } trennten. Die Konfigurationen ofls2f und ofls4f teilten also z.b. -Adressen und Domainnamen in mehrere Worte auf, während ofls1f und ofls3f diese als ein Wort ansahen. OSBF verwendet nun die Kombination aus Orthogonal Sparse Bigrams und dem Exponential Differential Document Count, um aus s Featuremengen zu erzeugen und diese zu klassifizieren. Die bei der TREC 2006 eingereichte Version von OSBF zeichnete sich im Vergleich zu früheren OSBF Versionen

26 26 Christoph Raupach durch eine neue Trainingsmethode aus, auf die ich im folgenden Abschnitt eingehen möchte. 3.4 Trainingsmethode Das Training eines baye schen Klassifikators besteht hauptsächlich darin, die bedingten Wahrscheinlichkeiten P (F i S) und P (F i H) für alle Features F i abzuschätzen. Wie schon in Abschnitt 2.5 bei den Online Support Vektor Maschinen gesehen, soll es auch hier möglich sein, anhand eines Datenstroms (x 1, y 2 ), (x 2, y 2 ),... von Trainingsbeispielen zu lernen. Die klassische Methode, einen baye schen Klassifikator zu trainieren, ist dabei, bei jedem falsch klassifizierten Beispiel (x, y) die Werte für die bedingten Wahrscheinlichkeiten anzupassen. Diese Methode wird Train On Error (TOE) genannt. Die naive Idee, bei jedem Trainingsbeispiel die Werte anzupassen führt im Vergleich dazu zu schlechteren Ergebnissen, da falsch klassifizierte Beispiele dann nicht mehr genügend Einfluss auf die Werte von P (F i S) und P (F i H) haben. Eine erste, in [31] und [27] vorgestellte, Verbesserung ist es nicht nur bei Fehlern, sondern auch bei sehr unsicher klassifizierten Beispielen die bedingten Wahrscheinlichkeiten anzupassen. Ein unsicher klassifiziertes Beispiel ist dabei, wie am Ende von Abschnitt 3.1 erwähnt, ein Beispiel bei dem der absolute Wert von log 10 P (H x) P (S x) zu niedrig ist. Die genauen Grenzen können dabei unterschiedlich gewählt werden. Diese Trainingsmethode heißt Train On Near Error (TONE). OSBF modifiziert die TONE Methode noch etwas weiter: Wenn ein Trainingsbeispiel trainiert wurde und nach dem Training immer noch unsicher klassifiziert wird, so wird das Training wiederholt. Bei dieser Wiederholung werden allerdings nur die Informationen aus dem Header der zum Trainingsbeispiel gehörigen verwendet. Durch diese Wiederholungen wird der Klassifikator darauf trainiert, bei schwer zu klassifizierenden Beispielen vor allem auf die Headerinformationen zu achten. Diese neue Variante von TONE wird in [4] Training On Near Error with Header Reinforcement (TONE-HR) genannt. 4 Die TREC und CEAS-Challenges In diesem Abschnitt möchte ich die Ergebnisse der ROSVM und von OSBF in den TREC und CEAS-Challenges präsentieren, während die eigentliche Diskussion dieser Ergebnisse in Abschnitt 5 erfolgt. Dazu will ich zunächst in

x 2 x 1 x 3 5.1 Lernen mit Entscheidungsbäumen

x 2 x 1 x 3 5.1 Lernen mit Entscheidungsbäumen 5.1 Lernen mit Entscheidungsbäumen Falls zum Beispiel A = {gelb, rot, blau} R 2 und B = {0, 1}, so definiert der folgende Entscheidungsbaum eine Hypothese H : A B (wobei der Attributvektor aus A mit x

Mehr

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen?

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen? Entscheidungsbäume Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen? Definition Entscheidungsbaum Sei T ein Binärbaum und A = {a 1,..., a n } eine zu sortierenden Menge. T ist ein Entscheidungsbaum

Mehr

Optimalitätskriterien

Optimalitätskriterien Kapitel 4 Optimalitätskriterien Als Optimalitätskriterien bezeichnet man notwendige oder hinreichende Bedingungen dafür, dass ein x 0 Ω R n Lösung eines Optimierungsproblems ist. Diese Kriterien besitzen

Mehr

Maschinelles Lernen: Neuronale Netze. Ideen der Informatik Kurt Mehlhorn

Maschinelles Lernen: Neuronale Netze. Ideen der Informatik Kurt Mehlhorn Maschinelles Lernen: Neuronale Netze Ideen der Informatik Kurt Mehlhorn 16. Januar 2014 Übersicht Stand der Kunst im Bilderverstehen: Klassifizieren und Suchen Was ist ein Bild in Rohform? Biologische

Mehr

2. Lernen von Entscheidungsbäumen

2. Lernen von Entscheidungsbäumen 2. Lernen von Entscheidungsbäumen Entscheidungsbäume 2. Lernen von Entscheidungsbäumen Gegeben sei eine Menge von Objekten, die durch Attribut/Wert- Paare beschrieben sind. Jedes Objekt kann einer Klasse

Mehr

Mit KI gegen SPAM. Proseminar Künstliche Intelligenz

Mit KI gegen SPAM. Proseminar Künstliche Intelligenz Mit KI gegen SPAM Proseminar Künstliche Intelligenz SS 2006 Florian Laib Ausblick Was ist SPAM? Warum SPAM-Filter? Naive Bayes-Verfahren Fallbasiertes Schließen Fallbasierte Filter TiMBL Vergleich der

Mehr

Lernende Suchmaschinen

Lernende Suchmaschinen Lernende Suchmaschinen Qingchui Zhu PG 520 - Intelligence Service (WiSe 07 / SoSe 08) Verzeichnis 1 Einleitung Problemstellung und Zielsetzung 2 Was ist eine lernende Suchmaschine? Begriffsdefinition 3

Mehr

Teil II. Nichtlineare Optimierung

Teil II. Nichtlineare Optimierung Teil II Nichtlineare Optimierung 60 Kapitel 1 Einleitung In diesem Abschnitt wird die Optimierung von Funktionen min {f(x)} x Ω betrachtet, wobei Ω R n eine abgeschlossene Menge und f : Ω R eine gegebene

Mehr

Motivation. Themenblock: Klassifikation. Binäre Entscheidungsbäume. Ansätze. Praktikum: Data Warehousing und Data Mining.

Motivation. Themenblock: Klassifikation. Binäre Entscheidungsbäume. Ansätze. Praktikum: Data Warehousing und Data Mining. Motivation Themenblock: Klassifikation Praktikum: Data Warehousing und Data Mining Ziel Item hat mehrere Attribute Anhand von n Attributen wird (n+)-tes vorhergesagt. Zusätzliches Attribut erst später

Mehr

34 5. FINANZMATHEMATIK

34 5. FINANZMATHEMATIK 34 5. FINANZMATHEMATIK 5. Finanzmathematik 5.1. Ein einführendes Beispiel Betrachten wir eine ganz einfache Situation. Wir haben einen Markt, wo es nur erlaubt ist, heute und in einem Monat zu handeln.

Mehr

x 2 2x + = 3 + Es gibt genau ein x R mit ax + b = 0, denn es gilt

x 2 2x + = 3 + Es gibt genau ein x R mit ax + b = 0, denn es gilt - 17 - Die Frage ist hier also: Für welche x R gilt x = x + 1? Das ist eine quadratische Gleichung für x. Es gilt x = x + 1 x x 3 = 0, und man kann quadratische Ergänzung machen:... ( ) ( ) x x + = 3 +

Mehr

Algorithmen II Vorlesung am 15.11.2012

Algorithmen II Vorlesung am 15.11.2012 Algorithmen II Vorlesung am 15.11.2012 Kreisbasen, Matroide & Algorithmen INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales

Mehr

Textmining Klassifikation von Texten Teil 1: Naive Bayes

Textmining Klassifikation von Texten Teil 1: Naive Bayes Textmining Klassifikation von Texten Teil 1: Naive Bayes Dept. Informatik 8 (Künstliche Intelligenz) Friedrich-Alexander-Universität Erlangen-Nürnberg (Informatik 8) Klassifikation von Texten 1: Naive

Mehr

One-class Support Vector Machines

One-class Support Vector Machines One-class Support Vector Machines Seminar Wissensbasierte Systeme Dietrich Derksen 3. Januar 204 Motivation One-class Support Vector Machines: Detektion von Ausreißern (Systemfehlererkennung) Klassifikation

Mehr

Nichtlineare Optimierung ohne Nebenbedingungen

Nichtlineare Optimierung ohne Nebenbedingungen Kapitel 2 Nichtlineare Optimierung ohne Nebenbedingungen In diesem Abschnitt sollen im wesentlichen Verfahren zur Bestimmung des Minimums von nichtglatten Funktionen in einer Variablen im Detail vorgestellt

Mehr

3. Entscheidungsbäume. Verfahren zum Begriffslernen (Klassifikation) Beispiel: weiteres Beispiel: (aus Böhm 2003) (aus Morik 2002)

3. Entscheidungsbäume. Verfahren zum Begriffslernen (Klassifikation) Beispiel: weiteres Beispiel: (aus Böhm 2003) (aus Morik 2002) 3. Entscheidungsbäume Verfahren zum Begriffslernen (Klassifikation) Beispiel: weiteres Beispiel: (aus Böhm 2003) (aus Morik 2002) (aus Wilhelm 2001) Beispiel: (aus Böhm 2003) Wann sind Entscheidungsbäume

Mehr

Personalisierung. Der Personalisierungsprozess Nutzerdaten erheben aufbereiten auswerten Personalisierung. Data Mining.

Personalisierung. Der Personalisierungsprozess Nutzerdaten erheben aufbereiten auswerten Personalisierung. Data Mining. Personalisierung Personalisierung Thomas Mandl Der Personalisierungsprozess Nutzerdaten erheben aufbereiten auswerten Personalisierung Klassifikation Die Nutzer werden in vorab bestimmte Klassen/Nutzerprofilen

Mehr

9. Schätzen und Testen bei unbekannter Varianz

9. Schätzen und Testen bei unbekannter Varianz 9. Schätzen und Testen bei unbekannter Varianz Dr. Antje Kiesel Institut für Angewandte Mathematik WS 2011/2012 Schätzen und Testen bei unbekannter Varianz Wenn wir die Standardabweichung σ nicht kennen,

Mehr

Binäre lineare Optimierung mit K*BMDs p.1/42

Binäre lineare Optimierung mit K*BMDs p.1/42 Binäre lineare Optimierung mit K*BMDs Ralf Wimmer wimmer@informatik.uni-freiburg.de Institut für Informatik Albert-Ludwigs-Universität Freiburg Binäre lineare Optimierung mit K*BMDs p.1/42 Grundlagen Binäre

Mehr

Stackelberg Scheduling Strategien

Stackelberg Scheduling Strategien Stackelberg Scheduling Strategien Von Tim Roughgarden Präsentiert von Matthias Ernst Inhaltsübersicht Einleitung Vorbetrachtungen Stackelberg Strategien Ergebnisse Seminar Algorithmische Spieltheorie:

Mehr

Einführung. Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Vorlesungen zur Komplexitätstheorie. K-Vollständigkeit (1/5)

Einführung. Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Vorlesungen zur Komplexitätstheorie. K-Vollständigkeit (1/5) Einführung 3 Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Univ.-Prof. Dr. Christoph Meinel Hasso-Plattner-Institut Universität Potsdam, Deutschland Hatten den Reduktionsbegriff

Mehr

Entwicklung eines Distanzmaßes zwischen Bildern über dem Modell der Fields of Visual Words

Entwicklung eines Distanzmaßes zwischen Bildern über dem Modell der Fields of Visual Words Entwicklung eines Distanzmaßes zwischen Bildern über dem Modell der Fields of Visual Words André Viergutz 1 Inhalt Einführung. Einordnung der Arbeit in die zugrunde liegenden Konzepte Das Modell der Fields

Mehr

Lineare Gleichungssysteme

Lineare Gleichungssysteme Brückenkurs Mathematik TU Dresden 2015 Lineare Gleichungssysteme Schwerpunkte: Modellbildung geometrische Interpretation Lösungsmethoden Prof. Dr. F. Schuricht TU Dresden, Fachbereich Mathematik auf der

Mehr

Computer Vision: AdaBoost. D. Schlesinger () Computer Vision: AdaBoost 1 / 10

Computer Vision: AdaBoost. D. Schlesinger () Computer Vision: AdaBoost 1 / 10 Computer Vision: AdaBoost D. Schlesinger () Computer Vision: AdaBoost 1 / 10 Idee Gegeben sei eine Menge schwacher (einfacher, schlechter) Klassifikatoren Man bilde einen guten durch eine geschickte Kombination

Mehr

S=[n] Menge von Veranstaltungen J S kompatibel mit maximaler Größe J

S=[n] Menge von Veranstaltungen J S kompatibel mit maximaler Größe J Greedy-Strategie Definition Paradigma Greedy Der Greedy-Ansatz verwendet die Strategie 1 Top-down Auswahl: Bestimme in jedem Schritt eine lokal optimale Lösung, so dass man eine global optimale Lösung

Mehr

Codierungstheorie Rudolf Scharlau, SoSe 2006 9

Codierungstheorie Rudolf Scharlau, SoSe 2006 9 Codierungstheorie Rudolf Scharlau, SoSe 2006 9 2 Optimale Codes Optimalität bezieht sich auf eine gegebene Quelle, d.h. eine Wahrscheinlichkeitsverteilung auf den Symbolen s 1,..., s q des Quellalphabets

Mehr

EXTRAKTION UND KLASSIFIKATION VON BEWERTETEN PRODUKTFEATURES AUF WEBSEITEN

EXTRAKTION UND KLASSIFIKATION VON BEWERTETEN PRODUKTFEATURES AUF WEBSEITEN EXTRAKTION UND KLASSIFIKATION VON BEWERTETEN PRODUKTFEATURES AUF WEBSEITEN T-SYSTEMS MULTIMEDIA SOLUTIONS GMBH, 16. FEBRUAR 2012 1. Schlüsselworte Semantic Web, Opinion Mining, Sentiment Analysis, Stimmungsanalyse,

Mehr

Umsetzung von DEA in Excel

Umsetzung von DEA in Excel Umsetzung von DEA in Excel Thorsten Poddig Armin Varmaz 30. November 2005 1 Vorbemerkungen In diesem Dokument, das als Begleitmaterial zum in der Zeitschrift,,Controlling, Heft 10, 2005 veröffentlichten

Mehr

17. Penalty- und Barriere-Methoden

17. Penalty- und Barriere-Methoden H.J. Oberle Optimierung SoSe 01 17. Penalty- und Barriere-Methoden Penalty- und Barriere Methoden gehören zu den ältesten Ansätzen zur Lösung allgemeiner restringierter Optimierungsaufgaben. Die grundlegende

Mehr

Naive Bayes. 5. Dezember 2014. Naive Bayes 5. Dezember 2014 1 / 18

Naive Bayes. 5. Dezember 2014. Naive Bayes 5. Dezember 2014 1 / 18 Naive Bayes 5. Dezember 2014 Naive Bayes 5. Dezember 2014 1 / 18 Inhaltsverzeichnis 1 Thomas Bayes 2 Anwendungsgebiete 3 Der Satz von Bayes 4 Ausführliche Form 5 Beispiel 6 Naive Bayes Einführung 7 Naive

Mehr

OPERATIONS-RESEARCH (OR)

OPERATIONS-RESEARCH (OR) OPERATIONS-RESEARCH (OR) Man versteht darunter die Anwendung mathematischer Methoden und Modelle zur Vorbereitung optimaler Entscheidungen bei einem Unternehmen. Andere deutsche und englische Bezeichnungen:

Mehr

Einführung in die Informatik I

Einführung in die Informatik I Einführung in die Informatik I Algorithmen und deren Programmierung Prof. Dr. Nikolaus Wulff Definition Algorithmus Ein Algorithmus ist eine präzise formulierte Handlungsanweisung zur Lösung einer gleichartigen

Mehr

Info zum Junk-Mail-Filter in Thunderbird:

Info zum Junk-Mail-Filter in Thunderbird: Datenverarbeitungszentrale Datenverarbeitungszentrale dvz@fh-muenster.de www.fh-muenster.de/dvz Info zum Junk-Mail-Filter in Thunderbird: Der Grossteil der Benutzer verwendet zusätzlich zum zentralen Mail-Filter

Mehr

Entwurf von Algorithmen - Kontrollstrukturen

Entwurf von Algorithmen - Kontrollstrukturen Entwurf von Algorithmen - Kontrollstrukturen Eine wichtige Phase in der Entwicklung von Computerprogrammen ist der Entwurf von Algorithmen. Dieser Arbeitsschritt vor dem Schreiben des Programmes in einer

Mehr

Algorithms for Regression and Classification

Algorithms for Regression and Classification Fakultät für Informatik Effiziente Algorithmen und Komplexitätstheorie Algorithms for Regression and Classification Robust Regression and Genetic Association Studies Robin Nunkesser Fakultät für Informatik

Mehr

Bestimmung einer ersten

Bestimmung einer ersten Kapitel 6 Bestimmung einer ersten zulässigen Basislösung Ein Problem, was man für die Durchführung der Simplexmethode lösen muss, ist die Bestimmung einer ersten zulässigen Basislösung. Wie gut das geht,

Mehr

Künstliche Intelligenz Maschinelles Lernen

Künstliche Intelligenz Maschinelles Lernen Künstliche Intelligenz Maschinelles Lernen Stephan Schwiebert Sommersemester 2009 Sprachliche Informationsverarbeitung Institut für Linguistik Universität zu Köln Maschinelles Lernen Überwachtes Lernen

Mehr

6. Bayes-Klassifikation. (Schukat-Talamazzini 2002)

6. Bayes-Klassifikation. (Schukat-Talamazzini 2002) 6. Bayes-Klassifikation (Schukat-Talamazzini 2002) (Böhm 2003) (Klawonn 2004) Der Satz von Bayes: Beweis: Klassifikation mittels des Satzes von Bayes (Klawonn 2004) Allgemeine Definition: Davon zu unterscheiden

Mehr

Kernel, Perceptron, Regression. Erich Schubert, Arthur Zimek. 2014-07-20 KDD Übung

Kernel, Perceptron, Regression. Erich Schubert, Arthur Zimek. 2014-07-20 KDD Übung Kernel, Perceptron, Regression Erich Schubert, Arthur Zimek Ludwig-Maximilians-Universität München 2014-07-20 KDD Übung Kernel-Fukctionen Kernel kann mehrdeutig sein! Unterscheidet zwischen: Kernel function

Mehr

Lernen von Entscheidungsbäumen. Volker Tresp Summer 2014

Lernen von Entscheidungsbäumen. Volker Tresp Summer 2014 Lernen von Entscheidungsbäumen Volker Tresp Summer 2014 1 Anforderungen an Methoden zum Datamining Schnelle Verarbeitung großer Datenmengen Leichter Umgang mit hochdimensionalen Daten Das Lernergebnis

Mehr

22. Algorithmus der Woche Partnerschaftsvermittlung Drum prüfe, wer sich ewig bindet

22. Algorithmus der Woche Partnerschaftsvermittlung Drum prüfe, wer sich ewig bindet 22. Algorithmus der Woche Partnerschaftsvermittlung Drum prüfe, wer sich ewig bindet Autor Volker Claus, Universität Stuttgart Volker Diekert, Universität Stuttgart Holger Petersen, Universität Stuttgart

Mehr

Optimierungsprobleme mit Nebenbedingungen - Einführung in die Theorie, Numerische Methoden und Anwendungen

Optimierungsprobleme mit Nebenbedingungen - Einführung in die Theorie, Numerische Methoden und Anwendungen Optimierungsprobleme mit Nebenbedingungen - Einführung in die Theorie, Numerische Methoden und Anwendungen Dr. Abebe Geletu Ilmenau University of Technology Department of Simulation and Optimal Processes

Mehr

Programmiertechnik II

Programmiertechnik II Analyse von Algorithmen Algorithmenentwurf Algorithmen sind oft Teil einer größeren Anwendung operieren auf Daten der Anwendung, sollen aber unabhängig von konkreten Typen sein Darstellung der Algorithmen

Mehr

Ideen der Informatik. Maschinelles Lernen. Kurt Mehlhorn Adrian Neumann Max-Planck-Institut für Informatik

Ideen der Informatik. Maschinelles Lernen. Kurt Mehlhorn Adrian Neumann Max-Planck-Institut für Informatik Ideen der Informatik Maschinelles Lernen Kurt Mehlhorn Adrian Neumann Max-Planck-Institut für Informatik Übersicht Lernen: Begriff Beispiele für den Stand der Kunst Spamerkennung Handschriftenerkennung

Mehr

9.2. DER SATZ ÜBER IMPLIZITE FUNKTIONEN 83

9.2. DER SATZ ÜBER IMPLIZITE FUNKTIONEN 83 9.. DER SATZ ÜBER IMPLIZITE FUNKTIONEN 83 Die Grundfrage bei der Anwendung des Satzes über implizite Funktionen betrifft immer die folgende Situation: Wir haben eine Funktion f : V W und eine Stelle x

Mehr

Mining top-k frequent itemsets from data streams

Mining top-k frequent itemsets from data streams Seminar: Maschinelles Lernen Mining top-k frequent itemsets from data streams R.C.-W. Wong A.W.-C. Fu 1 Gliederung 1. Einleitung 2. Chernoff-basierter Algorithmus 3. top-k lossy counting Algorithmus 4.

Mehr

Optimierung. Optimierung. Vorlesung 2 Optimierung ohne Nebenbedingungen Gradientenverfahren. 2013 Thomas Brox, Fabian Kuhn

Optimierung. Optimierung. Vorlesung 2 Optimierung ohne Nebenbedingungen Gradientenverfahren. 2013 Thomas Brox, Fabian Kuhn Optimierung Vorlesung 2 Optimierung ohne Nebenbedingungen Gradientenverfahren 1 Minimierung ohne Nebenbedingung Ein Optimierungsproblem besteht aus einer zulässigen Menge und einer Zielfunktion Minimum

Mehr

Literatur. Dominating Set (DS) Dominating Sets in Sensornetzen. Problem Minimum Dominating Set (MDS)

Literatur. Dominating Set (DS) Dominating Sets in Sensornetzen. Problem Minimum Dominating Set (MDS) Dominating Set 59 Literatur Dominating Set Grundlagen 60 Dominating Set (DS) M. V. Marathe, H. Breu, H.B. Hunt III, S. S. Ravi, and D. J. Rosenkrantz: Simple Heuristics for Unit Disk Graphs. Networks 25,

Mehr

Wissensbasierte Systeme

Wissensbasierte Systeme WBS4 Slide 1 Wissensbasierte Systeme Vorlesung 4 vom 03.11.2004 Sebastian Iwanowski FH Wedel WBS4 Slide 2 Wissensbasierte Systeme 1. Motivation 2. Prinzipien und Anwendungen 3. Logische Grundlagen 4. Suchstrategien

Mehr

Extrema von Funktionen in zwei Variablen

Extrema von Funktionen in zwei Variablen Wirtschaftswissenschaftliches Zentrum Universität Basel Mathematik für Ökonomen 1 Dr. Thomas Zehrt Extrema von Funktionen in zwei Variablen Literatur: Gauglhofer, M. und Müller, H.: Mathematik für Ökonomen,

Mehr

Tangentengleichung. Wie lautet die Geradengleichung für die Tangente, y T =? Antwort:

Tangentengleichung. Wie lautet die Geradengleichung für die Tangente, y T =? Antwort: Tangentengleichung Wie Sie wissen, gibt die erste Ableitung einer Funktion deren Steigung an. Betrachtet man eine fest vorgegebene Stelle, gibt f ( ) also die Steigung der Kurve und somit auch die Steigung

Mehr

Numerisches Programmieren

Numerisches Programmieren Technische Universität München WS /3 Institut für Informatik Prof Dr Hans-Joachim Bungartz Dipl-Inf Christoph Riesinger Dipl-Inf Dipl-Math Jürgen Bräckle Numerisches Programmieren Programmieraufgabe: Polnominterpolation,

Mehr

Unsupervised Kernel Regression

Unsupervised Kernel Regression 9. Mai 26 Inhalt Nichtlineare Dimensionsreduktion mittels UKR (Unüberwachte KernRegression, 25) Anknüpfungspunkte Datamining I: PCA + Hauptkurven Benötigte Zutaten Klassische Kernregression Kerndichteschätzung

Mehr

4. Dynamische Optimierung

4. Dynamische Optimierung 4. Dynamische Optimierung Allgemeine Form dynamischer Optimierungsprobleme 4. Dynamische Optimierung Die dynamische Optimierung (DO) betrachtet Entscheidungsprobleme als eine Folge voneinander abhängiger

Mehr

Rechnerische Komplexität

Rechnerische Komplexität Proseminar Effiziente Algorithmen SS 2002 Rechnerische Komplexität Ulrike Krönert (34180) 0. Inhalt 1. Einführung 2. Algorithmen und Komplexität 2.1. Algorithmen 2.2. Laufzeitabschätzung 2.3. Polynomialzeit

Mehr

Periodische Fahrpläne und Kreise in Graphen

Periodische Fahrpläne und Kreise in Graphen Periodische Fahrpläne und Kreise in Graphen Vorlesung Algorithmentechnik WS 2009/10 Dorothea Wagner Karlsruher Institut für Technologie Eisenbahnoptimierungsprozess 1 Anforderungserhebung Netzwerkentwurf

Mehr

Kapitel 7: Formaler Datenbankentwurf

Kapitel 7: Formaler Datenbankentwurf 7. Formaler Datenbankentwurf Seite 1 Kapitel 7: Formaler Datenbankentwurf Die Schwierigkeiten der konzeptuellen Modellierung sind zu einem großen Teil dadurch begründet, dass sich die relevanten Strukturen

Mehr

Optimierung für Nichtmathematiker

Optimierung für Nichtmathematiker Optimierung für Nichtmathematiker Typische Prüfungsfragen Die folgenden Fragen dienen lediglich der Orientierung und müssen nicht den tatsächlichen Prüfungsfragen entsprechen. Auch Erkenntnisse aus den

Mehr

Sortierverfahren für Felder (Listen)

Sortierverfahren für Felder (Listen) Sortierverfahren für Felder (Listen) Generell geht es um die Sortierung von Daten nach einem bestimmten Sortierschlüssel. Es ist auch möglich, daß verschiedene Daten denselben Sortierschlüssel haben. Es

Mehr

JOHANNES BONNEKOH. Analysis. Allgemeine Hochschulreife und Fachabitur

JOHANNES BONNEKOH. Analysis. Allgemeine Hochschulreife und Fachabitur JOHANNES BONNEKOH Analysis Allgemeine Hochschulreife und Fachabitur Vorwort Vorwort Mathematik ist eine Sprache, die uns hilft die Natur und allgemeine naturwissenschaftliche Vorgänge zu beschreiben. Johannes

Mehr

4 Produktspezifische Ausfallwahrscheinlichkeit und Ausbeute

4 Produktspezifische Ausfallwahrscheinlichkeit und Ausbeute 4.1 Grundlagen 4 Produktspezifische Ausfallwahrscheinlichkeit und Ausbeute 4.1 Grundlagen In den bisherigen Ausführungen wurden die Grundlagen der Ausbeuteberechnung behandelt. So wurde bereits im Abschnitt

Mehr

Moderne Methoden der KI: Maschinelles Lernen

Moderne Methoden der KI: Maschinelles Lernen Moderne Methoden der KI: Maschinelles Lernen Prof. Dr.Hans-Dieter Burkhard Vorlesung Entscheidungsbäume Darstellung durch Regeln ID3 / C4.5 Bevorzugung kleiner Hypothesen Overfitting Entscheidungsbäume

Mehr

Lineare Programmierung

Lineare Programmierung Lineare Programmierung WS 2003/04 Rolle der Linearen Programmierung für das TSP 1954: Dantzig, Fulkerson & Johnson lösen das TSP für 49 US-Städte (ca. 6.2 10 60 mögliche Touren) 1998: 13.509 Städte in

Mehr

Überblick. Lineares Suchen

Überblick. Lineares Suchen Komplexität Was ist das? Die Komplexität eines Algorithmus sei hierbei die Abschätzung des Aufwandes seiner Realisierung bzw. Berechnung auf einem Computer. Sie wird daher auch rechnerische Komplexität

Mehr

Kostenmaße. F3 03/04 p.188/395

Kostenmaße. F3 03/04 p.188/395 Kostenmaße Bei der TM nur ein Kostenmaß: Ein Schritt (Konfigurationsübergang) kostet eine Zeiteinheit; eine Bandzelle kostet eine Platzeinheit. Bei der RAM zwei Kostenmaße: uniformes Kostenmaß: (wie oben);

Mehr

Selbstorganisierende Karten

Selbstorganisierende Karten Selbstorganisierende Karten Yacin Bessas yb1@informatik.uni-ulm.de Proseminar Neuronale Netze 1 Einleitung 1.1 Kurzüberblick Die Selbstorganisierenden Karten, auch Self-Organizing (Feature) Maps, Kohonen-

Mehr

IV. Spieltheorie. H. Weber, FHW, OR SS07, Teil 7, Seite 1

IV. Spieltheorie. H. Weber, FHW, OR SS07, Teil 7, Seite 1 IV. Spieltheorie 1. Gegenstand der Spieltheorie 2. Einführung in Matrixspiele 3. Strategien bei Matrixspielen 4. Weitere Beispiele 5. Mögliche Erweiterungen H. Weber, FHW, OR SS07, Teil 7, Seite 1 1. Gegenstand

Mehr

Kapitel 3: Etwas Informationstheorie

Kapitel 3: Etwas Informationstheorie Stefan Lucks 3: Informationstheorie 28 orlesung Kryptographie (SS06) Kapitel 3: Etwas Informationstheorie Komplexitätstheoretische Sicherheit: Der schnellste Algorithmus, K zu knacken erfordert mindestens

Mehr

Abschnitt: Algorithmendesign und Laufzeitanalyse

Abschnitt: Algorithmendesign und Laufzeitanalyse Abschnitt: Algorithmendesign und Laufzeitanalyse Definition Divide-and-Conquer Paradigma Divide-and-Conquer Algorithmen verwenden die Strategien 1 Divide: Teile das Problem rekursiv in Subproblem gleicher

Mehr

I. Aussagenlogik. Aussagenlogik untersucht Verknüpfungen wie "und", "oder", "nicht", "wenn... dann" zwischen atomaren und komplexen Sätzen.

I. Aussagenlogik. Aussagenlogik untersucht Verknüpfungen wie und, oder, nicht, wenn... dann zwischen atomaren und komplexen Sätzen. I. Aussagenlogik 2.1 Syntax Aussagenlogik untersucht Verknüpfungen wie "und", "oder", "nicht", "wenn... dann" zwischen atomaren und komplexen Sätzen. Sätze selbst sind entweder wahr oder falsch. Ansonsten

Mehr

Primzahlen und RSA-Verschlüsselung

Primzahlen und RSA-Verschlüsselung Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also

Mehr

4 Greedy-Algorithmen (gierige Algorithmen)

4 Greedy-Algorithmen (gierige Algorithmen) Greedy-Algorithmen (gierige Algorithmen) Greedy-Algorithmen werden oft für die exakte oder approximative Lösung von Optimierungsproblemen verwendet. Typischerweise konstruiert ein Greedy-Algorithmus eine

Mehr

Hamilton-Formalismus

Hamilton-Formalismus KAPITEL IV Hamilton-Formalismus Einleitung! IV.1 Hamilton sche Bewegungsgleichungen IV.1.1 Kanonisch konjugierter Impuls Sei ein mechanisches System mit s Freiheitsgraden. Im Rahmen des in Kap. II eingeführten

Mehr

Begriffsbestimmung CRISP-DM-Modell Betriebswirtschaftliche Einsatzgebiete des Data Mining Web Mining und Text Mining

Begriffsbestimmung CRISP-DM-Modell Betriebswirtschaftliche Einsatzgebiete des Data Mining Web Mining und Text Mining Gliederung 1. Einführung 2. Grundlagen Data Mining Begriffsbestimmung CRISP-DM-Modell Betriebswirtschaftliche Einsatzgebiete des Data Mining Web Mining und Text Mining 3. Ausgewählte Methoden des Data

Mehr

Data Mining und maschinelles Lernen

Data Mining und maschinelles Lernen Data Mining und maschinelles Lernen Einführung und Anwendung mit WEKA Caren Brinckmann 16. August 2000 http://www.coli.uni-sb.de/~cabr/vortraege/ml.pdf http://www.cs.waikato.ac.nz/ml/weka/ Inhalt Einführung:

Mehr

Filterregeln... 1. Einführung... 1. Migration der bestehenden Filterregeln...1. Alle eingehenden Nachrichten weiterleiten...2

Filterregeln... 1. Einführung... 1. Migration der bestehenden Filterregeln...1. Alle eingehenden Nachrichten weiterleiten...2 Jörg Kapelle 15:19:08 Filterregeln Inhaltsverzeichnis Filterregeln... 1 Einführung... 1 Migration der bestehenden Filterregeln...1 Alle eingehenden Nachrichten weiterleiten...2 Abwesenheitsbenachrichtigung...2

Mehr

Informatik II Greedy-Algorithmen

Informatik II Greedy-Algorithmen 7/7/06 lausthal Erinnerung: Dynamische Programmierung Informatik II reedy-algorithmen. Zachmann lausthal University, ermany zach@in.tu-clausthal.de Zusammenfassung der grundlegenden Idee: Optimale Sub-Struktur:

Mehr

Digitale Signaturen. Sven Tabbert

Digitale Signaturen. Sven Tabbert Digitale Signaturen Sven Tabbert Inhalt: Digitale Signaturen 1. Einleitung 2. Erzeugung Digitaler Signaturen 3. Signaturen und Einweg Hashfunktionen 4. Digital Signature Algorithmus 5. Zusammenfassung

Mehr

Theoretische Grundlagen der Informatik WS 09/10

Theoretische Grundlagen der Informatik WS 09/10 Theoretische Grundlagen der Informatik WS 09/10 - Tutorium 6 - Michael Kirsten und Kai Wallisch Sitzung 13 02.02.2010 Inhaltsverzeichnis 1 Formeln zur Berechnung Aufgabe 1 2 Hamming-Distanz Aufgabe 2 3

Mehr

Was ist ein Compiler?

Was ist ein Compiler? Was ist ein Compiler? Was ist ein Compiler und worum geht es? Wie ist ein Compiler aufgebaut? Warum beschäftigen wir uns mit Compilerbau? Wie ist die Veranstaltung organisiert? Was interessiert Sie besonders?

Mehr

TEILWEISE ASYNCHRONE ALGORITHMEN

TEILWEISE ASYNCHRONE ALGORITHMEN TEILWEISE ASYNCHRONE ALGORITHMEN FRANK LANGBEIN Literatur: D. Berseas, J. Tsitsilis: Parallel and distributed computatoin, pp. 48 489 URI: http://www.langbein.org/research/parallel/ Modell teilweiser asynchroner

Mehr

Datenbankanwendung. Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern. Wintersemester 2014/15. smichel@cs.uni-kl.de

Datenbankanwendung. Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern. Wintersemester 2014/15. smichel@cs.uni-kl.de Datenbankanwendung Wintersemester 2014/15 Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern smichel@cs.uni-kl.de Wiederholung: Anfragegraph Anfragen dieses Typs können als Graph dargestellt werden: Der

Mehr

Beispiel 11.2. Wenn p ein Polynom vom Grad größer gleich 1 ist, ist q : C Ĉ definiert durch q (z) =

Beispiel 11.2. Wenn p ein Polynom vom Grad größer gleich 1 ist, ist q : C Ĉ definiert durch q (z) = Funktionentheorie, Woche Funktionen und Polstellen. Meromorphe Funktionen Definition.. Sei U C offen und sei f : U gilt, nennt man f meromorph auf U: Ĉ eine Funktion. Wenn folgendes. P := f hat keine Häufungspunkte;.

Mehr

Differenzengleichungen. und Polynome

Differenzengleichungen. und Polynome Lineare Differenzengleichungen und Polynome Franz Pauer Institut für Mathematik, Universität Innsbruck Technikerstr. 13/7, A-600 Innsbruck, Österreich franz.pauer@uibk.ac.at 1 Einleitung Mit linearen Differenzengleichungen

Mehr

Technische Informatik - Eine Einführung

Technische Informatik - Eine Einführung Martin-Luther-Universität Halle-Wittenberg Fachbereich Mathematik und Informatik Lehrstuhl für Technische Informatik Prof. P. Molitor Ausgabe: 2005-02-21 Abgabe: 2005-02-21 Technische Informatik - Eine

Mehr

Grundlagen der Informatik II. Teil I: Formale Modelle der Informatik

Grundlagen der Informatik II. Teil I: Formale Modelle der Informatik Grundlagen der Informatik II Teil I: Formale Modelle der Informatik 1 Einführung GdInfoII 1-2 Ziele/Fragestellungen der Theoretischen Informatik 1. Einführung abstrakter Modelle für informationsverarbeitende

Mehr

Scheduling und Lineare ProgrammierungNach J. K. Lenstra, D. B. Shmoys und É.

Scheduling und Lineare ProgrammierungNach J. K. Lenstra, D. B. Shmoys und É. Scheduling und Lineare ProgrammierungNach J. K. Lenstra, D. B. Shmoys und É. Tardos Janick Martinez Esturo jmartine@techfak.uni-bielefeld.de xx.08.2007 Sommerakademie Görlitz Arbeitsgruppe 5 Gliederung

Mehr

16. All Pairs Shortest Path (ASPS)

16. All Pairs Shortest Path (ASPS) . All Pairs Shortest Path (ASPS) All Pairs Shortest Path (APSP): Eingabe: Gewichteter Graph G=(V,E) Ausgabe: Für jedes Paar von Knoten u,v V die Distanz von u nach v sowie einen kürzesten Weg a b c d e

Mehr

Mathematik 1 für Wirtschaftsinformatik

Mathematik 1 für Wirtschaftsinformatik Mathematik 1 für Wirtschaftsinformatik Wintersemester 2012/13 Hochschule Augsburg : Gliederung 7 Folgen und Reihen 8 Finanzmathematik 9 Reelle Funktionen 10 Differenzieren 1 11 Differenzieren 2 12 Integration

Mehr

Approximationsalgorithmen

Approximationsalgorithmen Makespan-Scheduling Kapitel 4: Approximationsalgorithmen (dritter Teil) (weitere Beispiele und Illustrationen an der Tafel) Hilfreiche Literatur: Vazarani: Approximation Algorithms, Springer Verlag, 2001.

Mehr

Einführung in die Computerlinguistik Statistische Grundlagen

Einführung in die Computerlinguistik Statistische Grundlagen Statistik 1 Sommer 2015 Einführung in die Computerlinguistik Statistische Grundlagen Laura Heinrich-Heine-Universität Düsseldorf Sommersemester 2015 Statistik 2 Sommer 2015 Überblick 1. Diskrete Wahrscheinlichkeitsräume

Mehr

1 Vom Problem zum Programm

1 Vom Problem zum Programm 1 Vom Problem zum Programm Ein Problem besteht darin, aus einer gegebenen Menge von Informationen eine weitere (bisher unbekannte) Information zu bestimmen. 1 Vom Problem zum Programm Ein Algorithmus ist

Mehr

Das Briefträgerproblem

Das Briefträgerproblem Das Briefträgerproblem Paul Tabatabai 30. Dezember 2011 Inhaltsverzeichnis 1 Problemstellung und Modellierung 2 1.1 Problem................................ 2 1.2 Modellierung.............................

Mehr

HOCHSCHULE KONSTANZ TECHNIK, WIRTSCHAFT UND GESTALTUNG. Das Luzifer-Rätsel. Prof. Dr. Hartmut Plesske Wintersemester 2008/09. von.

HOCHSCHULE KONSTANZ TECHNIK, WIRTSCHAFT UND GESTALTUNG. Das Luzifer-Rätsel. Prof. Dr. Hartmut Plesske Wintersemester 2008/09. von. HOCHSCHULE KONSTANZ TECHNIK, WIRTSCHAFT UND GESTALTUNG Fakultät Informatik Das Luzifer-Rätsel Prof. Dr. Hartmut Plesske Wintersemester 2008/09 von Max Nagl nagl@fh-konstanz.de Inhaltsverzeichnis Inhaltsverzeichnis

Mehr

Computer Vision: 3D-Geometrie. D. Schlesinger () Computer Vision: 3D-Geometrie 1 / 17

Computer Vision: 3D-Geometrie. D. Schlesinger () Computer Vision: 3D-Geometrie 1 / 17 Computer Vision: 3D-Geometrie D. Schlesinger () Computer Vision: 3D-Geometrie 1 / 17 Lochkamera Modell C Projektionszentrum, Optische Achse, Bildebene, P Hauptpunkt (optische Achse kreuzt die Bildebene),

Mehr

Newton-Verfahren zur gleichungsbeschränkten Optimierung. 1 Gleichungsbeschränkte Optimierungsprobleme

Newton-Verfahren zur gleichungsbeschränkten Optimierung. 1 Gleichungsbeschränkte Optimierungsprobleme Newton-Verfahren zur gleichungsbeschränkten Optimierung Armin Farmani Anosheh (afarmani@mail.uni-mannheim.de) 3.Mai 2016 1 Gleichungsbeschränkte Optimierungsprobleme Einleitung In diesem Vortrag geht es

Mehr

4. Lernen von Entscheidungsbäumen. Klassifikation mit Entscheidungsbäumen. Entscheidungsbaum

4. Lernen von Entscheidungsbäumen. Klassifikation mit Entscheidungsbäumen. Entscheidungsbaum 4. Lernen von Entscheidungsbäumen Klassifikation mit Entscheidungsbäumen Gegeben sei eine Menge von Objekten, die durch /Wert- Paare beschrieben sind. Jedes Objekt kann einer Klasse zugeordnet werden.

Mehr

Doing Economics with the Computer Sommersemester 2002. Excel Solver 1

Doing Economics with the Computer Sommersemester 2002. Excel Solver 1 Universität Bern Kurt Schmidheiny / Manuel Wälti Doing Economics with the Computer Sommersemester 2002 Excel Solver 1 Mit dem Solver unterstützt Excel eine Funktion, mit der u.a. komplex verschachtelte

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Dipl. Inform. Andreas Wilkens 1 Organisatorisches Freitag, 05. Mai 2006: keine Vorlesung! aber Praktikum von 08.00 11.30 Uhr (Gruppen E, F, G, H; Vortestat für Prototyp)

Mehr

3. Grundlagen der Linearen Programmierung

3. Grundlagen der Linearen Programmierung 3. Grundlagen der linearen Programmierung Inhalt 3. Grundlagen der Linearen Programmierung Lineares Programm Grafische Lösung linearer Programme Normalform Geometrie linearer Programme Basislösungen Operations

Mehr