-
TECHNISCHES
GEBIET
-
Die Erfindung betrifft allgemein
die Datenmodellierung und insbesondere die effiziente Datenmodellierung
unter Verwendung einer dünn
besetzten Darstellung des anfänglichen
Datensatzes.
-
STAND DER TECHNIK
-
Die Datenmodellierung ist ein wichtiges
Hilfsmittel bei der Lösung
von komplexen und großen
computerisierbaren Realweltproblemen geworden. Zum Beispiel sind
auf einer Website wie etwa www.msnbc.com an einem bestimmten Tag
oder Monat viele Geschichten verfügbar. Die Betreiber einer solchen
Website möchten unter
Umständen
wissen, ob es gemeinsame Eigenschaften gibt, die mit der Benutzern
eines bestimmten Satzes von Programmen assoziiert sind. Das heißt, wenn
ein hypothetischer Benutzer eine bestimmte Geschichte liest, kann
dann mit einer Wahrscheinlichkeit davon ausgegangen werden, dass
er auch eine andere Geschichte liest? Antworten auf diesen Typ von
Frage erlauben es den Betreibern der Website, ihre Site besser zu
organisieren, wodurch sie wiederum mehr Leser gewinnen.
-
Für
Probleme wie dieses verwenden Datenanalysten häufig erweiterte statistische
Hilfsmittel. Ein derartiges Hilfsmittel ist der aus dem Stand der
Technik bekannte Expectation Maximation-Algorithmus (nachfolgend
als EM-Algorithmus bezeichnet), der häufig in Verbindung mit einem
ebenfalls aus dem Stand der Technik bekannten naïve-Bayes (oder Bayeschen) Modell
verwendet wird. Der EM-Algorithmus erlaubt es einem Datenanalysten,
jedem Dateneintrag (z. B. den Gesichten, die ein bestimmter Benutzer
gelesen hat) ein Cluster von ähnlichen
Dateneinträgen
zuzuweisen, wobei jedes Cluster eine probabilistische Abhängigkeit
für jede Geschichte
aufweist. Die Zuweisung eines Benutzers zu einem Cluster ist nützlich,
um vorauszusagen, welche anderen Geschichten oder Typen von Geschichten
ein Benutzer vielleicht auch gelesen hat oder in Zukunft lesen wird.
(Allgemein ist ein Cluster eine Sammlung von Einträgen, wobei
jeder Eintrag einen ähnlichen
Satz von Attributwerten aufweist.)
-
Ein Nachteil bei der Nutzung des
EM-Algorithmus besteht darin, dass allgemein mit zunehmender Größe des Satzes
die Laufzeit des Algorithmus verlängert wird. Der Grund hierfür liegt
darin, dass der Algorithmus gewöhnlich
mehrmals wiederholt die Datensätze
durchläuft,
bis ein bestimmtes Konvergenzkriterium erfüllt wird. Die ist etwa bei
denn oben genannten Beispiel der Website problematisch, weil hier
ein Datensatz mehrere Millionen von Dateneinträgen umfassen kann, was eine
rasche Analyse verhindert. Ein Datenanalyst kann also unter Umständen den
EM-Algorithmus nicht so umfangreich einsetzen, wie er dies gerne
tun würde.
-
Aus diesen und anderen Gründen besteht
ein Bedarf für
die vorliegende Erfindung.
-
BESCHREIBUNG
DER ERFINDUNG
-
Die Erfindung betrifft eine effiziente
Datenmodellierung unter Verwendung einer dünn besetzten Darstellung des
Datensatzes. In einer Ausführungsform
wird zuerst ein Datensatz eingegeben. Der Datensatz enthält eine
Vielzahl von Einträgen.
Jeder Eintrag hat wenigstens ein Attribut, wobei jedes Attribut
einen Vorgabewert aufweist. Die Attribute eines Eintrags können in
einer Ausführungsform
großteils
mit den Attributen eines anderen Eintrags überlappen, wobei jedoch spezifische
Werte der Attribute für
einen Eintrag nicht derart überlappen
dürfen.
Das Verfahren speichert eine dünn
besetzte Darstellung jedes Eintrags, sodass der Wert jedes Attributs
des Eintrags nur dann gespeichert wird, wenn er von dem Vorgabewert
abweicht (d. h. wenn der Wert gleich dem Vorgabewert ist, wird er
nicht gespeichert). Dann wird ein Datenmodell unter Verwendung der
dünn besetzten
Darstellung erzeugt, und das Modell wird ausgegeben.
-
Ausführungsformen der Erfindung,
die eine in dem vorstehenden Absatz geschilderte dünn besetzte Darstellung
verwenden, sehen eine effizientere und weniger zeitintensive Datenmodellierung
des Datensatzes vor. Zum Beispiel muss in dem Kontext des EM-Algorithmus
allgemein eine Bestimmung einen gemeinsamen Wahrscheinlichkeitsverteilung über die
Cluster-Zugehörigkeit
und die Eintragswerte für
jedes Attribut jedes Eintrags vorgenommen werden, was im Stand der
Technik ein zeitaufwändiger
Prozess sein kann. Als weiteres Beispiel sehen Ausführungsformen
der Erfindung ein beschleunigtes Clustern vor, was dem Fachmann
deutlich sein sollte.
-
In den Ausführungsformen der Erfindung
kann eine Bestimmung einer a-posteriori-Wahrscheinlichkeit nur zu
Beginn die Erzeugung einer gemeinsamen Wahrscheinlichkeit auf der
Basis des Vorgabewerts eines Attributs und das Bestimmen der a-posteriori-Wahrschein lichkeit
auf der Basis dieser gemeinsamen Wahrscheinlichkeit umfassen – sodass
diese aposteriori-Wahrscheinlichkeit für einen beliebigen Eintrag
verwendet wird, der den Vorgabewert für dieses Attribut aufweist:
Mit anderen Worten muss die a-posteriori-Wahrscheinlichkeit nicht
für jeden
Eintrag mit diesem Attribut neu erzeugt werden, sondern nur einmal
für den
Vorgabewert des Attributs und anschließend nur für diejenigen Einträge, die
einen von dem Vorgabewert abweichenden Wert für dieses Attribut aufweisen.
Dadurch wird der Zeitaufwand für
die Ausführung
des EM-Algorithmus beträchtlich
verkürzt.
-
Die Ausführungsformen der Erfindung
gestatten also die Verwendung des EM-Algorithmus, um einen dünn besetzten
Datensatz zu clustern, ohne dass der Wert aller Attribute jedes
Eintrags geprüft
zu werden braucht. Wenn jeder Eintrag durchschnittlich nur einen
kleinen Satz von Attributen enthält,
die nicht den Vorgabewert aufweisen, können Ausführungsformen der Erfindung
eine starke Reduzierung der Laufzeit erreichen.
-
Die Erfindung umfasst Computer-implementierte
Verfahren, Maschinen-lesbare Medien und Computer-basierte Systeme.
Andere Aspekte, Ausführungsformen
und Vorteile der Erfindung werden durch die folgende ausführliche
Beschreibung mit Bezug auf die Zeichnungen verdeutlicht. Die Erfindung
kann gemäß den unabhängigen Ansprüchen 1,
10 und 11 realisiert werden.
-
KURZBESCHREIBUNG
DER ZEICHNUNGEN
-
1 ist
ein Diagramm der Betriebsumgebung, in der Ausführungsformen der Erfindung
realisiert werden können.
-
2 ist
ein Diagramm eines beispielhaften Bayeschen Netzwerks mit einem
einzelnen Knoten in Entsprechung zu der Cluster-Zugehörigkeit
gemäß einer
Ausführungsform
der Erfindung.
-
3 ist
ein Diagramm, das eine dünn
besetzte Darstellung eines Datensatzes gemäß einer Ausführungsform
der Erfindung zeigt.
-
4 ist
ein Flussdiagramm eines Verfahrens, das einen modifizierten EM-Algorithmus gemäß einer Ausführungsform
der Erfindung zeigt.
-
5 ist
ein Diagramm eines Systems gemäß einer
Ausführungsform
der Erfindung.
-
AUSFÜHRUNGSFORMEN
DER ERFINDUNG
-
In der folgenden ausführlichen
Beschreibung von beispielhaften Ausführungsformen der Erfindung wird
auf die beigefügten
Zeichnungen Bezug genommen, die Teil der Beschrei bung sind und beispielhafte
Ausführungsformen
darstellen, in denen die Erfindung realisiert werden kann. Diese
Ausführungsformen
werden in ausreichendem Detail beschrieben, damit der Fachmann die
Erfindung umsetzen kann, wobei zu beachten ist, dass andere Ausführungsformen
verwendet werden können
und dass logische, mechanische, elektrische und andere Änderungen
vorgenommen werden können,
ohne dass dadurch der Erfindungsumfang verlassen wird. Die folgende
ausführliche
Beschreibung ist deshalb nicht einschränkend, wobei der Umfang der
vorliegenden Erfindung nur durch die beigefügten Ansprüche definiert wird.
-
Einige Abschnitt der folgenden ausführlichen
Beschreibung nehmen auf Algorithmen und symbolische Wiedergaben
von Operationen auf Datenbits in einem Computerspeicher Bezug. Diese
algorithmischen Beschreibungen und Wiedergaben werden durch den
Fachmann auf dem Gebiet der Datenverarbeitung verwendet, um den
Inhalt seiner Arbeit möglichst
effizient für
andere Fachmänner
darstellen zu können.
Unter einem Algorithmus ist hier allgemein eine in sich konsistente
Abfolge von Schritten zu verstehen, die zu einem gewünschten
Ergebnis führt.
Die Schritte bedingen eine physikalische Manipulation von physikalischen
Größen. Gewöhnlich,
aber nicht notwendigerweise weisen diese Größen die Form von elektrischen
oder magnetischen Signalen auf, die gespeichert, übertragen,
kombiniert, verglichen oder in anderer Weise manipuliert werden können.
-
Es hat sich vor allem aus Gründen der üblichen
Nutzung als praktisch erwiesen, diese Signale als Bits, Werte, Elemente,
Symbole, Zeichen, Terme, Zahlen und ähnliches zu bezeichnen. Dabei
sollte man jedoch wissen, dass alle diese und ähnliche Begriffe mit entsprechenden
physikalischen Größen zu assoziieren
sind und nur praktische Bezeichnungen für diese Größen darstellen. Soweit die
folgenden Erläuterungen
keine anderen Angaben machen, sind in der Beschreibung der vorliegenden
Erfindung unter der Verarbeitung, Berechnung, Bestimmung oder Anzeige
jeweils Aktionen und Prozesse eines Computersystems oder einer ähnlichen elektronischen
Recheneinrichtung zu verstehen, die als physikalische (elektronische)
Größen wiedergegebene
Daten in den Registern und Speichern des Computersystems zu anderen
Daten manipuliert und umwandelt, die entsprechend als physikalische
Größen in den
Speichern oder Registern des Computersystems oder einer anderen
Einrichtung zum Speichern, Übertragen
oder Anzeigen von Informationen wiedergegeben werden.
-
Die folgende ausführliche Beschreibung ist in
vier Abschnitte unterteilt. Zuerst wird die Betriebsumgebung beschrieben,
in der Ausführungsformen
der Erfindung realisiert werden können. Dann wird ein naïve-Bayes
(Bayesches) Modell beschrieben, das Cluster verwen det. Schließlich folgt
noch eine Schlussbemerkung. Es wird eine Beschreibung einer dünn besetzten
Darstellung eines Datensatzes gemäß einer Ausführungsform
der Erfindung gegeben. Danach wird ein Verfahren gemäß einer
Ausführungsform
der Erfindung beschrieben, das einen modifizierten EM-Algorithmus
implementiert und eine dünn
besetzte Darstellung des vorausgehenden Abschnitts der ausführlichen
Beschreibung verwendet. Anschließend wird eine Beschreibung
eines Systems gemäß einer
Ausführungsform
der Erfindung gegeben, auf die ein abschließender Abschnitt folgt.
-
Betriebsumgebung
-
1 zeigt
ein Diagramm der Hardware und der Betriebsumgebung, in der Ausführungsformen
der Erfindung realisiert werden können. Die Beschreibung von 1 dient dazu, eine kurze,
allgemeine Beschreibung einer geeigneten Computerhardware und einer
geeigneten Rechenumgebung zu geben, in der die Erfindung implementiert
werden kann. Obwohl dies nicht zwingend erforderlich ist, wird die
Erfindung im allgemeinen Kontext von Computerausführbaren
Befehlen wie etwa Programmmodulen beschrieben, die durch einen Computer
wie beispielsweise einen PC ausgeführt werden. Allgemein umfassen
die Programmmodule Routinen, Programme, Objekte, Komponenten, Datenstrukturen
usw. die bestimmte Aufgaben ausführen
oder bestimmte abstrakte Datentypen implementieren.
-
Dem Fachmann sollte darüber hinaus
deutlich sein, dass die Erfindung mit anderen Computersystemkonfigurationen
wie etwa Handheld-Geräten,
Mehrprozessorsystemen, Mikroprozessor-basierter oder programmierbarer
Unterhaltungselektronik, Netzwerk-PCs, Minicomputern, Großrechnern
oder ähnlichem
realisiert werden kann. Die Erfindung kann auch in verteilten Rechenumgebungen
realisiert werden, wo Aufgaben durch entfernte Verarbeitungseinrichtungen
durchgeführt
werden, die über
ein Kommunikationsnetzwerk miteinander verbunden sind. In einer
verteilten Rechenumgebung können
Programmmodule in lokalen und entfernten Speichereinrichtungen lokalisiert
sein.
-
Die beispielhafte Hardware- und Betriebsumgebung
von 1 zum Implementieren
der Erfindung umfasst eine Universalberechnungseinrichtung in der
Form eines Computers 10 einschließlich einer Verarbeitungseinheit 21,
eines Systemspeichers 22 und eines Systembusses 23,
der die verschiedenen Systemkomponenten einschließlich des
Systemspeichers mit der Verarbeitungseinheit 21 verbindet.
Es können
nur eine oder mehr als eine Verarbeitungseinheit 21 vorgesehen
sein, sodass der Prozessor des Computers 20 eine einzige
zentrale Verarbeitungseinheit (CPU) oder eine Vielzahl von Verarbeitungseinheiten
umfasst. Dieser zweite Fall wird gewöhnlich als parallele Verarbeitungsumgebung
bezeichnet. Der Computer 20 kann ein herkömmlicher
Computer, ein verteilter Computer oder ein anderer Typ von Computer
sein, wobei die Erfindung nicht auf einen speziellen Typ von Computer
beschränkt
ist.
-
Der Systembus 23 kann eine
beliebige Busstruktur umfassen und einen Speicherbus bzw. Speichercontroller,
einen peripheren Bus und einen lokalen Bus mit verschiedenen Busarchitekturen
umfassen. Der Systemspeicher kann auch einfach als Speicher bezeichnet
werden und umfasst einen Nur-Lese-Speicher (ROM) 24 und
einen Speicher mit wahlfreiem Zugriff (RAM) 25. Ein Basic-Input/Output-System
(BIOS) 26 mit den Grundroutinen zur Übertragung von Informationen
zwischen Elementen im Computer 20 wie etwa während des
Hochfahrens ist im ROM 24 gespeichert. Der Computer 20 umfasst
weiterhin ein Festplattenlaufwerk 27 zum Lesen und Schreiben
auf einer Festplatte (nicht gezeigt), ein Magnetplattenlaufwerk 28 zum
Lesen und Schreiben auf einer entfernbaren Magnetplatte 29 und
ein Optiklaufwerk 30 zum Lesen und Schreiben auf einer
entfernbaren optischen Platte 31 wie etwa einer CD-ROM
oder einem anderen optischen Medium.
-
Das Festplattenlaufwerk 27,
das Magnetplattenlaufwerk 28 und das Optiklaufwerk 30 sind
mit dem Systembus 23 jeweils über eine Festplattenlaufwerksschnittstelle 32,
eine Magnetplattenlaufwerksschnittstelle 33 und eine Optikplattenlaufwerksschnittstelle 34 verbunden.
Die Laufwerke und deren assoziierten Computer-lesbaren Medien sehen
einen nichtflüchtigen
Speicher für
Computer-lesbare Befehle, Datenstrukturen, Programmmodule und andere
Daten für
den Computer 20 vor. Es sollte dem Fachmann deutlich sein,
dass beliebige Typen von Computer-lesbaren Medien, die Daten speichern
können
und durch den Computer gelesen bzw. beschrieben werden können, wie
etwa Magnetkassetten, Flash-Speicherkarten,
DVDs, Bernoullikassetten, RAMs, ROMs und ähnliches in der beispielhaften
Betriebsumgebung verwendet werden können.
-
Es können eine Anzahl von Programmmodulen
auf der Festplatte, der Magnetplatte 29, der Optikplatte 31,
dem ROM 24 oder dem RAM 25 einschließlich eines
Betriebssystems 35, einem oder mehreren Anwendungsprogrammen 36,
anderen Programmmodulen 37 und Programmdaten 38 gespeichert
werden. Ein Benutzer kann Befehle und Informationen in den PC 20 mittels
Eingabeeinrichtungen wie etwa einer Tastatur 40 und einer
Zeigeeinrichtung 42 eingeben. Andere Eingabeeinrichtungen
(nicht gezeigt) können
Mikrofone, Joysticks, Spielfelder, Satellitenschüsseln, Scanner oder ähnliches
sein. Diese und andere Eingabeeinrichtungen werden häufig mit
der Verarbeitungseinheit 21 über eine serielle Anschlussschnittstelle 46 verbunden,
die mit dem Systembus verbunden ist, aber auch mit anderen Schnittstellen
wie etwa einem parallelen Anschluss, einem Spieleanschluss oder einem
Universal Serial Bus (USB) verbunden sein kann. Weiterhin ist ein
Monitor 47 oder ein anderer Typ von Anzeigeeinrichtung
mit dem Systembus 23 über
eine Schnittstelle wie etwa eine Grafikkarte 48 verbunden.
Zusätzlich
zu dem Monitor umfassen Computer gewöhnlich andere periphere Ausgabegeräte (nicht
gezeigt) wie etwa Lautsprecher und Drucker.
-
Der Computer 20 kann in
einen Netzwerkumgebung verwendet werden, die logische Verbindungen
zu einem oder mehreren entfernten Computern wie etwa einem Remote-Computer 49 umfasst.
Diese logischen Verbindungen werden durch eine Kommunikationseinrichtung
geschaffen, die mit dem Computer 20 verbunden oder Teil
desselben ist, wobei die Erfindung nicht auf einen bestimmten Typ
von Kommunikationseinrichtung beschränkt ist. Der Remote-Computer 49 kann
ein anderer Computer, ein Server, ein Router, ein Netzwerk-PC, ein Client, ein
Peer-Gerät
oder ein anderer üblicher
Netzwerkknoten sein und umfasst gewöhnlich viele oder alle der
oben mit Bezug auf den Computer 20 genannten Elemente,
wobei in 1 jedoch nur
eine Speichereinrichtung 50 gezeigt ist. Die in 1 gezeigten logischen Verbindungen
umfassen ein LAN 51 und ein WAN 52. Derartige
Netzwerkumgebungen sind in Büronetzwerken,
Geschäfts-weiten
Computernetzwerken, Intranets und dem Internal üblich, die jeweils verschiedene
Typen von Netzwerken sind.
-
Bei der Verwendung in einer LAN-Netzwerkumgebung
ist der Computer 20 mit dem lokalen Netzwerk 51 über eine
Netzwerkschnittstelle bzw. -karte 53 verbunden, die ein
Typ von Kommunikationseinrichtung ist. Bei der Verwendung in einer
WAN-Netzwerkumgebung umfasst der Computer 20 gewöhnlich ein
Modem 54 oder einen anderen Typ von Kommunikationseinrichtung
zur Herstellung einer Kommunikationsverbindung über das WAN 52 wie
etwa das Internal. Das Modem 54, das intern oder extern
vorgesehen sein kann, wird mit dem Systembus 23 über die
serielle Anschlussschnittstelle 46 verbunden. In einer
Netzwerkumgebung können
die relativ zu dem PC 20 dargestellten Programmmodule oder Teile
derselben in einer entfernten Speichereinrichtung gespeichert sein.
Es ist zu beachten, dass die gezeigten Netzwerkverbindungen lediglich
beispielhaft sind und andere Kommunikationseinrichtungen für die Herstellung
einer Kommunikationsverbindung zwischen den Computern verwendet
werden können.
-
Naïve-Bayes-Modell
und Clustern
-
In diesem Abschnitt wird ein aus
dem Stand der Technik bekanntes naïve-Bayes-Modell beschrieben, das
in Verbindung mit Ausführungsformen
der Erfindung verwendet werden kann. Das Modell wird auch verwendet,
um eine gemeinsame Wahrscheinlichkeitsverteilung über den
Satz aller Attribute in einer Domäne sowie die Cluster-Zugehörigkeit
wieder zugeben. Das Modell wird mit Bezug auf 2 beschrieben. Es ist zu beachten, dass
das die Ausführungsformen
der Erfindung nicht notwendigerweise auf das hier beschriebene naïve-Bayes-Modell
beschränkt
sind; d. h. die in den folgenden Abschnitten der ausführlichen
Beschreibung beschriebenen dünn
besetzten Darstellungen können
auch in Verbindung mit anderen Modellen verwendet werden.
-
Ein naïve-Bayes-Modell, das in Verbindung
mit wenigstens einigen Ausführungsformen
der Erfindung verwendet werden kann, wird zur Modellierung eines
bestimmten Datensatzes bzw. einer Domäne verwendet. Zum Beispiel
kann es sich bei der Domäne
um Fernsehshows handeln, die eine Person gerne ansieht, sodass ein
Datenanalyst daran interessiert ist, Personen auf der Basis ihrer
Zuschaugewohnheiten in drei Gruppe zu clustern. In diesem Beispiel
entsprechend die Attribute der Domäne verschiedenen Fernsehshows,
wobei der Wert für
jedes Attribut „nein"
(hat die Show nicht gesehen) oder „ja" (hat die Show gesehen)
sein kann.
-
2 zeigt
ein Cluster eines naïve-Bayes-Modells
als ein Bayesches Netzwerk. Das Modell umfasst einen Clusterknoten 200 sowie
Attributknoten (oder Variablen) 202a, 202b, ..., 202n.
Allgemein umfasst ein Bayesches Netzwerk einen Knoten für jede Variable
(oder jedes Attribut) sowie einen Knoten, der einen Wert für jedes
Cluster aufweist (die Anzahl der Cluster ist nicht explizit in 2 gezeigt). Gerichtete Kanten 204a, 204b,
..., 204n entsprechen der probabilistischen Abhängigkeit – beispielsweise
ist für
jedes Attribut eine Wahrscheinlichkeitsverteilung für jeden
Wert der übergeordneten
Einheit (des Clusterknoten) vorgesehen.
-
Es ist zu beachten, dass keine Kanten
zwischen Attributknoten vorhanden sind. Damit wird angenommen, dass
der Clusterwert für
einen Eintrag und die Werfe für
jedes Attribut voneinander unabhängig
sind. Das heißt,
es besteht keine probabilistische Abhängigkeit zwischen den Attributen
selbst, sobald die Cluster-Zugehörigkeit
bekannt ist.
-
Jeder Knoten in dem Bayeschen Netzwerk
ist mit einem Satz von Parametern versehen. Die in jedem Knoten
gespeicherten Parameter definieren die Wahrscheinlichkeitsverteilung über die
Variablen angesichts der Werte der Eltervariable (es ist zu beachten,
dass ein Clusterknoten wie etwa der Clusterknoten 200 keine Eltervariable
bzw. keinen Knoten aufweist). Das Symbol Θ wird verwendet, um den im
Modell gespeicherten Satz aller Parameter wiederzugeben. eiterhin
wird rc verwendet, um die Anzahl der Zustände des
Clusterknotens anzugeben (d. h. die Anzahl der Cluster für das Modell).
Der Clusterknoten speichert Parameter {θC =1,
..., θC=rC}, welche die vorhergehende Wahrscheinlichkeit
eines Eintrags (z. B. eines Benutzers oder einer Person) in einem
bestimmten Cluster angibt. Das heißt:
p(C = cǀΘ) = θC=c
-
Weiterhin gibt rAi die
Anzahl der Zustände
für das
Attribut i an. Jeder Attributknoten Ai speichert
für jeden
Wert c des Clusterknotens einen Satz von rAi Parametern
{θAi=1ǀC=c, ..., θAi=rAiǀC=c},
welche die bedingte Wahrscheinlichkeit des Attributs in jedem seiner
Zustände
spezifizieren (zum Beispiel ist jeder Zustand eines Attributs ein
anderer möglicher
Wert für
dieses Attribut), sofern der Eintrag in dem Cluster c ist.
-
Das heißt:
p(Ai =
jǀC = c, Θ)
= θAi=jǀC=c
-
Zum Beispiel kann in dem Beispiel
der Fernsehzuschauer angenommen werden, dass der Zustand 1 jedes
Attributs „hat
nicht gesehen" entspricht und dass der Zustand 2 jedes
Attributs „hat
gesehen" entspricht. Die Wahrscheinlichkeit, dass eine Person in
dem Cluster 2 die Show in Entsprechung zu Attribut 3 gesehen hat,
ist also gleich θA3=2ǀC=2.
-
In vielen, Domänen ist die Cluster-Zugehörigkeit
für jeden
Eintrag nicht bekannt. Bei einem parametrisierten Modell können die
Regeln der Wahrscheinlichkeit angewendet werden, um die a-posteriori-Wahrscheinlichkeit
jedes Clusters für
einen bestimmten Eintrag in dem Datensatz zu bestimmen. Dabei soll
n die Anzahl der Attribute in der Domäne wiedergeben, wobei angenommen
wird, dass für
alle i, 0 ≤ i ≤ n, dass Attribut
A
i den Wert a
i für den betreffenden
Eintrag aufweist. Dann
-
Unter Verwendung der Unabhängigkeitsannahmen
aus dem Modell (die Attribute sind bei gegebenem Cluster unabhängig) gilt:
p(C
= c
1A
1 = a
1, ..., A
n = a
nǀΘ) = p(C = cǀΘ)
p(A
i =
a
iǀC = c, Θ)
-
Alle Wahrscheinlichkeiten auf der
rechten Seite der vorstehenden Gleichung werden als Parameter in dem
naïve-Bayes-Modell
gespeichert. Folglich kann die a-posteriori-Wahrscheinlichkeit,
dass ein Eintrag zu dem Cluster c gehört, direkt aus diesen Parametern
abgeleitet werden:
-
Dabei ist zu beachten, dass der Nenner
unabhängig
von dem Wert von c gleich ist und einfach der Summe der gemeinsamen
Wahrscheinlichkeit für
jeden Wert von c entspricht. In der Praxis ist es vorteilhaft, zuerst
die gemeinsame Wahrscheinlichkeit für jeden Wert c zu berechnen
und zu speichern, wobei jeweils die Summe akkumuliert wird. Dann
werden die einzelnen gespeicherten gemeinsamen Wahrscheinlichkeiten durch
die Summe dividiert, um die a-posterioris zu erhalten.
-
Es sind zwei Verfahren aus dem Stand
der Technik bekannt, um eine Cluster-Zugehörigkeit zu Einträgen in einem
Datensatz zuzuweisen. Bei einem weichen Clustern (EM) werden Einträge in Übereinstimmung mit
der oben genannten a-posteriori-Wahrscheinlichkeit teilweise zu
mehreren Clustern zugewiesen. Bei einem harten Clustern (Klassifikations-EM)
wird jeder Eintrag zu dem Cluster zugewiesen, das am wahrscheinlichsten
ist.
-
Dünn besetzte Darstellung
-
In diesem Abschnitt der ausführlichen
Beschreibung wird die dünn
besetzte Darstellung eines Datensatzes gemäß einer Ausführungsform
der Erfindung erläutert.
Die dünn
besetzte Darstellung wird dann in Verbindung mit einem modifizierten
EM-Algorithmus verwendet, der in dem nächsten Abschnitt der ausführlichen Beschreibung
erläutert
wird. Dabei können
beträchtlich
reduzierte Laufzeiten erreicht werden. Die Beschreibung in diesem
Abschnitt erfolgt mit Bezug auf 3.
-
Allgemein ist eine dünn besetzte
Darstellung wie folgt definiert: Für jedes Attribut in einer Domäne ist ein
Vorgabewert definiert. Der Vorgabewert für ein Attribut ist der Wert,
der am häufigsten
in dem Datensatz auftritt. Zum Beispiel ist in dem Fernsehbeispiel
des vorausgehenden Abschnittes der Wert „hat nicht gesehen" der häufigste
Wert für
die meisten Fernsehshows für
einen Benutzer (weil ein bestimmter Benutzer zu einem Zeitpunkt
jeweils nur eine Fernsehshow ansehen kann). Die Einträge einer
dünn besetzten
Darstellung speichern explizit nur diejenigen Werte für Attribute,
die nicht den Vorgabewert aufweisen. Das heißt, beim Speichern einer dünn besetzten
Darstellung jedes Eintrags werden die Werte dieser Attribute des
Eintrags nur dann gespeichert, wenn bestimmt wird, dass die Werte
von den Vorgabewerten für
dieses Attribut abweichen.
-
Dies wird mit Bezug auf 3 erläutert,
das ein Diagramm von. sechs Einträgen in einem beispielhaften
Datensatz zusammen mit der entsprechenden dünn besetzten Darstellung ist.
Der Datensatz 300 von 3 weist
also drei binäre
Attribute A1, A2 und
A3 auf, sodass der Vorgabewert für jedes
Attribut gleich 1 ist. Weiterhin weist der Datensatz 300 wie
in 3 gezeigt sechs Einträge auf.
-
Deshalb wird in einer dünn besetzten
Darstellung des Datensatzes wie durch das Bezugszeichen 302 von 3 angegeben jeder Eintrag
als eine Liste von Attribut/Wert-Paaren
gespeichert, jeweils ein derartiges Paar für jedes Attribut in dem Eintrag,
das keinen Vorgabewert aufweist. Das heißt, für Attribute eines Eintrags mit
dem Vorgabewert wird kein derartiges Paar gespeichert. Das bedeutet,
dass die Darstellung des in den Ausführungsformen der Erfindung
gespeicherten Datensatzes dünn
besetzt ist, weil nur die Attributwerte eines Eintrags, die von
den Vorgabewerten für
diese Attribute abweichen, gespeichert werden.
-
Um den Wert eines Attributs in einem
bestimmten Eintrag zu finden, wird die Liste von Paaren durchsucht.
Wenn das betreffende Attribut in der Liste gefunden wird, dann wird
der entsprechende Wert ausgegeben. Andernfalls wird der Vorgabewert
des Attributs ausgegeben. In einer Ausführungsform werden die Daten in
einer dünn
besetzten Darstellung auf einer Platte gespeichert.
-
Es ist zu beachten, dass unter Verwendung
dieser Darstellung die Speicherlast zum Speichern eines großen Datensatzes
erheblich reduziert werden kann. Das heißt, wenn die meisten Attributwerte
für einen
bestimmten Eintrag in einem gegebenen Datensatz gleich den Vorgabewerten
für diese
Attribute sind, werden diese Attributwerte nicht in der dünn besetzten
Darstellung der Erfindung gespeichert – sondern es werden nur diejenigen
Attributwerte gespeichert, die von den Vorgabewerten für diese
Attribute abweichen. Wie im nächsten
Abschnitt der ausführlichen
Beschreibung beschrieben wird, sieht eine derartige dünn besetzte
Darstellung beträchtlich
reduzierte Laufzeiten bei der Erzeugung eines Datenmodells aus dem
Datensatz vor (z. B. bei dem EM-Algorithmus).
-
Wie in 3 gezeigt,
wird die dünn
besetzte Darstellung aus dem Datensatz 300 durch einen
Erzeugungsmechanismus 304 erzeugt. Der Erzeugungsmechanismus 304 kann
in einer Ausführungsform
ein Softwareprogramm sein, das auf einem Computer wie dem im ersten
Abschnitt der ausführlichen
Beschreibung beschriebenen ausgeführt wird, wobei die Erfindung
jedoch nicht hierauf beschränkt
ist. In einer derartigen Ausführungsform
können
der Datensatz 300 und die dünn besetzte Darstellung 302 als
Daten gespeichert werden, die den Datensatz 300 und die
dünn besetzte
Darstellung 302 wiedergeben und auf einem Computer-lesbaren
Medium wie etwa einem Speicher oder einem Festplattenlaufwerk residieren.
Wiederum ist die Erfindung jedoch nicht hierauf beschränkt.
-
Verfahren (Modifizierter
EM-Algorithmus)
-
Ein Verfahren gemäß einer Ausführungsform
der Erfindung ist in 4 gezeigt.
Das Verfahren ist ein Computer-implementiertes Verfahren, das ein
Datenmodell gemäß einem
(modifizierten) EM-Algorithmus erzeugt, wobei es eine dünn besetzte
Darstellung eines Datensatzes verwendet. Insbesondere ist das erzeugte Modell
ein naïve-Bayes-Modell
wie das oben beschriebene, sodass der EM-Algorithmus verwendet wird,
um Parameterwerte des Modells abzuleiten, was dem Fachmann deutlich
sein sollte. Das Computer-implementierte Verfahren wird vorzugsweise
wenigstens teilweise in der Form von einem oder mehreren Programmen realisiert,
die, auf einem Computer ausgeführt
werden – d.
h. als ein Programm, das von einem Computer-lesbaren Medium wie
etwa einem Speicher durch einen Prozessor eines Computers ausgeführt werden
kann. Die Programme können
vorzugsweise auf einem Maschinen-lebaren Medium wie etwa einer Diskette
oder einer CD-ROM
für die
Distribution, Installation und Ausführung auf einem anderen Computer
gespeichert werden.
-
Bevor im Folgenden eine Beschreibung
des Verfahrens von 4 gegeben
wird, wird zuerst der Hintergrund des EM-Algorithmus erläutert. Wenn
eine Clusterzuweisung für
jeden Eintrag (ob teilweise oder nicht) a priori bekannt wäre, dann
könnten
die Parameter des naïve-Bayes-Modells
unter Verwendung von bekannten Zählungen
abgeleitet werden, was aus dem Stand der Technik bekannt ist. Die
zum Ableiten der Parameter erforderlichen Zählungen sind bekannt und werden
als hinreichende Maßzahlen
bezeichnet.
-
N
C=c soll
die (hypothetisch) bekannte Anzahl von Einträgen sein, die zu dem Cluster
c gehören.
Wenn insgesamt N Einträge
in den Daten sind, dann kann die Schätzung für θ
C=c die
folgende sein:
-
Diese Zuweisung ist bekannt und wird
als die maximale Wahrscheinlichkeitsschätzung für den Clusterparameter bezeichnet.
Die maximale Wahrscheinlichkeitsschätzung für die Attributparameter kann
auch aus (hypothetisch) bekannten Zählungen abgeleitet werden.
Insbesondere soll N
Ai=j, C=c die Anzahl
der Einträge in
den Daten angegeben, für
die A
i = j und C = c. Dann ist die maximale
Wahrscheinlichkeitsschätzung
für den Attributparameter:
-
Dabei ist zu beachten, dass die oben
genannten Parameterschätzungen
nur von den Daten abhängen.
In der Praxis ist gewöhnlich
eine Weichheit in die Schätzungen
integriert, um das Setzen von Parametern zu vermeiden, die sehr
nahe an null oder eins liegen, und um das vorhandene Wissen zu der
Domäne
zu nutzen. Weil das vorhandene Wissen einen minimalen Einfluss auf
die Parameterwerte für
große
Datensätze
hat, können
die folgenden (weichen) Schätzungen
für die
Parameter verwendet werden:
-
In wenigstens einigen Domänen, die
durch Ausführungsformen
der Erfindung verwendet werden können,
ist die Clusterzuweisung für
jeden Eintrag unbekannt, sodass die zum Ableiten der Parameterwerte
verwendeten hinreichenden Maßzahlen
nicht verfügbar
sind. Bei einem gegebenen Satz von Parameterwerten jedoch können die
erwarteten hinreichenden Maßzahlen
statt dessen unter Verwendung dieser Zählungen abgeleitet werden.
Insbesondere:
S(C = c) = E(N
C=cǀΘ)=
p(C = cǀEintrag
n, Θ)
und
wobei 1
Ai=j(n)
eine Indikatorfunktion ist, die gleich eins ist, wenn A
i =
j im Eintrag n und ansonsten gleich null ist.
-
Der Fachmann sollte deutlich sein,
wie die Akkumulation von hinreichenden Maßzahlen für andere Typen von Distributionen
verallgemeinert werden kann. Wenn ein Attribut kontinuierlich ist,
kann zum Beispiel eine bedingte Gaußsche Verteilung verwendet
werden.
-
Im folgenden wird das Verfahren von 4 beschrieben. In Schritt
400 wird ein Datensatz mit einer Vielzahl von Einträgen eingegeben.
Der Datensatz gibt vorzugsweise ein Ereignis oder mehrere Ereignisse
der Realwelt wieder – beispielsweise
die durch Benutzer einer Website gelesenen Geschichten, die durch
Zuschauer angeschauten Shows usw. Jeder Eintrag weist wenigstens
ein Attribut auf. Der Satz aller Attribute wird als der Attributsatz
für die
Problemdomäne
bezeichnet. Jedes Attribut hat einen Vorgabewert. Allgemein wird ist
der Datensatz vorzugsweise derart beschaffen, dass die meisten Attributwerte
für einen
bestimmten Eintrag gleich dem Vorgabewert sind, wobei die Erfindung
jedoch nicht hierauf beschränkt
ist.
-
In Schritt 402 wird eine
dünn besetzte
Darstellung des Datensatzes erzeugt; z. B. wird, eine dünn besetzte
Darstellung jedes Eintrags des Datensatzes gespeichert. Dies wird
wie im vorausgehenden Abschnitt der ausführlichen Beschreibung beschrieben
bewerkstelligt. Das heißt,
nur die Werte der Attribute eines bestimmten Eintrags, die von den
Vorgabewerten für
die Attribute abweichen, werden gespeichert – mit anderen Worten wird der
Wert eines; Attributs eines Eintrags nur dann gespeichert, wenn
bestimmt wird, dass das Attribut des Eintrags einen Wert aufweist,
der von dem Vorgabewert für
dieses Attribut abweicht.
-
In Schritt 404 wird ein
Datenmodell des Datensatzes erzeugt, wobei die in Schritt 402 erzeugte
und gespeicherte dünn
besetzte Darstellung verwendet wird. In einer Ausführungs-
form ist dies ein naïve-Bayes-Modell,
das unter Verwendung des EM-Algorithmus erzeugt wurde, um hinreichende
Maßzahlen zu
bestimmen, sodass die Parameter des naïve-Bayes-Modells bestimmt werden können. Wie
im Folgenden beschrieben, bezieht sich das erzeugte Datenmodell
allgemein auf das naïve-Bayes-Modell
und verwendet insbesondere den EM-Algorithmus, wobei die Erfindung jedoch
nicht notwendigerweise hierauf beschränkt ist.
-
Weiterhin ist der hier beschriebene
EM-Algorithmus modifiziert, um die in Schritt 402 erzeugte
dünn besetzte
Darstellung vorteilhaft zu nutzen.
-
In Schritt 406 werden die
Parameter Θ des
Modells in Übereinstimmung
mit einer vorbestimmten Weise initialisiert, was dem Fachmann deutlich
sein sollte. Die Erfindung ist nicht auf eine bestimmte Weise der Parameterinitialisierung
beschränkt.
Zum Beispiel kann die Parameterinitialisierung durch das zufällige Zuweisen
von Werten bewerkstelligt werden, oder durch eine marginale Zuordnung,
die beide aus dem Stand der Technik bekannt sind.
-
In Schritt 408 wird der
EM-Algorithmus durchgeführt.
Der EM-Algorithmus weist zwei Teile auf, wobei der E-Teil in Schritt 410 dazu
dient, die erwarteten hinreichenden Maßzahlen für jeden Eintrag in dem Datensatz
zu aktualisieren, und wobei der M-Teil in Schritt 412 dazu
dient, die Parameter für
das Datenmodell zu aktualisieren. Wie dem Fachmann deutlich sein
sollte, werden der E-Teil und der M-Teil in einem iterativen Prozess
wiederholt, bis ein vorbestimmtes Konvergenzkriterium erfüllt wird.
Die Erfindung ist jedoch nicht auf ein bestimmtes Konvergenzkriterium
beschränkt.
-
In dem E-Teil des EM-Algorithmus
von Schritt 408 werden zuerst die folgenden Variablen initialisiert: S(C
= c) und S(Ai = j, C = c) für alle Werte
von c, i und j auf null. Dann wird in Schritt 414 die a-posteriori-Wahrscheinlichkeit
post(c, n) = p(C = cǀEintrag n, Θ) für alle Werte von C berechnet
(bestimmt). Wegen der dünn besetzten
Darstellung des Datensatzes kann die Bestimmung der a-posteriori-Wahrscheinlichkeit
beträchtlich beschleunigt
werden.
-
Dies wird wie folgt, bewerkstelligt.
Bevor alle Einträge
in dem Datensatz durchlaufen werden, werden zuerst die gemeinsame
Wahrscheinlichkeit jedes Clusters und der Vorgabeeintrag berechnet
(bestimmt) – das heißt, eine
gemeinsame Wahrscheinlichkeit auf der Basis des Vorgabewertes jedes
Attributs wird zu Beginn erzeugt. PD(c) wird verwendet, um diese
zu Beginn erzeugten Werte anzugeben. Der Vorgabeeintrag, für den die
Bestimmung vorgenommen wird, ist ein Eintrag, der tatsächlich in
dem Datensatz vorhanden sein kann oder nicht und für den jedes
Attribut einen Wert gleich dem Vorgabewert aufweist.
-
Dann wird in Schritt 414 für jeden
Eintrag in dem Datensatz PD(c) für
jeden Wert c mit einem Satz von Korrekturtermen multipliziert, wobei
ein einziger Korrekturterm für
jedes Attribut vorhanden ist, das nicht im Vorgabezustand auftritt.
Das heißt,
die a-posteriori-Wahrscheinlichkeit wird auf der Basis der gemeinsamen Wahrscheinlichkeit
bestimmt, und die a-posteriori-Wahrscheinlichkeit
wird korrigiert, wenn bestimmt wird, dass der Wert eines Attributs
des Eintrags von dem Vorgabewert abweicht.
-
Insbesondere sollen {d
1,
..., d
n} jeweils die Vorgabewerte für die Attribute
{A
1, ..., A
n} angeben.
Die gemeinsame Wahrscheinlichkeit jedes Clusters c und des Vorgabefalls
ist (siehe oben):
PD(c) = p(C = c, A
1,
= d
1, ..., A
n =
d
n, Θ)
= C
C=c
θ
Ai=diǀC=c
-
Es soll angenommen werden, dass das
Attribut A
i den Wert a
i ≠ d
i annimmt. PD(c) wird für jedes derartige nicht-Vorgabeattribut
korrigiert, indem es mit dem folgenden Korrekturterm L(c, A
i, a
i) multipliziert
wird:
φ(n) soll den Satz von Indizes
der Attribute im Eintrag n angegeben, die im Fall n nicht ihren
Vorgabezustand aufweisen. Zum Beispiel in dem oben beschriebenen
dünn besetzten
Datensatz:
φ(1)
= {3}, φ(2
= {1}, φ(3
= {}, φ(4)
= {2}, φ(5)
= {2, 3} und φ(6)
= {}. Die gemeinsame Wahrscheinlichkeit für das Cluster c und den Eintrag
n kann nun wie folgt ausgedrückt
werden:
p(C = c, Eintrag nƷΘ) = PD(c)*
L(c, A
i,
a
i)
wobei a
i der
(nicht-Vorgabe)-Wert für
das Attribut A
i im Eintrag n ist.
-
Es ist zu beachten, dass nach der
Berechnung von PD(c), die Schritte 414, 418 und
418 für
jeden Eintrag in dem Datensatz angewendet werden. Das heißt, die
Vorgabestatistiken werden nur abgeleitet.
-
Wie weiter oben beschrieben, wird
für jeden
Eintrag die a-posteriori-Wahrscheinlichkeit der Clsuterknotens erhalten,
in dem jede gemeinsame Wahrscheinlichkeit durch die akkumulierte
Summe der gemeinsamen Wahrscheinlichkeiten geteilt wird, wobei die
Summe über
alle Werte von c genommen wird.
-
Im Folgenden werden in Schritt 416 (weiterhin
Bestandteil des E-Teils des EM-Algorithmus) erste hinreichende Maßzahlen
durch die in Schritt 414 bestimmte a-posteriori-Währscheinlichkeit
inkrementiert. Die ersten hinreichenden Maßzahlen nehmen auf eine gemeinsame
Wahrscheinlichkeitsverteilung über
den Satz von Attributen Bezug. Das heißt, S(C = c) wird durch post(c,
n) für
alle Werte von C inkrementiert.
-
In Schritt 418 werden zweite
hinreichende Maßzahlen
durch die in Schritt 414 bestimmte a-posteriori-Wahrscheinlichkeit
inkrementiert. Die zweiten hinreichenden Maßzahlen nehmen auf eine gemeinsame Wahrscheinlichkeitsverteilung über die
Cluster-Zugehörigkeit
Bezug. Das heißt,
für jedes
Attribut Ai soll j den Wert von Ai im Eintrag n angeben, und es soll S(Ai = j, C = c) durch post(c, n) für alle Werte
von C inkrementiert werden.
-
Die in Schritt
418 durchgeführte Inkrementierung
wird auch aufgrund der dünn
besetzten Darstellung des Datensatzes beschleunigt. Insbesondere
werden nur die erwarteten hinreichenden Maßzahlen S(A
i =
j, C = c) für
diejenigen Werte von j aktualisiert, die nicht dem Vorgabewerte
von A
i entsprechen. Die hinreichenden Maßzahlen
in Entsprechung zu den Vorgabewerten werden von den anderen abgeleitet,
nachdem die Daten durchsucht wurden. Insbesondere wenn die erwarteten
hinreichenden Maßzahlen
für die
nicht-Vorgabewerte für
jeden A; berechnet wurden, kann der Rest der hinreichenden Maßzahlen
wie folgt abgeleitet werden:
S(A
i =
d
i, C = c) = S(C = c) –
S(A
i =
j, C = c)
-
Die zweiten hinreichenden Maßzahlen
werden nur inkrementiert, wenn bestimmt wird, dass die Werte der
Attribute des Eintrags von den Vorgabewerten abweichen (einer der
Werte von einem der Attribute).
-
Nachdem der E-Teil des (modifizierten)
EM-Algorithmus durchgeführt
wurde, schreitet das Verfahren zu Schritt 412 fort, in
dem der M-Teil des Algorithmus durchgeführt wird. In Schritt 412 werden
die Parameter zu dem Datenmodell aktualisiert. Insbesondere werden
für jeden
Wert c die Clusterparameter wie folgt zurückgesetzt:
-
-
(Es ist zu beachten, dass dies ein
Beispiel für
das Weichmachen ist; der M-Teil des Algorithmus ist nicht auf 1
und rc jeweils im Zähler und Nennen beschränkt, was
dem Fachmann deutlich sein sollte.)
-
Für
jeden Wert c von C, für
jedes Attribut A und für
jeden Wert j des Attributs A wird der Attributparameter wie folgt
gesetzt:
-
Sobald der M-Teil des Algorithmus.
durchgeführt
wurde, wird der E-Teil in Schritt 410 nochmals durchgeführt, bis
ein vorbestimmtes Konvergenzkriterium erreicht wird. Danach schreitet
das Verfahren zu Schritt 420 fort. In Schritt 420 wird
der resultierende Satz von Parametern, die durch den EM-Algorithmus
erhalten werden, verwendet, um die Cluster-Zugehörigkeit zu jedem Eintrag in
dem Datensatz zuzuweisen. Mit anderen Worten ist der Schritt 420 der
letzte Teil von Schritt 404, in dem ein Datenmodell erzeugt
wird.
-
Das Datenmodell wird dann in Schritt 422 ausgegeben.
Die Erfindung ist nicht auf eine bestimmte Weise der Eingabe des
Datenmodells beschränkt.
Zum Beispiel kann es in einer Ausführungsform zu einem weiteren
Analyseprogramm oder einer Softwarekomponente ausgegeben werden,
die Schlussfolgerungen in Bezug auf den Datensatz erlaubt, da das
Datenmodell darauf erzeugt wurde (insbesondere die einzelnen Cluster, in
denen jeder Eintrag zugewiesen wurde). Als weiteres Beispiel kann
ein Diagramm des Datenmodells, von dem ein Beispiel in 2 gezeigt wurde, auf einer
Anzeigeeinrichtung angezeigt oder auf einem Drucker gedruckt werden
usw. Auf diese Weise sieht die Erfindung in einer Ausführungsform
ein beschleunigtes Clustern als Teil der Ausgabe in Schritt 422 vor.
-
System
-
In diesem Abschniitt wird ein System
gemäß einer
Ausfürungsform
der Erfindung beschrieben. Das hier beschriebene System kann in
einer Ausführungsform
durch das im vorausgehenden Abschnitt der ausführlichen Beschreibung beschriebene
Verfahren implementiert werden. Die Erfindung ist jedoch nicht hierauf beschränkt. Die
Beschreibung des Systems erfolgt mit Bezug auf 5.
-
5 zeigt
ein System gemäß einer
Ausführungsform
der Erfindung. Der Modellerzeuger 500 empfängt als
Eingabe eine dünn
besetzte Darstellung des Datensatzes 502 und erzeugt als
Ausgabe ein Datenmodell 504, das dem Datensatz entspricht.
In einer Ausführungsform ist
der Modellerzeuger 500 ein Computerprogramm, wobei die
Erfindung jedoch nicht hierauf beschränkt ist.
-
Die dünn besetzte Darstellung 502 umfasst
eine Vielzahl von Einträgen
eines Datensatzes, wobei jeder Eintrag wenigstens ein Attribut aufweist
und jedes Attribut einen Vorgabewert hat. Das heißt, die
dünn besetzte
Darstellung ist derart beschaffen, dass sie den Wert eines Attributs
eines Eintrags nur dann enthält, wenn
der Wert von dem Vorgabewert für
dieses Attribut abweicht. Das Datenmodell 504 basiert auf
der dünn besetzten
Darstellung 502 und ist in einer Ausführungsform ein naïve-Bayes-Modell
wie zuvor beschrieben. Der Erzeuger 500 verwendet also
in einer Ausführungsform
den modifizierten EM-Algorithmus wie in denn vorausgehenden Abschnitt
der ausführlichen
Beschreibung beschrieben, um das Datenmodell 504 zu erzeugen. Der
Erzeuger 500 verwendet das erzeugte Datenmodell 504,
um das Clustern der dünn
besetzten Darstellung jedes Eintrags zu beschleunigen.
-
Kontinuierliche
und geordnete Variablen
-
Es ist zu beachten, dass die Ausführungsformen
der Erfindung wie beschrieben sowohl mit kontinuierlichen als auch
mit geordneten Variablen verwendet werden können, wenn sie mit Domänen verwendet
werden, für
welche das Vorhandensein oder die Abwesenheit dieser Werte in den
Daten informativ ist.
-
Kontinuierliche und geordnete Variablen
sind aus dem Stand der Technik bekannt. Eine kontinuierliche Variable
kann derart definiert werden, dass sie Werte von einem oder mehreren
Intervallen der realen Linie nimmt, zum Beispiel die Temperatur.
Eine geordnete Variable kann derart definiert werden, dass sie Werte
von einem oder mehreren {möglicherweise
unendlich vielen) Intervallen aus dem Satz von Ganzzahlen nimmt;
ein Beispiel für
eine geordnete Variable sind etwa die Ausbildungsjahre.
-
Die in diesen Anmeldung beschriebenen
Techniken können
auf diese Typen von Variablen angewendet werden, indem diese als
spezielle binäre
Variablen behandelt werden: entweder war die Variable in den Daten
vorhanden oder abwesend. Es werden Statistiken zu den vorhandenen
Variablen geführt.
-
Insbesondere für das Clustern ist zu beachten,
dass wenn die a-posteriori-Wahrscheinlichkeit jedes Clusters erhalten
wird und wenn Voraussagen zu einem Eintrag in einem bestimmten Cluster
gemacht werden, der folgende Term verwendet wird:
p(Ai = jǀC = c, Θ) = θAi=jǀC=c
-
Diese Gleichung wird als Gleichung
1 bezeichnet. Für
kontinuierliche und geordnete Variablen wird dieser Term durch einen
anderen ersetzt, der ebenfalls von dem Parameter Θ abhängt. Dabei
soll X eine kontinuierliche oder geordnete Variable angeben. Für beide
Typen von Variablen sind zwei Parameter vorhanden, die die Wahrscheinlichkeit
angeben, dass X fehlt oder anwesend ist.
p(X fehltǀC=c, Θ) = θXfehltǀC=c
p(X ist vorhandenǀC
= c, Θ)
= θX ist vorhandenǀC=c
-
Es ist zu beachten, dass weil X entweder
vorhanden ist oder fehlt, diese zwei Wahrscheinlichkeiten eine Summe
von eins ergeben, wobei nur eine derselben im Modell gespeichert
werden muss.
-
In vielen Anwendungen kann es vorteilhaft
sein, das vorstehende Modell zu erweitern, um eine Wahrscheinlichkeitsverteilung über X wiederzugeben,
wenn X vorhanden ist.
-
Insbesondere für kontinuierliche Variablen
gibt es eine Wahrscheinlichkeitsdichtefunktion für die kontinuierlichen Variablen,
die vorhanden sind. Eine Dichtefunktion ρ weist einen Wert zu jedem x
zu, sodass die Wahrscheinlichkeit, dass x an einem Intervall liegt,
wie folgt ist:
p(X
a ≤ X ≤ X
bǀC = c, Θ)=
ρ(X = xǀC = c, Θ)dx
-
Zum Beispiel kann p eine Gaußsche (normale)
Verteilung sein.
-
Die Gleichung 1 wird also bei kontinuierlichen
Variablen wie folgt ersetzt:
-
Wenn X fehlt:
p(X fehltǀC
= c, Θ)
= θXfehltǀC=c
-
Wenn X vorhanden ist und gleich x:
p(X
ist vorhanden und X = xǀC = c, Θ) = θX ist vorhandenǀC=c × ρ(X = xǀC
= c, Θ)
-
Insbesondere für geordnete Variablen werden
derartige Variablen beinahe gleich wie kontinuierliche Variablen
behandelt, wobei jedoch anstatt einer kontinuierlichen Distribution ρ eine Verteilung
verwendet wird, die über
den Satz von Ganzzahlen definiert wird. Die Poisson-Verteilung ist
ein Beispiel:
p(X = kǀC = c, μ) = e
-
Weiterhin ist in Bezug auf das Clustern
von geordneten und kontinuierlichen Variablen zu beachten, dass
ein bester Vorgabewert für
eine kontinuierliche oder geordnete Variable beinahe sicher der
fehlende Zustand ist; andernfalls entspricht der Vorgabezustand „vorhanden
und gleich x". Weil die Bereiche dieser Variablen potenziell unendlich
sind, ist es unwahrscheinlich, dass die meisten Werte vorhanden
und gleich derselben Zahl sind.
-
Deshalb wird der Korrekturterm wie
zuvor beschrieben verwendet. Für
kontinuierliche Variablen mit „vorhanden-Verteilung" ρ gilt:
-
Bei geordneten Variablen wird p durch
die Verteilung über
Ganzzahlen wie etwa eine Poisson-Verteilung ersetzt.
-
In vielen Anwendungen entspricht „fehlt"
einem bekannten Wert. So soll das Beispiel der Fernsehzuschauer
betrachtet und angenommen werden, dass eine Modellierung der Zuschaudauer
bei einer Show von Interesse ist. Wenn für eine bestimmte Person keine
Zeitdauer für
eine bestimmte Show angegeben ist, dann ist bekannt, dass die Person
die Show für
eine Zeitdauer von null Minuten angeschaut hat. Bei diejenigen Personen,
die die Show angeschaut haben, kann der Durchschnitt und die Vorgabeabweichung
der Dauer von Interesse sein.
-
Schluss
-
Es wurde eine Datenmodellierung unter
Verwendung einer dünn
besetzten Darstellung des Datensatzes beschrieben. Dabei wurden
Ausführungsformen
der Erfindung vor allem mit Bezug auf den EM-Algorithmus beschrieben,
wobei die Erfindung jedoch nicht hierauf beschränkt ist. Die Erfindung wird
nur durch die beigefügten
Ansprüche
beschränkt.