DE60004507T2 - Schnelle gruppierung durch spärlich bestückte datensätze - Google Patents

Schnelle gruppierung durch spärlich bestückte datensätze Download PDF

Info

Publication number
DE60004507T2
DE60004507T2 DE60004507T DE60004507T DE60004507T2 DE 60004507 T2 DE60004507 T2 DE 60004507T2 DE 60004507 T DE60004507 T DE 60004507T DE 60004507 T DE60004507 T DE 60004507T DE 60004507 T2 DE60004507 T2 DE 60004507T2
Authority
DE
Germany
Prior art keywords
entry
attribute
data
value
sufficient
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60004507T
Other languages
English (en)
Other versions
DE60004507D1 (de
Inventor
Maxwell D. CHICKERING
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Application granted granted Critical
Publication of DE60004507D1 publication Critical patent/DE60004507D1/de
Publication of DE60004507T2 publication Critical patent/DE60004507T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/232Non-hierarchical techniques
    • G06F18/2321Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99937Sorting
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99942Manipulating data structure, e.g. compression, compaction, compilation

Description

  • 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 Ai den Wert ai für den betreffenden Eintrag aufweist. Dann
    Figure 00090001
  • Unter Verwendung der Unabhängigkeitsannahmen aus dem Modell (die Attribute sind bei gegebenem Cluster unabhängig) gilt:
    p(C = c1A1 = a1, ..., An = anǀΘ) = p(C = cǀΘ)
    Figure 00100001
    p(Ai = aiǀ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:
    Figure 00100002
  • 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.
  • NC=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:
    Figure 00130001
  • 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 NAi=j, C=c die Anzahl der Einträge in den Daten angegeben, für die Ai = j und C = c. Dann ist die maximale Wahrscheinlichkeitsschätzung für den Attributparameter:
    Figure 00130002
  • 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:
    Figure 00130003
  • 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(NC=cǀΘ)=
    Figure 00130004
    p(C = cǀEintrag n, Θ)
    und
    Figure 00140001
    wobei 1Ai=j(n) eine Indikatorfunktion ist, die gleich eins ist, wenn Ai = 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 {d1, ..., dn} jeweils die Vorgabewerte für die Attribute {A1, ..., An} angeben. Die gemeinsame Wahrscheinlichkeit jedes Clusters c und des Vorgabefalls ist (siehe oben):
    PD(c) = p(C = c, A1, = d1, ..., An = dn, Θ) = CC=c
    Figure 00160001
    θAi=diǀC=c
  • Es soll angenommen werden, dass das Attribut Ai den Wert ai ≠ di annimmt. PD(c) wird für jedes derartige nicht-Vorgabeattribut korrigiert, indem es mit dem folgenden Korrekturterm L(c, Ai, ai) multipliziert wird:
    Figure 00160002
    φ(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)*
    Figure 00160003
    L(c, Ai, ai)
    wobei ai der (nicht-Vorgabe)-Wert für das Attribut Ai 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(Ai = j, C = c) für diejenigen Werte von j aktualisiert, die nicht dem Vorgabewerte von Ai 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(Ai = di, C = c) = S(C = c) –
    Figure 00170001
    S(Ai = 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:
  • Figure 00170002
  • (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:
    Figure 00180001
  • 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(Xa ≤ X ≤ XbǀC = c, Θ)=
    Figure 00200001
    ρ(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
    Figure 00210001
  • 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:
    Figure 00210002
  • 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.

Claims (11)

  1. Computerimplementiertes Verfahren, das umfasst: Eingeben eines Datensatzes mit einer Vielzahl von Einträgen, wobei jeder Eintrag wenigstens ein Attribut enthält und wobei für jedes wenigstens eine Attribut ein Vorgabewert definiert ist, Speichern einer dünn besetzten Darstellung jedes Eintrags, das das Speichern des Wertes des Attributs des Eintrags nur dann einschließt, wenn festgestellt wird, dass das Attribut des Eintrags einen Wert hat, der sich von dem Vorgabewert unterscheidet; Erzeugen eines Datenmodells des Datensatzes unter Verwendung der dünn besetzten Darstellung jedes Eintrags; und Ausgeben des Datenmodells einschließlich der Nutzung der dünn besetzten Darstellung jedes Eintrags zum Beschleunigen des Clusterns des Eintrags.
  2. Verfahren nach Anspruch 1, wobei wenigstens ein Eintrag eine Vielzahl von Attributen einschließlich des Attributs aufweist, und wobei für jedes Attribut der Vielzahl von Attributen ein Vorgabewert definiert ist.
  3. Verfahren nach Anspruch 1, wobei das Erzeugen eines Datenmodells des Datensatzes umfasst: Aktualisieren einer Vielzahl hinreichender Maßzahlen für jeden Eintrag; Aktualisieren von Parametern bezüglich des Datenmodells; und Zuweisen von Cluster-Zugehörigkeit zu jedem Eintrag.
  4. Verfahren nach Anspruch 3, wobei das Aktualisieren hinreichender Maßzahlen für jeden Eintrag umfasst: Bestimmen einer A-posteriori-Wahrscheinlichkeit; Inkrementieren einer ersten hinreichenden Maßzahl der Vielzahl hinreichender Maßzahlen um die A-posteriori-Wahrscheinlichkeit; und Inkrementieren einer zweiten hinreichenden Maßzahl der Vielzahl hinreichender Maßzahlen um die A-posterori-Wahrscheinlichkeit.
  5. Verfahren nach Anspruch 4, wobei die erste hinreichende Maßzahl sich auf eine gemeinsame Wahrscheinlichkeitsverteilung über einen Satz von Attributen einschließlich des Attributs jedes Eintrags bezieht.
  6. Verfahren nach Anspruch 4, wobei sich die zweite hinreichende Maßzahl auf eine gemeinsame Wahrscheinlichkeitsverteilung über die Cluster-Zugehörigkeit bezieht.
  7. Verfahren nach Anspruch 4, wobei das Bestimmen einer A-posteriori-Wahrscheinlichkeit umfasst: anfängliches Erzeugen einer gemeinsamen Wahrscheinlichkeit auf Basis des Vorgabewertes des Attributs des Eintrags; Bestimmen der A-posteriori-Wahrscheinlichkeit auf Basis der gemeinsamen Wahrscheinlichkeit, und Korrigieren der A-posteriori-Wahrscheinlichkeit, wenn festgestellt wird, dass sich der Wert des Attributs des Eintrags von dein Vorgabewert unterscheidet.
  8. Verfahren nach Anspruch 4, wobei das Inkrementieren einer zweiten hinreichenden Maßzahl der Vielzahl hinreichender Maßzahlen das inkrementieren der zweiten hin reichenden Maßzahl der Vielzahl hinreichender Maßzahlen nur dann umfasst, wenn festgestellt wird, dass sich der Wert des Attributs des Eintrags von dem Vorgabewert des Attributs unterscheidet.
  9. Verfahren nach Anspruch 3, wobei das Erzeugen eines Datenmodells des Weiteren anfänglich das Initialisieren der Parameter bezüglich des Datenmodells umfasst.
  10. Computerlesbares Mittel, das ein Computerprogramm einschließt; das Codemittel umfasst, die, wenn sie auf einem Datenverarbeitungssystem ausgeführt werden, alle Verfahrensschritte nach den Ansprüche 1 bis 9 durchführen.
  11. Computergestütztes System, das umfasst: ein Mittel, das so eingerichtet ist, dass es alle Verfahrensschritte nach den Ansprüchen 1 bis 9 ausführt.
DE60004507T 1999-04-23 2000-04-22 Schnelle gruppierung durch spärlich bestückte datensätze Expired - Lifetime DE60004507T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US298600 1999-04-23
US09/298,600 US6556958B1 (en) 1999-04-23 1999-04-23 Fast clustering with sparse data
PCT/US2000/010769 WO2000065481A1 (en) 1999-04-23 2000-04-22 Fast clustering with sparse data

Publications (2)

Publication Number Publication Date
DE60004507D1 DE60004507D1 (de) 2003-09-18
DE60004507T2 true DE60004507T2 (de) 2004-02-26

Family

ID=23151219

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60004507T Expired - Lifetime DE60004507T2 (de) 1999-04-23 2000-04-22 Schnelle gruppierung durch spärlich bestückte datensätze

Country Status (6)

Country Link
US (1) US6556958B1 (de)
EP (1) EP1173816B1 (de)
AT (1) ATE247300T1 (de)
AU (1) AU4653100A (de)
DE (1) DE60004507T2 (de)
WO (1) WO2000065481A1 (de)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6735253B1 (en) 1997-05-16 2004-05-11 The Trustees Of Columbia University In The City Of New York Methods and architecture for indexing and editing compressed video over the world wide web
US7143434B1 (en) * 1998-11-06 2006-11-28 Seungyup Paek Video description system and method
US6941325B1 (en) * 1999-02-01 2005-09-06 The Trustees Of Columbia University Multimedia archive description scheme
US6745157B1 (en) * 2000-06-02 2004-06-01 Mitsubishi Electric Research Laboratories, Inc Super-node normalized belief propagation for probabilistic systems
US6895398B2 (en) * 2000-07-18 2005-05-17 Inferscape, Inc. Decision engine and method and applications thereof
US7155668B2 (en) * 2001-04-19 2006-12-26 International Business Machines Corporation Method and system for identifying relationships between text documents and structured variables pertaining to the text documents
US7644102B2 (en) * 2001-10-19 2010-01-05 Xerox Corporation Methods, systems, and articles of manufacture for soft hierarchical clustering of co-occurring objects
WO2003051031A2 (en) * 2001-12-06 2003-06-19 The Trustees Of Columbia University In The City Of New York Method and apparatus for planarization of a material by growing and removing a sacrificial film
US6970882B2 (en) * 2002-04-04 2005-11-29 International Business Machines Corporation Unified relational database model for data mining selected model scoring results, model training results where selection is based on metadata included in mining model control table
JP2005525011A (ja) * 2002-04-26 2005-08-18 ザ トラスティーズ オブ コロンビア ユニヴァーシティ イン ザ シティ オブ ニューヨーク ユーティリティ関数記述にもとづく最適なビデオ・トランスコーディング用の方法及びシステム
US7848909B2 (en) * 2004-01-14 2010-12-07 Sap Aktiengesellschaft Computing prediction results during an unbroken online interactive session
WO2006096612A2 (en) * 2005-03-04 2006-09-14 The Trustees Of Columbia University In The City Of New York System and method for motion estimation and mode decision for low-complexity h.264 decoder
US20070233651A1 (en) * 2006-03-31 2007-10-04 International Business Machines Corporation Online analytic processing in the presence of uncertainties
US9087335B2 (en) * 2006-09-29 2015-07-21 American Express Travel Related Services Company, Inc. Multidimensional personal behavioral tomography
US7465241B2 (en) * 2007-03-23 2008-12-16 Acushnet Company Functionalized, crosslinked, rubber nanoparticles for use in golf ball castable thermoset layers
US8055095B2 (en) * 2008-01-23 2011-11-08 Sparsense, Inc. Parallel and adaptive signal processing
WO2009126785A2 (en) * 2008-04-10 2009-10-15 The Trustees Of Columbia University In The City Of New York Systems and methods for image archaeology
WO2009155281A1 (en) * 2008-06-17 2009-12-23 The Trustees Of Columbia University In The City Of New York System and method for dynamically and interactively searching media data
US8671069B2 (en) 2008-12-22 2014-03-11 The Trustees Of Columbia University, In The City Of New York Rapid image annotation via brain state decoding and visual pattern mining
US8566270B2 (en) * 2010-09-24 2013-10-22 Nuance Communications, Inc. Sparse representations for text classification
US9026591B2 (en) 2011-02-28 2015-05-05 Avaya Inc. System and method for advanced communication thread analysis
US8565486B2 (en) * 2012-01-05 2013-10-22 Gentex Corporation Bayesian classifier system using a non-linear probability function and method thereof
BR112016022665A2 (pt) 2014-03-31 2017-08-15 Ingrain Inc Determinação de volume elementar representativo por meio de estatística baseada em agrupamento
US20150309987A1 (en) 2014-04-29 2015-10-29 Google Inc. Classification of Offensive Words

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5603022A (en) 1994-09-23 1997-02-11 The Regents Of The University Of Michigan Data compression system and method representing records as differences between sorted domain ordinals representing field values
GB2310055A (en) 1996-02-08 1997-08-13 Ibm Compression of structured data
US5704017A (en) 1996-02-16 1997-12-30 Microsoft Corporation Collaborative filtering utilizing a belief network
US5832182A (en) 1996-04-24 1998-11-03 Wisconsin Alumni Research Foundation Method and system for data clustering for very large databases
US5977889A (en) * 1997-06-05 1999-11-02 International Business Machines Corporation Optimization of data representations for transmission of storage using differences from reference data
US6032146A (en) * 1997-10-21 2000-02-29 International Business Machines Corporation Dimension reduction for data mining application
US6360224B1 (en) * 1999-04-23 2002-03-19 Microsoft Corporation Fast extraction of one-way and two-way counts from sparse data

Also Published As

Publication number Publication date
WO2000065481A1 (en) 2000-11-02
EP1173816A1 (de) 2002-01-23
AU4653100A (en) 2000-11-10
DE60004507D1 (de) 2003-09-18
US6556958B1 (en) 2003-04-29
ATE247300T1 (de) 2003-08-15
EP1173816B1 (de) 2003-08-13

Similar Documents

Publication Publication Date Title
DE60004507T2 (de) Schnelle gruppierung durch spärlich bestückte datensätze
DE69934102T2 (de) System und verfahren zur model-mining von komplexen informationtechnologiesystemen
DE69938339T2 (de) Ein skalierbares system zum gruppieren von grossen datenbänken
DE202017007517U1 (de) Aggregatmerkmale für maschinelles Lernen
DE102016209032B3 (de) Bildbegebendes Verfahren zum Durchführen einer medizinischen Untersuchung nebst zugehörigem Bildgebenden System und zugehörigem Computerprogrammprodukt
DE112018002822T5 (de) Klassifizieren neuronaler netze
DE10255128A1 (de) Computer-implementierte PDF-Dokumentenverwaltung
DE202017007529U1 (de) Differenzmetrik für auf maschinellem Lernen basierende Verarbeitungssysteme
DE112017006106T5 (de) Erzeugen von, Zugreifen auf und Anzeigen von Abstammungsmetadaten
DE102019004300A1 (de) Verwendung eines dynamischen speichernetzwerks zum verfolgen digitaler dialogzustände und erzeugen von antworten
DE112012004042T5 (de) Adaptives Ermitteln der Antwortzeitverteilung von Transaktionsprozessen
DE112013005993T5 (de) Verfahren, Vorrichtung und computerlesbares Medium für eine optimale Bestimmung von Daten-Teilmengen
DE102013213093A1 (de) System, Verfahren und Computerprogrammprodukt zum simultanen Bestimmen von Einstellungen für eine Mehrzahl von Parametervariationen
DE112018001290T5 (de) Verfahren zum Schätzen der Löschbarkeit von Datenobjekten
DE112015003926T5 (de) Publish/Subscribe-Messaging unter Verwendung einer Nachrichtenstruktur
DE112021003747T5 (de) Erkennen von anomalien in einer netzwerktopologie
DE102019205130A1 (de) Datenanalyse-Server, Datenanalysesystem und Datenanalyseverfahren
DE112020005732T5 (de) Erzeugen von trainingsdaten zur objekterkennung
DE112016007411T5 (de) Fuzzy-eingabe für autoencoder
DE102021124256A1 (de) Mobile ki
DE112020002892T5 (de) Aktives lernen für den datenabgleich
DE102020209853A1 (de) Vorrichtung und system für das lernen unüberwachter geordneter darstellung mit einem residual-variational-autoencoder
DE10320419A1 (de) Datenbank-Abfragesystem und Verfahren zum rechnergestützten Abfragen einer Datenbank
WO2012017056A1 (de) Verfahren und vorrichtung zur automatischen verarbeitung von daten in einem zellen-format
EP1264253B1 (de) Verfahren und anordnung zur modellierung eines systems

Legal Events

Date Code Title Description
8364 No opposition during term of opposition