DE112020002344T5 - Feature engineering zur optimierung von neuronalen netzwerken - Google Patents

Feature engineering zur optimierung von neuronalen netzwerken Download PDF

Info

Publication number
DE112020002344T5
DE112020002344T5 DE112020002344.3T DE112020002344T DE112020002344T5 DE 112020002344 T5 DE112020002344 T5 DE 112020002344T5 DE 112020002344 T DE112020002344 T DE 112020002344T DE 112020002344 T5 DE112020002344 T5 DE 112020002344T5
Authority
DE
Germany
Prior art keywords
feature
program instructions
computer
data structure
layer
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.)
Pending
Application number
DE112020002344.3T
Other languages
English (en)
Inventor
Craig Trim
Mary Rudden
Aaron Baughman
Stefan van der Stockt
Bernard Freund
Augustina Ragwitz
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE112020002344T5 publication Critical patent/DE112020002344T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • 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/38Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Databases & Information Systems (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Algebra (AREA)
  • General Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Operations Research (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Library & Information Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Für ein Paar von Merkmalen, die in einem Vektorraum dargestellt werden, der einem Eingabedatensatz entspricht, wird eine Datenstruktur der transitiven Hülle erzeugt. Die Datenstruktur enthält einen Satz von Einträgen, der einem Satz aller möglichen Pfade zwischen einem ersten Merkmal in dem Paar und einem zweiten Merkmal in dem Paar in einem Graphen des Vektorraums entspricht. Die Datenstruktur wird reduziert, indem ein Teilsatz des Satzes von Einträgen entfernt wird, sodass nur ein einziger Eintrag, der einem einzigen Pfad entspricht, in der Datenstruktur der transitiven Hülle verbleibt. Aus einem Cluster von Merkmalen, die in einem reduzierten Ontologiegraphen verbleiben, der aus dem Reduzieren der Datenstruktur der transitiven Hülle resultiert, wird eine Merkmalskreuzung gebildet. Eine Schicht in einem neuronalen Netzwerk wird konfiguriert, um die Merkmalskreuzung darzustellen, was dazu führt, dass das neuronale Netzwerk eine Vorhersage erzeugt, die bezogen auf den Datensatz innerhalb einer definierten Genauigkeit liegt.

Description

  • TECHNISCHES GEBIET
  • Die vorliegende Erfindung bezieht sich im Allgemeinen auf ein Verfahren, System und Computerprogrammprodukt zum Konfigurieren eines neuronalen Netzwerks, um Vorhersagen auf Grundlage von großen Datensätzen zu erzeugen. Im Besonderen bezieht sich die vorliegende Erfindung auf ein Verfahren, System und Computerprogrammprodukt für ein Feature Engineering zur Optimierung von neuronalen Netzwerken.
  • HINTERGRUND
  • Ein Datensatz wie hierin verwendet ist eine Sammlung, ein Körper oder ein Korpus von Daten, bei dem ein Datenelement einem oder mehreren Merkmalen aus einem Merkmalssatz entspricht. Ein Merkmal ist eine Entität, die in den Daten dargestellt wird. Zum Beispiel können in einem Datensatz, der ein Auszug aus einem Werk der englischen Literatur ist, einzelne Wörter als Merkmale betrachtet werden. Als weiteres Beispiel können in einem Datensatz, der Verkehrsflussdaten enthält, Wochentage und Uhrzeiten als Merkmale betrachtet werden.
  • Ein Merkmal ist nicht nur eine Entität, die direkt oder offensichtlich in den Daten dargestellt wird, sondern auch eine Entität, die aus den Daten abgeleitet werden kann. Zum Beispiel soll ein Datensatz Produktbesitzdaten enthalten, wobei ein Datenelement in dem Datensatz zeigt, dass Unternehmen X Produkt Y besitzt. In dem Datensatz sind X und Y direkt dargestellte Merkmale (ebenso wie die generischen Klassen „Unternehmen“ und „Produkte“), aber die Tatsache, dass X auch Version 10 des Produkts Y besitzt, kann auch daraus abgeleitet werden, dass X Y besitzt und Y eine Version 10 hat. Somit ist „Y Version 10“ ebenfalls ein Merkmal, das aus dem Datensatz abgeleitet werden kann.
  • Eine Merkmalskreuzung (Feature Cross, FC) ist eine Kombination oder Verkettung von zwei oder mehr Merkmalen. Unter erneuter Verwendung des Datensatzes mit Verkehrsdaten können zum Beispiel „Montag“ und „14:00 Uhr“ zwar Merkmale in dem Datensatz sein, „Montag + 14:00 Uhr“ (d.h. Montag um 14:00 Uhr) ist jedoch eine Merkmalskreuzung, die aus der Kombination der Merkmale „Montag“ und „14:00 Uhr“ gebildet wird. Ein Datenelement kann also „Montag“ entsprechen, muss jedoch nicht unbedingt „14:00 Uhr“ entsprechen; ein weiteres Datenelement kann „14:00 Uhr“ entsprechend, entspricht jedoch anstatt „Montag“ womöglich „Donnerstag“. Nur ein Datenelement, das sowohl „Montag“ als auch „14:00 Uhr“ entspricht, würde der Merkmalskreuzung „Montag + 14:00 Uhr“ entsprechen.
  • Bei einem Datensatz als Eingabe kann ein neuronales Netzwerk (NN) konfiguriert werden, um Vorhersagen auf Grundlage des Datensatzes zu treffen. Zum Beispiel kann ein neuronales Netzwerk bei einem Datensatz, der ein Auszug aus einem Werk der englischen Literatur ist, konfiguriert werden, um vorherzusagen, ob einige bestimmte Wörter zusammen oder in einer bestimmten angegebenen Entfernung zueinander auftreten. Als ein weiteres Beispiel kann ein neuronales Netzwerk bei einem Datensatz, der Verkehrsflussdaten enthält, konfiguriert werden, um ein Verkehrsaufkommen zu einer bestimmten Uhrzeit an einem bestimmten Tag in der Zukunft vorherzusagen.
  • Eine Ontologie ist hierin eine Graphendarstellung eines Datensatzes, bei der die Merkmale die Knoten und die Beziehungen zwischen Merkmalen - ob in dem Datensatz explizit vorhanden oder daraus abgeleitet - die Kanten bilden. Eine Ontologie gemäß den veranschaulichenden Ausführungsformen kann Knoten haben, die Merkmale, Merkmalskreuzungen oder eine Kombination hiervon darstellen.
  • Ein Künstliches Neuronales Netzwerk (KNN) - auch einfach als ein neuronales Netzwerk bezeichnet - ist ein Datenverarbeitungssystem, das aus einer Anzahl von einfachen, in hohem Maße miteinander verknüpften Verarbeitungselementen (Knoten) besteht, die anhand ihrer dynamischen Zustandsreaktion auf externe Eingaben Informationen verarbeiten. KNN sind Verarbeitungseinheiten (Algorithmen und/oder Hardware), deren Modellierung sich lose an der neuronalen Struktur der Großhirnrinde von Säugetieren orientiert, jedoch in sehr viel kleinerem Maßstab. Ein großes KNN kann Hunderte oder Tausende von Verarbeitungseinheiten haben, während das Gehirn eines Säugetiers Milliarden von Neuronen hat, mit einem entsprechenden Anstieg der Größenordnung ihres gesamten interaktiven und emergenten Verhaltens.
  • Ein neuronales Netzwerk kann konfiguriert werden, um einen Satz von Merkmalen, Merkmalskreuzungen oder eine Kombination hiervon darzustellen. Die veranschaulichenden Ausführungsformen tragen der Tatsache Rechnung, dass es aus verschiedenen Gründen ein schwieriges Problem darstellt, ein neuronales Netzwerk so zu konfigurieren, dass die Vorhersagen mit dem Datensatz und einem erwarteten Ergebnis (oder einem tatsächlichen Ergebnis, falls vorhanden) konsistent sind. Zum Beispiel hängt eine Größe eines neuronalen Netzwerks mit einer Anzahl von Merkmalen oder Merkmalskreuzungen zusammen, die das neuronale Netzwerk verarbeiten soll.
  • Auch hier soll wieder der Verkehrsdatensatz als Beispiel herangezogen werden. Es gibt nur sieben Wochentag-Merkmale und 24 Uhrzeit-Merkmale, d. h. insgesamt 31 Merkmale. Allerdings sind nicht alle Uhrzeiten gleich bedeutsam für eine Vorhersage. So kann eine Person z.B. freitags um 20:00 Uhr ein höheres Interesse an einer Verkehrsvorhersage haben als montags um 20:00 Uhr. Allerdings ist mit nur zwei gekreuzten Arten von Merkmalen eine Merkmalskreuzung von insgesamt 7 * 24 = 168 möglich. Die veranschaulichenden Ausführungsformen tragen der Tatsache Rechnung, dass ein neuronales Netzwerk, das 31 Merkmale darstellt, wesentlich weniger komplex als ein neuronales Netzwerk ist, das für 168 Merkmalskreuzungen konfiguriert wird.
  • Darüber hinaus tragen die veranschaulichenden Ausführungsformen der Tatsache Rechnung, dass ein Datensatz als eine Matrix dargestellt werden kann, bei der die Merkmale die Spalten bilden und jedes Datenelement eine Zeile ist. Eine Zeile erhält einen Eintrag in einer Spalte einer Zelle, falls das Datenelement der Zeile mit dem Merkmal der Spalte in Beziehung steht. Wie ersichtlich ist, kann sogar die Matrix mit 31 Spalten für sieben Tage und 24 Stunden insofern dünn besetzt sein, als nicht jede Stunde eines jeden Tags Verkehrsdaten hat, die womöglich verfügbar/nützlich/bedeutungsvoll sind. Eine Matrix von Merkmalskreuzungen ist noch dünner besetzt als die Matrix der Merkmale, denen die Merkmalskreuzungen entsprechen. Bei Merkmalskreuzungen eines Typs, der lediglich Tageszeit + Uhrzeit aufweist, hat die überarbeitete Matrix nun zum Beispiel 168 anstatt 31 Spalten, wobei eine Zeile nun einem noch kleineren Prozentsatz von Zellen in der Matrix entspricht. Ein neuronales Netzwerk, das mit diesen 168 Beispiel-Merkmalskreuzungen konfiguriert wird, müsste eine sehr dünn besetzte Matrix im Arbeitsspeicher enthalten, um die Berechnungen durchzuführen.
  • In der Praxis besteht eine Matrix häufig aus vielen Tausenden von Spalten mal vielen Tausenden von Zeilen, und ein neuronales Netzwerk hat mehrere Schichten, wobei jede Schicht Tausende von Knoten enthält. Das Training eines neuronalen Netzwerks mit einem Datensatz führt dazu, dass die Gewichtungen dieser Knoten berechnet und angepasst werden, um die Ausgabe des neuronalen Netzwerks innerhalb eines gewünschten Genauigkeitsschwellenwerts zu bringen. Die Anpassung der Gewichtungen eines neuronalen Netzwerks ist ein rechenaufwendiger Prozess. Das Beibehalten von großen, aber dünn besetzten Matrizen erfordert unerwünscht große Mengen an Arbeitsspeicher für das Training und den Betrieb des neuronalen Netzwerks. Die veranschaulichenden Ausführungsformen tragen der Tatsache Rechnung, dass eine Merkmalskreuzung zwar erwünscht ist, um die Relevanz der Ausgabe des neuronalen Netzwerks zu erhöhen, dass sie jedoch auch dazu führt, dass eine Matrix dünner besetzt ist, und dass sie die Komplexität und Ressourcenanforderungen des neuronalen Netzwerks erhöht.
  • KURZDARSTELLUNG
  • Die veranschaulichenden Ausführungsformen stellen ein Verfahren, System und Computerprogrammprodukt bereit. Unter einem ersten Aspekt betrachtet, stellt die vorliegende Erfindung ein Verfahren bereit, das unter Verwendung eines Prozessors und eines Arbeitsspeichers eine Datenstruktur der transitiven Hülle für ein Paar von Merkmalen erzeugt, die in einem Vektorraum dargestellt werden, der einem Eingabedatensatz entspricht, wobei die Datenstruktur der transitiven Hülle einen Satz von Einträgen aufweist, der einem Satz von Pfaden in einem Graphen des Vektorraums entspricht, wobei der Satz von Pfaden alle möglichen Pfade in dem Graphen zwischen einem ersten Merkmal in dem Paar und einem zweiten Merkmal in dem Paar aufweist. Die Ausführungsform reduziert die Datenstruktur der transitiven Hülle, indem aus der Datenstruktur der transitiven Hülle ein Teilsatz des Satzes von Einträgen entfernt wird, sodass nur ein einziger Eintrag, der einem einzigen Pfad entspricht, in der Datenstruktur der transitiven Hülle verbleibt. Die Ausführungsform bildet eine Merkmalskreuzung aus einem Cluster von Merkmalen, die in einem reduzierten Ontologiegraphen verbleiben, der aus dem Reduzieren der Datenstruktur der transitiven Hülle resultiert. Die Ausführungsform konfiguriert eine Schicht in einem neuronalen Netzwerk, um die Merkmalskreuzung darzustellen, wobei die konfigurierte Schicht in dem neuronalen Netzwerk dazu führt, dass das neuronale Netzwerk eine Vorhersage erzeugt, die bezogen auf den Datensatz innerhalb einer definierten Genauigkeit liegt.
  • Vorzugsweise stellt die vorliegende Erfindung ein Verfahren bereit, aufweisend des Weiteren: Berechnen einer Obergrenze einer Schichteinbettung, die der Merkmalskreuzung entspricht, für die Schicht unter Verwendung des Prozessors und des Arbeitsspeichers; und Berechnen einer Untergrenze der Schichteinbettung, die der Merkmalskreuzung entspricht, für die Schicht, wobei eine Schichtgröße der Schicht für eine Schichteinbettung auf der Obergrenze und der Untergrenze beruht.
  • Vorzugsweise stellt die vorliegende Erfindung ein Verfahren bereit, wobei die Schichtgröße ein berechneter Durchschnittswert der Obergrenze und der Untergrenze ist.
  • Vorzugsweise stellt die vorliegende Erfindung ein Verfahren bereit, aufweisend des Weiteren: Umwandeln des Datensatzes in eine dünn besetzte Matrix; Erzeugen eines Ontologiegraphen, welcher der dünn besetzten Matrix entspricht, wobei der Ontologiegraph einen Satz von Knoten aufweist, der einem Satz von Merkmalen in dem Datensatz entspricht; und Durchführen einer Vorwärtsmaterialisierung für einen Graphen, wobei die Vorwärtsmaterialisierung einen Inferenzknoten zu dem Satz von Knoten hinzufügt und wobei der Satz von Knoten, der den Inferenzknoten enthält, beim Erzeugen der Datenstruktur der transitiven Hülle verwendet wird.
  • Vorzugsweise stellt die vorliegende Erfindung ein Verfahren bereit, wobei der einzige verbleibende Pfad eine Effizienzanforderung erfüllt.
  • Vorzugsweise stellt die vorliegende Erfindung ein Verfahren bereit, wobei die Effizienzanforderung eine kürzeste Entfernung zwischen dem ersten Merkmal und dem zweiten Merkmal aufweist.
  • Vorzugsweise stellt die vorliegende Erfindung ein Verfahren bereit, wobei die Effizienzanforderung eine höchste Nutzung zwischen dem ersten Merkmal und dem zweiten Merkmal aufweist.
  • Vorzugsweise stellt die vorliegende Erfindung ein Verfahren bereit, wobei das Reduzieren einen Algorithmus der transitiven Reduktion aufweist.
  • Vorzugsweise stellt die vorliegende Erfindung ein Verfahren bereit, wobei das Reduzieren der Datenstruktur der transitiven Hülle dazu führt, dass ein Teilsatz von Knoten aus dem Ontologiegraphen entfernt wird, wodurch der reduzierte Ontologiegraph gebildet wird.
  • Vorzugsweise stellt die vorliegende Erfindung ein Verfahren bereit, aufweisend des Weiteren: Identifizieren einer Mehrzahl von Clustern in dem reduzierten Ontologiegraphen, wobei die Mehrzahl von Clustern den Cluster enthält und wobei der Cluster mindestens zwei Merkmale aufweist, sodass eine Kombination der beiden Merkmale verwendbar ist, um zwischen mindestens einem ersten Teil des Datensatzes und einem zweiten Teil des Datensatzes zu unterscheiden.
  • Unter einem zweiten Aspekt betrachtet, stellt die vorliegende Erfindung ein computernutzbares Programmprodukt, das eine computerlesbare Speichereinheit aufweist, sowie in der Speichereinheit gespeicherte Programmanweisungen bereit, wobei die gespeicherten Programmanweisungen aufweisen: Programmanweisungen, um unter Verwendung eines Prozessors und eines Arbeitsspeichers eine Datenstruktur der transitiven Hülle für ein Paar von Merkmalen zu erzeugen, die in einem Vektorraum dargestellt werden, der einem Eingabedatensatz entspricht, wobei die Datenstruktur der transitiven Hülle einen Satz von Einträgen aufweist, der einem Satz von Pfaden in einem Graphen des Vektorraums entspricht, wobei der Satz von Pfaden alle möglichen Pfade in dem Graphen zwischen einem ersten Merkmal in dem Paar und einem zweiten Merkmal in dem Paar aufweist; Programmanweisungen, um die Datenstruktur der transitiven Hülle zu reduzieren, indem aus der Datenstruktur der transitiven Hülle ein Teilsatz des Satzes von Einträgen entfernt wird, sodass nur ein einziger Eintrag, der einem einzigen Pfad entspricht, in der Datenstruktur der transitiven Hülle verbleibt; Programmanweisungen, um eine Merkmalskreuzung aus einem Cluster von Merkmalen zu bilden, die in einem reduzierten Ontologiegraphen verbleiben, der aus dem Reduzieren der Datenstruktur der transitiven Hülle resultiert; und Programmanweisungen, um eine Schicht in einem neuronalen Netzwerk zu konfigurieren, um die Merkmalskreuzung darzustellen, wobei die konfigurierte Schicht in dem neuronalen Netzwerk dazu führt, dass das neuronale Netzwerk eine Vorhersage erzeugt, die bezogen auf den Datensatz innerhalb einer definierten Genauigkeit liegt.
  • Vorzugsweise stellt die vorliegende Erfindung ein computernutzbares Programmprodukt bereit, aufweisend des Weiteren: Programmanweisungen, um unter Verwendung des Prozessors und des Arbeitsspeichers für die Schicht eine Obergrenze einer Schichteinbettung zu berechnen, die der Merkmalskreuzung entspricht; und Programmanweisungen, um für die Schicht eine Untergrenze der Schichteinbettung zu berechnen, die der Merkmalskreuzung entspricht, wobei eine Schichtgröße der Schicht für eine Schichteinbettung auf der Obergrenze und der Untergrenze beruht.
  • Vorzugsweise stellt die vorliegende Erfindung ein computernutzbares Programmprodukt bereit, wobei die Schichtgröße ein berechneter Durchschnittswert der Obergrenze und der Untergrenze ist.
  • Vorzugsweise stellt die vorliegende Erfindung ein computernutzbares Programmprodukt bereit, aufweisend des Weiteren: Programmanweisungen, um den Datensatz in eine dünn besetzte Matrix umzuwandeln; Programmanweisungen, um einen Ontologiegraphen zu erzeugen, welcher der dünn besetzten Matrix entspricht, wobei der Ontologiegraph einen Satz von Knoten aufweist, der einem Satz von Merkmalen in dem Datensatz entspricht; und Programmanweisungen, um eine Vorwärtsmaterialisierung für einen Graphen durchzuführen, wobei die Vorwärtsmaterialisierung einen Inferenzknoten zu dem Satz von Knoten hinzufügt und wobei der Satz von Knoten, der den Inferenzknoten enthält, beim Erzeugen der Datenstruktur der transitiven Hülle verwendet wird.
  • Vorzugsweise stellt die vorliegende Erfindung ein computernutzbares Programmprodukt bereit, wobei der einzige verbleibende Pfad eine Effizienzanforderung erfüllt.
  • Vorzugsweise stellt die vorliegende Erfindung ein computernutzbares Produktprogramm bereit, wobei die Effizienzanforderung eine kürzeste Entfernung zwischen dem ersten Merkmal und dem zweiten Merkmal aufweist.
  • Vorzugsweise stellt die vorliegende Erfindung ein computernutzbares Programmprodukt bereit, wobei die Effizienzanforderung eine höchste Nutzung zwischen dem ersten Merkmal und dem zweiten Merkmal aufweist.
  • Vorzugsweise stellt die vorliegende Erfindung ein computernutzbares Programmprodukt bereit, wobei die gespeicherten Programmanweisungen in einer computerlesbaren Speichereinheit in einem Datenverarbeitungssystem gespeichert werden und wobei die gespeicherten Programmanweisungen über ein Netzwerk von einem entfernt angeordneten Datenverarbeitungssystem übertragen werden. Das computernutzbare Programmprodukt nach Anspruch 11, wobei die gespeicherten Programmanweisungen in einer computerlesbaren Speichereinheit in einem Server-Datenverarbeitungssystem gespeichert werden und wobei die gespeicherten Programmanweisungen über ein Netzwerk in ein entfernt angeordnetes Datenverarbeitungssystem heruntergeladen werden, um in einer computerlesbaren Speichereinheit verwendet zu werden, die dem entfernt angeordneten Datenverarbeitungssystem zugehörig ist, aufweisend des Weiteren: Programmanweisungen, um eine Nutzung des computernutzbaren Codes zu messen, welcher der Anforderung zugehörig ist; und Programmanweisungen, um auf Grundlage der gemessenen Nutzung eine Rechnung zu erzeugen.
  • Unter einem dritten Aspekt betrachtet weist ein Computersystem einen Prozessor, einen computerlesbaren Arbeitsspeicher und eine computerlesbare Speichereinheit sowie auf der Speichereinheit gespeicherte Programmanweisungen zur Ausführung durch den Prozessor über den Arbeitsspeicher auf, wobei die gespeicherten Programmanweisungen aufweisen: Programmanweisungen, um unter Verwendung eines Prozessors und eines Arbeitsspeichers eine Datenstruktur der transitiven Hülle für ein Paar von Merkmalen zu erzeugen, die in einem Vektorraum dargestellt werden, der einem Eingabedatensatz entspricht, wobei die Datenstruktur der transitiven Hülle einen Satz von Einträgen aufweist, der einem Satz von Pfaden in einem Graphen des Vektorraums entspricht, wobei der Satz von Pfaden alle möglichen Pfade in dem Graphen zwischen einem ersten Merkmal in dem Paar und einem zweiten Merkmal in dem Paar aufweist; Programmanweisungen, um die Datenstruktur der transitiven Hülle zu reduzieren, indem aus der Datenstruktur der transitiven Hülle ein Teilsatz des Satzes von Einträgen entfernt wird, sodass nur ein einziger Eintrag, der einem einzigen Pfad entspricht, in der Datenstruktur der transitiven Hülle verbleibt; Programmanweisungen, um eine Merkmalskreuzung aus einem Cluster von Merkmalen zu bilden, die in einem reduzierten Ontologiegraphen verbleiben, der aus dem Reduzieren der Datenstruktur der transitiven Hülle resultiert; und Programmanweisungen, um eine Schicht in einem neuronalen Netzwerk zu konfigurieren, um die Merkmalskreuzung darzustellen, wobei die konfigurierte Schicht in dem neuronalen Netzwerk dazu führt, dass das neuronale Netzwerk eine Vorhersage erzeugt, die bezogen auf den Datensatz innerhalb einer definierten Genauigkeit liegt.
  • Figurenliste
  • Bestimmte neuartige, für die Erfindung als kennzeichnend betrachtete Merkmale werden in den beigefügten Ansprüchen beschrieben. Die Erfindung selbst jedoch sowie eine bevorzugte Art der Verwendung, weitere Zielsetzungen und Vorzüge hiervon werden am deutlichsten unter Bezugnahme auf die folgende ausführliche Beschreibung der veranschaulichenden Ausführungsformen in Verbindung mit den beigefügten Zeichnungen, bei denen:
    • 1 ein Blockschaubild eines Netzwerks von Datenverarbeitungssystemen darstellt, in dem veranschaulichende Ausführungsformen realisiert werden können;
    • 2 ein Blockschaubild eines Datenverarbeitungssystems darstellt, in dem veranschaulichende Ausführungsformen realisiert werden können;
    • 3 ein Blockschaubild eines Beispielproblems darstellt, das mit einer veranschaulichenden Ausführungsform gelöst werden kann;
    • 4 ein Blockschaubild einer Beispieleinbettung gemäß einer veranschaulichenden Ausführungsform darstellt;
    • 5 ein Blockschaubild einer Beispielanwendung für ein Feature Engineering zur Optimierung von neuronalen Netzwerken gemäß einer veranschaulichenden Ausführungsform darstellt;
    • 6 eine Inferenzmaterialisierung gemäß einer veranschaulichenden Ausführungsform darstellt;
    • 7 einen Ausgabegraphen darstellt, der gemäß einer Ausführungsform aus einem Graphen resultiert;
    • 8A eine Anordnung einer Ontologie in einem Vektorraum darstellt;
    • 8B die Materialisierung von Inferenzen für in Frage kommende Merkmalskreuzungen darstellt; und
    • 9 einen Ablaufplan eines Beispielprozesses für ein Feature Engineering zur Optimierung von neuronalen Netzwerken gemäß einer veranschaulichenden Ausführungsform darstellt.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Training und Optimierung von neuronalen Netzwerken sind ein hinlänglich bekanntes technologisches Gebiet. Der gegenwärtige Stand der Technologie auf diesem Gebiet bringt bestimmte Nachteile und Beschränkungen mit sich. Die Betriebsschritte und/oder die Konfigurationen der veranschaulichenden Ausführungsformen vermitteln zusätzliche oder neue Fähigkeiten, um die vorhandene Technologie auf diesem technologischen Gebiet zu verbessern, insbesondere im Bereich der Merkmalsauswahl, Merkmalskreuzung und Einbettung.
  • Eine dünn besetzte Matrix ist eine Matrix, in der weniger als ein Schwellenwertprozentsatz von Zellen nicht ungültig, nicht leer oder nicht 0 bzw. eine andere Darstellung eines Indikators ist, der angibt, dass die Zelle besetzt ist oder verwendet werden soll. Eine dicht besetzte Matrix ist eine Matrix, in der mehr als ein Schwellenwertprozentsatz von Zellen nicht ungültig, nicht leer oder nicht 0 bzw. eine andere Darstellung eines Indikators ist, der angibt, dass die Zelle besetzt ist oder verwendet werden soll. Die veranschaulichenden Ausführungsformen tragen der Tatsache Rechnung, dass es erwünscht ist, über eine dicht besetzte Matrix zu verfügen, bei der die dicht besetzte Matrix innerhalb einer definierten Genauigkeitstoleranz dennoch repräsentativ für die Daten in einem dünn besetzten Datensatz ist. Eine Möglichkeit, eine dicht besetzte Matrix für einen Datensatz zu erreichen, besteht darin, bestimmte Merkmale selektiv zu kreuzen und dabei bestimmte Merkmale oder Merkmalskreuzungen oder beides wegzulassen.
  • Die veranschaulichenden Ausführungsformen tragen der Tatsache Rechnung, dass ein Auswählen von geeigneten Merkmalen, die gekreuzt werden sollen, um Merkmalskreuzungen zu erzeugen, welche in einer dicht besetzten Matrix resultieren, ein Problem ist, das sich mit gängigen Matrizen nur schwer lösen lässt. Gegenwärtig verfügbare Methoden stützen sich auf persönliches Wissen und Erfahrung von Menschen, die sich auf ein Fachgebiet spezialisieren, um die zu kreuzenden Merkmale aus den Datensätzen auszuwählen, die zu dem Fachgebiet gehören. Bei einer sorgfältigen Auswahl von zu kreuzenden Merkmalen kann aus einer dünn besetzten Matrix eine dicht besetzte Matrix entstehen. Obwohl eine umfassende Merkmalskreuzung in dem Beispiel-Verkehrsdatensatz zum Beispiel 168 Merkmalskreuzungen ergibt, sind nicht alle 168 Merkmalskreuzungen für praktische Zwecke tatsächlich von Nutzen. Ein in der Analyse von Verkehrsdaten geschulter Mensch kann selektiv ermitteln, dass Freitag, 20:00 Uhr, tendenziell interessanter ist und eine Merkmalskreuzung bilden sollte, während montags, 14:00 Uhr, und mittwochs, 15:00 Uhr, nahezu gleiche Verkehrsdaten aufzuweisen scheinen, sodass Montag, 14:00 Uhr, und Mittwoch, 15:00 Uhr, gemeinsam als eine Merkmalskreuzung gekreuzt werden sollten. Der Mensch kann entscheiden, dass Daten für Dienstag, 1:00 Uhr, vernachlässigbar oder nicht existent sind und deshalb Dienstag, 1:00 Uhr, in der Matrix der Merkmalskreuzungen noch nicht einmal dargestellt werden sollte.
  • Im Gegensatz dazu kann ein Kreuzen von zu vielen Merkmalen oder fehlerhaft in Bezug zueinander gesetzten Merkmalen zu Datenverlust, einer ungenauen Vorhersage oder beidem führen. Wenn zum Beispiel die Merkmale 24:00 Uhr bis 5:00 Uhr für alle Wochentage von Montag bis Freitag, 6:00 Uhr bis 11:00 Uhr für alle Wochentage von Montag bis Freitag, 12:00 Uhr bis 17:00 Uhr für alle Wochentage von Montag bis Freitag und 18:00 Uhr bis 23:00 Uhr für alle Wochentage von Montag bis Freitag gekreuzt würden, würde dies tatsächlich in einer sehr kleinen und dicht besetzten Matrix mit nur vier Merkmalskreuzungen resultieren. Allerdings kann eine solche Matrix nicht zwischen den Merkmalen von Montag, 19:00 Uhr, und Freitag, 19:00 Uhr, unterscheiden, was für eine Analyse und Vorhersage wichtig sein könnte.
  • Somit ist gegenwärtig eine manuelle Aktivität mit spezifischen Fähigkeiten und Kenntnissen notwendig, um eine dünn besetzte Matrix in eine nützliche dicht besetzte Matrix umzuwandeln. Die veranschaulichenden Ausführungsformen tragen der Tatsache Rechnung, dass ein automatisiertes Verfahren zum Auswählen von zu kreuzenden Merkmalen, um ohne unzulässigen Verlust an Datengranularität oder unzulässigen Verlust an Genauigkeit eine dicht besetzte Matrix zu erzeugen, die einem dünn besetzten Datensatz entspricht, von Nutzen wäre. Die veranschaulichenden Ausführungsformen tragen des Weiteren der Tatsache Rechnung, dass ein solches automatisiertes Verfahren, mit dem sich die dicht besetzte Matrix mit einem Verfahren des maschinellen Lernens (ML) über eine Rückmeldung aus einer Produktionsrealisierung eines mit der dicht besetzten Matrix trainierten neuronalen Netzwerks iterativ verbessern lässt, ebenfalls von Nutzen wäre.
  • Gemäß den veranschaulichenden Ausführungsformen ist eine Einbettung ein Prozess eines Konfigurierens einer Schicht eines neuronalen Netzwerks mit Knoten, die den Merkmalskreuzungen in der dicht besetzten Matrix entsprechen, sodass eine Ausgabe des neuronalen Netzwerks bezogen auf eine Ausgabe eines weiteren neuronalen Netzwerks, dessen Schicht gemäß dem Merkmal oder den Merkmalskreuzungen der dünn besetzten Matrix konfiguriert wird, aus der die dicht besetzte Matrix gebildet wird, innerhalb einer definierten Genauigkeitstoleranz liegt. Eine Schichtgröße ist eine Anzahl von Knoten in einer Schicht, wobei die Knoten in der Anzahl entsprechend den Merkmalskreuzungen aus der dicht besetzten Matrix trainiert werden. Bei einer allgemeinen Ausführungsform hat die Anzahl von Knoten in einer Schicht eine n:m-Entsprechung mit der Anzahl von Merkmalskreuzungen in der dicht besetzten Matrix (d.h. n Knoten pro m Merkmalskreuzungen). Bei einer Ausführungsform hat die Anzahl von Knoten in einer Schicht eine 1:1-Entsprechung mit der Anzahl von Merkmalskreuzungen in der dicht besetzten Matrix (d.h. ein Knoten pro Merkmalskreuzung). Bei einer weiteren Ausführungsform hat die Anzahl von Knoten in einer Schicht eine 1:n-Entsprechung mit der Anzahl von Merkmalskreuzungen in der dicht besetzten Matrix (d.h. ein Knoten pro n Merkmalskreuzungen). Bei einer weiteren Ausführungsform hat die Anzahl von Knoten in einer Schicht eine n:1-Entsprechung mit der Anzahl von Merkmalskreuzungen in der dicht besetzten Matrix (d.h. n Knoten pro Merkmalskreuzung).
  • Die veranschaulichenden Ausführungsformen tragen der Tatsache Rechnung, dass - verglichen mit einer kleineren Schichtgröße - die Menge an Datenverarbeitungs- und Datenspeicherressourcen sowohl für das Training als auch für den Betrieb mit zunehmender Schichtgröße immer größer wird. Zugleich ist die Ausgabe der Schicht gegenüber der Ausgabe einer kleineren Schicht immer genauer, je größer die Schichtgröße ist.
  • Die veranschaulichenden Ausführungsformen tragen der Tatsache Rechnung, dass die Auswahl von Merkmalen für eine Kreuzung und die Schichtgröße außerdem wechselseitig voneinander abhängig sind, da die Schichtgröße von einem Satz von Hyperparametern abhängig ist, welche die Merkmalskreuzungen enthalten, ohne jedoch darauf beschränkt zu sein. Wenn eine bestimmte Schichtkonfiguration zum Beispiel keine gewünschte Ausgabe oder Genauigkeit erbringt, muss ein Hyperparameter des neuronalen Netzwerks angepasst werden. Ein Merkmal ist ein Hyperparameter, und wenn eine Merkmalskreuzung verändert wird, kann die Veränderung bewirken, dass sich ein oder mehrere Hyperparameter des neuronalen Netzwerks verändern. Eine Veränderung eines Hyperparameters erfordert, dass das neuronale Netzwerk mit den neuen Hyperparametern neu trainiert wird. Ein Training eines neuronalen Netzwerks mit Tausenden von Knoten in mehreren Schichten mit Matrizen, die Tausende von Spalten breit und tief sind, verursacht einen nicht zumutbaren Rechenaufwand. Daher gilt: Je weniger die Hyperparameter des neuronalen Netzwerks gestört werden, desto geringer ist der Aufwand für das Trainieren und Bereitstellen des neuronalen Netzwerks. Auch deswegen ist eine automatisierte, intelligente Auswahl von Merkmalen für eine Kreuzung von Nutzen.
  • Da außerdem eine bestimmte dicht besetzte Matrix mit einer bestimmten Dichte durch Bildung bestimmter Merkmalskreuzungen erreicht wird, erzeugt eine bestimmte Einbettung eine Ausgabe mit einer bestimmten Genauigkeit. Aus ein und derselben dicht besetzten Matrix sind verschiedene Einbettungen möglich, indem verschiedene Arten ausgewählt werden, wie der Satz oder Teilsatz von Merkmalskreuzungen aus der Matrix in der Einbettung dargestellt wird, die jeweils eine unterschiedliche Ausgabe mit einer unterschiedlichen Genauigkeit ergeben. Somit tragen die veranschaulichenden Ausführungsformen der Tatsache Rechnung, dass es für jeden Teilsatz von Merkmalskreuzungen eine Bandbreite von Einbettungen gibt, in der die Einbettungen Ausgaben mit einer akzeptablen Genauigkeit erzeugen.
  • Die veranschaulichenden Ausführungsformen tragen der Tatsache Rechnung, dass es gegenwärtig kein systematisches und objektives Verfahren zum Auswählen einer Einbettung gibt. Im Allgemeinen experimentieren Menschen, die in der Technik des Trainings von neuronalen Netzwerken geschult sind, unter großem Rechenaufwand mit verschiedenen Einbettungen, um eine Einbettung zu erreichen, die akzeptabel ist. Die veranschaulichenden Ausführungsformen tragen der Tatsache Rechnung, dass eine systematische und objektive Berechnung einer Obergrenze und einer Untergrenze einer Einbettung für eine bestimmte dicht besetzte Matrix von Nutzen ist.
  • Die veranschaulichenden Ausführungsformen tragen der Tatsache Rechnung, dass die gegenwärtig verfügbaren Werkzeuge oder Lösungen diese Erfordernisse/Probleme nicht berücksichtigen bzw. keine angemessenen Lösungen für diese Erfordernisse/Probleme bereitstellen. Die zur Beschreibung der Erfindung verwendeten veranschaulichenden Ausführungsformen berücksichtigen und lösen die oben genannten Probleme und andere damit zusammenhängende Probleme durch ein Feature Engineering zur Optimierung von neuronalen Netzwerken.
  • Eine Ausführungsform kann als eine Kombination aus bestimmten Hardware-Komponenten und einer Software-Anwendung realisiert werden. Eine Realisierung einer Ausführungsform oder einer oder mehrerer Komponenten hiervon kann als eine Abwandlung einer bestehenden Trainings- und Vorhersagekonfiguration eines neuronalen Netzwerks konfiguriert werden, wobei eine zugehörige Software-Anwendung in einer bestimmten Kombination (i) der bestehenden Trainings- und Vorhersagekonfiguration eines neuronalen Netzwerks selbst, (ii) eines Datenverarbeitungssystems, das mit der bestehenden Trainings- und Vorhersagekonfiguration eines neuronalen Netzwerks über Nahbereichsfunk oder ein lokales Netzwerk (Local Area Network, LAN) Daten austauscht, und (iii) eines Datenverarbeitungssystems, das mit der bestehenden Trainings- und Vorhersagekonfiguration eines neuronalen Netzwerks über ein Weitverkehrsnetzwerk (Wide Area Network, WAN) Daten austauscht, ausgeführt wird.
  • Eine Ausführungsform bildet eine Ontologie aus einem bestimmten Datensatz. Anders ausgedrückt kennzeichnet die Ausführungsform Knoten mit Kennzeichnungen (Merkmalen) und Kanten mit Beziehungen, die in dem Datensatz gefunden werden. Die Ausführungsform erzeugt die Ontologie des Weiteren, indem zusätzliche Knoten und Kanten gefüllt werden, die den gefolgerten oder abgeleiteten Kennzeichnungen und Beziehungen entsprechen. Diese Operation eines Erzeugens der Ontologie durch Inferenzen wird als Vorwärtsmaterialisierung bezeichnet.
  • Eine Ausführungsform bildet einen Vektorraum, der dem Graphen der Ontologie entspricht. Ein Vektorraum weist eine numerische Darstellung von Daten auf. Der durch die Ausführungsform gebildete Vektorraum enthält die numerischen Darstellungen der Merkmale, mit denen der Graph gefüllt wird. Ein durch eine Ausführungsform gebildeter Vektorraum kann dazu verwendet werden, Ähnlichkeiten zwischen Konzepten zu ermitteln, die in dem Vektorraum vorhanden sind. Zum Beispiel wendet eine Ausführungsform eine Ähnlichkeitsfunktion an, um Ähnlichkeiten zwischen den Konzepten zu ermitteln, die den Merkmalen zugrunde liegen. Ein Konzept ist eine Abstraktion oder verallgemeinerte Darstellung eines Merkmals. Zum Beispiel ist Montag ein Merkmal und Dienstag ein Merkmal, und diese sind ähnlich, da sie beide Manifestationen des Konzepts von Wochentagen sind, obwohl der Datensatz selbst womöglich nirgendwo angibt, dass Montag und Dienstag Wochentage sind. Konzepte sind nicht auf dieses triviale Beispiel beschränkt, und scheinbar nicht zusammenhängende Merkmale können durch nicht sofort offensichtliche Konzepte bei der Ähnlichkeitsanalyse einer Ausführungsform miteinander verknüpft werden. Ein nicht beschränkendes Beispiel für eine Ähnlichkeitsfunktion ist die Kosinus-Ähnlichkeit, die bei einer Ausführungsform zum Zwecke einer Ähnlichkeitsermittlung in dem Vektorraum verwendet werden kann.
  • Eine Ausführungsform erzeugt eine Datenstruktur der transitiven Hülle, die dem Vektorraum entspricht. Eine Datenstruktur der transitiven Hülle ist eine Datenstruktur, die Informationen zu allen möglichen Pfaden enthält, um in dem Vektorraum ausgehend von Punkt A einen Punkt B zu erreichen. Die Datenstruktur der transitiven Hülle enthält einen oder mehrere Pfade zwischen Merkmalen, Inferenzen und Konzepten. Eine Ausführungsform analysiert eine Datenstruktur der transitiven Hülle, um den erwünschtesten Pfad aus einer Mehrzahl von Pfaden zwischen den beiden Entitäten zu ermitteln und auszuwählen, die in der Datenstruktur der transitiven Hülle dargestellt werden. Bei einer Ausführungsform ist ein Pfad erwünscht, wenn der Pfad der kürzeste oder effizienteste aller Pfade in der Datenstruktur der transitiven Hülle ist. Bei anderen Ausführungsformen kann ein Pfad auch dann erwünscht sein, wenn der Pfad der am meisten genutzte Pfad in der Datenstruktur der transitiven Hülle ist. Generell kann jedes beliebige Auswahlkriterium verwendet werden, um einen Pfad aus einer Mehrzahl von Pfaden in einer Datenstruktur der transitiven Hülle auszuwählen.
  • Die Ausführungsform entfernt die nicht verwendeten Pfade aus einer Datenstruktur der transitiven Hülle. Eine Entfernung eines nicht ausgewählten Pfads aus einer Datenstruktur der transitiven Hülle entfernt auch einen oder mehrere Knoten, eine oder mehrere Kanten oder eine Kombination hiervon aus dem Ontologiegraphen. Eine Entfernung eines Knoten oder einer Kante aus dem Graphen weist darauf hin, dass der Knoten oder die Kante in dem Graphen einen geringeren Beitrag leistet als erwünscht. In anderen Worten wird davon ausgegangen, dass ein entfernter Knoten oder eine entfernte Kante nicht ausreichend bedeutungsvoll zu dem Graphen beiträgt, als dass seine Entfernung eine unerwünschte (über einen Schwellenwert hinausgehende) Abnahme einer Vorhersagegenauigkeit des Datensatzes nach der Entfernung hervorrufen könnte.
  • Somit führt eine Ausführungsform eine Graphenreduktion durch, um einen reduzierten Graphen zu bilden, sodass der reduzierte Graph noch immer ausreichend repräsentativ für den ursprünglichen Datensatz ist, zugleich jedoch Merkmale, Inferenzen und Konzepte enthält, die über die erwünschtesten Pfade in dem Graphen miteinander verbunden sind. Diese Art von Graphenreduktion wird als eine transitive Reduktion bezeichnet. Die transitive Reduktion einer Ausführungsform kann durch das Ausmaß gesteuert werden, in dem Inferenzen gezogen werden, durch das Ausmaß, in dem Parameter der Ähnlichkeitsfunktion Ähnlichkeiten und Konzepte finden, durch Kriterien zum Auswählen eines erwünschten Pfads, durch eine Entfernung oder Nicht-Entfernung bestimmter nicht erwünschter Knoten oder Kanten oder durch eine Kombination hiervon.
  • Ein verbleibender Knoten in dem reduzierten Graphen wird als ein diskriminativer Knoten bezeichnet, da er die Fähigkeit hat, zwischen Datenelementen in der Matrix zu unterscheiden und nicht redundant, zu vernachlässigen oder überflüssig ist. Eine Ausführungsform identifiziert einen oder mehrere Cluster in den verbleibenden Knoten in dem reduzierten Graphen. Ein Cluster identifiziert Merkmale, die gekreuzt werden können, um nützliche Merkmalskreuzungen zu bilden, die nicht zu einem unzulässigen Maß an Datenverlust, Genauigkeitsverlust oder beidem führen. Jede identifizierte Merkmalskreuzung hat eine Ober- und eine Untergrenze von Zellen in der dicht besetzten Matrix. Die Obergrenze ist eine Berechnung aller positiven Sätze von Instanzen für jedes Merkmal, das zu dem Cluster beiträgt, unabhängig von der Formel für den Rechenaufwand der transitiven Reduktion. Wenn zum Beispiel in dem Verkehrsdatenbeispiel keine Daten für Montag, 2:00 Uhr, vorhanden wären, würden diese Knoten und Kanten bei der Reduktion entfallen, ohne dass es zu einem Informationsverlust käme. Somit ist der Graph an der obersten Grenze der ursprüngliche Graph abzüglich der Merkmale, die nicht zu dem Graphen beitragen (durch die keine Pfade führen). In dem Verkehrsdatenbeispiel kann auch dies den Graphen von 168 möglichen Merkmalskreuzungen auf z.B. 142 oder eine geringere Zahl von Merkmalskreuzungen reduzieren. Bei einer selektiveren Ausführungsform kann Montag, 2:00 Uhr, weniger als eine Mindestanzahl von Datenelementen oder weniger als einen Grenzwert für die Anzahl von Datenelementen für eine statistische Verteilung haben und dennoch entfallen, woraufhin der Graph sogar noch kleiner ist, ohne dass es zu einem signifikanten Daten- oder Genauigkeitsverlust kommt. Ausreißer-Datenelemente und entsprechende Merkmale können auf diese Weise ausgenommen werden.
  • Die Untergrenze ist eine Funktionsausgabe aller diskriminativen Knoten und ihrer jeweiligen Werte. Da alle unerwünschten Pfade eliminiert wurden, hat die Eliminierung hier zwar womöglich einige Merkmalskreuzungen entfernt, die bedeutsam waren, jedoch nicht die bedeutsamsten. Anders ausgedrückt hat die Reduktion dazu geführt, dass der Graph nur die in hohem Maße diskriminativen Knoten in dem Vektorraum enthält, was unweigerlich dazu führt, dass weniger diskriminative Merkmale, Merkmalskreuzungen und die entsprechenden Datenelemente eliminiert würden. In dem Beispiel-Verkehrsdatensatz könnte die Untergrenze aus diesem Grund sehr viel niedriger sein, z.B. 56 oder eine kleinere Zahl, wobei dies jedoch mit einem entsprechenden Verlust an Daten und/oder Genauigkeit verbunden wäre.
  • Somit erzeugt eine Ausführungsform die Ober- und Untergrenzen für die Einbettungen. Eine Ausführungsform führt eine Dimensionsreduktion für eine Einbettung durch, wobei die Ober- und Untergrenzen einer identifizierten Merkmalskreuzung verwendet werden. Zum Beispiel verwendet eine Ausführungsform einen statistischen Durchschnittswert der Ober- und Untergrenzen und berechnet eine Zahl, welche die Schichtgröße für eine Einbettung bildet.
  • Die hier beschriebene Art eines Feature Engineerings zur Optimierung von neuronalen Netzwerken ist auf dem technologischen Gebiet, das sich mit der Konfiguration und dem Betrieb von neuronalen Netzwerken für Vorhersagen befasst, mit den gegenwärtigen verfügbaren Verfahren nicht verfügbar. Ein hier beschriebenes Verfahren einer Ausführungsform weist bei einer Realisierung zur Ausführung in einer Einheit oder einem Datenverarbeitungssystem eine beträchtliche Fortentwicklung der Funktionalität der Einheit oder des Datenverarbeitungssystems auf, indem der für ein Training eines neuronalen Netzwerks zu verwendende Datensatz systematisch und objektiv optimiert wird und ein neuronales Netzwerk erzeugt wird, in dem die Schichtgröße optimiert wird, um mit erheblich reduzierten Rechenressourcen Vorhersagen mit einer erwünschten Genauigkeit zu erzeugen.
  • Die veranschaulichenden Ausführungsformen werden lediglich beispielhaft in Bezug auf bestimmte Arten von Datenelementen, Datensätzen, Merkmalen, Graphen, Merkmalskreuzungen, Algorithmen, Formeln, Funktionen, Reduktionen, neuronalen Netzwerken, Schichten, Knoten, Beziehungen, Clustern, Datenstrukturen, Einheiten, Datenverarbeitungssystemen, Umgebungen, Komponenten und Anwendungen beschrieben. Jegliche spezifische Ausprägung dieser und anderer ähnlicher Gegenstände ist nicht als Beschränkung der Erfindung zu verstehen. Innerhalb des inhaltlichen Umfangs der veranschaulichenden Ausführungsformen kann jegliche geeignete Ausprägung dieser und anderer ähnlicher Gegenstände gewählt werden.
  • Darüber hinaus können die veranschaulichenden Ausführungsformen in Bezug auf jegliche Art von Daten, Datenquelle oder Zugriff auf eine Datenquelle über ein Datennetzwerk realisiert werden. Innerhalb des inhaltlichen Umfangs der Erfindung kann jegliche Art von Datenspeichereinheit die Daten einer Ausführungsform der Erfindung bereitstellen, entweder lokal in einem Datenverarbeitungssystem oder über ein Datennetzwerk. Wo eine Ausführungsform unter Verwendung einer mobilen Einheit beschrieben wird, kann innerhalb des inhaltlichen Umfangs der veranschaulichenden Ausführungsformen jegliche Art von Datenspeichereinheit, die für eine Verwendung mit der mobilen Einheit geeignet ist, die Daten für eine solche Ausführungsform bereitstellen, entweder lokal in der mobilen Einheit oder über ein Datennetzwerk.
  • Die veranschaulichenden Ausführungsformen werden lediglich als Beispiele unter Verwendung von spezifischem Code, spezifischen Entwürfen, Architekturen, Protokollen, Gestaltungen, Schemata und Werkzeugen beschrieben und stellen keine Beschränkung der veranschaulichenden Ausführungsformen dar. Darüber hinaus werden die veranschaulichenden Ausführungsformen in manchen Fällen unter Verwendung von bestimmter Software, bestimmten Werkzeugen und Datenverarbeitungsumgebungen beschrieben, wobei dies lediglich als ein Beispiel zur besseren Klarheit der Beschreibung dient. Die veranschaulichenden Ausführungsformen können gemeinsam mit anderen vergleichbaren oder für einen ähnlichen Zweck gedachten Strukturen, Systemen, Anwendungen oder Architekturen verwendet werden. Zum Beispiel können innerhalb des inhaltlichen Umfangs der Erfindung andere vergleichbare mobile Einheiten, Strukturen, Systeme, Anwendungen oder Architekturen hiervon gemeinsam mit einer solchen Ausführungsform der Erfindung verwendet werden. Eine veranschaulichende Ausführungsform kann in Hardware, Software oder einer Kombination hiervon realisiert werden.
  • Die Beispiele in dieser Offenbarung dienen lediglich der Klarheit der Beschreibung und stellen keine Beschränkung der veranschaulichenden Ausführungsformen dar. Ausgehend von dieser Offenbarung sind zusätzliche Daten, Operationen, Aktionen, Aufgaben, Aktivitäten und Bearbeitungen denkbar, die als innerhalb des inhaltlichen Umfangs der veranschaulichenden Ausführungsformen liegend betrachtet werden.
  • Etwaige hier genannte Vorzüge dienen lediglich als Beispiele und sind nicht als Beschränkung der veranschaulichenden Ausführungsformen gedacht. Durch spezifische veranschaulichende Ausführungsformen können zusätzliche oder abweichende Vorzüge realisiert werden. Darüber hinaus kann eine bestimmte veranschaulichende Ausführungsform einige, alle oder keinen der oben genannten Vorzüge aufweisen.
  • Bezugnehmend auf die Figuren und im Besonderen auf die 1 und 2 handelt es sich bei diesen Figuren um Beispieldarstellungen von Datenverarbeitungsumgebungen, in denen veranschaulichende Ausführungsformen realisiert werden können. Die 1 und 2 stellen lediglich Beispiele dar und sollen mit Blick auf die Umgebungen, in denen verschiedene Ausführungsformen realisiert werden können, keinerlei Beschränkung geltend machen oder nahelegen. Eine bestimmte Realisierung kann auf Grundlage der folgenden Beschreibung viele Abwandlungen an den dargestellten Umgebungen vornehmen.
  • 1 stellt ein Blockschaubild eines Netzwerks von Datenverarbeitungssystemen dar, in dem veranschaulichende Ausführungsformen realisiert werden können. Eine Datenverarbeitungsumgebung 100 ist ein Netzwerk von Computern, in dem die veranschaulichenden Ausführungsformen der vorliegenden Offenbarung realisiert werden können. Die Datenverarbeitungsumgebung 100 enthält ein Netzwerk 102. Das Netzwerk 102 ist das Medium, mit dem Datenübertragungsverbindungen zwischen verschiedenen Einheiten und Computern bereitgestellt werden, die innerhalb der Datenverarbeitungsumgebung 100 miteinander verbunden werden. Das Netzwerk 102 kann Verbindungen wie z.B. drahtgebundene und drahtlose Datenübertragungsverbindungen oder Lichtwellenleiterkabel enthalten.
  • Clients und Server sind lediglich Beispielfunktionen bestimmter Datenverarbeitungssysteme, die mit dem Netzwerk 102 verbunden werden, und sollen andere Konfigurationen oder Funktionen dieser Datenverarbeitungssysteme nicht ausschließen. Ein Server 104 und ein Server 106 werden zusammen mit einer Speichereinheit 108 mit dem Netzwerk 102 verbunden. Software-Anwendungen können auf einem beliebigen Computer in der Datenverarbeitungsumgebung 100 ausgeführt werden. Auch Clients 110, 112 und 114 werden mit dem Netzwerk 102 verbunden. Ein Datenverarbeitungssystem wie z.B. der Server 104 oder 106 oder der Client 110, 112 oder 114 kann Daten enthalten und Software-Anwendungen oder Software-Werkzeuge haben, die darauf ausgeführt werden.
  • Lediglich beispielhaft und ohne eine wie auch immer geartete Beschränkung auf eine solche Architektur nahezulegen, stellt 1 bestimmte Komponenten dar, die in einer Beispielrealisierung einer Ausführungsform verwendbar sind. Zum Beispiel werden die Server 104 und 106 sowie die Clients 110, 112, 114 nur beispielhaft als Server und Clients dargestellt und sollen keine Beschränkung auf eine Client-Server-Architektur bedeuten. Als ein weiteres Beispiel kann eine Ausführungsform wie gezeigt auf mehrere Datenverarbeitungssysteme und ein Datennetzwerk verteilt werden, wohingegen eine weitere Ausführungsform innerhalb des inhaltlichen Umfangs der veranschaulichenden Ausführungsformen in einem einzigen Datenverarbeitungssystem realisiert werden kann. Die Datenverarbeitungssysteme 104, 106, 110, 112 und 114 stehen außerdem für Beispielknoten in einem Cluster, für Partitionen und andere Konfigurationen, die zum Realisieren einer Ausführungsform geeignet sind.
  • Eine Einheit 132 ist ein Beispiel für eine hier beschriebene Einheit. Zum Beispiel kann die Einheit 132 in Gestalt eines Smartphones, eines Tablet Computers, eines Laptop Computers, eines Clients 110 in einer ortsgebundenen oder einer tragbaren Form, einer am Körper tragbaren Datenverarbeitungseinheit oder jeder anderen geeigneten Einheit vorliegen. Jede Software-Anwendung, die als in einem weiteren Datenverarbeitungssystem aus 1 ausgeführt beschrieben wird, kann konfiguriert werden, um auf ähnliche Weise in der Einheit 132 ausgeführt zu werden. Jegliche Daten oder Informationen, die in einem weiteren Datenverarbeitungssystem aus 1 gespeichert oder ausgeführt werden, können konfiguriert sein, um auf ähnliche Weise in der Einheit 132 ausgeführt zu werden.
  • Eine Anwendung 105 realisiert eine hier beschriebene Ausführungsform. Die Anwendung 105 realisiert eine aus der Ferne nutzbare (entfernte) Funktion einer hier beschriebenen Ausführungsform. Eine Anwendung 111 realisiert eine lokal nutzbare (lokale) Funktion oder eine nativ nutzbare (native) Funktion einer hier beschriebenen Ausführungsform. Eine Anwendung 134 realisiert eine nativ nutzbare (native) Funktion einer hier beschriebenen Ausführungsform. Die Anwendungen 105 und 111 können in einer Kombination verwendet werden, die Anwendungen 105 und 134 können in einer weiteren Kombination verwendet werden, und die Anwendungen 105, 111 und 134 können in einer weiteren Kombination verwendet werden, um bestimmte Funktionen einer Ausführungsform zu verteilen. Die Anwendung 105 realisiert eine hier beschriebene Ausführungsform. Eingabedaten 109 sind ein Beispieldatensatz, der auf eine hier beschriebene Weise mit einem Betrieb der Anwendung 105 verwendet werden kann. Die Anwendung 105 verwendet die Eingabedaten 109, um ein neuronales Netzwerk zu trainieren, das dann betrieben werden kann, um auf eine hier beschriebene Weise Vorhersagen zu treffen, die mit den Eingabedaten 109 im Einklang stehen.
  • Die Server 104 und 106, die Speichereinheit 108 und die Clients 110, 112 und 114 sowie die Einheit 132 können unter Verwendung von drahtgebundenen Verbindungen, Protokollen für eine drahtlose Datenübertragung oder einer anderen geeigneten Datenverbindung mit dem Netzwerk 102 verbunden werden. Die Clients 110, 112 und 114 können zum Beispiel Personal Computer oder Netzwerkcomputer sein.
  • In dem abgebildeten Beispiel kann der Server 104 den Clients 110, 112 und 114 Daten wie z.B. Boot-Dateien, Betriebssystemabbilder und Anwendungen bereitstellen. In diesem Beispiel können die Clients 110, 112 und 114 Clients des Servers 104 sein. Die Clients 110, 112, 114 oder eine Kombination hiervon können ihre eigenen Daten, Boot-Dateien, Betriebssystemabbilder und Anwendungen enthalten. Die Datenverarbeitungsumgebung 100 kann zusätzliche Server, Clients und andere nicht gezeigte Einheiten enthalten.
  • In dem dargestellten Beispiel kann die Datenverarbeitungsumgebung 100 das Internet sein. Das Netzwerk 102 kann für eine Zusammenstellung von Netzwerken und Gateways stehen, die das TCP/IP-Protokoll (Transmission Control Protocol/Internet Protocol) und andere Protokolle verwenden, um untereinander Daten auszutauschen. Der Kern des Internets wird aus einer Struktur von Datenübertragungsverbindungen zwischen wichtigen Knoten oder Host-Computern gebildet, die Tausende von gewerblichen, behördlichen, dem Bildungssektor zugehörigen und anderen Computersystemen enthalten, die Daten und Nachrichten weiterleiten. Selbstverständlich kann die Datenverarbeitungsumgebung 100 auch als eine Anzahl verschiedener Arten von Netzwerken realisiert werden, zum Beispiel als ein Intranet, ein lokales Netzwerk (Local Area Network, LAN) oder ein Weitverkehrsnetzwerk (Wide Area Network, WAN). 1 ist als Beispiel und nicht als architektonische Beschränkung der verschiedenen veranschaulichenden Ausführungsformen gedacht.
  • Neben anderen Verwendungen kann die Datenverarbeitungsumgebung 100 zum Realisieren einer Client-Server-Umgebung verwendet werden, in der die veranschaulichenden Ausführungsformen realisiert werden können. Eine Client-Server-Umgebung ermöglicht eine Verteilung von Software-Anwendungen und Daten in einem Netzwerk, sodass eine Anwendung funktioniert, indem sie die Wechselwirkung zwischen einem Client-Datenverarbeitungssystem und einem Server-Datenverarbeitungssystem nutzt. Die Datenverarbeitungsumgebung 100 kann außerdem eine dienstorientierte Architektur nutzen, bei der in einem Netzwerk verteilte interoperable Software-Komponenten als zusammenhängende Geschäftsanwendungen gebündelt werden können. Die Datenverarbeitungsumgebung 100 kann auch in der Gestalt einer Cloud vorliegen und ein Cloud-Computing-Modell einer Servicebereitstellung nutzen, um einen problemlosen, bedarfsgesteuerten Netzwerkzugriff auf einen gemeinsam genutzten Vorrat von konfigurierbaren Datenverarbeitungsressourcen (z.B. Netzwerke, Netzwerkbandbreite, Server, Verarbeitung, Arbeitsspeicher, Speicher, Anwendungen, virtuelle Maschinen und Dienste) zu ermöglichen, die mit minimalem Verwaltungsaufwand bzw. minimaler Interaktion mit einem Anbieter des Service schnell bereitgestellt und freigegeben werden können.
  • Bezugnehmend auf 2 stellt diese Figur ein Blockschaubild eines Datenverarbeitungssystems dar, in dem veranschaulichende Ausführungsformen realisiert werden können. Ein Datenverarbeitungssystem 200 ist ein Beispiel für einen Computer wie z.B. die Server 104 und 106 oder die Clients 110, 112 und 114 aus 1 oder eine weitere Art von Einheit, in der sich computernutzbarer Programmcode bzw. computernutzbare Anweisungen, welche die Prozesse realisieren, für die veranschaulichenden Ausführungsformen befinden können.
  • Das Datenverarbeitungssystem 200 ist außerdem repräsentativ für ein Datenverarbeitungssystem oder eine darin befindliche Konfiguration wie z.B. das Datenverarbeitungssystem 132 aus 1, in dem sich computernutzbarer Programmcode oder computernutzbare Anweisungen befinden können, welche die Prozesse der veranschaulichenden Ausführungsformen realisieren. Das Datenverarbeitungssystem 200 wird nur beispielhaft als ein Computer beschrieben, ohne hierauf beschränkt zu sein. Realisierungen in der Gestalt anderer Einheiten wie z.B. der Einheit 132 aus 1 können das Datenverarbeitungssystem 200 abwandeln, indem sie beispielsweise eine berührungsempfindliche Schnittstelle hinzufügen, und sogar bestimmte dargestellte Komponenten des Datenverarbeitungssystems 200 weglassen, ohne von der allgemeinen Beschreibung der Operationen und Funktionen des hier beschriebenen Datenverarbeitungssystems 200 abzuweichen.
  • In dem dargestellten Beispiel verwendet das Datenverarbeitungssystem 200 eine Hub-Architektur, die einen North Bridge & Memory Controller Hub (NB/MCH) 202 und einen South Bridge & Input/Output (I/O) Controller Hub (SB/ICH) 204 enthält. Eine Verarbeitungseinheit 206, ein Hauptarbeitsspeicher 208 und ein Grafikprozessor 210 werden mit dem North Bridge & Memory Controller Hub (NB/MCH) 202 verbunden. Die Verarbeitungseinheit 206 kann einen oder mehrere Prozessoren enthalten und unter Verwendung eines oder mehrerer heterogener Prozessorsysteme realisiert werden. Die Verarbeitungseinheit 206 kann ein Mehrkernprozessor sein. Bei bestimmten Ausführungsformen kann der Grafikprozessor 210 über einen Accelerated Graphics Port (AGP) mit dem NB/MCH 202 verbunden werden.
  • In dem dargestellten Beispiel ist ein LAN-Adapter 212 mit dem South Bridge & I/O Controller Hub (SB/ICH) 204 verbunden. Ein Audioadapter 216, ein Tastatur- und Mausadapter 220, ein Modem 222, ein Festwertspeicher (Read Only Memory, ROM) 224, USB-Anschlüsse (Universal Serial Bus) und andere Anschlüsse 232 sowie PCI/PCIe-Einheiten 234 sind über einen Bus 238 mit dem South Bridge & I/O Controller Hub 204 verbunden. Ein Festplattenlaufwerk (Hard Disk Drive, HDD) oder eine Halbleiterfestplatte (Solid State Drive, SSD) 226 und ein CD-ROM 230 sind über einen Bus 240 mit dem South Bridge & I/O Controller Hub 204 verbunden. Die PCI/PCIe-Einheiten 234 können zum Beispiel Ethernet-Adapter, Erweiterungskarten und PC-Karten für Notebook Computer enthalten. PCI verwendet einen CardBus-Controller, PCle nicht. Der ROM 224 kann zum Beispiel ein Flash-BIOS (Binary Input/Output System) sein. Das Festplattenlaufwerk 226 und der CD-ROM 230 können zum Beispiel eine IDE-Schnittstelle (Integrated Drive Electronics), eine SATA-Schnittstelle (Serial Advanced Technology Attachment) oder Abwandlungen wie z.B. external SATA (eSATA) und Micro-SATA (mSATA) verwenden. Eine SIO-Einheit (Super I/O) 236 kann über einen Bus 238 mit dem South Bridge & I/O Controller Hub (SB/ICH) 204 verbunden werden.
  • Arbeitsspeicher wie z.B. der Hauptarbeitsspeicher 208, der ROM 224 oder ein (nicht gezeigter) Flash-Arbeitsspeicher sind einige Beispiele für computernutzbare Speichereinheiten. Das Festplattenlaufwerk oder Halbleiterlaufwerk 226, der CD-ROM 230 und andere ähnlich nutzbare Einheiten sind einige Beispiele für computernutzbare Speichereinheiten mit einem computernutzbaren Speichermedium.
  • In der Verarbeitungseinheit 206 wird ein Betriebssystem ausgeführt. Das Betriebssystem koordiniert verschiedene Komponenten innerhalb des Datenverarbeitungssystems 200 aus 2 und stellt deren Steuerung bereit. Das Betriebssystem kann ein handelsübliches Betriebssystem für jegliche Art von Datenverarbeitungsplattform sein, darunter Server-Systeme, Personal Computer und mobile Einheiten, ohne darauf beschränkt zu sein. Ein objektorientiertes oder anderweitiges Programmiersystem kann gemeinsam mit dem Betriebssystem ausgeführt werden und aus Programmen oder Anwendungen heraus, die in dem Datenverarbeitungssystem 200 ausgeführt werden, Aufrufe an das Betriebssystem bereitstellen.
  • Anweisungen für das Betriebssystem, das objektorientierte Programmiersystem und Anwendungen oder Programme wie z.B. die Anwendung 105 aus 1 befinden sich auf Speichereinheiten, z.B. in Gestalt von Code 226A auf dem Festplattenlaufwerk 226, und können zur Ausführung durch die Verarbeitungseinheit 206 in mindestens einen der einen oder der mehreren Arbeitsspeicher wie z.B. den Hauptarbeitsspeicher 208 geladen werden. Die Prozesse für die veranschaulichenden Ausführungsformen können durch die Verarbeitungseinheit 206 unter Verwendung von computerrealisierten Anweisungen durchgeführt werden, die sich in einem Arbeitsspeicher wie zum Beispiel dem Hauptarbeitsspeicher 208, dem Nur-Lese-Speicher 224 oder in einer oder mehreren Peripherie-Einheiten befinden können.
  • Des Weiteren kann der Code 226A in einem Fall über ein Netzwerk 201A von einem entfernt angeordneten System 201B heruntergeladen werden, wobei ein ähnlicher Code 201C in einer Speichereinheit 201D gespeichert wird. In einem weiteren Fall kann der Code 226A über das Netzwerk 201A auf das entfernt angeordnete System 201B heruntergeladen werden, wobei der heruntergeladene Code 201C in einer Speichereinheit 201D gespeichert wird.
  • Die Hardware aus den 1 und 2 kann je nach Realisierung variieren. Zusätzlich zu oder anstatt der in den 1 und 2 dargestellten Hardware können auch andere interne Hardware- oder Peripherie-Einheiten wie z.B. ein Flash-Arbeitsspeicher, ein gleichwertiger nicht flüchtiger Arbeitsspeicher oder optische Plattenlaufwerke und dergleichen verwendet werden. Zusätzlich hierzu können die Prozesse der veranschaulichenden Ausführungsformen auf ein Mehrprozessor-Datenverarbeitungssystem angewendet werden.
  • Bei manchen veranschaulichenden Beispielen kann das Datenverarbeitungssystem 200 ein persönlicher digitaler Assistent (PDA) sein, der im Allgemeinen mit einem Flash-Arbeitsspeicher konfiguriert wird, um nicht flüchtigen Arbeitsspeicher zum Speichern von Betriebssystemdateien und/oder durch einen Nutzer erzeugten Daten bereitzustellen. Ein Bussystem kann einen oder mehrere Busse aufweisen, wie z.B. einen E/A-Bus und einen PCI-Bus. Selbstverständlich lässt sich das Bussystem mit jeglicher Art von Datenübertragungsstruktur oder -architektur realisieren, die eine Übertragung von Daten zwischen verschiedenen Komponenten oder Einheiten vorsieht, die mit der Struktur oder Architektur verbunden werden.
  • Eine Datenübertragungseinheit kann eine oder mehrere Einheiten enthalten, die zum Senden und Empfangen von Daten verwendet werden, z.B. einen Modem oder einen Netzwerkadapter. Ein Arbeitsspeicher kann zum Beispiel der Hauptarbeitsspeicher 208 oder ein Cache sein, wie z.B. der in dem North Bridge & Memory Controller Hub 202 befindliche Cache. Eine Verarbeitungseinheit kann einen oder mehrere Prozessoren oder CPUs enthalten.
  • Die dargestellten Beispiele aus den 1 und 2 und die oben beschriebenen Beispiele sollen keine architektonische Beschränkung bedeuten. Zum Beispiel kann das Datenverarbeitungssystem 200 zusätzlich dazu, dass es in Gestalt einer mobilen oder am Körper tragbaren Einheit vorliegen kann, auch ein Tablet Computer, ein Laptop Computer oder eine Telefoneinheit sein.
  • Wenn ein Computer oder Datenverarbeitungssystem als eine virtuelle Maschine, eine virtuelle Einheit oder eine virtuelle Komponente beschrieben wird, arbeitet die virtuelle Maschine, die virtuelle Einheit oder die virtuelle Komponente in der Art des Datenverarbeitungssystems 200 unter Verwendung einer virtualisierten Ausprägung einiger oder aller in dem Datenverarbeitungssystem 200 dargestellten Komponenten. Zum Beispiel ist in einer virtuellen Maschine, virtuellen Einheit oder virtuellen Komponente die Verarbeitungseinheit 206 als eine virtualisierte Instanz aller oder einer bestimmten Anzahl von Hardware-Verarbeitungseinheiten 206 ausgeprägt, die in einem Host-Datenverarbeitungssystem verfügbar sind, der Hauptarbeitsspeicher 208 ist als eine virtualisierte Instanz des gesamten oder eines Teils des Hauptarbeitsspeichers 208 ausgeprägt, der in dem Host-Datenverarbeitungssystem verfügbar sein kann, und die Festplatte 226 ist als eine virtualisierte Instanz der gesamten oder eines Teils der Festplatte 226 ausgeprägt, die in dem Host-Datenverarbeitungssystem verfügbar sein kann. Das Host-Datenverarbeitungssystem wird in diesen Fällen durch das Datenverarbeitungssystem 200 dargestellt.
  • Bezugnehmend auf 3 stellt diese Figur ein Blockschaubild eines Beispielproblems dar, das mit einer veranschaulichenden Ausführungsform gelöst werden kann. Eine Matrix 302 ist ein Beispiel für die Eingabedaten 109 aus 1.
  • Die Matrix 302 soll den hier beschriebenen Beispiel-Verkehrsdatensatz darstellen. Wie gezeigt, weist die Matrix 302 einzelne Merkmale für die sieben Tage einer Woche und die 24 Stunden eines Tages auf. Wie ersichtlich ist, ist die Matrix 302 recht dünn besetzt. Das Problem einer manuellen Merkmalskreuzung wird durch Matrizen 304 und 306 veranschaulicht. Wenn alle Uhrzeiten mit allen Wochentagen gekreuzt werden, ergeben sich zwar einige bedeutsame Kreuzungen, zugleich jedoch auch eine größere, 168 Spalten breite Matrix, die noch dünner besetzt ist als die Matrix 302. Wenn umgekehrt, wie in der Matrix 306, zu viele oder nicht miteinander in Beziehung stehende Merkmale gekreuzt werden, ergibt sich eine kleinere Matrix, deren Zellen jedoch nicht so repräsentativ für die Matrix 302 sind, wie dies erwünscht ist.
  • Bezugnehmend auf 4 stellt diese Figur ein Blockschaubild einer Beispieleinbettung gemäß einer veranschaulichenden Ausführungsform dar. Eine Konfiguration 400 stellt ein neuronales Netzwerk 402 dar, das eine Anzahl von Schichten wie z.B. eine Schicht 402A, eine Schicht 402B ... eine Schicht 402X aufweist. In die Schicht 402B sind als Beispiel Merkmalskreuzungen 404 eingebettet, die Merkmalskreuzungen FC1, FC2 ... FCn aufweisen. Anhand dieser Art der Merkmalskreuzungen kann eine beliebige Anzahl von Schichteinbettungen gebildet werden. Zum Beispiel werden Merkmalskreuzungen 406 entsprechend einer hierin beschriebenen Art in die Schicht 402X eingebettet.
  • Bezugnehmend auf 5 stellt diese Figur ein Blockschaubild einer Beispielanwendung für ein Feature Engineering zur Optimierung von neuronalen Netzwerken gemäß einer veranschaulichenden Ausführungsform dar. Eine Anwendung 502 kann als die Anwendung 105 aus 1 realisiert werden.
  • Die Anwendung 502 empfängt Eingabedaten 504, die in Gestalt der Eingabedaten 109 aus 1 oder der Matrix 302 aus 3 vorliegen können. Eine Komponente 506 bildet eine Ontologie mit einer Vorwärtsmaterialisierung, wie dies hierin beschrieben wird. Eine Komponente 508 erzeugt den der Ontologie entsprechenden Vektorraum und führt eine Ähnlichkeitssuche durch, wie dies hierin beschrieben wird. Eine Komponente 510 reduziert den Graphen transitiv und verwendet dabei die Datenstrukturen der transitiven Hülle, die aus dem Ontologiegraphen gebildet werden.
  • Eine Komponente 512 identifiziert Cluster von diskriminativen Knoten (Merkmalen), die in dem reduzierten Graphen verbleiben. Die Cluster von diskriminativen Knoten, die aus dem reduzierten Graphen extrahiert oder darin isoliert werden, bilden einen Satz von in Frage kommenden Merkmalskreuzungen. Eine in Frage kommende Merkmalskreuzung ist eine diskriminative Merkmalskreuzung, die für mindestens einen Teil des ursprünglichen Datensatzes mit einem erwünschten Grad an Genauigkeit stehen kann.
  • Eine Komponente 514 berechnet eine Obergrenze und eine Untergrenze für eine in Frage kommende Merkmalskreuzung, wie dies hierin beschrieben wird. In Anbetracht der durch die Ober- und Untergrenzen definierten Einbettungsspanne ermittelt eine Komponente 516 eine Dimensionalität, d.h. eine Schichtgröße der Einbettung, für die spezifische Merkmalskreuzung. Bei einer Ausführungsform reduziert die Komponente 516 die Dimensionalität der Einbettung oder verändert sie bzw. ändert sie anderweitig ab, um eine Schichtgröße zu definieren.
  • Bei einer Ausführungsform gibt die Anwendung 502 einen Satz 518 der in Frage kommenden Merkmalskreuzungen aus. Bei einer weiteren Ausführungsform gibt die Anwendung 502 den Satz 518 der in Frage kommenden Merkmalskreuzungen zusammen mit Ober- und Untergrenzen 520 für jede in Frage kommende Merkmalskreuzung aus. Bei einer weiteren Ausführungsform gibt die Anwendung 502 den Satz 518 der in Frage kommenden Merkmalskreuzungen zusammen mit (i) den Ober- und Untergrenzen 520 für jede in Frage kommende Merkmalskreuzung, (ii) einer berechneten Schichtgröße 522 oder (iii) sowohl (i) als auch (ii) aus.
  • Die Ausgaben 518, 520, 522 oder eine Kombination hiervon können zum Konfigurieren eines neuronalen Netzwerks verwendet werden. Zum Beispiel führt bei einer Ausführungsform die Anwendung 502 dazu, dass das neuronale Netzwerk einen Teilsatz 518 der in Frage kommenden Merkmalskreuzungen gemäß der Schichteinbettungsgröße 522 einbettet. Gemäß einer Ausführungsform führt die Anwendung 502 des Weiteren dazu, dass das konfigurierte neuronale Netzwerk eine Modellrealisierung 524 in einer Vorhersage-Engine wie z.B. der Vorhersage-Engine 107 bildet. Bei einer Ausführungsform erfolgt die Konfiguration, die Realisierung oder beides automatisch ohne menschlichen Eingriff. Bei einer weiteren Ausführungsform wird die Konfiguration, die Realisierung oder eine Kombination hiervon durchgeführt, nachdem eine Prüfung/Anpassung/Auswahl der einen oder der mehreren Ausgaben durch einen Menschen erfolgt ist.
  • Nachdem das neuronale Netzwerk konfiguriert und realisiert ist, empfängt die Anwendung 502 bei einer Ausführungsform als eine Rückmeldung 526 Informationen, die den Satz von realisierten Merkmalskreuzungen enthalten, der sich ganz oder teilweise mit einem Teilsatz der in Frage kommenden Merkmalskreuzungen 518 überlappen kann. Zum Beispiel kann ein Nutzer manche Merkmalskreuzungen aus den in Frage kommenden Merkmalskreuzungen und manche Merkmalskreuzungen aus der eigenen Erfahrung des Nutzers konfigurieren, die nicht in dem Satz 518 der in Frage kommenden Merkmalskreuzungen enthalten sind.
  • Die Modellrealisierung 524 erzeugt eine Modellausgabe 528, z.B. eine Vorhersage. Bei einer Ausführungsform empfängt die Anwendung 502 die Ausgabe 528 direkt als Rückmeldung aus der Modellrealisierung 524. Bei einer weiteren Ausführungsform empfängt die Anwendung 502 die Ausgabe 528, nachdem ein Nutzer eine Anpassung 530 an der Ausgabe 528 vorgenommen hat. In beiden Fällen verwendet die Anwendung 502 die Rückmeldung 526 und die angepasste oder nicht angepasste Ausgabe 528, um das neuronale Netzwerk unter Verwendung einer geeigneten bekannten ML-Methode neu zu trainieren.
  • Im Anschluss folgt eine ausführliche Beschreibung einer spezifischen Realisierung einer Ausführungsform zum Lösen eines spezifischen Beispielproblems. Diese Beschreibung soll für keine der hierin beschriebenen Ausführungsformen als Beschränkung verstanden werden. Der Fachmann ist in der Lage, die Einzelheiten dieser Ausführungsform an andere Ausführungsformen anzupassen, und solche Anpassungen werden als innerhalb des inhaltlichen Umfangs der veranschaulichenden Ausführungsformen liegend betrachtet.
  • Für einen semantischen Graphen (z.B. eine Ontologie) soll abgefragt werden, ob eg:A über eg:p mit eg:D in Beziehung steht, und der Ableitungspfad soll aufgeführt werden. Ein Regelsatz zum Berechnen der transitiven Hülle für eine gegebene Beziehung kann auf eine API-unabhängige Weise ausgedrückt werden:
    • Statement is [urn: x - hp:eg/A, urn: x - hp:eg/p, urn: x - hp:eg/D]
    • Rule rulel concluded (eg: A eg: p eg:D) < -Fact (eg: A eg: p eg: B)
  • Es sei daran erinnert, dass eine transitive Hülle das Verfahren ist, mit dem das System bei einem gerichteten Graphen ermittelt, ob ein Knoten v von einem weiteren Knoten u für alle Knotenpaare (u,v) in dem bestimmten Graphen erreichbar ist. Erreichbar bedeutet, dass es einen Pfad vom Knoten u zu v gibt. Die Erreichbarkeitsmatrix wird als transitive Hülle eines Graphen bezeichnet.
  • Diese Erreichbarkeitsmatrix ist ein Verfahren zum Berechnen des Inferenzaufwands. Eine transitive Inferenz erster Ordnung bezeichnet die Materialisierung von a→c, wobei explizit davon ausgegangen wird, dass der Aufwand für a→b→c nur im Durchlaufen eines einzigen Knotens besteht. Der Aufwand bleibt unverändert, wenn die durchlaufenen Knoten innerhalb derselben Teilklasse vorhanden sind. Wenn die durchlaufenen Knoten in Zusammenhang mit einer Großeltern-Teilklasse auftreten, erhöht sich der Aufwand um eine Funktion der Kosinus-Ähnlichkeit zwischen den Klassen.
 def transitiveClosure(V,graph):
  reach =[i[:] for i in graph]
    for k in range(V):

     for i in range(V):
       for j in range(V):
         reach[i][j] = reach[i][j] or (reach[i][k] and reach[k][j])
  return reach
  graph = [[1, 1, 0, 1],
        [0, 1, 1, 0],
        [0, 0, 1, 1],
        [0, 0, 0, 1]]
  transitiveClosure(graph)
  • 6 stellt eine Inferenzmaterialisierung gemäß einer veranschaulichenden Ausführungsform dar. Die Inferenzmaterialisierung wird in dieser Figur anhand eines Graphen 604 der transitiven Hülle (rechts) gezeigt, dem ein tiefer semantischer Graph 602 (links) gegenübergestellt wird.
  • In dem Beispiel zeigt der Graph 602 einen Teilsatz eines semantischen Graphen. Die gemusterten Knoten sind Entitäten in dem Graphen, die über eine rdfs:subClassOf-Beziehung oder eine gleichwertige Beziehung mit den nicht gemusterten Knoten (Elternknoten) verbunden sind. Der Graph 604 auf der rechten Seite zeigt die Materialisierung von Inferenzen. Die Inferenzmaterialisierung ist eine Form der transitiven Hülle. Die dunkleren Kanten stellen eine transitive Reduktion des semantischen Graphen dar, was bedeutet, dass nun (zum Beispiel) ein direkt von Knoten A zu Knoten F führender Pfad gebildet wird. Die Fähigkeit, den semantischen Aufwand einer jeden transitiven Reduktion zu berechnen, die innerhalb des Graphen 604 materialisiert wird, ist ein Merkmal, das durch eine veranschaulichende Ausführungsform ermöglicht wird.
  • Die Funktion multipliziert jede materialisierte Entität (λ) über den gesamten Graphen mit dem Wert (x) der transitiven Hülle und der Kosinus-Ähnlichkeit zwischen Elternknoten (cos θ). Zu Referenzzwecken wird ein nicht beschränkendes Beispiel für einen Algorithmus der Kosinus-Ähnlichkeit wie folgt gezeigt - ƒ ( x ) = { i = 0 n cos θ λ i x , & x < 0 x , & x 0
    Figure DE112020002344T5_0001
    C o s θ = a b a b = 1 n a i b l 1 n a i 2 1 n b i 2
    Figure DE112020002344T5_0002
  • Die Ausgabe einer jeden Funktion liegt innerhalb einer ungefähren Normalverteilung. Der z-Wert wird berechnet, indem vom Punktwert einer jeden Entität der Mittelwert subtrahiert und das Resultat durch die Standardabweichung aller Werte dividiert wird. Die Entscheidung über die Behandlung der z-Werte beruht in gewissem Maße auf Richtlinien, eliminiert im Allgemeinen jedoch etwaige statistisch relevante Ausreißer. Dabei wird die Richtlinie von der Schiefe der Verteilung bestimmt.
  • 7 stellt einen Ausgabegraphen dar, der gemäß einer Ausführungsform aus dem Graphen 604 aus 6 resultiert. Ein Graph 702 stellt die Ausgabe der Formel für den hypothetischen Teilgraphen 604 aus 6 dar. (Als weit gepunktetes Muster gezeigte) Entitäten B, G werden zu einem einzigen Kreuzmerkmal verkettet. Unter Verzicht auf die oben bereitgestellte Formel würden bestehende Verkettungsstrategien vermutlich Entität E enthalten, was nachteilig für das trainierte Modell wäre. Das Verfahren verkettet ebenso (als dicht gepunktetes Muster gezeigte) Entitäten C, E, F zu einem einzigen Kreuzmerkmal. Entität D wird weggelassen, da der Rechenaufwand zu hoch ist.
  • Um von einem hypothetischen Beispiel zu einem realen Graphen zu wechseln, soll eine TensorBoard-Visualisierung eine Platzierung einer Ontologie in einem Vektorraum darstellen. 8A stellt eine Anordnung einer Ontologie in einem Vektorraum dar. 8B stellt die Materialisierung von Inferenzen für in Frage kommende Merkmalskreuzungen dar. Eine in Frage kommende Beispiel-Merkmalskreuzung wird durch die Knoten mit weit gepunktetem Mustern einem Graphen 852 dargestellt. Die Knoten mit weit gepunktetem Muster kennzeichnen einen Cluster, der gebildet wurde, und stellen in Frage kommende Merkmalskreuzungen für ein statistisches Modell dar. Die Untergrenze einer Einbettung wird berechnet, indem die Instanzdaten aller Entitäten summiert werden, die zu jedem Cluster (Kreuzmerkmal) beitragen, wie hier dargelegt.
  • Bezugnehmend auf 9 stellt diese Figur einen Ablaufplan eines Beispielprozesses für ein Feature Engineering zur Optimierung von neuronalen Netzwerken gemäß einer veranschaulichenden Ausführungsform dar. Ein Prozess 900 kann in der Anwendung 502 aus 5 realisiert werden.
  • Die Anwendung empfängt einen Eingabedatensatz (Block 902). Die Anwendung erzeugt einen Ontologiegraphen aus dem Datensatz (Block 904). Die Anwendung führt eine Vorwärtsmaterialisierung mit Inferenzen für den Graphen durch (Block 906).
  • Die Anwendung erzeugt einen Vektorraum von Entitäten (Merkmalen) in dem vorwärtsmaterialisierten Graphen (Block 908). Die Anwendung identifiziert ein oder mehrere Konzepte in dem Vektorraum (Block 910). Die Anwendung ermittelt Ähnlichkeiten zwischen Konzepten (Block 912).
  • Die Anwendung erzeugt Datenstrukturen der transitiven Hülle für ein Paar von Entitäten, die durch Ähnlichkeiten in ihren Konzepten verknüpft sind (Block 914). Unter Verwendung einer Datenstruktur der transitiven Hülle führt die Anwendung eine transitive Reduktion durch (Block 916). Die Anwendung führt die transitive Reduktion für eine oder mehrere Datenstrukturen der transitiven Hülle durch.
  • Die Anwendung identifiziert Cluster von verbleibenden Knoten/Entitäten/Merkmalen in dem reduzierten Graphen, der aus den transitiven Reduktionsoperationen resultiert (Block 918). Ein Cluster ist eine in Frage kommende Merkmalskreuzung. Die Anwendung berechnet eine Obergrenze für die in Frage kommende Merkmalskreuzung (Block 920). Die Anwendung berechnet eine Untergrenze für die in Frage kommende Merkmalskreuzung (Block 922). Die Anwendung berechnet eine Einbettungsschichtgröße zum Verwenden der Ober- und Untergrenzen für die Merkmalskreuzung (Block 924).
  • Die Anwendung konfiguriert eine Schicht in einem neuronalen Netzwerk gemäß der berechneten Einbettungsschichtgröße (Block 926). Auf diese Weise kann eine beliebige Anzahl von Merkmalen in eine beliebige Anzahl von Schichten eingebettet werden. Die Anwendung trainiert das neuronale Netzwerk, dessen Schichten auf diese Weise konfiguriert werden (Block 928). Die Anwendung setzt das trainierte neuronale Netzwerk in einer Vorhersage-Engine ein (Block 930). Danach kann die Anwendung den Prozess 900 beenden.
  • Bei einer Ausführungsform empfängt die Anwendung des Weiteren eine Rückmeldung von der Bereitstellung in der Vorhersage-Engine (Block 932). Die Anwendung passt eine Merkmalskreuzung, eine Einbettungsschichtgröße oder beides gemäß der Rückmeldung an, wie hier beschrieben wird (Block 934). Danach beendet die Anwendung den Prozess 900.
  • Somit werden ein computerrealisiertes Verfahren, System bzw. eine computerrealisierte Vorrichtung sowie ein Computerprogrammprodukt für ein Feature Engineering zur Optimierung von neuronalen Netzwerken und andere damit zusammenhängende Merkmale, Funktionen bzw. Operationen bereitgestellt. Wo eine Ausführungsform oder ein Teil davon in Bezug auf eine Art von Einheit beschrieben ist, werden das computerrealisierte Verfahren, System bzw. die computerrealisierte Vorrichtung, das Computerprogrammprodukt oder ein Teil davon für eine Verwendung mit einer geeigneten und vergleichbaren Ausprägung dieser Art von Einheit angepasst oder konfiguriert.
  • Wo eine Ausführungsform als in einer Anwendung realisiert beschrieben ist, gilt die Bereitstellung der Anwendung in einem SaaS-Modell (Software as a Service) als innerhalb des inhaltlichen Umfangs der veranschaulichenden Ausführungsformen liegend. In einem SaaS-Modell wird die Fähigkeit der eine Ausführungsform realisierenden Anwendung einem Nutzer bereitgestellt, indem die Anwendung in einer Cloud-Infrastruktur ausgeführt wird. Der Nutzer kann unter Verwendung einer Vielfalt von Client-Einheiten über eine Thin-Client-Schnittstelle wie z.B. einen Web-Browser (z.B. eine eMail-Nachricht auf Web-Grundlage) oder andere leichtgewichtige Client-Anwendungen auf die Anwendung zugreifen. Der Nutzer verwaltet bzw. steuert die zugrunde liegende Cloud-Infrastruktur nicht, darunter das Netzwerk, die Server, die Betriebssysteme oder den Speicher der Cloud-Infrastruktur. In manchen Fällen kann der Nutzer nicht einmal die Fähigkeiten der SaaS-Anwendung verwalten oder steuern. In manchen anderen Fällen kann die SaaS-Realisierung der Anwendung eine mögliche Ausnahme in Gestalt von eingeschränkten, nutzerspezifischen Anwendungskonfigurationseinstellungen gestatten.
  • Bei der vorliegenden Erfindung kann es sich um ein System, ein Verfahren und/oder ein Computerprogrammprodukt mit einem beliebigen möglichen Grad an technischer Integration handeln. Das Computerprogrammprodukt kann ein computerlesbares Speichermedium (oder -medien) mit darauf gespeicherten computerlesbaren Programmanweisungen enthalten, um einen Prozessor dazu zu veranlassen, Aspekte der vorliegenden Erfindung auszuführen.
  • Bei dem computerlesbaren Speichermedium kann es sich um eine physische Einheit handeln, die Anweisungen zur Verwendung durch eine Anweisungsausführungseinheit enthalten und speichern kann. Bei dem computerlesbaren Speichermedium kann es sich zum Beispiel um eine elektronische Speichereinheit, eine magnetische Speichereinheit, eine optische Speichereinheit, eine elektromagnetische Speichereinheit, eine Halbleiterspeichereinheit oder jede geeignete Kombination daraus handeln, ohne auf diese beschränkt zu sein. Zu einer nicht erschöpfenden Liste spezifischerer Beispiele des computerlesbaren Speichermediums gehören die Folgenden: eine tragbare Computerdiskette, eine Festplatte, ein RAM, ein ROM, ein löschbarer programmierbarer Nur-Lese-Speicher (EPROM bzw. Flash-Speicher), ein statischer Direktzugriffsspeicher (SRAM), ein tragbarer CD-ROM, eine DVD (Digital Versatile Disc), ein Speicher-Stick, eine Diskette, eine mechanisch kodierte Einheit wie zum Beispiel Lochkarten oder erhabene Strukturen in einer Rille, auf denen Anweisungen gespeichert werden, und jede geeignete Kombination daraus. Ein computerlesbares Speichermedium einschließlich, ohne darauf beschränkt zu sein, von hierin verwendeten, computerlesbaren Speichereinheiten, soll nicht als flüchtige Signale an sich aufgefasst werden, wie zum Beispiel Funkwellen oder andere sich frei ausbreitende elektromagnetische Wellen, elektromagnetische Wellen, die sich durch einen Wellenleiter oder ein anderes Übertragungsmedium ausbreiten (z.B. durch ein Lichtwellenleiterkabel geleitete Lichtimpulse) oder durch einen Draht übertragene elektrische Signale.
  • Hierin beschriebene computerlesbare Programmanweisungen können von einem computerlesbaren Speichermedium auf jeweilige Datenverarbeitungs-/Verarbeitungseinheiten oder über ein Netzwerk wie zum Beispiel das Internet, ein lokales Netzwerk, ein Weitverkehrsnetzwerk und/oder ein drahtloses Netzwerk auf einen externen Computer oder eine externe Speichereinheit heruntergeladen werden. Das Netzwerk kann Kupferübertragungskabel, Lichtwellenübertragungsleiter, drahtlose Übertragung, Leitwegrechner, Firewalls, Vermittlungseinheiten, Gateway Computer und/oder Edge-Server aufweisen. Eine Netzwerkadapterkarte oder Netzwerkschnittstelle in jeder Datenverarbeitungs-/Verarbeitungseinheit empfängt computerlesbare Programmanweisungen aus dem Netzwerk und leitet die computerlesbaren Programmanweisungen zur Speicherung in einem computerlesbaren Speichermedium innerhalb der entsprechenden Datenverarbeitungs-/Verarbeitungseinheit weiter.
  • Bei computerlesbaren Programmanweisungen zum Ausführen von Arbeitsschritten der vorliegenden Erfindung kann es sich um Assembler-Anweisungen, ISA-Anweisungen (Instruction Set Architecture), Maschinenanweisungen, maschinenabhängige Anweisungen, Mikrocode, Firmware-Anweisungen, zustandseinstellende Daten, Konfigurationsdaten für eine integrierte Schaltung oder sowohl um Quellcode als auch um Objektcode handeln, die in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen geschrieben werden, darunter objektorientierte Programmiersprachen wie Smalltalk, C++ o.ä. sowie herkömmliche prozedurale Programmiersprachen wie die Programmiersprache „C“ oder ähnliche Programmiersprachen. Die computerlesbaren Programmanweisungen können vollständig auf dem Computer des Nutzers, teilweise auf dem Computer des Nutzers, als eigenständiges Software-Paket, teilweise auf dem Computer des Nutzers und teilweise auf einem entfernt angeordneten Computer oder vollständig auf dem entfernt angeordneten Computer oder Server ausgeführt werden. In letzterem Fall kann der entfernt angeordnete Computer mit dem Computer des Nutzers durch eine beliebige Art Netzwerk verbunden sein, darunter ein lokales Netzwerk (LAN) oder ein Weitverkehrsnetzwerk (WAN), oder die Verbindung kann mit einem externen Computer hergestellt werden (zum Beispiel über das Internet unter Verwendung eines Internet-Diensteanbieters). Bei manchen Ausführungsformen können elektronische Schaltungen, darunter zum Beispiel programmierbare Logikschaltungen, im Feld programmierbare Gatter-Anordnungen (FPGA) oder programmierbare Logikanordnungen (PLA, Programmable Logic Arrays) die computerlesbaren Programmanweisungen ausführen, indem sie Zustandsinformationen der computerlesbaren Programmanweisungen nutzen, um die elektronischen Schaltungen zu personalisieren, um Aspekte der vorliegenden Erfindung durchzuführen.
  • Aspekte der vorliegenden Erfindung werden hierin unter Bezugnahme auf Ablaufpläne und/oder Blockschaubilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es wird darauf hingewiesen, dass jeder Block der Ablaufpläne und/oder der Blockschaubilder sowie Kombinationen von Blöcken in den Ablaufplänen und/oder den Blockschaubildern mittels computerlesbare Programmanweisungen ausgeführt werden können.
  • Diese computerlesbaren Programmanweisungen können einem Prozessor eines Universalcomputers, eines Spezialcomputers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung bereitgestellt werden, um eine Maschine zu erzeugen, sodass die über den Prozessor des Computers bzw. der anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführten Anweisungen ein Mittel zur Umsetzung der in dem Block bzw. den Blöcken des Ablaufplans und/oder des Blockschaubilds festgelegten Funktionen/Schritte erzeugen. Diese computerlesbaren Programmanweisungen können auch auf einem computerlesbaren Speichermedium gespeichert werden, das einen Computer, eine programmierbare Datenverarbeitungsvorrichtung und/oder andere Einheiten so steuern kann, dass sie auf eine bestimmte Art funktionieren, sodass das computerlesbare Speichermedium, auf dem Anweisungen gespeichert werden, ein Herstellungsprodukt aufweist, darunter Anweisungen, welche Aspekte der/des in dem Block bzw. den Blöcken der Ablaufpläne und/oder Blockschaubilder angegebenen Funktion/Schritts umsetzen.
  • Die computerlesbaren Programmanweisungen können auch auf einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder eine andere Einheit geladen werden, um das Ausführen einer Reihe von Prozessschritten auf dem Computer bzw. der anderen programmierbaren Vorrichtung oder anderen Einheit zu verursachen, um einen computerrealisierten Prozess zu erzeugen, sodass die auf dem Computer, einer anderen programmierbaren Vorrichtung oder einer anderen Einheit ausgeführten Anweisungen die in dem Block bzw. den Blöcken der Ablaufpläne und/oder Blockschaubilder festgelegten Funktionen/Schritte umsetzen.
  • Die Ablaufpläne und die Blockschaubilder in den Figuren veranschaulichen die Architektur, die Funktionalität und den Betrieb möglicher Ausführungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. In diesem Zusammenhang kann jeder Block in den Ablaufplänen oder Blockschaubildern ein Modul, ein Segment oder einen Teil von Anweisungen darstellen, die eine oder mehrere ausführbare Anweisungen zur Ausführung der bestimmten logischen Funktion bzw. Funktionen aufweisen. In einigen alternativen Ausführungen können die in dem Block angegebenen Funktionen in einer anderen Reihenfolge als in den Figuren gezeigt stattfinden. Zwei nacheinander gezeigte Blöcke können zum Beispiel in Wirklichkeit im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können manchmal je nach entsprechender Funktionalität in umgekehrter Reihenfolge ausgeführt werden. Es ist ferner anzumerken, dass jeder Block der Blockschaubilder und/oder der Ablaufpläne sowie Kombinationen aus Blöcken in den Blockschaubildern und/oder den Ablaufplänen durch spezielle auf Hardware beruhende Systeme umgesetzt werden können, welche die festgelegten Funktionen oder Schritte durchführen, oder Kombinationen aus Spezial-Hardware und Computeranweisungen ausführen.
  • Ausführungsformen der vorliegenden Erfindung können auch als Teil einer Dienstvereinbarung mit einem Kundenunternehmen, einer gemeinnützigen Organisation, einer Regierungsstelle, einer internen Organisationsstruktur oder Ähnlichem bereitgestellt werden. Aspekte dieser Ausführungsformen können ein Konfigurieren eines Computersystems, um einige oder alle der hier beschriebenen Verfahren durchzuführen, und ein Bereitstellen von Software, Hardware und Web-Diensten enthalten, die einige oder alle der hier beschriebenen Verfahren realisieren. Aspekte dieser Ausführungsformen können außerdem ein Analysieren der Arbeitsabläufe des Kunden, ein Erzeugen von Empfehlungen als Reaktion auf die Analyse, ein Schaffen von Systemen, die Teile der Empfehlungen realisieren, ein Integrieren der Systeme in bestehende Prozesse und Infrastrukturen, ein Messen der Verwendung der Systeme, ein Zuordnen von Aufwendungen zu Nutzern der Systeme und ein In-Rechnung-Stellen für eine Verwendung der Systeme enthalten. Obwohl die obigen Ausführungsformen der vorliegenden Erfindung jeweils beschrieben wurden, indem ihre jeweiligen Vorteile aufgeführt wurden, ist die vorliegende Erfindung nicht auf eine bestimmte Kombination hiervon beschränkt. Vielmehr können solche Ausführungsformen gemäß der beabsichtigten Bereitstellung der vorliegenden Erfindung auf eine beliebige Weise und Anzahl kombiniert werden, ohne ihre vorteilhaften Wirkungen einzubüßen.
  • Claims (20)

    1. Verfahren, aufweisend: Erzeugen einer Datenstruktur der transitiven Hülle für ein Paar von Merkmalen, die in einem Vektorraum dargestellt werden, der einem Eingabedatensatz entspricht, unter Verwendung eines Prozessors und eines Arbeitsspeichers, wobei die Datenstruktur der transitiven Hülle einen Satz von Einträgen aufweist, der einem Satz von Pfaden in einem Graphen des Vektorraums entspricht, wobei der Satz von Pfaden alle möglichen Pfade in dem Graphen zwischen einem ersten Merkmal in dem Paar und einem zweiten Merkmal in dem Paar aufweist; Reduzieren der Datenstruktur der transitiven Hülle, indem aus der Datenstruktur der transitiven Hülle ein Teilsatz des Satzes von Einträgen entfernt wird, sodass nur ein einziger Eintrag, der einem einzigen Pfad entspricht, in der Datenstruktur der transitiven Hülle verbleibt; Bilden einer Merkmalskreuzung aus einem Cluster von Merkmalen, die in einem reduzierten Ontologiegraphen verbleiben, der aus dem Reduzieren der Datenstruktur der transitiven Hülle resultiert; und Konfigurieren einer Schicht in einem neuronalen Netzwerk, um die Merkmalskreuzung darzustellen, wobei die konfigurierte Schicht in dem neuronalen Netzwerk dazu führt, dass das neuronale Netzwerk eine Vorhersage erzeugt, die bezogen auf den Datensatz innerhalb einer definierten Genauigkeit liegt.
    2. Verfahren nach Anspruch 1, des Weiteren aufweisend: Berechnen einer Obergrenze einer Schichteinbettung, die der Merkmalskreuzung entspricht, für die Schicht unter Verwendung des Prozessors und des Arbeitsspeichers; und Berechnen einer Untergrenze der Schichteinbettung, die der Merkmalskreuzung entspricht, für die Schicht, wobei eine Schichtgröße der Schicht für eine Schichteinbettung auf der Obergrenze und der Untergrenze beruht.
    3. Verfahren nach Anspruch 2, wobei die Schichtgröße ein berechneter Durchschnittswert der Obergrenze und der Untergrenze ist.
    4. Verfahren nach Anspruch 1, des Weiteren aufweisend: Umwandeln des Datensatzes in eine dünn besetzte Matrix; Erzeugen eines Ontologiegraphen, welcher der dünn besetzten Matrix entspricht, wobei der Ontologiegraph einen Satz von Knoten aufweist, der einem Satz von Merkmalen in dem Datensatz entspricht; und Durchführen einer Vorwärtsmaterialisierung für einen Graphen, wobei die Vorwärtsmaterialisierung einen Inferenzknoten zu dem Satz von Knoten hinzufügt und wobei der Satz von Knoten, der den Inferenzknoten enthält, beim Erzeugen der Datenstruktur der transitiven Hülle verwendet wird.
    5. Verfahren nach Anspruch 1, wobei der einzige verbleibende Pfad eine Effizienzanforderung erfüllt.
    6. Verfahren nach Anspruch 5, wobei die Effizienzanforderung eine kürzeste Entfernung zwischen dem ersten Merkmal und dem zweiten Merkmal aufweist.
    7. Verfahren nach Anspruch 5, wobei die Effizienzanforderung eine höchste Nutzung zwischen dem ersten Merkmal und dem zweiten Merkmal aufweist.
    8. Verfahren nach Anspruch 1, wobei das Reduzieren einen Algorithmus der transitiven Reduktion aufweist.
    9. Verfahren nach Anspruch 1, wobei das Reduzieren der Datenstruktur der transitiven Hülle dazu führt, dass ein Teilsatz von Knoten aus dem Ontologiegraphen entfernt wird, wodurch der reduzierte Ontologiegraph gebildet wird.
    10. Verfahren nach Anspruch 1, des Weiteren aufweisend: Identifizieren einer Mehrzahl von Clustern in dem reduzierten Ontologiegraphen, wobei die Mehrzahl von Clustern den Cluster enthält und wobei der Cluster mindestens zwei Merkmale aufweist, sodass eine Kombination der beiden Merkmale verwendbar ist, um zwischen mindestens einem ersten Teil des Datensatzes und einem zweiten Teil des Datensatzes zu unterscheiden.
    11. Computernutzbares Programmprodukt, aufweisend eine computerlesbare Speichereinheit und Programmanweisungen, die auf der Speichereinheit gespeichert werden, wobei die gespeicherten Programmanweisungen aufweisen: Programmanweisungen, um unter Verwendung eines Prozessors und eines Arbeitsspeichers eine Datenstruktur der transitiven Hülle für ein Paar von Merkmalen zu erzeugen, die in einem Vektorraum dargestellt werden, der einem Eingabedatensatz entspricht, wobei die Datenstruktur der transitiven Hülle einen Satz von Einträgen aufweist, der einem Satz von Pfaden in einem Graphen des Vektorraums entspricht, wobei der Satz von Pfaden alle möglichen Pfade in dem Graphen zwischen einem ersten Merkmal in dem Paar und einem zweiten Merkmal in dem Paar aufweist; Programmanweisungen, um die Datenstruktur der transitiven Hülle zu reduzieren, indem aus der Datenstruktur der transitiven Hülle ein Teilsatz des Satzes von Einträgen entfernt wird, sodass nur ein einziger Eintrag, der einem einzigen Pfad entspricht, in der Datenstruktur der transitiven Hülle verbleibt; Programmanweisungen, um eine Merkmalskreuzung aus einem Cluster von Merkmalen zu bilden, die in einem reduzierten Ontologiegraphen verbleiben, der aus dem Reduzieren der Datenstruktur der transitiven Hülle resultiert; und Programmanweisungen, um eine Schicht in einem neuronalen Netzwerk zu konfigurieren, um die Merkmalskreuzung darzustellen, wobei die konfigurierte Schicht in dem neuronalen Netzwerk dazu führt, dass das neuronale Netzwerk eine Vorhersage erzeugt, die bezogen auf den Datensatz innerhalb einer definierten Genauigkeit liegt.
    12. Computernutzbares Programmprodukt nach Anspruch 11, des Weiteren aufweisend: Programmanweisungen, um unter Verwendung des Prozessors und des Arbeitsspeichers für die Schicht eine Obergrenze einer Schichteinbettung zu berechnen, die der Merkmalskreuzung entspricht; und Programmanweisungen, um für die Schicht eine Untergrenze der Schichteinbettung zu berechnen, die der Merkmalskreuzung entspricht, wobei eine Schichtgröße der Schicht für eine Schichteinbettung auf der Obergrenze und der Untergrenze beruht.
    13. Computernutzbares Programmprodukt nach Anspruch 12, wobei die Schichtgröße ein berechneter Durchschnittswert der Obergrenze und der Untergrenze ist.
    14. Computernutzbares Programmprodukt nach Anspruch 11, des Weiteren aufweisend: Programmanweisungen, um den Datensatz in eine dünn besetzte Matrix umzuwandeln; Programmanweisungen, um einen Ontologiegraphen zu erzeugen, welcher der dünn besetzten Matrix entspricht, wobei der Ontologiegraph einen Satz von Knoten aufweist, der einem Satz von Merkmalen in dem Datensatz entspricht; und Programmanweisungen, um eine Vorwärtsmaterialisierung für einen Graphen durchzuführen, wobei die Vorwärtsmaterialisierung einen Inferenzknoten zu dem Satz von Knoten hinzufügt und wobei der Satz von Knoten, der den Inferenzknoten enthält, beim Erzeugen der Datenstruktur der transitiven Hülle verwendet wird.
    15. Computernutzbares Programmprodukt nach Anspruch 11, wobei der einzige verbleibende Pfad eine Effizienzanforderung erfüllt.
    16. Computernutzbares Programmprodukt nach Anspruch 15, wobei die Effizienzanforderung eine kürzeste Entfernung zwischen dem ersten Merkmal und dem zweiten Merkmal aufweist.
    17. Computerprogrammprodukt nach Anspruch 15, wobei die Effizienzanforderung eine höchste Nutzung zwischen dem ersten Merkmal und dem zweiten Merkmal aufweist.
    18. Computernutzbares Programmprodukt nach Anspruch 11, wobei die gespeicherten Programmanweisungen in einer computerlesbaren Speichereinheit in einem Datenverarbeitungssystem gespeichert werden und wobei die gespeicherten Programmanweisungen über ein Netzwerk von einem entfernt angeordneten Datenverarbeitungssystem übertragen werden.
    19. Computernutzbares Programmprodukt nach Anspruch 11, wobei die computernutzbaren Programmanweisungen in einer computerlesbaren Speichereinheit in einem Server-Datenverarbeitungssystem gespeichert werden und wobei die computernutzbaren Programmanweisungen über ein Netzwerk in ein entfernt angeordnetes Datenverarbeitungssystem heruntergeladen werden, um in einer computerlesbaren Speichereinheit verwendet zu werden, die dem entfernt angeordneten Datenverarbeitungssystem zugehörig ist, des Weiteren aufweisend: Programmanweisungen, um eine Nutzung des computernutzbaren Codes zu messen, welcher der Anforderung zugehörig ist; und Programmanweisungen, um auf Grundlage der gemessenen Nutzung eine Rechnung zu erzeugen.
    20. Computersystem, aufweisend einen Prozessor, einen computerlesbaren Arbeitsspeicher und eine computerlesbare Speichereinheit sowie auf der Speichereinheit gespeicherte Programmanweisungen zur Ausführung durch den Prozessor über den Arbeitsspeicher, wobei die gespeicherten Programmanweisungen aufweisen: Programmanweisungen, um unter Verwendung eines Prozessors und eines Arbeitsspeichers eine Datenstruktur der transitiven Hülle für ein Paar von Merkmalen zu erzeugen, die in einem Vektorraum dargestellt werden, der einem Eingabedatensatz entspricht, wobei die Datenstruktur der transitiven Hülle einen Satz von Einträgen aufweist, der einem Satz von Pfaden in einem Graphen des Vektorraums entspricht, wobei der Satz von Pfaden alle möglichen Pfade in dem Graphen zwischen einem ersten Merkmal in dem Paar und einem zweiten Merkmal in dem Paar aufweist; Programmanweisungen, um die Datenstruktur der transitiven Hülle zu reduzieren, indem aus der Datenstruktur der transitiven Hülle ein Teilsatz des Satzes von Einträgen entfernt wird, sodass nur ein einziger Eintrag, der einem einzigen Pfad entspricht, in der Datenstruktur der transitiven Hülle verbleibt; Programmanweisungen, um eine Merkmalskreuzung aus einem Cluster von Merkmalen zu bilden, die in einem reduzierten Ontologiegraphen verbleiben, der aus dem Reduzieren der Datenstruktur der transitiven Hülle resultiert; und Programmanweisungen, um eine Schicht in einem neuronalen Netzwerk zu konfigurieren, um die Merkmalskreuzung darzustellen, wobei die konfigurierte Schicht in dem neuronalen Netzwerk dazu führt, dass das neuronale Netzwerk eine Vorhersage erzeugt, die bezogen auf den Datensatz innerhalb einer definierten Genauigkeit liegt.
    DE112020002344.3T 2019-06-28 2020-06-12 Feature engineering zur optimierung von neuronalen netzwerken Pending DE112020002344T5 (de)

    Applications Claiming Priority (3)

    Application Number Priority Date Filing Date Title
    US16/456,076 US11501137B2 (en) 2019-06-28 2019-06-28 Feature engineering in neural networks optimization
    US16/456,076 2019-06-28
    PCT/IB2020/055523 WO2020261032A1 (en) 2019-06-28 2020-06-12 Feature engineering in neural networks optimization

    Publications (1)

    Publication Number Publication Date
    DE112020002344T5 true DE112020002344T5 (de) 2022-03-10

    Family

    ID=74043689

    Family Applications (1)

    Application Number Title Priority Date Filing Date
    DE112020002344.3T Pending DE112020002344T5 (de) 2019-06-28 2020-06-12 Feature engineering zur optimierung von neuronalen netzwerken

    Country Status (6)

    Country Link
    US (2) US11501137B2 (de)
    JP (1) JP2022539090A (de)
    CN (1) CN113853621A (de)
    DE (1) DE112020002344T5 (de)
    GB (1) GB2599334A (de)
    WO (1) WO2020261032A1 (de)

    Families Citing this family (4)

    * Cited by examiner, † Cited by third party
    Publication number Priority date Publication date Assignee Title
    US11481676B2 (en) * 2019-08-27 2022-10-25 Sap Se Sensitivity in supervised machine learning with experience data
    US20220180244A1 (en) * 2020-12-08 2022-06-09 Vmware, Inc. Inter-Feature Influence in Unlabeled Datasets
    US20230196313A1 (en) * 2021-12-20 2023-06-22 Jpmorgan Chase Bank , N.A. Systems and methods for artificial intelligence/machine learning centric lockbox document processing
    CN115359654B (zh) * 2022-08-02 2023-09-08 支付宝(杭州)信息技术有限公司 流量预测系统的更新方法及装置

    Family Cites Families (19)

    * Cited by examiner, † Cited by third party
    Publication number Priority date Publication date Assignee Title
    US6750864B1 (en) * 1999-11-15 2004-06-15 Polyvista, Inc. Programs and methods for the display, analysis and manipulation of multi-dimensional data implemented on a computer
    JP4746850B2 (ja) 2004-06-21 2011-08-10 富士通株式会社 パターン生成プログラム
    US8799289B2 (en) * 2004-09-03 2014-08-05 Carmel-Haifa University Economic Corp. Ltd. System and method for classifying, publishing, searching and locating electronic documents
    US20060271304A1 (en) 2005-05-31 2006-11-30 Ibm Corporation Systems and methods for fast reachability queries in large graphs
    GB201200158D0 (en) * 2012-01-05 2012-02-15 Rugerro Gramatica Dott Information network with linked information
    US10108699B2 (en) * 2013-01-22 2018-10-23 Microsoft Technology Licensing, Llc Adaptive query suggestion
    US9190026B2 (en) * 2013-03-14 2015-11-17 Canon Kabushiki Kaisha Systems and methods for feature fusion
    US9990380B2 (en) * 2013-03-15 2018-06-05 Locus Lp Proximity search and navigation for functional information systems
    US10210453B2 (en) * 2015-08-17 2019-02-19 Adobe Inc. Behavioral prediction for targeted end users
    US10019438B2 (en) 2016-03-18 2018-07-10 International Business Machines Corporation External word embedding neural network language models
    US10691751B2 (en) * 2017-01-23 2020-06-23 The Trade Desk, Inc. Data processing system and method of associating internet devices based upon device usage
    US11200279B2 (en) 2017-04-17 2021-12-14 Datumtron Corp. Datumtronic knowledge server
    WO2018212710A1 (en) 2017-05-19 2018-11-22 National University Of Singapore Predictive analysis methods and systems
    US11048718B2 (en) * 2017-08-10 2021-06-29 International Business Machines Corporation Methods and systems for feature engineering
    US10990899B2 (en) 2017-08-11 2021-04-27 Microsoft Technology Licensing, Llc Deep and wide machine learned model for job recommendation
    US11188850B2 (en) * 2018-03-30 2021-11-30 Derek Alexander Pisner Automated feature engineering of hierarchical ensemble connectomes
    CN108629630B (zh) 2018-05-08 2020-05-12 广州太平洋电脑信息咨询有限公司 一种基于特征交叉联合深度神经网络的广告推荐方法
    US11113745B1 (en) * 2020-04-03 2021-09-07 Verizon Media Inc. Neural contextual bandit based computational recommendation method and apparatus
    US20220180240A1 (en) * 2020-12-03 2022-06-09 International Business Machines Corporation Transaction composition graph node embedding

    Also Published As

    Publication number Publication date
    GB2599334A (en) 2022-03-30
    WO2020261032A1 (en) 2020-12-30
    JP2022539090A (ja) 2022-09-07
    US11501137B2 (en) 2022-11-15
    US20200410324A1 (en) 2020-12-31
    CN113853621A (zh) 2021-12-28
    US11847551B2 (en) 2023-12-19
    US20230027016A1 (en) 2023-01-26

    Similar Documents

    Publication Publication Date Title
    DE112020002344T5 (de) Feature engineering zur optimierung von neuronalen netzwerken
    DE112015003406B4 (de) Datenherkunftssummierung
    DE112020003820T5 (de) Erkennung von Anomalien und Abweichungen unter Verwendung eines domänenindizierten Einschränkungs-Repository
    DE112021004197T5 (de) Semantisches Lernen in einem System für ein föderiertes Lernen
    DE112021004908T5 (de) Computerbasierte systeme, rechenkomponenten und rechenobjekte, die eingerichtet sind, dynamische ausreisser-verzerrungs-verringerung bei maschinenlernmodellen zu implementieren
    DE202017007517U1 (de) Aggregatmerkmale für maschinelles Lernen
    DE112018005227T5 (de) Merkmalsextraktion mithilfe von multi-task-lernen
    DE112020005095T5 (de) Automatische trennung und extraktion von tabellendaten unter verwendung von maschinellem lernen
    DE112017007510T5 (de) Blockchain für offene wissenschaftliche forschung
    DE112019004076T5 (de) Dezentralisiertes verteiltes deep learning
    DE112015002433T5 (de) Systeme und Techniken zur prädikativen Datenanalytik
    DE112018005205T5 (de) Komprimierung von vollständig verbundenen / wiederkehrenden Schichten von einem oder mehreren tiefen Netzen durch Durchsetzen von räumlicher Lokalität für Gewichtsmatrizen und erwirken von Frequenzkomprimierung
    DE112021004163T5 (de) Zuschneiden eines kommunikationsinhalts
    DE112021006130T5 (de) Automatisierte orchestrierung von containern durch bewerten von mikrodiensten
    DE112021006232T5 (de) Proaktive anomalieerkennung
    DE112021002572T5 (de) Multikriterielles optimieren von anwendungen
    DE112021006215T5 (de) Automatisierte Deep-Learning-Architekturauswahl für Zeitreihenvorhersage mit Benutzerinteraktion
    DE112021001986T5 (de) Verfahren und System zum Verarbeiten von Datenaufzeichnungen
    DE112020004967T5 (de) Änderungsverwaltung und analytik für microservices
    DE112020003744T5 (de) Durch dienstqualitätskriterien vorgegebenes automatisiertes betriebsdatenmanagement
    DE112021001163T5 (de) Dynamisches erstellen von facetten unter verwendung von graphpartitionierung
    DE112020005732T5 (de) Erzeugen von trainingsdaten zur objekterkennung
    DE112021004663T5 (de) Verteiltes, ressourcen berücksichtigendes training von pipelines desmaschinellen lernens
    DE112021003761T5 (de) Prädiktive modelle mit zerlegbaren hierarchischen ebenen, die konfiguriert werden, um interpretierbare resultate zu erzeugen
    DE102021006293A1 (de) Bestimmung digitaler Personas unter Verwendung datengetriebener Analytik

    Legal Events

    Date Code Title Description
    R012 Request for examination validly filed
    R084 Declaration of willingness to licence