So finden Sie Gewichte für ein Unähnlichkeitsmaß

9

Ich möchte Attributgewichte für mein Unähnlichkeitsmaß lernen (ableiten), das ich für das Clustering verwenden kann.

Ich habe einige Beispiele von Objektpaaren, die "ähnlich" sind (sich im selben Cluster befinden sollten), sowie einige Beispiele von Objektpaaren, die "nicht ähnlich" sind (sollten nicht sein) im selben Cluster sein). Jedes Objekt hat eine Reihe von Attributen: Wenn Sie möchten, können wir uns jedes Objekt als einen dimensionalen Vektor von Merkmalen vorstellen, wobei jedes Merkmal eine nicht negative Ganzzahl ist. Gibt es Techniken, um solche Beispiele für ähnliche / unähnliche Objekte zu verwenden, um daraus optimale Merkmalsgewichte für ein Unähnlichkeitsmaß abzuschätzen?( c i , d i ) d(ai,bi)(ci,di)d

Wenn es hilft, wäre es in meiner Bewerbung wahrscheinlich vernünftig, sich darauf zu konzentrieren, ein Unähnlichkeitsmaß zu lernen, das eine gewichtete L2-Norm ist:

d(x,y)=jαj(x[j]y[j])2.

wo die Gewichte nicht bekannt sind und gelernt werden sollten. (Oder es könnte auch eine Art gewichtetes Kosinus-Ähnlichkeitsmaß sinnvoll sein.) Gibt es angesichts der Beispiele gute Algorithmen, um die Gewichte für ein solches Maß zu lernen ? Oder gibt es andere Methoden zum Erlernen eines Ähnlichkeits- / Unähnlichkeitsmaßes, die ich berücksichtigen sollte?α jαjαj

Die Anzahl der Dimensionen ist leider sehr groß (Tausende oder höher; sie werden aus Funktionen mit vielen Wörtern abgeleitet). Ich habe jedoch viele Zehntausende von Beispielen. Ich habe dann Hunderttausende von Objekten, die ich gruppieren möchte. Daher ist es wichtig, anhand der Beispiele zu verallgemeinern, um eine gute Unähnlichkeitsmetrik zu lernen.

Ich stelle fest, dass dies in die Rubrik des halbüberwachten Clusters fällt, und es klingt so, als ob es sich um eine "Ähnlichkeitsanpassung" handelt, aber ich konnte keine klaren Beschreibungen der für diesen Zweck zu verwendenden Algorithmen finden.

DW
quelle
Sehr interessantes Problem. Wenn ich Ihr Problem richtig verstehe, erhalten Sie eine hauptsächlich leere Matrix, deren Elemente paarweise Ähnlichkeit oder Unähnlichkeit codieren. Einige Elemente sind ausgefüllt, aber die meisten fehlen. Ich würde versuchen, diese Matrix zuerst zu füllen (z. B. unter Verwendung einer niedrigrangigen Annahme).
Vladislavs Dovgalecs
@xeon, das wäre ein Ansatz, aber er ignoriert die Funktionen. Meine Hypothese ist, dass einige Merkmale hoch relevant und einige Merkmale nicht relevant sind und dass die Betrachtung des Unterschieds in den relevanten Merkmalen eine vernünftige Unähnlichkeitsmetrik ergibt - aber wie finden wir diese Metrik? Nur der Versuch, die Matrix zu vervollständigen, wie Sie vorschlagen, ignoriert diese Struktur und nutzt daher die uns zur Verfügung stehenden Daten nicht vollständig aus.
DW
Was ist dein Endziel? Es geht nicht nur darum, die Distanzmetrik zu lernen, oder? Sie möchten die Datenpunkte kategorisieren, nicht wahr?
Vladislavs Dovgalecs
1
Es gibt Dinge, die Sie meiner Meinung nach nicht ganz klar geklärt haben. Bilden die gesamten Beispielpaare eine vollständige binäre (1 = ähnlich; 0 = unähnlich) Matrix oder fehlen einige Zellinformationen? Ist die Matrix "nicht widersprüchlich", dh die Beispielobjekte werden in nicht überlappende Klassen unterteilt? Beachten Sie auch, dass keine Lernmethode Ihnen die Art der Maßnahme (wie z. B. die L2- oder L1-Norm) empfehlen kann (oder sollte), da diese Auswahl theoretisch ist (sie hängt von der Art der Attribute und der Konzeptualisierung der Merkmale ab Speicherplatz, Clustering-Methode, die Sie dann verwenden werden).
ttnphns
Dies ist zu weit gefasst, um hier angemessen beantwortet zu werden. Es gibt eine große Menge an Literatur, die sich sowohl der Gewichtung von Merkmalen, der Auswahl als auch dem Erlernen von Distanzfunktionen widmet. Ich glaube, ich habe sogar eine Konferenz über Ähnlichkeitslernen oder so gesehen!
Hat aufgehört - Anony-Mousse

Antworten:

6

Dies ist in einigen Bereichen des maschinellen Lernens ein großes Problem. Ich bin damit nicht so vertraut, wie ich es gerne hätte, aber ich denke, das sollte Ihnen den Einstieg erleichtern.

Da Ihre Daten so hochdimensional (und wahrscheinlich spärlich?) Sind, benötigen Sie möglicherweise nichts zu Nichtlineares. Vielleicht ist die Analyse von Nachbarschaftskomponenten der beste Ausgangspunkt? der Idee einer gewichteten Norm am nächsten , wie Sie in Ihrer Frage vorgeschlagen haben.L2

David J. Harris
quelle
Ja, die Daten sind spärlich. Das sieht sehr hilfreich aus, danke. Gibt es eine Variante der Nachbarschaftskomponentenanalyse, bei der die Matrix auf Diagonale beschränkt ist (äquivalent ist Diagonale)? (Es sieht so aus, als ob dies der in meiner Frage oben erwähnten Klasse von Unähnlichkeitsmaßen entsprechen könnte.)A.QA
DW
Ich verstehe nicht, warum Sie diese Einschränkung nicht aufnehmen konnten. Ich bin mir jedoch nicht sicher, ob das resultierende Modell einen Namen hat.
David J. Harris
1

Das Setzen eines Gewichts auf ein Feature in Ihrem Ähnlichkeitsmaß ist äquivalent, sodass Sie Ihren Datensatz um . 1 / w iai1/wi

Mit anderen Worten, Sie fragen nach der Datenvorverarbeitung und -skalierung. Dies ist zu weit gefasst, um in einer einzigen Frage gut beantwortet zu werden. Suche:

  • Merkmalsauswahl
  • Merkmalsgewichtung
  • Normalisierung
  • Dimensionsreduktion
  • andere Projektionstechniken
  • andere Distanzfunktionen
  • "Rang lernen"

Es gibt eine riesige Menge an Literatur und sogar Konferenzspuren, die diesem Thema gewidmet sind. Einige Methoden, um Ihnen den Einstieg zu erleichtern:

Hat aufgehört - Anony-Mousse
quelle