Forum: Offtopic Statistik zm finden ähnlicher Objekte


von Chris S. (chris_86)


Lesenswert?

Hallo zusammen,
für  meine Masterarbeit suche ich gerade nach Möglichkeiten, aus einer
Datenmenge ähnliche Objekte zu finden. Bei Amazon kennt ihr ja ist es 
ähnlich dort erscheint auch immer Produkte, die andere, ähnliche Käufer 
gekauft haben. Wie funktioniert so etwas statistisch oder welche 
Stichwörter könnte ich für meine Literaturrecherche verwenden?

Viele Grüße
Chris

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

http://www.heise.de/ct/schlagseite/2005/22/gross.jpg

Ähnlichkeiten würde ich mathemathisch über "Korrelationen" suchen, 
vielleicht hilft der Suchbegriff
http://de.wikipedia.org/wiki/Korrelation

von Tom K. (ez81)


Lesenswert?


von Axel S. (a-za-z0-9)


Lesenswert?

Christian S. schrieb:

> für  meine Masterarbeit suche ich gerade nach Möglichkeiten, aus einer
> Datenmenge ähnliche Objekte zu finden.

OK.

> Bei Amazon kennt ihr ja ist es
> ähnlich dort erscheint auch immer Produkte, die andere, ähnliche Käufer
> gekauft haben. Wie funktioniert so etwas statistisch oder welche
> Stichwörter könnte ich für meine Literaturrecherche verwenden?

Statistik ist da gar keine im Spiel. Und Amazon vergleicht auch keine 
Produkte. Wenn überhaupt, dann vergleicht Amazon das Käuferverhalten.

Modelliert wird sowas typischweise über einen Graph. Achtung: nicht das 
Ding von "graphische Darstellung" sondern das andere, bestehend aus 
Knoten die durch Kanten verbunden sind.

Bei Amazon wäre jedes Produkt ein Knoten. Wenn ein Kunde sowohl Produkt 
A als auch Produkt B kauft, wird im Graph eine Kante von A nach B 
eingefügt. Praktisch wird man Kanten ein Gewicht geben. So wird man 
bspw. wichten wieviel Zeit zwischen dem Kauf von A und B vergangen ist. 
Und wenn mehrere Kunden A und B kaufen, dann erhöht sich das Gewicht der 
Kante entsprechend.

Wenn jetzt ein Kunde Produkt A kauft, schaut Amazon einfach welche 
Kanten von A ausgehen und zeigt alle die an, deren Gewicht oberhalb 
einer gewissen Schranke liegt.


Hilft dir das jetzt bei deinem Problem? Ich denke, nein. Du mußtest 
zuerst mal Ähnlichkeit quantifizieren. Ein einfacher Ansatz wäre, N 
Objekteigenschaften Werte zwischen z.B. 0 und 100 zuzuweisen. Dann ist 
jedem Objekt ein Punkt in einem N-dimensionalen Raum zugeordnet. Als Maß 
für die Ähnlichkeit könnte man jetzt den euklidischen Abstand der Punkte 
nehmen:

Objekt A = (a1, a2, a3, ..., aN)
Objekt B = (b1, b2, b3, ..., bN)
Abstand D(A, B) = sqrt((a1-b1)² + (a2-b2)² + ... + (aN-bN)²)

Identische Objekte haben den Abstand 0 und ganz allgemein gilt daß die 
Ähnlichkeit umso größer ist je kleiner der Abstand ist. In der Praxis 
will man verschiedene Eigenschaften vielleicht verschieden bewerten. 
Dazu könnte man vor die quadratischen Glieder jeweils noch einen 
Wichtungsfaktor setzen.


XL

von Purzel H. (hacky)


Lesenswert?

Das Proble ist erst mal Aehnlichkeit zu definieren. Und dann auf 
Datensets anzuwenden. Computer koennen nur rechnen. Sprache ist schon 
sehr schwierig, und nur regelbasiert moeglich.

Es gab mal assoziative Memories, die haetten sowas auf viel tieferem 
Level tun sollen, da hoert man aber nichts mehr davon

von Chris S. (chris_86)


Lesenswert?

Super ihr habt mit gut für einen ersten Überblick geholfen. Wie wird 
dann ausgehend von einem Graphennetzwerk die Ähnlichkeit definiert? Gibt 
es hierzu gute Literatur oder habt ihr ein Beispiel?
@a-za-z0-9
Deine Ekklärung war super, - Danke nur die Angelegenheit mit der 
Ähnlichkeit kannst du das etwas  genauer erklären? Danke!

von Uhu U. (uhu)


Lesenswert?

Da ist nix mit Ähnlichkeit. Wenn du einen Artikel 4711 auf deinen 
Bestellzettel setzt, dann gucken sie nach, wer noch 4711 bestellt hat 
und durchforsten diese Bestellungen nach anderen Artikeln.

