Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Architekt

Community-Fossil

  • »Architekt« ist der Autor dieses Themas

Beiträge: 2 481

Wohnort: Hamburg

Beruf: Student

  • Private Nachricht senden

1

19.04.2018, 16:10

Mehrere Wahrscheinlichkeiten zusammenbringen

Klingt doof, aber ich weiß es echt nicht (mehr) :D:

Wenn ich mehrere Wahrscheinlichkeiten habe, bspw. 0.6 und 0.9 die für ein Ereignis sprechen, wie rechne ich die Gesamtwahrscheinlichkeit aus?
Ich meine es war 0.6 + 0.9 = 1.5 / 2 = 0.75 aber irgendwie kommt es mir komisch vor, dass die Prozentuale Wahrscheinlichkeit für das Ereignis sinkt. Vllt. ist es heut aber auch einfach nur zu warm..
Problemstellung ist folgende: Ich habe mehrere Wörter und versuche sie bestimmten Kategorien zuzuordnen. Für diese Kategorien existieren mögliche Wörter als Indikatoren die eine Prozentuale Wahrscheinlichkeit aufweisen, wie relevant bzw. konkret die für diese Kategorie sind (verschiedene Kategorien können die gleichen Indikatoren mit unterschiedlicher Wahrscheinlichkeit aufweisen). Und jetzt muss ich eine gesamte Wahrscheinlichkeit für die Wörter ermitteln, die als möglicher Indikator in Frage kommen.
Der einfachste Weg eine Kopie zu entfernen ist sie zu löschen.
- Stephan Schmidt -

Wirago

Alter Hase

Beiträge: 1 193

Wohnort: Stockerau

Beruf: CRM Application Manager

  • Private Nachricht senden

2

19.04.2018, 16:21

Mir ist die Fragestellung nicht ganz klar.
Du hast eine Menge an Wörtern die mit unterschiedlichen Wahrscheinlichkeiten auftreten - ok.
Und die Frage ist jetzt, wie groß die Wahrscheinlichkeit ist, dass ... x Wörter aus der Menge vorkommen?
Oder mindestens eines der Wörter aus der Menge vorkommen?

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Wirago« (19.04.2018, 16:38)


Architekt

Community-Fossil

  • »Architekt« ist der Autor dieses Themas

Beiträge: 2 481

Wohnort: Hamburg

Beruf: Student

  • Private Nachricht senden

3

19.04.2018, 16:32

Ich hab z.B. die Kategorie Obst, die enthält die Wörter Apfel mit 87% Wahrscheinlichkeit und Birne mit 74% Wahrscheinlichkeit. Die können ruhig in anderen Kategorien mit derselben oder einer anderer Wahrscheinlichkeit nochmal auftreten. Die Wahrscheinlichkeiten sind berechnet worden, indem gezählt wurde, wie oft diese Worte in diesen Kategorien vorkamen, geteilt durch die Gesamtanzahl an Worten in dieser Kategorie. Nun überprüfe ich 8 Worte die ich aus einer Quelle extrahiert habe/bekomme: 2x das Wort Apfel, 3x Ball, 2x Flasche, 1x Birne. Also erhalte ich eig. 2x Apfel = 2 * 0.87 = 1.74 + 1x Birne = 0.74 = 2.48 / 3 = 82.666% dass die Quelle, aus der die 8 Wörter stammen, zur Kategorie Obst gehört. Ist das korrekt oder ist meine Herangehensweise falsch?
Der einfachste Weg eine Kopie zu entfernen ist sie zu löschen.
- Stephan Schmidt -

TGGC

1x Rätselkönig

Beiträge: 1 799

Beruf: Software Entwickler

  • Private Nachricht senden

4

19.04.2018, 17:00

Nein, du denkst da völlig falsch.

Ein Beispiel, angenommen es gibt nur 3 Woerter und 2 Kategorien:
Kategorie 1: w1-90%, w2-10%, w3-0%
Kategorie 2: w1-10%, w2-80%, w3-10%

Wenn ich folgenden Text habe: w1 w1 w1 w1 w1 w2 w3.

In welche Kategorie gehört der? Mit 100% gehört er in Kategorie 2, weil in Kategorie 1 ja w3 nie vorkommt. Und warum ist das so? Weil der Unterschied von Pw3 in aus beiden Kategorien so hoch ist. Hätte hingegen beide Kategorien die gleiche Wahrscheinlichkeit fuer w3, z.B. 5% zu 5% oder 80% zu 80%, dann hat das Auftauchen von w3 im Text überhaupt keine Auswirkung auf die Zuordnung in die Kategorien.

