Algorithmus Mustererkennung

sabille

Newbie
Registriert
Jan. 2014
Beiträge
4
Hallo zusammen,

ich bin neu hier im Forum. Ich habe allerdings schon häufiger hier Hilfe über andere Forumsbeiträge gefunden.

Ich habe folgendes Problem:

Ich habe eine Befragung durchgeführt und mit Hilfe einer Cluster-Anaylse vier unterschiedliche Typen in einem Datensatz identifizieren können. Diese vier identifizierten Typen sollen anderen Fällen anhand der 10 clusterbildenen Variablen bzw. Fragen in einem anderen Datensatz zugeordnet werden. Bisher hatte ich einen Algorithmus, der auf Mittelwerten basiert
und die Abweichungen der Antworten zu den Mittelwerten prüft. Auf Basis der quadrierten Abweichungen zu den vier Typen
wird geprüft, bei welchem Typ die Summe aller quadrierten Abweichungen am geringsten ist. Leider liegen diese Mittelwerte insgesamt teilweise sehr nah beieinander, so dass der Rechner sehr sensibel reagiert. Weiterhin werden auch keine wirklichen Antwortmuster berücksichtigt.

Habt ihr vielleicht eine Idee, wie man auf Basis dieser Mittelwerte einen besseren Algorithmus entwickeln kann. Ich habe mich mal ein bisschen mit Support Vector Machines auseinander gesetzt, bin mir aber nicht sicher, ob das das geeignete Verfahren ist - es scheint auch sehr aufwendig zu sein.

Danke für eure Hilfe!
Sabille
 
Hey,

Wie hast du die Cluster erstellt?

Bei der Zuordnung könntest du wie du es vermutlich bereits getan hast einfach schauen, zu welchem cluster der Abstand am geringsten ist. Wie du diesen Abstand berechnest ist dabei dir überlassen. Du könntest z.B. den Mittelpunkt aller enthaltenen exemplare als referenz nehmen, oder den abstand zu allen Exemplaren aller Cluster berechnen und schauen zu welchem Cluster der Datensatz mit geringstem Abstand gehört.

Mit Support Vector Machines kann man das ganze auch sehr gut lösen. Jedoch musst du dir hier die Grundsätzliche frage stellen, ob du die neuen Daten dem System auch hinzufügen willst. Dafür sind Support Vector Machines meiner ansicht nach nicht wirklich gedacht, da diese dann immer wieder neu berechnet werden müssen.

Generell würde ich aber sagen, dass du ein großes problem hast wenn deine Cluster nah beieinander liegen... Schau dir mal die Datensätze an den Rändern des Clusters an. Vielleicht kannst du ein paar als unzulässig einstufen.

Gruß
Oliver
 
Hey Oliver,

vielen Dank für die schnelle Antwort. Die Cluster wurden mithilfe der Ward-Methode gebildet.

Gibt es vielleicht noch eine Möglichkeit für jeden Typen eine Funtion zu bilden und dann in Bereichen zu arbeiten (ähnlich wie bei Integralen)?

Ich möchte gerne am liebsten auch zu positive oder zu negative Antwortverhalten berücksichtigen.

Grüße
Sabille
 
Wenn ich das richtig verstehe liegt die Summe aller Mittelwerte nahe beieinander. Die Frage ist, wie verhält sich das bei den einzelnen Mittelwerten ? Es wäre möglich das einige der Mittelwerte durchaus zur Klassifikation verwendet werden könnten. Dann hast du zwar 10 Dimensionen, die könntest du aber mit einer Hauptkomponenten Analyse/PCA reduzieren.
Ohne den Datensatz zu kennen ist es schwierig eine Aussage zu treffen.
 
Was für eine Funktion soll das sein? Möchtest du jedes Cluster für sich betrachten und dann schauen wie gut es zum neuen Datensatz passt? Im prinzip machst du sowas ja jetzt schon.

Was sind zu positive oder zu negative Antwortverhalten? Wie sieht die Befragung aus? Wenn es eine Bewertung war könntest du die scala von beiden seiten um die nicht verwendeten Punkte beschneiden. Und als zusätzliches Merkmal das was du abgeschnitten hast nehmen.

Was mir noch einfällt... du könntest die Distanzfunktion parametrisieren... für jede Frage einen gewissen Faktor der angibt wie wichtig die Frage ist angeben. Zum Beispiel würde das in meinem beispiel hiervor interessant werden. Da das Merkmal ja nicht die gleiche bedeutung hat wie eine normale Frage.
 
Hallo zusammen,

vielen Dank für Eure Antworten.

Ich habe jetzt mal der Einfachheit halber ein Bild hochgeladen. Ich habe die 10 Fragen mit dem Antwortverhalten der vier Typen (bei vier Antwortmöglichkeiten) und möchte jetzt ein Algorithmus entwickeln, der Typ B auch als Typ B einordnet, wenn der 1,2,2,2,2,2,2,2,2,3 ausgefüllt hat.

Unbenannt.png
Habt ih da vielleicht eine Idee? Vielleicht suche ich auch einfach falsch - das ist doch bestimmt kein ganz ungewöhnliches Anliegen...

Danke und viele Grüße
Sabille
 
Hi!

Ich bin mir nicht ganz sicher, ob ich genau verstanden habe, was Du genau tun möchtest - für mich klingt es jedenfalls so, als ob Du eine Ähnlichkeitsanalyse der Muster machen möchtest.

Dafür gibt es eine Menge Algorithmen und Formeln - Wikipedia listet Dir die prominentesten auf.

Ich hoffe, ich konnte Dir weiterhelfen :-)
 
Kanibal liegt schon fast richtig :evillol:, in dem Fall empfiehlt sich aber explizit das Bestimmtheitsmaß, da es auch Berücksichtigt, wenn Steigungen sich gegenseitig revidieren. Eine Formel für das Bestimmtheitsmaß gibt es auch in OpenOfficeCalc. Schätze mal, dass es dann vergleichbares auch in Microsofts Excel gibt.

Man kann natürlich mit all diesen Analyse nicht bestimmen, wo sich Unterschiede befinden. Aber für den Angegebenen Fall, das man ein bestimmtes Muster erkennen möchte liefert das schon recht vernünftige Ergebnisse.
 
Danke, ich muss mir das noch mal anschauen!
Ergänzung ()

Also, mit dem Bestimmtheitsmaß funktioniert es leider noch schlechter als mit dem ursprünglichen Modell.
Schade, das klang nach einer wirklich guten Lösung. :(
 
Natürlich funktioniert das Bestimmtheitsmaß für diese Art des Vergleiches. Siehe Bild. Aber ggf. habe ich die Frage auch missinterpretiert. Sollte es darum gehen herauszufinden, welchen Typ eine bestimmte Reihe am ehesten ähnelt, ist dies der Beste weg.

Aber ggf. wäre es auch nicht schlecht zu wissen, in welcher Form du denn den Algorithmus anwenden möchtest. Wenn es als Programm funktionieren soll, ist es einfacher umzusetzen als mit handelsüblichen Mitteln in einer Tabellenkalkulation.

Dann würde man sich die Steigung anschauen. Man hat vier Listen mit je i-1 Steigungen. Diese vergleicht man mit den Steigungen der aktuelle Reihe. Stimmt alles überein ist es der gleiche Typ.

Bestimmtheitsmass.JPG
 
Zurück
Oben