Aus diesen anderen Artikeln werden dann Vorschläge erzeugt und so 
unsinnig sind sie zuweilen auch.

von Axel S. (a-za-z0-9)


Lesenswert?

Christian S. schrieb:

> Super ihr habt mit gut für einen ersten Überblick geholfen. Wie wird
> dann ausgehend von einem Graphennetzwerk die Ähnlichkeit definiert?

Bei der Modellierung als Graph ist die Ähnlichkeit (auch "Nähe", 
"Kompatibilität" etc. je nach Festlegung des Kantengewichtes) direkt 
durch das Gewicht der Kante zwischen den beiden zu vergleichenden Knoten 
gegeben. Keine Kante zählt dabei als Gewicht=0 ~=~ keine Ähnlichkeit.

Allerdings ist es alles andere als trivial, einen wirklich großen 
Graphen für sagen wir mal 10 Mio. Produkte aus einen Onlineshop auch 
irgendwo abzuspeichern und dann effizient Operationen drauf auszuführen. 
Da muß man dann schon etwas mehr Gehirnschmalz reinstecken. 
Typischerweise sind solche Graphen aber sehr dünn besetzt, was die Sache 
wieder erleichtert.

> @a-za-z0-9
> Deine Ekklärung war super, - Danke nur die Angelegenheit mit der
> Ähnlichkeit kannst du das etwas  genauer erklären? Danke!

Fang einfach mit einem kleinen Beispiel an. Die Objekte sind Fahrzuge. 
Wir haben zwei Merkmale: Höchstgeschwindigkeit und Farbe. Jetzt malst du 
dir auf ein Blatt ein Diagramm. An die eine Achse schreibst du v_max, 
die Achse geht vielleicht von 4km/h bis 300km/h. Die andere Achse heißt 
"Farbe" und du machst z.B. alle 10 Einheiten einen Strich und schreibst 
Farben dran: weiß, silber, gelb, orange, rot, ...

Jedes Fahrzeug ergibt nun einen Punkt im Diagramm. Je näher zwei Punkte 
sind, desto ähnlicher sind sich die Fahrzeuge. Wenn du ein drittes 
Merkmal dazu nimmst, wird aus der Ebene ein 3-dimensionaler Raum mit 
Punkten darin. Und für den allgemeinen Fall mit N Eigenschaften ist es 
halt ein n-dimensionaler Raum. Der euklidische Abstand, den ich gegeben 
habe, entspricht dabei dem "gewohnten" Abstand, den du auch mit dem 
Lineal messen würdest.

Auch den Einfluß der Wichtung kann man an diesem Beispiel schön sehen. 
Ein silberner Golf hat von einem roten Golf einen Abstand von 30. 
Genauso wie ein gelbes Moped mit v_max=100 von einem gelben Polo mit 
v_max=130. Je nachdem, ob Übereinstimmung bei der Farbe wichtiger ist, 
ober Übereinstimmung bei der Maximalgeschwindigkeit, würde man die 
Beiträge der jeweiligen Eigenschaft zum Abstand mit einem bestimmten 
Faktor versehen. Je größer der Faktor für ein Merkmal, desto ähnlicher 
müssen sich die Objekte bezüglich dieses Merkmals sein. Bspw. hättest du 
auf der Farbachse die farben auch mit Abstand 100 anordnen können. Dann 
wäre die Farbe viel wichtiger bei der Beurteilung des Abstands.

Der praktische Wert des Konzepts steht und fällt dabei mit der Auswahl 
der Merkmale und der Wichtung derselben.


XL

von P. M. (o-o)


Lesenswert?

Uhu Uhuhu schrieb:
> Da ist nix mit Ähnlichkeit. Wenn du einen Artikel 4711 auf deinen
> Bestellzettel setzt, dann gucken sie nach, wer noch 4711 bestellt hat
> und durchforsten diese Bestellungen nach anderen Artikeln.

Doch. "Ähnlichkeit" ist ja zunächst mal ein völlig undefinierter 
Begriff. Amazon definiert Ähnlichkeit (oder Zusammengehörigkeit oder wie 
immer man es nennen will) in diesem Fall nun genau als diejenigen 
Produkte, die andere Käufer des jeweiligen Produkts auch gekauft haben. 
Das macht auch intuitiv Sinn: Wer ein Buch über Elektronik gekauft hat, 
der wird mit grösserer Wahrscheinlichkeit ein weiteres Buch über 
Elektronik kaufen, als eines über Pferdezucht. Und niemand würde 
abstreiten, dass zwei Elektronikbücher sich in vieler Hinsicht ähnlicher 
sind als ein Buch über Pferdezucht und eines über Elektronik.

von Uhu U. (uhu)


Lesenswert?