Ich hoffe es wird klar, worauf ich hinaus will.

Architekt

Community-Fossil

  • »Architekt« ist der Autor dieses Themas

Beiträge: 2 481

Wohnort: Hamburg

Beruf: Student

  • Private Nachricht senden

5

19.04.2018, 18:49

Aber da ich Kategorien ohne Wissen voneinander untersuche, sollten beide Kategorien eine gewisse Wahrscheinlichkeit aufweisen, dass diese Worte in ihre Kategorie gehören, oder nicht? Es gibt auch Worte, die in keine Kategorie gehören. Ob sie in eine Kategorie gehören und wenn in welche (können ja mehrere sein) weiß ich nicht unbedingt zum Zeitpunkt wo ich die Überprüfung durchführe.
Der einfachste Weg eine Kopie zu entfernen ist sie zu löschen.
- Stephan Schmidt -

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

6

19.04.2018, 21:22

0 bleibt 0

Du hast mehrere Cluster von Wort-Wahrscheinlichkeiten. Du hast eine Menge Wörter, die jeweils mit einer Wahrscheinlichkeit vorkommen. Das ergibt einen Quotienten aus "erwartet" dividiert durch "eingetroffen" für jedes Wort. Diese Quotienten wichtest du - welche Wichtung du da nimmst, kann ich dir nicht sagen. Aber eine Gesamtwahrscheinlichkeit wirst du so logisch irgendwie nicht ermitteln können. Das würde ja sonst auch bedeuten, dass zwei Kathegorien, die jeweils nicht aus Wahrscheinlichkeitsclustern bestehen einen Satz plötzlich zu 100% zuordnen könnten. Das ist aber logischer Unfug, solange die Cluster nicht nur aus 100% und 0% für *jedes* Wort bestehen.

Beispiel:
K1: w1 = 33.33%, w2 = 66.66%,
K2: w1 = 50%, w2 = 50%

Satz:
w2 w2 w1

Bewertung für K1 darf keine 100% ergeben, denn ich behaupte einfach, dass ich den Satz aus K2 gebildet habe, er aber eben nur "so lala" den Wahrscheinlichkeiten entspricht. Ist eben ein Ausreißer.

Im Gegensatz dazu:
K1: w1 = 100%, w2 = 0%
K2: w1 = 99%, w2 = 1%
K3: w1 = 90%, w2 = 10%
Satz:
w1 w1 w2

Hier ist die Wahrscheinlichkeit definitiv 0, dass der Satz zu K1 passen könnte.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von »BlueCobold« (20.04.2018, 06:32)


TGGC

1x Rätselkönig

Beiträge: 1 799

Beruf: Software Entwickler

  • Private Nachricht senden

7

19.04.2018, 22:39

Aber da ich Kategorien ohne Wissen voneinander untersuche, sollten beide Kategorien eine gewisse Wahrscheinlichkeit aufweisen, dass diese Worte in ihre Kategorie gehören, oder nicht?
Und deswegen macht diese Betrachtung eben keinen Sinn. Angenommen du hast einen Satz der nur aus einem Wort besteht "w1". Zehn Prozent aller Worte in Kategorie 1 sind w1. Wie hoch ist die Wahrscheinlichkeit das "w1" zu Kategorie 1 gehört? Das lässt sich aus den 10% nicht ableiten. Ist die Wahrscheinlichkeit für w1 in allen anderen Kategorien 0, ist sie 100%. Ist sie in allen anderen sehr nahe 0, dann ist sie vlt. bei 90%. Besteht aber eine andere Kategorie zu z.B. 80% aus w1, ist der Satz sehr wahrscheinlich aus diese Kategorie und die Wahrscheinlichkeit für Kategorie 1 eher gering. Bedenke auch das die Summer aller Wahrscheinlichkeiten das w1 aus Kategorie x ist in der Summe 1 sein muss. Wie soll das funktionieren wenn du alle Kategorien einzeln berechnest?

Jonathan

Community-Fossil

  • Private Nachricht senden

8

08.05.2018, 00:36

Es kann schon sinnvoll sein, jeder Kategorie einen eigenen Wert zuzuordnen. Das Problem ist nur, dass man keine Wahrscheinlichkeiten berechnen kann, wenn man nicht zuvor sauber definiert, zu welchem Ereignis man die Wahrscheinlichkeit überhaupt berechnen möchte. Und insbesondere kann man nicht wissen, wie man das Ergebnis zu interpretieren hat, wenn man nicht weiß, was man eigentlich ausrechnen wollte.

