www.matheraum.de
Das Matheforum.
Das Matheforum des MatheRaum.

Für Schüler, Studenten, Lehrer, Mathematik-Interessierte.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Mathe
  Status Schulmathe
    Status Primarstufe
    Status Mathe Klassen 5-7
    Status Mathe Klassen 8-10
    Status Oberstufenmathe
    Status Mathe-Wettbewerbe
    Status Sonstiges
  Status Hochschulmathe
    Status Uni-Analysis
    Status Uni-Lin. Algebra
    Status Algebra+Zahlentheo.
    Status Diskrete Mathematik
    Status Fachdidaktik
    Status Finanz+Versicherung
    Status Logik+Mengenlehre
    Status Numerik
    Status Uni-Stochastik
    Status Topologie+Geometrie
    Status Uni-Sonstiges
  Status Mathe-Vorkurse
    Status Organisatorisches
    Status Schule
    Status Universität
  Status Mathe-Software
    Status Derive
    Status DynaGeo
    Status FunkyPlot
    Status GeoGebra
    Status LaTeX
    Status Maple
    Status MathCad
    Status Mathematica
    Status Matlab
    Status Maxima
    Status MuPad
    Status Taschenrechner

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Neuerdings beta neu
 Forum...
 vorwissen...
 vorkurse...
 Werkzeuge...
 Nachhilfevermittlung beta...
 Online-Spiele beta
 Suchen
 Verein...
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Mathe-Seiten:Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
StartseiteMatheForenKünstliche Intelligenz und RobotikK-Nearest Neighbor
Foren für weitere Schulfächer findest Du auf www.vorhilfe.de z.B. Informatik • Physik • Technik • Biologie • Chemie
Forum "Künstliche Intelligenz und Robotik" - K-Nearest Neighbor
K-Nearest Neighbor < Künstl. Intelligenz < Praktische Inform. < Hochschule < Informatik < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Künstliche Intelligenz und Robotik"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

K-Nearest Neighbor: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 20:48 Do 02.02.2012
Autor: natascha

Aufgabe
Klassifizieren Sie die neue Instanz (93,8,10) unter Verwendung des k-nearest neighbor Algorithmus und der euklidischen Distanz. Was ist das Problem bei diesem Dataset?
Gegebene Werte:
1) 126, 14, 6, A
2) 102, 6, ,12, A
3) 127, 13, 10, B
4) 99, 8, 6, A
5) 89, 5, 5, A
6) 103, 15, 7, A
7) 112, 17, 12, B
8) 87, 10, 11, A
9) 88, 11, 6, A
10) 93, 8, 10, A

Guten Tag,
Zuerst einmal denke ich, dass das Problem darin besteht, dass die neue Instanz bereits in der Tabelle vorkommt. Wenn ich ganz normal vorgehe, erinnere ich mich aus dem Unterricht, dass wir zuerst die Distanz von der neuen Instanz zu allen anderen berechnen müssen, deswegen fange ich wie folgt an:
d(new,1) = sqrt(1089+36+16) = 33.78
d(new,2) = 9.43
d(new,3) = 34.36
d(new,4) = 7.746
d(new,5) = 7.07
d(new,6) = 12.57
d(new,7) = 21.1187
d(new,8) = 6.403
d(new,9) = 7.07
d(new,10) = 0
Die kleinste Distanz ist mit dem Eintrag 10 aus der Tabelle, dieser sollte also Root werden des Baumes.
Nun soll das Attribut gewählt werden, anhand welchem ich die Einträge sortiere (wenn grösser als bei Eintrag 10 auf die rechte Seite, und sonst auf die linke Seite).
Stimmt das soweit? Woher weiss ich, welches Attribut ich nehmen soll für das Splitten?
Vielen Dank im Voraus!
Liebe Grüsse,
Natascha

        
Bezug
K-Nearest Neighbor: Frage (überfällig)
Status: (Frage) überfällig Status 
Datum: 13:40 Fr 03.02.2012
Autor: natascha

