Vektoren auf Ähnlichkeit prüfen
-
Gregor, dann findest aber, dass sich die Vektoren x und a*x für beliebiges a != 0 sehr sehr ähnlich sind. Vom OP her klingt das jetzt nicht nach dem gewünschten Verhalten.
Mein Vorschlag wäre einfach die Norm (z.B. eine beliebige p-Norm) der Differenz als Distanzmaß zu nehmen.
-
Jester schrieb:
Gregor, dann findest aber, dass sich die Vektoren x und a*x für beliebiges a != 0 sehr sehr ähnlich sind. Vom OP her klingt das jetzt nicht nach dem gewünschten Verhalten.
Hmmm. Im Prinzip sollte das durch den Vergleich der Normen unter Punkt 1 verhindert werden. Aber Dein Vorschlag ist in der Tat eleganter.
-
die Norm (z.B. eine beliebige p-Norm) der Differenz
Ist damit gemeint , oder ?
Wenn das Funktionieren würde wäre es super, da es total einfach zu realisieren ist. Ich frage mich nur gerade ob ich da einen festen Grenzwert festlegen kann. Ist die Differenz der Norm nicht abhängig von der Anzahl der Werte?
Die Idee ist es auf jeden Fall wert weiter gedacht zu werden.
Wäre es evtl. sinnvoll zu betrachten?
Danke!
-
Nobody-86 schrieb:
die Norm (z.B. eine beliebige p-Norm) der Differenz
Ist damit gemeint , oder ?
Das erste natürlich, denn beim zweiten sind beliebige Vektoren ähnlich, wenn sie bloß die gleiche Länge haben.
Wenn das Funktionieren würde wäre es super, da es total einfach zu realisieren ist. Ich frage mich nur gerade ob ich da einen festen Grenzwert festlegen kann.
Es böte sich an, das mittels zu normieren.
Ist die Differenz der Norm nicht abhängig von der Anzahl der Werte?
Du meinst der Dimensionalität der Vektoren? Jain. Kommt halt drauf an, wie genau du deinen Ähnlichkeitsbegriff definierst.
Wäre es evtl. sinnvoll zu betrachten?
Siehe Kommentar zu .
-
Sehr interessant. Ich habe jetzt folgendes Ausprobiert:
(P2-Norm)
X scheint immer zwischen 0 und 1 zu liegen und besitzt bei 1 ein 100% Übereinstimmung bei 0 überhaupt keine.Prinzipiell ist es genau das was ich möchte. Nun stellt sich aber die Frage nach einem sinnvollen Grenzwert. Eine prozentuale Abweichung ist es nicht ganz, so dass das Gefühl für einen guten Zahlenwert fehlt. Ich habe versucht B=A*1.05 zu setzen, die "Ähnlichkeit" wird dann aber zu X=0.97561 (scheint unabhängig von Dimension und Wertegröße zu sein)
-
Nobody-86 schrieb:
Sehr interessant. Ich habe jetzt folgendes Ausprobiert:
(P2-Norm)
X scheint immer zwischen 0 und 1 zu liegen und besitzt bei 1 ein 100% Übereinstimmung bei 0 überhaupt keine.Quatsch. Da kommen auch jede Menge Werte unter 0 heraus. Und für A = -B passieren ganz komische Sachen. Liest du die Antworten hier im Thread überhaupt? Es wurden schon mehrere gute Lösungen vorgeschlagen, aber du schlägst dann selber immer etwas völlig anderes vor, das wir kommentieren sollen. Kombinierst du einfach zufällig bis irgendetwas zu funktionieren scheint?
-
Da kommen auch jede Menge Werte unter 0 heraus. Und für A = -B passieren ganz komische Sachen.
An den Fall A=-B habe ich (obwohl es sofort auffallen sollte) nicht direkt gedacht. Auch das Werte unter 0 raus kommen können ist mir eben erst klar geworden. Da ich kein Mathematiker bin habe ich keinen direkten Blick für so etwas.
Es wurden schon mehrere gute Lösungen vorgeschlagen, aber du schlägst dann selber immer etwas völlig anderes vor, das wir kommentieren sollen.
Ich versuche nur das zu verstehen was gesagt wurde und frage nach ob ich es richtig verstanden habe.
Meine letzte Formel bezog sich übrigens auf deinen Vorschlag:Es böte sich an, das mittels ||A||+||B|| zu normieren.
Und während ich dies her gerade schreibe sehe ich das ich in meiner Formel einen Tippfehler gemacht habe. Ich wollte selbstverständlich nicht schreiben, sondern wie von dir vorgeschlagen (wenn es den so gemeint war?).
Kombinierst du einfach zufällig ∥,+,−,A,B bis irgendetwas zu funktionieren scheint?
Aufgrund meines Tippfehlers mag das von Außen betrachtet so aussehen. Auch die 1-... war evtl. nicht überlegt genug gewählt und mag seinen Teil dazu beitragen. Trotzdem versuche ich nur das zu verstehen was mir (Dankenderweise!) vorgeschlagen wird.
PS:
Mir fällt außerdem gerade auf das sich durch die Wortwahl schnell Missverständnisse ergeben können. Unter einem Vektor verstehe ich so was hier: c++ vektor reference
Ich hätte besser das Wort "Liste" verwendet. Dementsprechend ist die "Länge" für mich die Anzahl der Listeneinträge, also das was der Mathematiker als "Dimension" bezeichnen würde.
-
Super. Also war alles hier im Thread vollkommen umsonst, da du dich weder gescheit ausdrücken kannst, noch frühzeitig darauf aufmerksam machst, wenn du falsch verstanden wirst. Das wird sicher viele Leute zu weiterer Hilfe animieren.
-
Eigentlich hätte der erste Satz meiner Frage diesem Missverständnis vorbeugen sollen:
Hallo,
angenommen ich habe zwei verschiedene Vektoren (Listen mit Fließkommazahlen)
Und darauf das wir alle aneinander vorbei geredet haben, habe ich ja auch erst jetzt festgestellt (hat aneinander vorbei reden so an sich).
Nichtsdestotrotz danke ich für alle Anregungen die ich bisher bekommen habe. Es sind schließlich einige Dinge dabei die es wirklich wert sind weiterverfolgt zu werden.
-
ist übrigens nur eine elegante Schreibweise für das von SeppJ vorgeschlagene .