Das Problem wurde von Architekt nicht besonders gut beschrieben, aber es hörte sich interessant an, also habe ich darüber nachgedacht. Ich habe keine Ahnung, was das mit dem Obst soll, meine Interpretation ist aber folgende (wirkt immer noch arg künstlich, ist aber das Beste, was mir auf die Schnelle einfiel): Angenommen, ich möchte automatische Rechtschreibkorrektur in automatisch ausgewählten Sprachen implementieren. Ich habe einen Text der aus Wörtern besteht und zu jeder möglichen Sprache eine Liste an Wörtern, die in dieser Sprache enthalten sind. Ein Wort kann in mehreren Sprachen vorkommen ('hat' kann sowohl deutsch, als auch englisch sein). Sieht man also das Wort 'hat' kann man erstmal nicht sagen, ob es deutsch oder englisch ist, aber nun stellt man folgende Überlegung an: Als Hilfsverb würde 'hat' in einem deutschen Text häufiger vorkommen, als der 'Hut' in englischen Texten. Also sagt man, der Text ist deutsch, wenn es oft vorkommen, und englisch, wenn es selten vorkommt

Wir müssen also wissen, wie oft das Wort in welcher Sprache vorkommt, was man herausfindet wenn man einen Text mit vielen Wörtern (1 Millionen) nimmt und zählt, wie oft es dort vorkommt (z.B. 5000 mal), und anschließend durch die Gesamtzahl der Wörter teilt (mathematisch Gesprochen ein Maximum-Likelihood-Schätzer [1]). Als nächstes hat man einen Text, dessen Sprache man bestimmen möchte, mit wesentlich weniger Wörtern (sagen wir: 1000) und zählt, wie oft das Wort dort vorkommt (z.B. 6 mal). Jetzt weiß man also, dass es zu 0.5% auftauchen sollte, tatsächlich aber 6 mal aufgetaucht ist. Was ist die Wahrscheinlichkeit davon?
Dazu muss man erst definieren, wie die Wörter zustande kommen. Denkbar wäre folgendes (vereinfachtes) Modell: Man baut sich einen Text aus 1000 zufälligen Wörtern und wählt bei jedem Wort zu 5% Wahrscheinlichkeit das Wort 'hat' aus und zu 95% irgendein anderes Wort aus der Sprache (wir betrachten also ersteinmal nur die relative Häufigkeit eines einzigen Wortes, nicht die Kombinierte aller Wörter). Damit folgt die Gesamthäufigkeit des Wortes 'hat' einer Binominalverteilung [2], bei der der Parameter p die 0.5% sind und n die Anzahl der Wörter (hier also 1000). Schaut man sich die Verteilung an, sieht man schnell, dass sie nie den Wert 100 annimmt, wie BlueCobold ja auch gefordert hat. Immer beruhigend, wenn die Intuition sich als wahr heraus stellt.
Letztendlich kann man an der Verteilung ablesen, was passiert, wenn man eine Millionen deutsche Texte (in denen 'hat' zu 0.5% auftaucht) mit je 1000 Wörtern nimmt und zählt, wie oft 'hat' wirklich auftaucht. Oft wird es 5 mal sein, aber auch oft 4 oder 6 mal. Selten wird es 0 mal auftauchen und quasi nie 100 mal. Hat man jetzt also eine Zahl berechnet, die angibt, wie Wahrscheinlich es ist, dass der Text deutsch ist?

Nun, es gibt noch ein paar Probleme: Sagen wir, der Text hat doch 10.000 Wörter. Der Erwartungswert ist jetzt, dass man das Wort 50 mal zählt (und nicht mehr 5 mal), aber die Wahrscheinlichkeit es genau 50 mal zu zählen, ist wesentlich geringer, als sie vorher war, es genau 5 mal zu zählen. Sinnvoller wäre es vielleicht zu fragen, wie wahrscheinlich es ist, dass man nur 10% Abweichung hat (d.h. es zwischen 45 und 55 mal vorkommt), hier würde man dann die Wahrscheinlichkeiten für diese 10 Ereignisse addieren und dann auf eine Zahl kommen, die ungefähr der alten Wahrscheinlichkeit von 5 Vorkommnissen entspricht. Ein weiteres Problem ist aber, dass die Verteilung diskret ist (es macht keinen Sinn zu fragen, in wie vielen Fällen das Wort 4.5 oder 5.5 mal vorkommt), also wird man Zwangsläufig mit Rundungsfehlern zu kämpfen haben.