Guten Tag!
Ich wäre echt froh, wenn mir jemand bezüglich dieses Algorithmus helfen könnte. Vielleicht kennt jemand einen LInk zu einem guten BEispiel? Hab gegooglet, aber bis jetzt noch nichts schlaues gefunden. Ich muss diesen Algorithmus unbedingt verstehen! Vielen Dank im Voraus!

Bezug
                
Bezug
K-Nearest Neighbor: Antwort
Status: (Antwort) fertig Status 
Datum: 16:02 Fr 03.02.2012
Autor: sandp

hey,
hast du irgendwo in deinen Unterlagen einen Pseodocode oder irgendwas ähnliches, dass man die vorgehensweiße des Algorithmus nachvollziehen kann, da man wirklich sehr wenig über den Algorithmus im Internet(und es oft dann auch kleine Unterschiede gibt) findet und ich von dem Algorithmus auch noch nichts gehört habe.

Also dass du am Anfang den Abstand zu allen Instanzen bilden musst, das scheint richtig zu sein, das wird wohl auch der Grund sein warum der Algorithmus nicht so oft angewandt wird, da das ja ziemlich viel Aufwand ist.

Gruß sandp

Bezug
                
Bezug
K-Nearest Neighbor: Fälligkeit abgelaufen
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 14:20 So 05.02.2012
Autor: matux

$MATUXTEXT(ueberfaellige_frage)
Bezug
        
Bezug
K-Nearest Neighbor: Antwort
Status: (Antwort) fertig Status 
Datum: 16:55 Fr 03.02.2012
Autor: Pille456

Hi!

In der Tat findet man recht wenig zur K-Nearest Neighbour Methode, aber im Prinzip ist diese recht einfach:

Man hat eine gegeben Trainingsdatenmenge, wo jedem Punkt (oder allg. jedem Vektor) eine Klasse zugewisen wurde. Das hast Du ja hier auch gegeben.
Der eigentliche Algorithmus sucht nun zu dem Datenvektor c und den passenden Trainingsdaten T die dazugehörige Klasse.
In "Grundkurs Künstliche Intelligenz" von Wolfang Ertel wird das etwas formaler so beschrieben:

NearestNeighbour(M_+,M_-,s)
  t = [mm] argmin_{x \in M_+ \cup M_-} \{d(s,x)\} [/mm]
  If t [mm] \in M_{+} [/mm] Then Return("+")
  else Return("-")

wobei [mm] M_{+} [/mm] die Menge der positiven Testdaten, [mm] M_{-} [/mm] die Menge der negativen Testdaten und s der zu klassifizierende Vektor ist. d bezeichnet hier irgendeine Abstandsmetrik, bei Dir also den euklidischen Abstand.
Jetzt hast Du k nicht gegeben, daher gehe ich davon aus, dass der obrige Algo. ausreicht. (quasi k = 1)

Beim klassischen K-Nearest-Neighbour betrachtet man nun die k nächsten Datenpunkte im Bezug auf d(..).
Überlicherweise führt man dann oben eine Mehrheitsentscheidung duch, falls k > 1 ist. Das heißt, du betrachtetst die k nächsten Nachbarn und gibst die häufigste Klassifikation zurück. (Wenn 2 Nachbar "+" sind und einer "-" bei k = 3, dann gibst Du halt "+" zurück)
Falls diese Anzahl gleich ist, dann gibst Du was zufälliges zurück.

Ich hoffe das hilft ein wenig.

Gruß
Pille


Edit: Bzgl. der Frage was hier problematisch am Datenset ist: Ich würde mir die Punkte mal aufmalen/plotte. Ich vermute(!!) dann wird dabei herauskommen, dass der Abstand zum neuen Punkt von einer Klasse aus geringer als der zu einer anderen ist, obwohl man intuitiv den Punkt der anderen Klassen zugewiesen hätte. Das heißt der Algo. wählt hier eine Klassifierung, die dem Menschen nicht direkt schlüssig erscheint (aufgrund der Testdatenmenge)

Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Künstliche Intelligenz und Robotik"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
www.matheforum.net
[ Startseite | Forum | Wissen | Kurse | Mitglieder | Team | Impressum ]