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
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:
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
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.
Antworten:
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.
Die Reduzierung der Dimensionalität durch Erlernen einer invarianten Zuordnung (DrLIM) scheint bei einigen Datensätzen sehr gut zu funktionieren.
Die Analyse von Nachbarschaftskomponenten ist ein sehr schöner linearer Algorithmus, und es wurden auch nichtlineare Versionen entwickelt.
Es gibt eine ganze Literatur, die sich mit diesem Thema aus der Perspektive des "Lernens eines Kernels" befasst. Ich weiß nicht viel darüber, aber dieses Papier wird häufig zitiert.
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
quelle
Das Setzen eines Gewichts auf ein Feature in Ihrem Ähnlichkeitsmaß ist äquivalent, sodass Sie Ihren Datensatz um . 1 / w iai 1/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:
Es gibt eine riesige Menge an Literatur und sogar Konferenzspuren, die diesem Thema gewidmet sind. Einige Methoden, um Ihnen den Einstieg zu erleichtern:
quelle