Zusammenfassung
Transcription
Zusammenfassung
Statistische Lernverfahren • • • !"#$%&$' "#$%&%'%!()*!+, 6&,**,!7/8,* ! ! ;'(</=,#!> • • • • ! ! ! K-.B&5&,*,#!9,$!,* • Ausarbeitung im Rahmen des Hauptseminars: • Statistische Lerntheorie WS 06/07 • • • • • • ) "#!9&,$,*!,*$%,#!;'(</=,!< ./CD,#!AL&$'/5!MNN!&.!6M ! 2:9)O/9,#!P&,!$&CD!9/$!7,&$ A$&,D,!;#Q,&$'#<,#!/'(!9 Name: Florian Frede ) 249)S-9&(&>&,*,#!P&,!9/$!6*AQ&,!&#!;==G!@JG!U,*!+,&<' 1/16 • • 2/16 Statistische Lernverfahren Einleitung4 Statistisches Lernen4 Lernen mit vollständigen Daten5 „Maximum-likelihood Parameter Lernen“: Diskrete Modelle5 Naives Bayes Modell6 Lernen der Bayes Netzstruktur6 Lernen mit unvollständigen Daten7 Unbeaufsichtigtes Clustern7 Lernen von Bayes‘schen Netzwerken mit unbekannten Variablen8 Die Hauptform des EM Algorithmus8 Beispiel Basiertes Lernen8 Nächster Nachbar Modell8 Einheiten in künstlichen Neuronalen Netzen 10 Netzwerk Struktur 10 Einschichtige „feed-forward“ Neuronale Netzwerke (Perzeptrone)11 Kernel Maschinen13 Praktisches Anwendungsbeispiel: Handschriftenerkennung.15 Literaturverzeichnis16 • 3/16 Einleitung In dieser Zusammenfassung soll ein kurzer Überblick über verschiedene statistische Lernverfahren gegeben werden. Es werden verschiedene Lernverfahren vorgestellt. Betrachtet werden das Lernen mit kompletten sowie versteckten Variablen, Methoden des „Beispiel Basierten Lernens“, „Neuronale Netze“ so wie die „Kernel Maschins“. Statistisches Lernen Das Hauptaugenmerk soll hier auf die Daten und Hypothesen gelegt werden. Dies wird an einem einfachen Beispiel veranschaulicht: Eine sehr humorvolle Süßwarenfirma stellt süße Kirsch-Bonbons und saure Zitronen-Bonbons her. Sie stellen die Bonbons in verschiedenen Mischungen, welche sich durch ihre Verpackung nicht unterscheiden, zusammen. Hier sind die verschiedenen Zusammenstellungen: h1: 100% der Bonbons sind süß h2: 75% süß und 25% sauer h3: 50% süß und 50% sauer h4: 25% süß und 75% sauer h5: 100% sauer Nun wird eine neue Tüte, deren Inhalt zwischen den oberen Hypothesen h1 bis h5 liegt, betrachten. Um welche Zusammenstellung es sich bei der gekauften Packung handelt ist wie oben erwähnt nicht direkt erkennbar. Nach dem Öffnen und während des „Probierens“ der einzelnen Bonbons kommen immer mehr Daten, welche helfen eine Aussage über den Inhalt der Tüte zu treffen, zusammen. Es kann nach jedem getesteten Bonbon mit einer gewissen Wahrscheinlichkeit gesagt werden welche Mischung man besitzt. Das „Bayes‘sche Lernen“ berechnet diese Wahrscheinlichkeit über die Daten und gibt eine Vorhersage aus. Diese Vorhersage wird unter Berücksichtigung aller Hypothesen, die ihrer Wahrscheinlichkeit nach gewichtet werden, getroffen. Wenn D alle Daten mit ihren Werten d repräsentiert, wird die Wahrscheinlichkeit mit dem Bayestheorem wie folgt angegeben: P (hi |d ) = αP (d |hi )P (hi ) Die Formel berechnet die Wahrscheinlichkeit eines Ereignisses einer einzelnen Hypothese. Wobei d die Geschmacksrichtung des gezogenen Bonbons vertritt. Die Variable α= 1 P (d ) ändert sich bei jedem Zug, da mit jedem weiteren Zug eines der Bonbons „fehlt“ und sich die Verteilung der Geschmacksrichtungen in der Packung verändern. X ist das Ereignis, dass ein bestimmter Geschmack als nächstes gezogen wird. So ergibt sich für die Wahrscheinlichkeit, unter Berücksichtigung der bereits gezogen Bonbons, für X folgende Formel: P(X|d ) = ! i P(X|d , hi )P(hi |d ) = 4/16 ! i P(X|hi )P(hi |d ) Für unser Bonbon-Beispiel gibt der Hersteller die Verteilung über die Hypothesen h1 bis h5 wie folgt an: (0,1; 0,2; 0,4; 0,2; 0,1). Nach den ersten 10 sauren Bonbons ist die Wahrscheinlichkeit P (d |hi ) = j P (dj |h3 ) = 0, 510 1 0.8 0.6 Probability that next candy is lime , weil die Hälfte der Bonbons in einer h3 tüte sauer sind. Abbildung 01 zeigt die Änderung der Wahrscheinlichkeit für die ersten 10 gezogenen Bonbons, sowie die Wahrscheinlichkeit Bayes’sche Lernens welche die Summe aller Einzel-WahrscheinStatistical Learning Methods lichkeiten, wie oben erwähnt, berücksichtigt.Chapter 20. Posterior probability of hypothesis 714 ! P(h1 | d) P(h2 | d) P(h3 | d) P(h4 | d) P(h5 | d) 0.4 0.2 0 0 2 4 6 8 Number of samples in d 1 0.9 0.8 0.7 0.6 0.5 0.4 10 0 (a) 2 4 6 8 Number of samples in d 10 (b) Abbildung 01: (a) Wahrscheinlichkeit P(hi∣d1, ..., dN) von Statistisches Lernen. Die Anzahl N 20.1 Bonbons (a) Posterior P (hals dN ) from Equation wurden. (20.1). The(numder Figure betrachteten von 1probabilities bis 10, welche angesehen b ) i |dsauer 1 , . . . ,(„lime“) ber of observations N ranges from 1 to 10, observation Wahrscheinlichkeit des Bayes‘schen Lernens P(dand lime∣ d1, ..., dN)is of a lime candy. (b) N+1=each Bayesian prediction P (dN +1 = lime|d1 , . . . , dN ) from Equation (20.2). lime candies are unwrapped, h4 is most likely; after 3 or more, h5 (the dreaded all-lime bag) is the most likely. After 10 in a row, we are fairly certain of our fate. Figure 20.1(b) shows the predicted probability that the next candy is lime, based on Equation (20.2). As we would expect, it increases monotonically toward 1. Das „Parameter Lernen mit that kompletten Daten“ wird zunächst behandelt. Komplette The example shows the true hypothesis eventually dominates the Bayesian predic-Daten heißt, dass tion. für jede Variable im Modell ein Wert vorliegt, was wiederum das Lernen sehr vereinfacht. This is characteristic of Bayesian learning. For any fixed prior that does not rule out the true hypothesis, the posterior probability of any false hypothesis will eventually vanish, simply because the probability of generating “uncharacteristic” data indefinitely is vanishingly „Maximum-likelihood Parameter Lernen“: Diskrete Modelle small. (This point is analogous to one made in the discussion of PAC learning in Chapter 18.) More importantly, the Bayesian prediction is optimal, whethereines the data set be small or large.vor, bei welEs liegt eine neue Tüte mit süßen und sauren Bonbons anderen Hersteller Given the hypothesis prior, any other prediction will be correct less often. cher jedoch das Verhältnis der beider Geschmacksrichtungen vollkommen unbekannt ist. Um The optimality Bayesian learning comes at amodellieren price, of course. For realbrauchen learning wir noch diesen Sachverhalt mit of einem „Bayes‘schen Netz“ zu können problems, the hypothesis space is usually very large or infinite, as we saw in Chapter 18. den In Anteil der eine zufällige Variable, den Geschmack (Kirsche/Zitrone). Die Variable θ steht für some cases, the summation in Equation (20.2) (or integration, in the continuous case) can be Kirschbonbons, daraus folgt die Hypothese hθ. Folglich ist der Anteil der Zitronenbonbons= 1- θ. carried out es tractably, butNinBonbons most casesausgepackt, we must resortctodavon approximate or simplified methods. Angenommen werden sind Kirschbonbons und l= N- c sind A very common approximation—one that is usually adopted in science—is to make pre- berechnet Zitronenbonbons. Die „likelihood“ für dieses Szenario kann mit folgender Formel dictions based on a single most probable hypothesis—that is, an h that maximizes P (h i i |d). werden: This is often called a maximum a posteriori or MAP (pronounced “em-ay-pee”) hypothesis. Predictions made according to an MAP hypothesis hMAP are approximately Bayesian to N ! the extent that P(X|d) ≈ P(X|hMAP ). In ourc candy example, hMAP = h5 after three lime l P (d |hθso )= P learner (dj |hθthen ) =predicts θ · (1that − θ) candies in a row, the MAP the fourth candy is lime with probj=1dangerous prediction than the Bayesian prediction of 0.8 shown ability 1.0—a much more in Figure 20.1. As more data arrive, the MAP and Bayesian predictions become closer, because the competitors to the MAP hypothesis become less and less probable. Although our example doesn’t show it, finding MAP hypotheses is often much easier than Bayesian learn- Lernen mit vollständigen Daten MAXIMUM A POSTERIORI 5/16 Die „maximum-likelihood-Hypothese“ wird erfüllt, durch ein θ, das die obige Formel maximiert. Um dies zu vereinfachen wird der Logarithmus zu Hilfe gezogen. L(d |hθ ) = log P (d |hθ ) = N ! j=1 log P (dj |hθ ) = c log θ + l log(1 − θ) Diese Formel wird abgeleitet und „0“ gesetzt um das maximierende θ zu berechnen. dL(d |hθ ) c l c c = − =0⇒θ= = dθ θ 1−θ c+l N Die „maximum-likelihood-Hypothese“ behauptet also, dass das gesuchte Verhältnis des Tüteninhalts dem der gezogenen Bonbons entspricht. Zusammenfassend wird wie folgt vorgegangen: 1. Schreibe alle Werte des Likelihood der Daten als eine Funktion über die Parameter. 2. Schreibe die Ableitung für den log-Likelihood mit Berücksichtigung von jedem Parameter. 3. Finde die Parameterwerte damit die Ableitung „0“ ist. Naives Bayes Modell In diesem Modell ist die Klassenvariable C („vorherzusagende“ Variable) die Wurzel und die Attributvariablen X sind die Blätter. Das Modell ist „naiv“, weil es annimmt, dass die Attribute fortlaufend voneinander unabhängig sind, wenn die Klasse bekannt ist. Die Berechnung der „maximum-likelihood“ Parameterwerte erfolgt auf gleichem Wege wie im vorhergehenden Abschnitt. Wenn das Modell auf diese Weise einmal trainiert wurde kann es benutzt werden, um neue Beispiele zu klassifizieren für welche die Klassenvariable C unbetrachtet bleibt. Mit den Attributwerten x1, …, xn ist die Wahrscheinlichkeit jeder Klasse gegeben durch: P(C|x1 , ..., xn ) = αP(C) ! i P(xi |C) Eine endgültige Vorhersage kann durch Auswahl der wahrscheinlichsten Klasse enthalten sein. Die Methode lernt ziemlich gut, aber nicht ganz so gut wie das entscheidungsbaum-basierte Lernen. Das kommt daher, dass die wahre Hypothese, welche ein Entscheidungsbaum ist, nicht exakt durch ein naives Bayes’sches Modell repräsentiert werden kann. Diese Methode funktioniert trotzdem in einer großen Bandbreite von Anwendungen erstaunlich gut. Lernen der Bayes Netzstruktur Bisher wurde angenommen, dass die Struktur des „Bayes‘sche Netzwerkes“ gegeben war und lediglich versucht wurde die Parameter zu erlernen. Die Algorithmen um die Strukturen zu lernen stecken momentan noch in den Kinderschuhen, deswegen wird nur der Grundgedanke erläutert. Ein offensichtlicher Ansatz ist ein gutes Modell zu finden. Es wird mit einer Struktur ohne Verbindungen begonnen und Verknüpfungen zwischen den Knoten erstellt. Mit den zuvor erwähnten Methoden werden die Parameter anpasst. Danach wird die Genauigkeit des resultierenden 6/16 Modells überprüft. Eine andere Möglichkeit wäre eine Struktur zu „schätzen“ und diese dann unter zu Hilfenahme von „hill-climbing“ oder „simulated annealing search“ zu modifizieren. Nach jeder Strukturveränderung müssen die Parameter neu angepasst werden. Modifikationen können hierbei das Umdrehen, Hinzufügen und Löschen von Kanten sein. Es dürfen keine Zyklen in der Struktur enthalten sein. Deshalb nehmen die Algorithmen eine Topologische Graphenordnung an. Ein gute Struktur wurde gefunden, wenn die bedingten „Unahhängikeitsaussagen“, die in der Struktur inbegriffen sind, tatsächlich in den Daten als erfüllt gelten. Lernen mit unvollständigen Daten In den meisten realen Problemen existieren oft versteckte Variablen (meist auch „latente Variablen“ genannt). Diese Variablen sind zwar wichtig, aber sie erschweren das Lernen. Diese Variablen können z.B. Krankheiten sein. Die Symptome sind zwar bekannt, allerdings lassen sie nicht direkt auf die Krankheit schließen. Dieser Sachverhalt wird am besten durch den „expectation-maximization“ (Vermutungsmaximierung bzw. EM) Algorithmus gelöst. Unbeaufsichtigtes Clustern 726 Dieses Verfahren beschreibt das Erkennen von Kategorien in einer Menge von Objekten. Das folgende Beispiel soll helfen dies zu verstehen. Es soll von mehreren Sternen herausgefunden werden, ob sie ein „Roter Riese“ oder ein „Weiser Zwerg“ sind. Allerdings tragen die Sterne keine Beschriftung ihres Typs. Das Einzigste, was über die Sterne bekannt ist, ist eine Spektralanalyse. Zu Beginn des Clusterns braucht man Daten. In diesem Fall stehen uns 500 Datenpunkte der Spektralanalysen von Sternen zur Verfügung. Diese in Punkte eines KoordinatensysChapter 20.werden Statistical Learning Methods tems wie in Abbildung 02 umgerechnet. 1 1 1 0.8 0.8 0.8 0.6 0.6 0.6 0.4 0.4 0.4 0.2 0.2 0.2 0 0 0 0.2 0.4 (a) 0.6 0.8 1 0 0 0.2 0.4 (b) 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1 (c) Abbildung 02: (a) 500 Datenpunkte in 2 Dimensionen, die höchst wahrscheinlich 3 Cluster bilFigure 20.8 (a) 500 data points in two dimensions, suggesting the presence three nachgeclusden. (b) Ein Unbeaufsichtigtes Cluster Modell mit drei Komponenten. (c) Das of Modell ters. A Gaussian mixture model with three components; the weights (left-to-right) are 0.2, stellt mit(b) dem EM Algorithmus. 0.3, and 0.5. The data in (a) were generated from this model. (c) The model reconstructed by EM from the data in (b). MIXTURE OF GAUSSIANS is given by Jetztdistribution beginnt das eigentliche Clustern der Daten. Punkte die am wahrscheinlichsten einen k Sachverhalt wiedergeben werden Clusterzentren zugeordnet. Anschließend werden die Ge! (x)Datenpunkte = P (C = angepasst. i) P (x|C = i) , wichte an P die i = 1 Das Clustern ist beendet wenn sich die Änderung der Zentren, welche die unbekannten Variabwhere x refers to unter the values of the attributes forSchwellwert a data point. sinken For continuous data, aAblauf naturaleiner vorgelen repräsentieren, einen bestimmten oder nach choice for the component distributions is the multivariate Gaussian, which gives the so-called geben Anzahl von Iterationen. mixture of Gaussians family of distributions. The parameters of a mixture of Gaussians are wi = P (C = i) (the weight of each component), µi (the mean of each component), and Σi (the covariance of each component). Figure 20.8(b) shows a mixture of three Gaussians; this mixture is in fact the source of the data in (a). The unsupervised clustering problem, then, is to recover a mixture model like the one in Figure 20.8(b) from raw data like that in Figure 20.8(a). Clearly, if we knew which component generated each data point, then it would be easy to recover the component Gaussians: we could just select all the data points from a given7/16 component and then apply (a multivariate version of) Equation (20.4) for fitting the parameters of a Gaussian to a set of data. On the other hand, if we knew the parameters of each component, then we could, at least in a probabilistic sense, assign each data point to a component. The problem is that we know Lernen von Bayes‘schen Netzwerken mit unbekannten Variablen Es werden zwei Bonbonpackungen aus den vorherigen Beispielen miteinander vermischt. Es gibt drei Eigenschaften: den Geschmack, die Verpackung der Bonbons und manche der Bonbons besitzen ein Loch in der Mitte. Die Verteilung der Bonbons in jeder einzelnen Tüte ist durch ein Naives Bayes’sches Modell beschrieben. Dabei sind die Eigenschaften einer bestimmten Tüte voneinander unabhängig aber die bedingte Wahrscheinlichkeitsverteilung für jede Eigenschaft hängt von der Tüte ab. Die Herkunft der Bonbons ist die unbekannte Variable. Wir generieren uns jetzt 1000 mögliche Beispielsfälle. Wobei es ebenso wahrscheinlich ist, dass ein Bonbon aus der ersten oder der zweiten Packung kommt. Jedoch kommt ein süßes, rot verpacktes Bonbon mit Loch eher aus der ersten und ein saures, grün verpacktes eher aus der zweiten Tüte. Die Wahrscheinlichkeiten aus welcher Tüte ein Bonbon stammt wird mit einem EM Algorithmus gelöst, welcher im nächsten Abschnitt erläutert wird. Nach 10 Iterationen ist das gelernte Modell bereits überangepasst, daher sind weitere Fortschritte sehr gering. Dieses Verhalten ist nicht untypisch für EM Algorithmen. Daher kombinieren viele praktische System EM mit einem gradientenbasierten Algorithmus wie zum Beispiel den Newton-Raphson-Algorithmus für die letzte Phase des Lernens. Die Hauptform des EM Algorithmus Die Idee des EM-Algorithmus basiert auf dem Clustern nach k-means. Grundvoraussetzung ist hier, dass alle Objekte als Vektoren dargestellt werden können. Weiterhin muss eine Funktion bekannt sein, nach der der Mittelwert zweier Vektoren berechnet werden kann. Es wird eine beliebige Anzahl von Clustern vorgegeben, in die die Objekte eingeteilt werden sollen. Jeder dieser Cluster hat einen Mittelpunkt. 1. Estimation: Bestimme für jedes Objekt nach einer Wahrscheinlichkeitsverteilung z.B. die Normalverteilung, mit welcher Wahrscheinlichkeit es zu jedem der Cluster gehört und speichere diese Wahrscheinlichkeiten für alle Objekte und Cluster. 2. Maximization: Bestimme anhand der ermittelten Zuordnungswahrscheinlichkeiten die Parameter neu, die die Cluster bestimmen. Der Algorithmus wird beendet, wenn entweder die Clusteränderung der Likelihood der Daten unter einen vorgegebenen Schwellwert sinkt, oder eine maximale Anzahl von Durchläufen erreicht ist. Es wird eine „weiche“ Clusterzuordnung erreicht, das heißt, dass mit einer gewissen Wahrscheinlichkeit jedes Objekt zu jedem Cluster gehört. Beispiel Basiertes Lernen Hier geht es im Gegensatz zum statistischen Lernen nicht darum, die am besten passende Hypothese durch bestimmte Parameter zu finden, sondern anhand von Beispielen ein einfaches Modell der realen Welt nachzustellen. Solche Methoden werden auch „nonparametric learning“ gennant. Nächster Nachbar Modell Der Grundgedanken des „Nächsten Nachbar Modells“ liegt darin besondere Eingabepunkte in nachbarschaftlichen Bezug zu ähnlichen Punkten zu setzen. Dies hört sich eigentlich relativ simpel an, zuerst muss man allerdings definieren was „Nachbar“ bedeutet. Wählt man den „Nachbar-Kreis“ zu klein, beinhaltet er zu wenige Datenpunkte um Bezüge zwischen den Punkten aufzubauen. Ist der Kreis zu groß erhält man wiederum keine präzise Tren- 8/16 734 734 nung der einzelnen Daten, da zu viele Punkte enthalten sind, sie verwaschen. Die Lösung für dieses Problem ist, dass die Nachtbarschaft so definiert wird, dass sie k Punkte enthält. Für ein fixes k variiert die Größe der Nachbarschaft je nach Dichte der Punkte. In dünn besiedelten Bereichen ist der Nachbarschaftsbereich größer wie in den Bereichen, in welchen 20. ein Statistical die Daten dicht an dicht liegen. Abbildung 03Chapter zeigt hierzu BeispielLearning für die Methods Verteilung von Daten. Chapter 20. 1 Statistical Learning Methods Density 0.8 18 16 14 1 0.6 12 10 Density 8 0.8 0.4 186 1 164 0.8 142 0 0.6 0.6 12 0 0.2 0.4 0.2 10 0.4 0.2 0.6 8 0.8 1 0 6 0.40 4 1 0 0.2 0.4 0.6 0.8 1 2 0.8 0 0.6 (a) (b) 0.2 0 0.4 0.2 0.4 0.2 0.6 Abbildung 03: (a) 128 Punktrepräsentationen aus den Daten von Abbildung 0.8 0 02 (a), mit zwei 1 20.8(a), Figure 20.12 (a) A 128-point subsample of the data shown in Figure together 0 Datenpunkten und ihren 10-Nächsten-Nachbarn. (b) Ein 3D Schaubild des „Mixture of Gaussiwith two query points and their 10-nearest-neighborhoods. (b) A 3-D plot of the mixture of 0 0.2 0.4 0.6 0.8 1 ans“ von welchem die Daten generiert wurden. Gaussians from which the data were generated. (a) (b) Figure 20.12 (a) A 128-point subsample of the data shown in Figure 20.8(a), together with two query points and their 10-nearest-neighborhoods. (b) A 3-D plot of the mixture of In Abbildung 04 wird das ErgebnisDensity von k-nächsten-Nachtbaren für k=3, 10 und 40 repräsentiert. Density Density Gaussians from which the data were generated. Dies veranschaulicht den oben angezeigten Sachverhalt. Density 0 0.2 0.4 0.6 0.8 (a) 0 0.2 Figure 20.13 0.4 0.6 0.8 0 1 0.8 0.6 0.4 0.2 1 0.8 0.6 0.4 Density 0.2 0 Density 0 0.2 0.4 0.6 0.8 0 1 0.8 0.6 0.4 0.2 (b) 0.6 0.8 (b) 0 1 0.8 0.6 0.4 0.2 (c) 1 0.8 0.6 0 0.2 0 0.2 0.4 estimation using applied to the 0.2 0.4 0.6 k-nearest-neighbors, 0.4 0.6 0 0.8 0.8 ure 20.12(a), for k = 3, 10, and 40 respectively. (a) Density 0 0.2 0.4 1 0.8 0.6 0.4 data0.2in Fig0 (c) a Abbildung value of k04: somewhere between 5 and 10 gives good results for most low-dimensional data Die Dichte-Schätzung von „k-Nächsten-Nachbarn“, angewandt auf die Daten in Figure 20.13 Density estimation using k-nearest-neighbors, applied to the data in Figsets. A good value of k can beund chosen by using cross-validation. Abbildung 03 (a), für k=3 (a),also 10 (b) 40 (c) Bezugspunkte. ure = 3, 10,neighbors and 40 respectively. To20.12(a), identify for theknearest of a query point, we need a distance metric, D(x1 , x2 ). The two-dimensional example in Figure 20.12 uses Euclidean distance. This is inappropriate the space is measuring something example, height awhen valueeach of k dimension somewhereofbetween 5 and 10 gives good results different—for for most low-dimensional data and weight—because changing the scale of one dimension would change the set of nearest sets. A good value of k can also be chosen by using cross-validation. In praktischen Anwendungen hat sich herausgestellt das ein Bereich zwischen 5 und 10 Nachneighbors. One solution is toneighbors standardize scalepoint, for each To do this, we measure To identify the nearest of the a query we dimension. need a distance metric, D(x 1 , x2 ). baren für niederdimensionale Daten optimal ist. The two-dimensional example in Figure 20.12 uses Euclidean distance. This is inappropriate Ein guter Wert für k kann mit der Kreuzvalidierung („cross-validation“) gut bestimmt werden. Die when each dimension of the space is measuring something different—for example, height „cross-validation“ ist definiert durch: and weight—because changing the scale of one dimension would change the set of nearest „Die Daten werden in n gleich große Mengen partitioniert, wobei n-1 Mengen als Trainings- und neighbors. One solution is to standardize the scale for each dimension. To do this, we measure die n-te als Testmenge für ein maschinelles Lernverfahren dienen. Dieses Vorgehen wird nun wiederholt, bis jede der n Partitionen einmal als Testmenge verwendet wurde. Die beste Hypo- 9/16 738 these ist das Endergebnis.“ 1 Kreuzvalidierung ist ein Hilfsmittel zur Beurteilung von Hypothesen. Für zweidimensionale Beispiele wie in Abbildung 03 eignet sich der Euklidische Abstand um die „Nächsten Nachbarn“ heraus zu bekommen. Der Euklidische Abstand ist von den Skalen des Koordinatensystems abhängig. Abhilfe für dieses Problem schafft die Normalisierung der Skalen jeder Dimensionen. Chapter 20. Statistical Methods Das Verfahren kann zwar schnell und einfach implementiert werden Learning und ist in den meisten Fällen auch relativ schnell. THRESHOLD SIGMOID FUNCTION LOGISTIC FUNCTION are shown in Figure 20.16: the threshold function and the sigmoid function (also known as the logistic function). sigmoid function has the advantage of being differentiable, which • Punktbeispiele mit The Label abspeichern we will see later is important for the weight-learning algorithm. Notice that both functions • bestimme den Abstand zu allen anderen Datenpunkte (z.B. mit Euklidischen Abstand) have a threshold (either hard orüber soft)den at zero; the bias weight W0,i sets the actual threshold • suche k nächste Nachbarn Abstand for the unit, in the sense that the unit is activated when the weighted sum of “real” inputs !•nvergleiche alle Label und führe eine Mehrheitsentscheidung durch aj (i.e., theaus biasder input) exceeds W0,i . •jweise dem Punktexcluding das Label Mehrheitsentscheidung zu = 1 Wj,i g(inikann ) Doch bei großen Datenmengen es zu Verzögerungeng(in bei i) der Berechnung der Distanz kommen. Des Weiteren kann es passieren, dass in einem viel-dimensionalen Raum der „Nächste Nachbar“ sehr weit +1 entfernt sein kann. +1 Neuronale Netze in in i i Ein Neuron ist eine Zelle im Gehirn, dessen Hauptfunktion darin besteht elektronische Signale (a) (b) zu verarbeiten. Ein Neuron „feuert“ nur dann, wenn die Eingang eine eingestellte/gelernte 20.16 (a)Seit The 1943 threshold activation function, which outputs the input is Modelle entwiSchwelle Figure überschreiten. werden immer detailliertere und1 when realistischere positive and 0 otherwise. (Sometimes the sign function is used instead, which outputs ±1 ckelt. depending on the sign of the input.) (b) The sigmoid function 1/(1 + e −x ). Einheiten Netzen We in cankünstlichen get a feel for the Neuronalen operation of individual units by comparing them with logic gates. One of the original motivations for the design of individual units (McCulloch and Neuronale Netze aus Einheiten dieBoolean direkt miteinander verbunden sind. Pitts, 1943) wasbestehen their ability to represent basic functions. Figure 20.17 shows howEine Verbindung the unter den Knoten verbreitet die Aktivierung untereinander. Jede Verknüpfung Boolean functions AND, OR, and NOT can be represented by threshold units with suitable hat somit seineweights. eigenesThis Gewicht. Ein einzelnes wiethese in Abbildung 05 die Booleschen Grundis important because it Neuron means wekann can use units to build a network to funktionen AND, OR und NOT realisieren. Die Gewichte sind wie abgebildet verteilt. compute any Boolean function of the inputs. W0 = 0.5 W0 = 1.5 W0 = 0.5 W1 = 1 W1 = 1 W1 = 1 W2 = 1 W2 = 1 AND OR NOT Abbildung 05: Einheiten mit der Reizschwellen-Funktion können wie Logische Gatter, durch Figure 20.17 Units with a threshold activation function can act as logic gates, given apAngabe ihrer Eingabe werte und Gewicht, arbeiten. propriate input and bias weights. Network structures Netzwerk Struktur There are two main categories of neural network structures: acyclic or feed-forward networks and cyclic or recurrent networks. A feed-forward network represents aNetze functionund of Netze mit Es gibt zwei Hauptkategorien von Netzwerktypen: die „feed-forward“ its current input; thus, it has no internal state other than the weights themselves. A recurrent Rückkopplung so genannte „recurrent“ Netzwerke. FEED-FORWARD NETWORKS RECURRENT NETWORKS “Bei [„feed-forward“] Netzen ohne Rückkopplungen existiert kein Pfad, der von einem Neuron 1 Universität des Saarlandes, Data Mining Glossar, Cross Validation, http://www-agrw.informatik.uni-kl.de/damit/c/crossvalidation.html, Strand 25.11.2006 10/16 direkt oder über zwischengeschaltete Neuronen wieder zurück zu diesem Neuron führt. Daten werden also nur in eine Richtung weitergegeben.“ 2 Ist das Netz in Schichten eingeteilt, sind die „feed-forward“ Netze ebenenweise verbunden. Es gibt nur Verbindungen von einer Schicht in die nächste. Bei „recurrent“ Netzen gibt es mehrere Möglichkeiten für Rückkopplungen, die direkten, indirekten und lateralen. Direkte Rückkopplungen verbinden den Ausgang eines Perzeptron mit einem seiner Eingänge. Es können selbst verstärkende und hemmende Effekte entstehen. Indirekte Rückkopplungen sind Verbindungen einer tieferen Ebene zu einer höheren, dies hat verstärkende Wirkung auf Teilbereiche des Netzes. Laterale Rückkopplungen sind Verbindungen innerhalb einer Schicht. Diese Verbindungen werden verwendet um eine hemmende Wirkung innerhalb dieser Schicht zu erreichen. Das „Gewinner-Neuron“ hemmt alle anderen, weshalb dieser Effekt auch als „winner-takes-all-Netz“ bezeichnet wird. Bei den Netzen mit diesen Rückkopplungen kann es bei einer Eingabe passieren, dass längere Zeit benötigt wird um einen stabilen Zustand zu erlangen. Einschichtige „feed-forward“ Neuronale Netzwerke (Perzeptrone) Ein Netz, in welchem alle Eingänge direkt mit den Ausgängen verbunden sind nennt man einschichtige „Neuronale Netze“ oder ein „Perzeptron Netz“. In Abbildung 05 haben wir die Bool‘schen Grundfunktionen AND, OR und NOT betrachtet, welche relativ leicht durch ein Perzeptron realisiert werden konnten. Eine etwas komplexere Funktion ist schwieriger bzw. unmöglich mit nur einem Perzeptron darzustellen. Das Perzeptron kann nur linear separierbare Funktionen darstellen, deswegen wird auch die Reizschwelle „linearer Separator“ genannt. In Abbildung 06 wird dieser Separator für die zwei Section 20.5. Neural Networks 741 Funktionen AND und OR dargestellt. I1 I1 I1 1 1 1 ? 0 0 1 (a) I1 and I2 I2 0 0 1 (b) I1 or I2 I2 0 0 1 I2 (c) I1 xor I2 Abbildung 06: Linear separierbare Reizschwelle eines Perzeptrons. Schwarze Punkte stellen 20.20 „1“ Linear in threshold perceptrons. dots indicate point dieFigure Eingabewerte und separability weisse die Eingabewerte „0“ dar. DasBlack Perzeptron liefert a„1“ für in den the input space where thezurück. value of(c)the function 1, and white dotsnicht. indicate a point where the Bereich ohne Abschattung hier gibt esiseine solche Linie value is 0. The perceptron returns 1 on the region on the non-shaded side of the line. In (c), no such line exists that correctly classifies the inputs. LINEARLY SEPARABLE WEIGHT SPACE dots. Such functions are called linearly separable. Figure 20.20(c) shows an example of Die XOR Funktion nicht linear separierbar,XOR wie function. anhand der Abbildung wird. a function that isistnot linearly separable—the Clearly, there isklar no way forEs a gibt für ein Perzeptron keine Möglichkeit die Reizschwelle so zu bestimmen, dass diese Funktion berechthreshold perceptron to learn this function. In general, threshold perceptrons can represent net werden kann. only linearly separable functions. These constitute just a small fraction of all functions; Es gibt aber20.14 einenasks sehr einem Perzeptron jede linear limited, separierbare TraiExercise youeinfachen to quantifyAlgorithmus this fraction. Sigmoid perceptrons are similarly ningsreihe beizubringen: in the sense that they represent only “soft” linear separators. (See Figure 20.19(b).) Despite their limited expressive power, threshold perceptrons have some advantages. In particular, there is a simple learning algorithm that will fit a threshold perceptron to any linearly separable training set. Rather than present this algorithm, we will derive a closely related algorithm for learning in sigmoid perceptrons. The idea behind this algorithm, and indeed behind most algorithms for neural network 2 Lippe (2006), Backpropagation Learning: Prinzipien Künstl. Neuronaler Netze, learning, is to adjust the weights of the network to minimize some measure of the error on http://cs.uni-muenster.de/Professoren/Lippe/lehre/skripte/wwwnnscript/lern.html, Stand space. 24.11.2006 8 the training set. Thus, learning is formulated as an optimization search in weight The “classical” measure of error is the sum of squared errors, which we used for linear regression on page 720. The squared error for a single training example with input x and true output y is written as 1 1 11/16 E = Err 2 ≡ (y − hW (x))2 , 2 2 where hW (x) is the output of the perceptron on the example and T is the true output value. We can use gradient descent to reduce the squared error by calculating the partial deriva- Mit zwei linear separierbare Mengen Y1 und Y2 soll ein Perzeptron trainiert werden. Yi hat die Form (1,y1, … yn). Das Perzeptron soll einen Gewichtsvektor der Form ⇒ yw > 0 ⇒ yw ≤ 0 y ∈ Y1 y ∈ Y2 annehmen. Tritt dieser Fall ein ist das Lernen beendet. Allerdings ist dieser Gewichtsvektor in den meisten Fällen nicht bekannt. Das Perzeptron macht deshalb zunächst „Fehler“. Dem Perzeptron wird nun ein Beispiel vorgelegt, dass als falsch ermittelt wird. Dann wird der Gewichtsvektor im nächsten Schritt wie folgt verändert: t w + y, falls y ∈ Y1 und yw ≤ 0 t ∈ Y2 und 0 w + 1 = wt − y, falls y Chapter 20.yw ≥ Statistical Learning Methods wt , sonst 744 Multilayer feed-forward neural networks Bei Now diesen werden with die Komponenten der Vektoren und subtrahiert. we Rechnungen will consider networks hidden units. The most commonaddiert case involves a single Nach 11 Verschiebung des Gewichtsvektors kann es vorkommen, dass einige zuvor richtig hidden layer, as in Figure 20.24. The advantage of adding hidden layers is that it enlargeserkannte Beispiele falsch klassifiziert Nach wird unit der as Gewichtsvektor jethe space of hypotheses thatwerden. the network can endlich represent.vielen ThinkSchritten of each hidden a percepdoch erfolgreich gelernt. tron that represents a soft threshold function in the input space, as shown in Figure 20.19(b). Then, think of an output unit as as a soft-thresholded linear combination of several such func- Mehrschichtige Neuronalesoft Netzwerke tions. For example,feed-forward by adding two opposite-facing threshold functions and thresholding the result, we can obtain a “ridge” function as shown in Figure 20.23(a). Combining two such Dieridges „feed-forward“ Netzwerke in mehreren Schichten könnenfrom nicht nurhidden Daten in einem at right angles to each other (i.e., combining the outputs four units), we linear separierbaren Bereich erkennen, sondern auch Daten Anhäufungen. Da mit jedem „hidden layobtain a “bump” as shown in Figure 20.23(b). er“ eine neue Hyperebene aufgespannt wird. Dies wird durch die Abbildung 07 verdeutlicht. hW(x1, x2) 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 -4 -2 x1 0 2 4 (a) -4 -2 0 4 2 x2 hW(x1, x2) 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 -4 -2 x1 0 2 -4 4 -2 0 4 2 x2 (b) Figure 20.23 (a) The resultvon of zwei combining two opposite-facing softGrenzfunktionen, threshold functions Abbildung 07: (a) Das Resultat kombinierten, gegensätzlichen wel-to produce a ridge. (b) The result of combining two ridges to produce a bump. che einen „Grat“ bilden. (b) Das Resultat wenn zwei dieser „Grate“ kombiniert werden, ein „Höcker“. With more hidden units, we can produce more bumps of different sizes in more places. In fact, with a single, sufficiently large hidden layer, it is possible to represent any continuous function of the inputs with arbitrary accuracy; with two layers, even discontinuous functions 12 Unfortunately, Durch Sachverhalt kann eine jede Funktion mit beliebiger Exaktheit berechnet can diesen be represented. for any particular network structure, it is harder to werden. Dercharacterize Lernalgorithmus Netze istcan ähnlich wie der and einschichtigen Netze, ein kleiner Unterexactly dieser which functions be represented which ones cannot. schied ist, dass es einen Ausgabewert sondern einen Vektorproblem. von Ausgaben. Der Suppose wenicht want nur to construct a hidden layergibt network for the restaurant We Hauptunterschied liegt darin, dass in den Eingabedaten keine Aussage über die Ausgaben der have 10 attributes describing each example, so we will need 10 input units. How many hidden „hidden layer“ gemacht werden kann. Diese Ausgaben scheinen aus dem Nichts zukommen. Es units are needed? In Figure 20.24, we show a network with four hidden units. This turns out können allerdings Rückschlüsse von der Ausgabe der „output layer“ auf die Ausgaben der „hidto be about right for this problem. The problem of choosing the right number of hidden units deninlayer“ gemacht werden. advance is still not well understood. (See page 748.) Learning algorithms for multilayer networks are similar to the perceptron learning algorithm show in Figure 20.21. One minor difference is that we may have several outputs, so 11 Some people call this a three-layer network, and some call it a two-layer network (because the inputs aren’t “real” units). We will avoid confusion and call it a “single-hidden-layer network.” 12 The proof is complex, but the main point is that the required 12/16 number of hidden units grows exponentially with the number of inputs. For example, 2n /n hidden units are needed to encode all Boolean functions of n inputs. Der Rückschlussprozess kann wie folgt zusammengefasst werden: • Berechne die Δ Werte der „output units“ unter Beachtung des beobachten Fehlers • Starte mit der Ausgabeschicht, und wiederhole das folgende mit jeder Schicht im Netzwerk, bis der früheste „hidden layer“ erreicht wurde: ◦ Propagiere den Δ Wert zurück in die vorige Schicht ◦ Aktualisiere die Gewichte zwischen den beiden Schichten. Es dürfte klar sein, dass der Prozess nicht nur für Netze mit einem „hidden layer“ angewendet werden kann, sonder für alle Neuronale Netze. Lernen von Neuronalen Netzten Strukturen Bisher wurden nur die Gewichte für eine vorhandene Struktur von Neuronalen Netzen festgelegt. Ein Neuronales Netz sollte nicht zu groß gewählt werden. Es besteht dann die Gefahr, dass sich das Netz zwar exakt an schon da gewesene Beispieldaten erinnert, aber neue ungelernte Daten werden nicht unbedingt gut genug klassifizieren. In anderen Worten das Netzwerk neigt zu „Überanpassung“, wenn zu viele Parameter im Modell beachtet werden. Um dies zu vermeiden und ein Netz minimal zu halten wird der „optimal brain damage“ Algorithmus benutzt, welcher durch ein vollverbundenes Netzwerk läuft und „ungenutzte“ Verbindungen kappt. Nach der ersten Trainingsphase werden die besten Verbindungen, welche verworfen werden können, vom Algorithmus herausgesucht und gelöscht. Danach wird das Netz neu trainiert. Dies wird solange wiederholt bis sich die Leistung verschlechtert. Um ein optimales Netz zu erhalten wird die Konfiguration der vorigen Iteration verwendet. Das Problem kann auch von der anderen „Seite“ angegangen werden. Ein minimales Netzwerk wird vorausgesetzt, welches dann so erweitern wird, dass am Ende eine zufrieden stellende Lösung herauskommt. Es wird hierzu mit einer „single unit“ begonnen. Diese wird so trainiert, dass sie so viele Trainingsdaten wie möglich korrekt abdeckt. Anschließend werden neue Einheiten unter der Beachtung, dass sie die Fehlerfälle der ersten Einheit abdecken, hinzugefügt. Der Algorithmus fügt nur so viele Einheiten hinzu wie benötigt werden das Beispiel gut abzudecken. Kernel Maschinen Es gibt bei den Neuronalen Netze allerdings die folgenden Aspekte, die uns die Auswahl etwas erschweren. Einschichtige Netzwerke haben einen simplen und effizienten Lernalgorithmus, aber sehr beschränkte Möglichkeiten. Mehrschichtige Netze haben auf der einen Seite mehrere Ausdrucksstärke, sind durch ihre Fülle von Minimalkonfigurationen jedoch sehr schwer zu finden bzw. zu trainieren. Eine Ansatz um dieses Problem zu um gehen sind die „kernel maschines“. Der Grundgedanke wird anhand eines Beispiels nachvollzogen. In der Abbildung 08 sehen wir 2-dimensionale Daten die nicht linear separierbar sind. Die Daten werden nun durch Transformation in den 3-dimensionalen Raum überführt. Was dabei geschieht, ist leicht aus der Abbildung zu entnehmen 13/16 750 Chapter 20. 750 Statistical Learning Methods Chapter 20. Statistical Learning Methods 1.5 1 1.5 x2 0.5 0 -0.5 3 2 1 !2x 0 1x2 -1 3 -2 2 -3 1 0 0.5 x2 1 !2x1x2 0 -0.5 -1 0 -1 -2 -3 -1.5 -1.5 -1 -0.5 -1 0 x1 0.5 1 1.5 (a) 2.5 2 1.5 0.5 1 1 x21 1.5 x22 0.5 2 2.5 2 0 (b) 0.5 1.5 1 x22 1 Abbildung 08: (a) 2-dimensionale Trainingsdaten, welche mit2 Sicherheit nicht linear separierbar 1.5 0.5 x1 -1.5 sind. Figure 20.27 Entscheidungsgrenze, (a) A two-dimensional with examples as black circles and Die richtige x12training + x22 ≤ 1, ist positive ebenso eingezeichnet. (b) die gleichen 2 2 2 2 -1.5 -1 -0.5 0 0.5 1 1.5 2 negative examples as white circles. The true decision boundary, x + x ≤ 1, is also shown. Daten nach der Transformation in den 3-dimensionalen Raum (x1 , 1x2 , √2x Der kreisförmi2 1x2).√ ge Separator ist nun linearer geworden. (b) The same dataxein mapping into a three-dimensional input space (x 21 , x22 , 2x1 x2 ). The 1after circular decision(a) boundary in (a) becomes a linear decision boundary in (b) three dimensions. x22 Figure 20.27 (a) A two-dimensional training with positive examples as black circles and 2 negative as white circles. The true decision boundary, + xallgemein is also shown. Die Datenexamples sind in diesem Raum linear separierbar. Dies istx 21ein gültiger Sachverhalt. 2 ≤ 1,√ (b) The samedies data noch after mapping into a three-dimensional input space (x 21 , x22 , 2x1 x2 ). The Leider reicht nicht aus. circular decision boundary a linear decision in three dimensions. Die Transformation bringt in eine „Überangepasstheit“ mitboundary sich bringt. Deshalb überführen wir die 1 (a) becomes Daten durch eine Projektion wieder in den 2-dimensionalen Raum wie in Abbildung 09 zu sehen 0.8 ist. 0.6 0.4 1 0.2 0.8 x22 0 0 0.6 0.2 0.4 0.6 x21 0.8 1 Figure 20.28 0.4A close-up, projected onto the first two dimensions, of the optimal separator shown in Figure 20.27(b). The separator is shown as a heavy line, with the closest points—the support vectors—marked with circles. The margin is the separation between the positive 0.2 and negative examples. 0 0 0.2 0.4 0.6 x21 0.8 1 Abbildung 09: Die Projektion der ersten 2 Dimensionen, des Separators von Abbildung 07 (b). Figure 20.28 Alieg close-up, projected onto the first two dimensions, of Grenze the optimal separator Der Separator in der Mitte der zwei gestrichelten Linien. Dies ist die von negativen shownund in positiven Figure 20.27(b). The separator is shown as a heavy line, with the closest points—the Beispielen. support vectors—marked with circles. The margin is the separation between the positive and negative examples. Nun können die Daten ohne Gefahr linear separiert werden. Der lineare Separator wird so gewählt, dass er von beiden Mengen genau im Mittel liegt. Das heißt, der Abstand zu den Datenpunkten wird optimiert, damit ein bestmögliches Ergebnis bei unbekannten Daten erreicht wird. 14/16 This can be done easily for k-nearest-neighbor and perceptron learning, among others. 20.7 C ASE S TUDY: H ANDWRITTEN D IGIT R ECOGNITION Recognizing handwritten digits is an important problem with many applications, including automated sorting of mail by postal code, automated reading of checks and tax returns, and Praktisches Anwendungsbeispiel: Handschriftenerkennung. data entry for hand-held computers. It is an area where rapid progress has been made, in part because of better learning algorithms and in part because of the availability of better training Handschriftenerkennung vielenofBereichen Anwendung. Beispielsweise bei der sets. The United States findet NationalinInstitute Science andeine Technology (NIST) has archived a Post um eine of Postleitzahl zu entziffern, oder um bei pixels PDAswith die 8-bit Eingabe zu erleichtern. database 60,000 labeled digits, each 20 × 20 = 400 grayscale values. It Das amerikanische „National of Sience andproblems Technology“ (NIST)new hatlearning hierfüralgorithms. ein Archiv von 60000 has become one ofInstitute the standard benchmark for comparing gelabelten Wobei in einer Auflösung von 20*20=400 Pixel gespeichert ist. Some Zahlen. example digits arejedes shownBild in Figure 20.29. Abbildung 10: Zwei Handschriftlich Beispiele des NIST. Die Zahlen, in der oberen Reihe, sind Figure 20.29 Examples from the NIST database of handwritten digits. Top row: examples leicht zu identifizieren. Bei der unteren Reihe ist es schwerer die richtigen Zahlen zu ermitteln. of digits 0–9 that are easy to identify. Bottom row: more difficult examples of the same digits. Many different learning approaches have been tried. One of the first, and probably the simplest, is the 3-nearest-neighbor classifier, which also has the advantage of requiring no Es wurden umfassenden Archivs mehrere Lernverfahren getestet. traininganhand time. As diesen a memory-based algorithm, however, it must store all 60,000 images, and Eines der erstenitsund wahrscheinlich auch einfachste war das „3-Nächste-Nachbarn“ Verfahren. Bei Tests runtime performance is slow. It achieved a test error rate of 2.4%. erreichte die Methode eine Fehlerrate von 2,4%. A single-hidden-layer neural network was designed for this problem with 400 input Ein „single-hidden-layer“ Neuronales Netz mit Using 400 „input units“ (fürit jedes Pixel eine) und units (one per pixel) and 10 output units (onewurde per class). cross-validation, was found 10 „output units“300 (eine für jede Zahl) DurchWith Bereinigung wurde festgestellt, dass die that roughly hidden units gave theaufgebaut. best performance. full interconnections between bestenlayers, Ergebnisse 300of„hidden units“ erziehlt wurden. Wasa 1.6% das Verfahren there weremit a total 123,300 weights. This network achieved error rate. eine Fehlerrate von 1,6% erreicht lies. Weitere Verfahren wie das „LeNet“, „support vector maschine“ und „shape matching“ erreichten Fehlerraten von weniger als 0,5%. Wobei ein Mensch eine Fehlerraten von ungefähr 0,2% erreichen könnte. Allerdings bei ähnlichen Daten des amerikanischen Post Services beträgt die menschliche Fehlerrate 2,4%. 15/16 Literaturverzeichnis • S. Russell, P. Norvig, Artificial Intelligence: A Modern Approach, Kapitel 20: Statistical Learning Methods, Prentice Hall, 2. Auflage, 2002 • G. Görz, C.-R. Rollinger, J. Schneeberger (Hrsg.), Handbuch der Künstlichen Intelligenz, Oldenbourg Verlag, 4. Auflage, 2002 • Wikipedia, EM-Algorithmus, http://de.wikipedia.org/wiki/EM-Algorithmus, Stand 21.11.2006 • Lippe (2006), Backpropagation Learning: Prinzipien Künstl. Neuronaler http://cs.uni-muenster.de/Professoren/Lippe/lehre/skripte/wwwnnscript/lern.html, 24.11.2006 Netze, Stand • U. Schöning, Boolsche Funktionen, Logik, Grammatiken und Automaten (Theoretische Informaitk II) - Vorlesungsskript -, 2003 • Universität des Saarlandes, Data Mining Glossar, Cross Validation, http://www-agrw.informatik.uni-kl.de/damit/c/crossvalidation.html, Stand 25.11.2006 16/16