Aber, mit ein bisschen Vorsicht kann man ungefähr so für jede der vorhandenen Sprachen einen Score ausrechnen und diese dann vergleichen. Die Summe aller Scores aller Sprachen muss dabei auch nicht 100% ergeben um sinnvoll zu sein, denn der Wert sagt eben nicht "es ist zu 17% Deutsch und zu 83% englisch" sondern "ein zufälliger deutscher/englischer Text, sieht mit einer Wahrscheinlichkeit von x so aus wie dieser Text". Und man würde dann einfach den mit dem höchsten Score nehmen.

Aber man kann natürlich auf versuchen tatsächlich einen relativen Score auszurechnen. Wenn man Sprachen direkt miteinander vergleichen möchte, muss man allerdings auch wissen, wie häufig jede Sprache vorkommt (wenn man vermutet, dass ein Text bezüglich der Analyse der Wörter zu 40% deutsch und zu 60% englisch sein kann, man aber weiß, dass 99 von 100 Texten auf deutsch sein werden, sollte man trotzdem annehmen, der Text sei deutsch. Wer das fraglich findet, sollte sich unbedingt mal das 'Aidstest-Paradoxon' [3] ansehen). Wenn man nicht weiß, wie häufig jede Sprache ist, würde man vermutlich annehmen, jede sei gleich häufig. Das ist meistens ok, man sollte sich aber dieser (meist impliziten) Annahme bewusst sein, weil sie eine Fehlerquelle im mathematischen Modell darstellt.
(Anschließend würde man wohl die individuellen Scores mit der Häufigkeit der Sprache multiplizieren und dann auf 1 normalisieren und hat sein Ergebnis - aber darüber will man vielleicht auch nochmal auführlich nachdenken)


Jetzt habe ich viel geschrieben, aber was mir dabei eigentlich wichtig ist: Die Wahrscheinlichkeiten auszurechnen ist eigentlich ganz einfach, der Knackpunkt ist, das Problem vernünftig mathematisch zu formulieren. Jede Antwort hier kann man als richtig oder falsch ansehen, denn die Problemstellung ist so diffus, dass man nicht sagen kann, welches Modell das richtige ist und dementsprechend auch nicht, welche Wahrscheinlichkeit die richtige ist. Und: Es gibt mehrere Fallstricke bei der Modellfindung, oft hat man das benötigte Wissen nicht, oder weiß vorher schon, dass gewisse Dinge nur Näherungen sind. Das kann man nicht immer verhindert, man kann damit aber trotzdem oft leben (aber sollte alle diese kleinen Probleme nicht vergessen!).

Selbst wenn man dann ein geeignetes Modell gefunden hat, muss man es immer noch wirklich verstanden haben. Was nützt einem schon irgendein Prozent-Wert wenn man keine Ahnung hat, wie man ihn zu interpretieren hat? Man darf sich hier nicht täuschen, Menschen sind verdammt beschissen darin, Wahrscheinlichkeiten zu verstehen, ich würde sogar fast behaupten, dass die Intuition bei Nicht-Mathematikern und nicht-trivialen Fällen fast nie richtig liegt. Ein schönes Beispiel dafür ist der Unterschied zwischen Median und Mittelwert [4], der eigentlich leicht zu verstehen ist, aber den meisten Menschen auf der Straße trotzdem nicht bewusst sein dürfte. Und am Ende des Tages sind manche Sachverhalte einfach inhärent kompliziert und man gewinnt nichts, wenn man sie auf eine einzige Zahl runterbricht. So ist das Leben.


[1] https://de.wikipedia.org/wiki/Maximum-Likelihood-Methode
[2] https://de.wikipedia.org/wiki/Binomialverteilung
[3] https://blog.zeit.de/mathe/allgemein/wel…hiv-mathematik/
[4] http://statistik-dresden.de/archives/1863
Lieber dumm fragen, als dumm bleiben!

equinox

Frischling

Beiträge: 56

Beruf: Student

  • Private Nachricht senden

9

28.06.2018, 14:38

Ich hoffe, dass das jetzt nicht blöd kommt auf so einen "alten" Thread zu antworten, aber ich würde dennoch gerne die Begriffe "Satz von Bayes" und "Naiver-Bayes-Klassifikator" einwerfen, da diese vermutlich genau das Problem beantworten welches hier beschrieben wurde. (Vielleicht freut es ja jemanden).

Werbeanzeige