www.vorhilfe.de
Vorhilfe

Kostenlose Kommunikationsplattform für gegenseitige Hilfestellungen.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Vorhilfe
  Status Geisteswiss.
    Status Erdkunde
    Status Geschichte
    Status Jura
    Status Musik/Kunst
    Status Pädagogik
    Status Philosophie
    Status Politik/Wirtschaft
    Status Psychologie
    Status Religion
    Status Sozialwissenschaften
  Status Informatik
    Status Schule
    Status Hochschule
    Status Info-Training
    Status Wettbewerbe
    Status Praxis
    Status Internes IR
  Status Ingenieurwiss.
    Status Bauingenieurwesen
    Status Elektrotechnik
    Status Maschinenbau
    Status Materialwissenschaft
    Status Regelungstechnik
    Status Signaltheorie
    Status Sonstiges
    Status Technik
  Status Mathe
    Status Schulmathe
    Status Hochschulmathe
    Status Mathe-Vorkurse
    Status Mathe-Software
  Status Naturwiss.
    Status Astronomie
    Status Biologie
    Status Chemie
    Status Geowissenschaften
    Status Medizin
    Status Physik
    Status Sport
  Status Sonstiges / Diverses
  Status Sprachen
    Status Deutsch
    Status Englisch
    Status Französisch
    Status Griechisch
    Status Latein
    Status Russisch
    Status Spanisch
    Status Vorkurse
    Status Sonstiges (Sprachen)
  Status Neuerdings
  Status Internes VH
    Status Café VH
    Status Verbesserungen
    Status Benutzerbetreuung
    Status Plenum
    Status Datenbank-Forum
    Status Test-Forum
    Status Fragwürdige Inhalte
    Status VH e.V.

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
Dt. Schulen im Ausland: Mathe-Seiten:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
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.vorhilfe.de