P. M. schrieb:
> Das macht auch intuitiv Sinn: Wer ein Buch über Elektronik gekauft hat,
> der wird mit grösserer Wahrscheinlichkeit ein weiteres Buch über
> Elektronik kaufen, als eines über Pferdezucht.

Nur kommt zuweilen eben auch das Buch über Pferdezucht in die 
Vorschlagsliste.

Ich glaube nicht, daß die die Graphentheorie bemühen, um zu ihren 
"Vorschlägen" zu kommen.

Ein nettes Beispiel sind die Werbe-Mails, die ich von EBay bekomme. Das 
ist immer ein fröhliches Sammelsurium von irgendwelchem 
Elektronikkrempel und Mode - völliger Schwachsinn, aber durchaus 
erklärbar, wenn man den dümmstmöglichen Algorithmus ansetzt.

von Chris S. (chris_86)


Lesenswert?

super danke für die Erklärungen.
Hat das Verfahren von Axel Schwenke (a-za-z0-9)  auch einen bestimmten 
Namen, damit sich dazu Literatur finden lässt?

von Chris S. (chris_86)


Lesenswert?

Gibt es für das Verfahren von Axel Schwenke (a-za-z0-9)  Stichworte, um 
die "Vorhersage" von Daten mittels Graphen zu repräsentieren und ggfs 
Suchalogithmen für bestimmte Fragestellungen zu finden? Ich möchte gerne 
Literatur dazu suchen - Danke !

von Axel S. (a-za-z0-9)


Lesenswert?

Christian S. schrieb:
> Gibt es für das Verfahren von Axel Schwenke (a-za-z0-9)  Stichworte, um
> die "Vorhersage" von Daten mittels Graphen zu repräsentieren und ggfs
> Suchalogithmen für bestimmte Fragestellungen zu finden?

Die Sache mit dem Graph meinst du? Das ist weniger ein Verfahren als 
vielmehr ein (naheliegendes?) Modell. Das mathematische Fachgebiet 
dazu heißt - wenig überraschend - Graphentheorie. Dieses Gebiet hat 
viele Berührungspunkte mit anderen. Bspw. ist ein Baum aus der 
Informatik eine spezielle Art von Graph (einer ohne Kreise). Netzwerke 
sind Graphen. Dito Leiterplatten (einseitig geroutete sind planare 
Graphen). Spiele der Art zeichne die Figur in einem Zug sind 
Anwendungen der Graphentheorie. etc. pp


XL

von John B. (craftsman)


Lesenswert?

Hallo Christian,

in der Statistik Literatur gibts ziemich viel zu Ähnlichkeit.

Der Wiki Artikel
http://de.wikipedia.org/wiki/%C3%84hnlichkeitsanalyse
bietet schon mal einen Einstieg.

güsse, John

von Axel S. (a-za-z0-9)


Lesenswert?

Fun Fact: eine mögliche Darstellungsform für Graphen ist eine 
http://de.wikipedia.org/wiki/Adjazenzmatrix

Wenn man in dieser Matrix statt 0 und 1 das Gewicht der jeweiligen Kante 
speichert (wobei "keine Kante" dem Gewicht 0 entspricht) dann hat man 
genau die Ähnlichkeitsmatrix. Da eine Ähnlichkeitsrelation symmetrisch 
ist, ist auch die Matrix symmetrisch, was wiederum einem ungerichteten 
Graphen entspricht.

Der Trick bei Amazon & Co besteht nun darin, nicht die volle Matrix (und 
auch nicht die Hälfte) zu speichern. Das wäre aus mehreren Gründen 
unökonomisch, u.a. schon deswegen, weil eine solche Matrix für alle 
Amazon-Artikel sehr viele Nullen enthalten wird.

Eine Strategie, die das früher mal genannte Paper andeutet, besteht 
darin, zwischen bestimmten Produktgruppen gar keine Ähnlichkeiten 
anzunehmen. Im Falle eines Graphen zerfällt der dann in mehrere, 
miteinander nicht verbundene Zusammenhangskomponenten. In der Matrix 
äußert sich das bei geeigneter Anordung der Elemente als große 
quadratische Bereiche, die nur Nullen enthalten.

Dazu ein Beispiel: 4 Elemente, A, B, C und D. Die beiden Gruppen {A, B} 
und {C, D} seien einander total unähnlich. Die Matrix anthält dann 
entsprechend große Bereiche mit Nullen:
1
 |A B C D
2
-+-------
3
A|. . 0 0
4
B|. . 0 0
5
C|0 0 . .
6
D|0 0 . .

Man könnte die Matrix auch als zwei 2x2 Matrizen speichern, die wiederum 
je einer der beiden Komponenten des Graphen entsprechen.

Ist doch schön, wie alle Wege nach Rom führen, oder? :)


XL

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.