-
Technisches Gebiet
-
Die vorliegende Offenbarung betrifft allgemein das maschinelle Lernen und insbesondere das Abschätzen der Zuverlässigkeit einer Vorhersage, die auf der Grundlage eines Klassifizierungsalgorithmus bereitgestellt wurde.
-
Hintergrund
-
Wie nach dem Stand der Technik bekannt, können maschinelle Lerntechniken genutzt werden, um eine Vorhersage in Bezug auf vorgegebene Daten zu treffen. Ein Klassifizierungsalgorithmus ist im Allgemeinen ein Verfahren, bei dem dem Algorithmus eine Trainingsdatenmenge bereitgestellt und zum Lernen genutzt wird. Nach einer Trainingsphase kann der Klassifizierungsalgorithmus an das spezielle vorliegende Problem angepasst und in der Lage sein, Daten in Bezug auf neue, eventuell nicht berücksichtigte Instanzen vorherzusagen.
-
Die Trainingsdaten können eine Stichprobe von Datenpunkten aufweisen, die jeweils unter Verwendung einer Menge von Merkmalen vorgegeben werden, die der Klassifikator verwendet, sowie die Kennzeichnung, die vorhergesagt werden soll. Zum Beispiel kann es sich bei den Merkmalen um Größe, Alter Gewicht und Vorname handeln, wenn ein Geschlecht einer Person vorhergesagt wird. Anzumerken ist, dass einige Merkmale in einigen Fällen zur Vorhersage brauchbar sind, während andere möglicherweise nicht brauchbar sind. Bei diesem Beispiel wird für jeden Datenpunkt außer den Merkmalen eine Geschlechtskennzeichnung vergeben, um den Klassifikator in die Lage zu versetzen, zu lernen, wie diese Daten bei neuen Datenpunkten vorherzusagen sind.
-
Nach dem Abschluss der Trainingsphase sind Merkmale von Datenpunkten vorgegeben, und der Klassifikator kann eine vorhergesagte Kennzeichnung ermitteln. In einigen Fällen kann eine Rückmeldung gegeben werden, um dem Klassifikator anzuzeigen, ob die Vorhersage korrekt war.
-
Kurzdarstellung
-
Eine beispielhafte Ausführungsform des offenbarten Gegenstands ist ein mittels Computer realisiertes Verfahren, das durch einen Prozessor durchgeführt wird, wobei das Verfahren aufweist: Empfangen bzw. Erhalten (in Folgendem synonym benutzt) einer von einem Klassifikatortool getroffenen Vorhersage einer Kennzeichnung für eine Datenmenge, wobei das Klassifikatortool zum Ziel hat, die Kennzeichnung auf der Grundlage eines Klassifizierungsmodells und in Anbetracht einer Menge von Merkmalen, die die Datenmenge definieren, vorherzusagen; Empfangen einer Zuverlässigkeitsvorhersage einer Zuverlässigkeitskennzeichnung in Bezug auf die Vorhersage des Klassifikatortools auf der Grundlage eines Zuverlässigkeitsklassifikatortools, wobei das Zuverlässigkeitsklassifikatortool zum Ziel hat, die Zuverlässigkeitskennzeichnung auf der Grundlage eines Klassifizierungsmodells und in Anbetracht einer zweiten Menge von Merkmalen vorherzusagen; und Ausgeben der Kennzeichnungsvorhersage und einer zugehörigen Zuverlässigkeitsvorhersage an einen Benutzer.
-
Eine weitere beispielhafte Ausführungsform des offenbarten Gegenstands ist eine computergestützte Vorrichtung, die einen Prozessor aufweist und wobei der Prozessor so ausgelegt ist, dass er die Schritte ausführt: Empfangen einer von einem Klassifikatortool getroffenen Vorhersage einer Kennzeichnung für eine Datenmenge, wobei das Klassifikatortool zum Ziel hat, die Kennzeichnung auf der Grundlage eines Klassifizierungsmodells und in Anbetracht einer Menge von Merkmalen, die die Datenmenge definieren, vorherzusagen; Empfangen einer Zuverlässigkeitsvorhersage einer Zuverlässigkeitskennzeichnung in Bezug auf die Vorhersage des Klassifikatortools auf der Grundlage eines Zuverlässigkeitsklassifikatortools, wobei das Zuverlässigkeitsklassifikatortool zum Ziel hat, die Zuverlässigkeitskennzeichnung auf der Grundlage eines Klassifizierungsmodells und in Anbetracht einer zweiten Menge von Merkmalen vorherzusagen; und Ausgeben der Kennzeichnungsvorhersage und einer zugehörigen Zuverlässigkeitsvorhersage an einen Benutzer.
-
Eine noch weitere beispielhafte Ausführungsform des offenbarten Gegenstands ist ein Computerprogrammprodukt, aufweisend: ein nichtflüchtiges computerlesbares Medium, auf dem Programmanweisungen gespeichert sind, wobei die Programmanweisungen, wenn sie durch einen Prozessor gelesen werden, den Prozessor veranlassen, die Schritte auszuführen: Empfangen einer von einem Klassifikatortool getroffenen Vorhersage einer Kennzeichnung für eine Datenmenge, wobei das Klassifikatortool zum Ziel hat, die Kennzeichnung auf der Grundlage eines Klassifizierungsmodells und in Anbetracht einer Menge von Merkmalen, die die Datenmenge definieren, vorherzusagen; Empfangen einer Zuverlässigkeitsvorhersage einer Zuverlässigkeitskennzeichnung in Bezug auf die Vorhersage des Klassifikatortools auf der Grundlage eines Zuverlässigkeitsklassifikatortools, wobei das Zuverlässigkeitsklassifikatortool zum Ziel hat, die Zuverlässigkeitskennzeichnung auf der Grundlage eines Klassifizierungsmodells und in Anbetracht einer zweiten Menge von Merkmalen vorherzusagen; und Ausgeben der Kennzeichnungsvorhersage und einer zugehörigen Zuverlässigkeitsvorhersage an einen Benutzer.
-
Kurzbeschreibung der verschiedenen Ansichten in den Zeichnungen
-
Der vorliegende offenbarte Gegenstand wird anhand der folgenden eingehenden Beschreibung leichter verständlich, die in Verbindung mit den Zeichnungen zu lesen ist, wobei in den Zeichnungen entsprechende oder ähnliche Zahlen oder Zeichen entsprechende oder ähnliche Komponenten bezeichnen. Sofern nicht anderweitig angegeben, stellen die Zeichnungen beispielhafte Ausführungsformen oder Aspekte der Offenbarung bereit und schränken den Schutzbereich der Offenbarung nicht ein. In den Zeichnungen:
-
zeigt 1 eine bildliche Darstellung einer Belegung von Datenpunkten, die gemäß einigen beispielhaften Ausführungsformen des offenbarten Gegenstands unter Verwendung von zwei Merkmalen vorgegeben wurden;
-
zeigen die 2A bis 2C Ablaufpläne von Schritten bei Verfahren zum Vorhersagen der Vorhersagezuverlässigkeit gemäß einigen beispielhaften Ausführungsformen des offenbarten Gegenstands;
-
zeigen die 3A bis 3B Ablaufpläne unterschiedlicher Trainingsschemata gemäß einigen beispielhaften Ausführungsformen des offenbarten Gegenstands; und
-
zeigt 4 ein Blockschaltbild von Komponenten einer computergestützten Vorrichtung gemäß einigen beispielhaften Ausführungsformen des offenbarten Gegenstands.
-
Detaillierte Beschreibung
-
Der offenbarte Gegenstand wird nachstehend unter Bezugnahme auf veranschaulichte Ablaufpläne und/oder Blockschaltbilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen des Gegenstands beschrieben. Es versteht sich, dass Blöcke der veranschaulichten Ablaufpläne und/oder Blockschaltbilder und Kombinationen von Blöcken in den veranschaulichten Ablaufplänen und/oder Blockschaltbildern durch Computerprogrammanweisungen realisiert werden können. Diese Computerprogrammanweisungen können einem oder mehreren Prozessoren eines Mehrzweckcomputers, eines Spezialcomputers, einem getesteten Prozessor oder anderen programmierbaren Datenverarbeitungsvorrichtungen bereitgestellt werden, um eine Maschine zu erzeugen, sodass die Anweisungen, die über den Prozessor des Computers oder anderer programmierbarer Datenverarbeitungsvorrichtungen ausgeführt werden, Mittel schaffen, um die in einem Block bzw. in den Blöcken des Ablaufplans und/oder des Blockschaltbildes angegebenen Funktionen/Aktionen zu realisieren.
-
Diese Computerprogrammanweisungen können auch in einem nichtflüchtigen computerlesbaren Medium gespeichert sein, das einen Computer oder andere programmierbare Datenverarbeitungsvorrichtungen anweisen kann, in einer bestimmten Weise zu funktionieren, sodass die im nichtflüchtigen computerlesbaren Medium gespeicherten Anweisungen ein Herstellungsgegenstand schaffen, das die Anweisungen enthält, die die in einem Block bzw. in den Blöcken des Ablaufplans und/oder des Blockschaltbildes angegebene Funktion/Aktion realisiert.
-
Die Computerprogrammweisungen können auch in eine Einheit geladen werden. Diese Computerprogrammanweisungen können einen Computer oder eine andere programmierbare Datenverarbeitungsvorrichtung veranlassen, dass auf dem Computer oder auf der anderen programmierbaren Vorrichtung eine Reihe von Arbeitsschritten ausgeführt werden, um einen mittels Computer realisierten Prozess zu schaffen, mit dessen Hilfe die Anweisungen, die auf dem Computer oder auf der anderen programmierbaren Vorrichtung ausgeführt werden, Prozesse zur Realisierung der in einem Block bzw. in den Blöcken des Ablaufplans und/oder des Blockschaltbildes angegebenen Funktionen/Aktionen bereitstellen.
-
In der vorliegenden Offenbarung ist ein „Klassifikatortool” eine Vorrichtung, die in Software, Firmware, Hardware, Kombinationen davon oder in Ähnlichem realisiert und in der Lage ist, einen Klassifizierungsalgorithmus zu nutzen, um eine Aussage bereitzustellen. Es versteht sich, dass das Klassifikatortool eine Klassifizierung in einzelne Mengen von Kennzeichnungen bereitstellen kann (z. B. unter Verwendung von Klassifikatoralgorithmen wie beispielsweise naiver Basis, k nächste Nachbarn, Support-Vektor-Maschinen, Entscheidungsbäume, lineare Klassifizierung oder Ähnliches). Außerdem oder alternativ kann das Klassifikatortool eine kontinuierliche Ausgabe bereitstellen (z. B. kontinuierliche Klassifizierungsalgorithmen wie beispielsweise lineare Regression, logistische Regression, Lasso-Algorithmus, LOESS und Ähnliches).
-
Ein technisches Problem, das vom offenbarten Gegenstand behandelt wird, besteht darin, die Zuverlässigkeit im Zusammenhang mit einer durch das Klassifizierungstool vorgenommenen Vorhersage abzuschätzen. Das Abschätzen der Zuverlässigkeit im Zusammenhang mit jeder Vorhersage und das Erkennen einer nicht zuverlässigen Vorhersage können in verschiedenen Szenarien von großer Bedeutung sein. Beispielsweise kann bei Systemen zur Unterstützung klinischer Entscheidungen, die die beste Behandlung vorherzusagen versuchen, das Erkennen nicht zuverlässiger Vorhersagen dem Benutzer helfen, falsche Entscheidungen zu vermeiden.
-
Eine technische Lösung besteht darin, ein separates Klassifikatortool zu nutzen, das als Zuverlässigkeitsklassifikatortool (Reliability Classifier Tool, RCT) bezeichnet wird, um die Zuverlässigkeit einer Vorhersage vorherzusagen, die das Klassifikatortool getroffen hat. Das Ziel des RCT kann darin bestehen, Instanzen, für die die Vorhersagen zuverlässig waren, die das Klassifikatortool getroffen hat, von Instanzen zu unterscheiden, für die die erzeugten Vorhersagen nicht zuverlässig waren.
-
Eine weitere technische Lösung besteht darin, weitere Merkmale einzuführen, die nicht durch das Klassifikatortool selbst verwendet wurden und informativ in Bezug auf die Zuverlässigkeit sein können. Zusätzlich oder alternativ können die weiteren Merkmale nicht zum Durchführen der Vorhersage selbst brauchbar, aber dennoch brauchbar zum Vorhersagen der Zuverlässigkeit sein. Bei einigen Ausführungsformen können die weiteren Merkmale Nebenprodukte des ursprünglichen Klassifizierungsvorgangs sein und deshalb nicht dem Klassifikatortool selbst zur Verfügung stehen.
-
Bei einigen beispielhaften Ausführungsformen können das RCT und das ursprüngliche Klassifikatortool, das auch als CT (CT = Classifier Tool) bezeichnet wird unterschiedliche Klassifizierungsalgorithmen nutzen.
-
Eine noch weitere technische Lösung besteht darin, ein Trainingsschema zum Trainieren des RCT bereitzustellen. Bei einigen Ausführungsformen kann das Trainieren des RCT auf einer Mehrzahl von Vorhersagen in Bezug auf denselben Datenpunkt beruhen. Ein Stabilitätsschema kann zum Ziel haben, auf der Grundlage einer Stabilität der Vorhersage in Anbetracht unterschiedlicher Trainingsdaten für das CT eine Zuverlässigkeit der Trainingsdatenmenge zu ermitteln. Zusätzlich oder alternativ kann ein Korrekt-Anteil-Schema zum Ziel haben, auf der Grundlage eines Korrekt-Anteils der Vorhersagen, die in Anbetracht unterschiedlicher Trainingsdaten für das CT bereitgestellt wurden, eine Zuverlässigkeit der Trainingsdatenmenge zu ermitteln. Bei einigen beispielhaften Ausführungsformen kann auf der Grundlage einer „korrekt”/„falsch”-Feststellung der Vorhersage, die das CT in Bezug auf die korrekte Kennzeichnung vorgenommen hat, eine Zuverlässigkeitsangabe bereitgestellt werden, die als Teil der Trainingsmenge vorgegeben werden kann.
-
Eine technische Auswirkung besteht darin, dass der offenbarte Gegenstand für das Einsatzgebiet allgemein gilt und übergreifend bei beliebigen Klassifizierungsverfahren eingesetzt werden kann. Ferner gibt es keine Beschränkung auf die Verwendung einer Art von Klassifikator für die ursprüngliche Klassifizierungsaufgabe in Verbindung mit einem anderen Klassifizierungsalgorithmus, der als RCT genutzt wird.
-
Eine weitere technische Auswirkung besteht darin, dass bei Nutzung unterschiedlicher Klassifizierungsalgorithmen die Unzuverlässigkeit ermittelt werden kann, die im Zusammenhang mit unterschiedlichen Quellen der Unzuverlässigkeit steht. Eine Quelle der Unzuverlässigkeit kann in einer Unzulänglichkeit der Trainingsdatenmenge liegen, zum Beispiel in der Nutzung einer kleinen Stichprobe oder einer nicht repräsentativen Stichprobe während der Trainingsphase. Eine weitere Quelle der Unzuverlässigkeit kann mit den Daten selbst zusammenhängen, zum Beispiel im Fall eines stochastischen Verhaltens, zumindest in Bezug auf die von CT genutzten Merkmale. Eine noch weitere Quelle der Unzuverlässigkeit kann in einer Abstraktion oder Modellierung durch den Klassifizierungsalgorithmus selbst liegen. Unterschiedliche Quellen der Unzuverlässigkeit können in unterschiedlichen Stichproben verschiedene Auswirkungen haben.
-
Als Beispiel soll eine Klassifizierungsaufgabe betrachtet werden, bei der Patienten auf der Grundlage von Ergebnissen von Blutuntersuchungen in Gesunde und Kranke eingeteilt werden sollen. Angenommen die Blutproben wurden in einem von zwei unterschiedlichen Labors untersucht, von denen eines kontaminiert war, wodurch die Ergebnisse der Blutuntersuchungen verzerrt wurden. Obwohl die Identität des Labors ohne Bedeutung für das Klassifizieren eines Patienten als gesund oder krank ist, kann sie vom RCT verwendet werden, um zu erkennen, dass Vorhersagen für Patienten weniger zuverlässig sind, die in dem kontaminierten Labor untersucht wurden. Bei diesem Beispiel bildet die Quelle der Unzuverlässigkeit einen integralen Bestandteil einiger Daten, und das stochastische Verhalten kann bei einigen Stichproben auftreten und bei anderen nicht.
-
Als weiteres Beispiel kann die Quelle der Unzuverlässigkeit auf die Modellierung durch den Klassifizierungsalgorithmus zurückzuführen sein, wie nachfolgend unter Verwendung von 1 beispielhaft erläutert wird. Wie zu erkennen ist, gilt die Quelle der Unzuverlässigkeit nur für eine bestimmte Region der Datenpunktbelegung.
-
Als noch weiteres Beispiel kann die Quelle der Unzuverlässigkeit in einer unzureichenden Trainingsdatenmenge begründet sein, zum Beispiel durch das Trainieren des Klassifikators unter Verwendung einer kleinen Stichprobe, einer nicht repräsentativen Stichprobe oder Ähnliches.
-
Unter Bezugnahme auf 1 ist dort eine Darstellung einer Belegung mit Datenpunkten gezeigt, die unter Verwendung von zwei Merkmalen angegeben sind. Das CT kann eine lineare Trennung zwischen unterschiedlichen Kennzeichnungen ermitteln. Die dem Klassifizierungsalgorithmus innewohnende Annahme, dass eine lineare Trennung vorhanden ist, kann jedoch wie im Fall der Belegung 100 falsch sein. Wie zu erkennen ist, kann keine lineare Linie die Instanzen der Kennzeichnung X und der Kennzeichnung Y trennen. Eine Geschätzte Linie 110 kann ermittelt werden, aber die Geschätzte Linie 110 ist in Bezug auf den Bereich 120 am brauchbarsten und in Bezug auf den Bereich 130 weniger brauchbar, in dem eine Ermittlung auf dieser Grundlage nicht zuverlässig sein kann.
-
In dem Fall, in dem das RCT nicht auf die Annahmen des CT, zum Beispiel durch Nutzung eines anderen Algorithmus, Modellieren der Belegung 100 unter Verwendung weiterer Merkmale oder Ähnliches, beschränkt ist, kann das RCT in der Lage sein, eine niedrige Zuverlässigkeit der Vorhersage für Datenpunkte im Bereich 130 und eine hohe Zuverlässigkeit der Vorhersage für Datenpunkte im Bereich 120 vorherzusagen.
-
Anzumerken ist, dass die Vorhersage der Zuverlässigkeit etwas anderes ist als eine Wahrscheinlichkeit, dass der Klassifikator fehlerfrei ist. Bei einigen beispielhaften Ausführungsformen kann die „Zuverlässigkeit” ein Maß sein, das Informationen über die Genauigkeit einer Vorhersage bereitstellt, die durch den infrage kommenden Klassifikator getroffen wurde, verglichen mit einem Zufallsklassifikator (der z. B. durch denselben Klassifikator gebildet wird, der mithilfe zufällig gekennzeichneter Trainingsdaten trainiert wird).
-
Es ist erkennbar, dass 1 beispielhaft veranschaulicht, dass eine durch den CT getroffene Annahme Probleme bei der Zuverlässigkeit verursacht. 1 dient lediglich als Beispiel, und andere Klassifizierungsalgorithmen führen über ihre Modellierung unter Umständen ähnliche Zuverlässigkeitsprobleme ein.
-
Wie zu erkennen ist, besteht eine technische Auswirkung einiger Ausführungsformen des offenbarten Gegenstands darin, dass unterschiedliche Quellen der Zuverlässigkeit in einer automatischen Weise erkannt werden können.
-
Eine noch weitere technische Auswirkung der Nutzung des offenbarten Gegenstands besteht in der Fähigkeit, die Unzuverlässigkeit zu erkennen, die aus Merkmalen entsteht, die beim Treffen der Vorhersage nicht brauchbar sind und daher unter Umständen dem CT nicht zur Verfügung stehen, während es die Vorhersage selbst trifft. Es soll noch einmal das oben aufgeführte Laborbeispiel betrachtet werden. Die Identität des Labors ist beim Treffen der Vorhersage nicht brauchbar, obwohl sie beim Ermitteln der Zuverlässigkeit der Vorhersage brauchbar ist. Als weiteres Beispiel kann der Prozentsatz fehlender Werte bei einer bestimmten Instanz als nicht brauchbar für die Klassifizierung ermittelt werden, obwohl er beim Abschätzen der Zuverlässigkeit durchaus von Bedeutung sein kann.
-
Unter Bezugnahme auf 2A ist dort ein Ablaufplan von Schritten bei einem Verfahren zum Trainieren eines RCT gemäß einigen beispielhaften Ausführungsformen des offenbarten Gegenstands gezeigt.
-
Eine Trainingsdatenmenge (200) wird bereitgestellt. Die Trainingsdatenmenge weist Merkmale von Datenpunkten (X) und deren zugehörige Kennzeichnung (Y) auf. Ein CT 210 wird mit der Trainingsdatenmenge (200) bereitgestellt, um dieses zu trainieren. Auf der Grundlage der Definition von Zuverlässigkeitskennzeichnungen (220), zum Beispiel ein Stabilitätsschema, Korrekt-Anteil-Schema oder Ähnliches, kann eine Zuverlässigkeits-Trainingsdatenmenge (230) ermittelt werden. Die Zuverlässigkeits-Trainingsdatenmenge kann vorgegebene Datenpunkte mit unterschiedlichen Mengen von Merkmalen (X') und eine zugehörige Kennzeichnung in Bezug auf die Zuverlässigkeit der Vorhersage (Y') aufweisen, die in (220) ermittelt wurde. Dem RCT 240 kann die Zuverlässigkeits-Trainingsdatenmenge des Trainings bereitgestellt werden.
-
Bei einigen Ausführungsformen kann die Definition von Zuverlässigkeitskennzeichnungen (220) das Empfangen einer Vorhersage in Bezug auf die Datenmenge X durch das CT 210 aufweisen. Auf der Grundlage der Vorhersage kann eine Zuverlässigkeitsangabe ermittelt werden.
-
Bei einigen Ausführungsformen bezeichnen X und X' dieselben Instanzen, wobei eine identische Menge von Merkmalen verwendet wird. Alternativ können X und X' dieselben Instanzen bezeichnen, wobei eine unterschiedliche Menge von Merkmalen verwendet wird, sodass X' weitere Merkmale aufweist, zum Beispiel Nebenprodukte von CT 210, Merkmale, die bei der Vorhersage nicht brauchbar, aber bei der Zuverlässigkeitsvorhersage brauchbar sind, und Ähnliches. Zusätzlich oder alternativ kann X Merkmale aufweisen, die X' nicht aufweist.
-
Bei einigen Ausführungsformen kann CT 210 in Bezug auf einen ersten Teil der Trainingsdatenmenge (X) trainiert werden. Die Definition von Zuverlässigkeitskennzeichnungen (220) kann unter Verwendung eines zweiten Teils der Trainingsdatenmenge (X) durchgeführt werden, zum Beispiel unter Verwendung eines Teils, der sich vom ersten Teil unterscheidet. Dadurch können auf der Grundlage eines Trainings des CT 210 unter Verwendung des ersten Teils Vorhersagen über den zweiten Teil getroffen und beim Definieren von Zuverlässigkeitskennzeichnungen (Y') genutzt werden, die beim Training des RCT 240 brauchbar sind.
-
Unter Bezugnahme auf 2B ist dort ein Ablaufplan von Schritten bei einem Verfahren zum Durchführen von Vorhersagen gemäß einigen beispielhaften Ausführungsformen des offenbarten Gegenstands gezeigt.
-
Ein Datenpunkt X (250) wird dem CT 210 bereitgestellt, das eine Vorhersage einer geeigneten Kennzeichnung hiervon bereitstellt. Auch dem RCT (240) werden der Datenpunkt sowie die Vorhersage bereitgestellt, und das RCT stellt eine Zuverlässigkeitsvorhersage in Bezug auf die Vorhersage von CT 210 bereit. Außerdem oder alternativ können dem RCT 240 weitere Merkmale bereitgestellt werden, die dem CT 210 nicht bereitgestellt wurden, wie zum Beispiel Nebenprodukte von CT 210, nicht eindeutige Ergebnisse hinsichtlich der durch das CT 210 getroffenen Vorhersage oder Ähnliches.
-
Unter Bezugnahme auf 2C ist dort ein Ablaufplan von Schritten bei einem Verfahren zum Trainieren von Klassifikatortools und dessen Nutzung gemäß einigen beispielhaften Ausführungsformen des offenbarten Gegenstands gezeigt. Das Verfahren weist eine Trainingsphase (Schritte 252 bis 272) und eine Vorhersagephase auf, die auch als Testphase (Schritte 276 bis 298) bezeichnet wird. Die Vorhersagephase kann in Bezug auf unterschiedliche Datenpunkte wiederholt durchgeführt werden.
-
In Schritt 252 wird eine Trainingsdatenmenge (X, Y) empfangen. Die Trainingsdatenmenge weist eine Stichprobe von Datenpunkten auf (d. h. [x ∊ X]), die unter Verwendung einer Menge von Merkmalen (mit F bezeichnet) bereitgestellt wird, und für jeden Datenpunkt wird eine zugehörige Kennzeichnung vorgegeben (d. h. y ∊ Y: Kennzeichnung(x) = y) In Schritt 256 kann ein CT wie zum Beispiel 210 unter Verwendung der Trainingsdatenmenge trainiert werden. Bei einigen beispielhaften Ausführungsformen wird nur ein Teil der Datenmenge zum Trainieren des CT genutzt, sodass einige Datenpunkte nicht zum Trainieren des CT genutzt werden. Außerdem oder alternativ kann das CT eine Teilmenge der Menge von Merkmalen erfordern, um die Datenpunkte zu definieren (d. h. F1 ⊂ F), und dementsprechend kann dem CT nur die Teilmenge von Merkmalen in Bezug auf die Datenpunkte bereitgestellt werden.
-
In Schritt 260 können durch das trainierte CT getroffene Vorhersagen empfangen werden. Bei einigen Ausführungsformen können die Vorhersagen in Bezug auf die Datenpunkte getroffen werden, die die Trainingsdatenmenge enthält. Die Datenpunkte können zum Trainieren des CT in Schritt 256 verwendet worden sein oder auch nicht.
-
In Schritt 264 können in Bezug auf jede vorhergesagte Kennzeichnung eines Datenpunktes Zuverlässigkeitskennzeichnungen (Y') ermittelt werden. Die Zuverlässigkeitskennzeichnung kann in Abhängigkeit davon ermittelt werden, ob die Vorhersage korrekt ist (durch Vergleichen der vorhergesagten Kennzeichnung mit der tatsächlichen Kennzeichnung y). Außerdem oder alternativ kann die Zuverlässigkeitskennzeichnung auf der Grundlage einer Mehrzahl von Vorhersagen ermittelt werden, die in Bezug auf denselben Datenpunkt getroffen wurden, zum Beispiel als Reaktion auf unterschiedliche Trainingssitzungen. Die Stabilität der Vorhersage kann gemessen werden, indem ein Streufaktor der Vorhersagen ermittelt wird. Beispielsweise kann eine am häufigsten vorhergesagte Kennzeichnung ermittelt werden, und ein Teil von Vorhersagen, die die häufig vorhergesagte Kennzeichnung vorhergesagt haben, kann berechnet und als Streufaktor verwendet werden.
-
Alternativ kann eine statistische Varianz der Vorhersagen berechnet und als Streufaktor genutzt werden. Bei einigen beispielhaften Ausführungsformen kann das Maß der Stabilität von Vorhersagen berechnet und auf eine Zahl innerhalb eines vorgegebenen Bereiches normalisiert werden. Zum Beispiel kann eine Zahl zwischen 0, die eine nicht stabile Vorhersage anzeigt, und 1, die eine stabile und kontinuierliche Vorhersage anzeigt, verwendet werden, wodurch eine Zuverlässigkeitskennzeichnung für die Vorhersage ermittelt werden kann.
-
Bei einigen beispielhaften Ausführungsformen kann ein Korrekt-Faktor der Vorhersagen berechnet werden. Im Gegensatz zur Stabilität berücksichtigt ein Korrekt-Faktor, dass eine bekannte Korrekt-Kennzeichnung für den Datenpunkt vorhanden ist. Ein Teil der Vorhersagen, die unter der Gesamtanzahl von Vorhersagen korrekt war, kann berechnet und genutzt werden, um eine Zuverlässigkeitskennzeichnung zu ermitteln. Außerdem oder alternativ kann ein orthogonaler Abstand oder ein anderes berechenbares Unterscheidungsmaß zwischen dem Durchschnitt, der Häufigkeit oder dem Medianwert der Vorhersage und der korrekten Kennzeichnung berechnet werden. Der Abstand kann beim Ermitteln der Zuverlässigkeitskennzeichnungen (Y') genutzt werden.
-
In Schritt
268 kann die Trainingsdatenmenge (X') für das RCT, zum Beispiel für RCT
240, ermittelt werden. Die Trainingsdatenmenge kann auf der Datenmenge beruhen, für die in Schritt
260 Vorhersagen getroffen und in Schritt
264 Zuverlässigkeitskennzeichnungen definiert wurden. Bei einigen beispielhaften Ausführungsformen kann die Trainingsdatenmenge ferner Funktionen aufweisen, die nicht Bestandteil der in Schritt
250 empfangenen ursprünglichen Trainingsdatenmenge waren, wie zum Beispiel Nebenprodukte, die während der Vorhersage des Schritts
250 erzeugt wurden. Außerdem oder alternativ kann die Trainingsdatenmenge X' Merkmale aufweisen, die nicht vom CT genutzt wurden. Das heißt, dass die Menge von Merkmalen F
2 ⊆ F ∪ NeueMerkmale sein kann, wobei F die in der Trainingsdatenmenge bereitgestellte Menge von Merkmalen ist und NeueMerkmale die Merkmale sind, die ursprünglich nicht bereitgestellt wurden und/oder verfügbar waren, wie zum Beispiel Nebenprodukte des Vorhersageprozesses, die vorhergesagte Kennzeichnung und Ähnliches. Bei einigen Ausführungsformen kann das Merkmal f ∊ F zum Trainieren des RCT und nicht des CT (d. h. f ∊ F
2, f
F
1) und umgekehrt genutzt werden.
-
Unter Verwendung der Trainingsdatenmenge (X') und der Zuverlässigkeitskennzeichnungen (Y') kann das RCT in Schritt 272 trainiert werden.
-
Während der Vorhersagephase werden Datenpunkte und eine Kennzeichnungsvorhersage sowie eine Zuverlässigkeitsvorhersage bereitgestellt. Wahlweise kann eine Wahrscheinlichkeit, dass die Vorhersage korrekt ist, empfangen und ausgegeben werden.
-
In Schritt 276 wird ein Datenpunkt zur Kennzeichnungsvorhersage empfangen. Der Datenpunkt kann unter Verwendung aller Merkmale bereitgestellt werden, die für das CT und das RCT brauchbar sind. Wahlweise werden einige Merkmale wie zum Beispiel Nebenprodukte des CT-Vorhersagevorgangs während des Prozesses automatisch erzeugt und unter Umständen nicht im Voraus bereitgestellt.
-
In Schritt 280 kann das CT eine Kennzeichnungsvorhersage für den Datenpunkt bereitstellen. Bei einigen beispielhaften Ausführungsformen kann der Datenpunkt auf den unter Verwendung von F1 definierten Raum projiziert werden, und der projizierte Datenpunkt kann dem CT zur Vorhersage bereitgestellt werden.
-
Bei einigen beispielhaften Ausführungsformen kann der wahlweise Schritt 282 eine Wahrscheinlichkeit ermitteln, ob die durch das CT getroffene Vorhersage korrekt ist. Bei einigen beispielhaften Ausführungsformen kann das CT selbst diese Information bereitstellen. Im Gegensatz zur Zuverlässigkeitsvorhersage stellt der Schritt 282 eine Wahrscheinlichkeit bereit, dass die Aussage korrekt ist. Die Wahrscheinlichkeit kann ein Nebenprodukt sein, das durch das CT selbst bereitgestellt wird.
-
In Schritt 284 kann das RCT eine Zuverlässigkeitsvorhersage für den Datenpunkt und die vorhergesagte Kennzeichnung bereitstellen. Bei einigen Ausführungsformen kann der in Schritt 276 bereitgestellte Datenpunkt auf den durch F2 definierten Raum projiziert werden, und weitere Merkmale (z. B. NeueMerkmale) können automatisch ergänzt werden.
-
In Schritt 292 kann dem Benutzer eine Ausgabe bereitgestellt werden. Der Benutzer kann dadurch über die Vorhersage und die Zuverlässigkeit dieser Vorhersage informiert werden. Außerdem oder alternativ kann der Benutzer auch über die Wahrscheinlichkeit informiert werden, dass die Vorhersage korrekt ist. Auf der Grundlage der dem Benutzer bereitgestellten Informationen kann der Benutzer entscheiden, ob er die Vorhersage akzeptiert, ein anderes Vorhersageverfahren nutzt, die Verwendung weiterer Daten in der Vorhersage anfordert oder auf der Grundlage der ausgegebenen Daten eine beliebige andere Maßnahme ergreift (Schritt 296). Bei einigen beispielhaften Ausführungsformen können einige oder alle der Maßnahmen auf der Grundlage vordefinierter Regeln automatisch ergriffen werden. Bei einigen beispielhaften Ausführungsformen kann dem Benutzer auf der Grundlage der Informationen eine vorgeschlagene Maßnahme empfohlen werden.
-
Wahlweise kann dem CT und/oder dem RCT in Anbetracht der vorhergesagten Kennzeichnungen und/oder Zuverlässigkeit eine Rückmeldung bereitgestellt werden. Wie nach dem Stand der Technik bekannt, kann eine Rückmeldung an Klassifikatoren genutzt werden, um zukünftige Vorhersagen zu verbessern.
-
Unter Bezugnahme auf 3A ist dort ein Ablaufplan eines Trainingsschemas zur Zuverlässigkeitsvorhersage gemäß einigen beispielhaften Ausführungsformen des offenbarten Gegenstands gezeigt. Das Verfahren aus 3A kann in Bezug auf die Trainingsphase aus 2C durchgeführt werden.
-
In Schritt 300 wird eine Trainingsdatenmenge (X, Y) empfangen.
-
In Schritt 310 kann ein Teil der in der Trainingsdatenmenge enthaltenen Datenpunkte (X1 ⊆ X) genutzt werden, um das CT zu trainieren.
-
In Schritt 320 und in Anbetracht des Trainings des CT kann das CT Vorhersagen in Bezug auf einen Teil der Datenpunkte (X2 ⊆ X) bereitstellen.
-
Zu beachten ist, dass X1 und X2 identisch sein können, einander zusammenfassen können, es sich dabei um nicht zusammenhängende Mengen handeln kann, bestimmte Schnittmengen oder eine beliebige andere Form der Beziehung untereinander aufweisen können. Bei einigen beispielhaften Ausführungsformen kann die gesamte Datenmenge sowohl für den Schritt 310 als auch für 320 genutzt werden. Bei einigen beispielhaften Ausführungsformen kann ein erster Teil in Schritt 310 genutzt werden, und ein komplementärer Teil kann in Schritt 320 genutzt werden.
-
Die Schritte 310 und 320 können mehrfach genutzt werden, zum Beispiel in Bezug auf unterschiedliche Trainingsdatenmengen während jeder Trainingssitzung. Erfasste Informationen bleiben möglicherweise zwischen den Trainingssitzungen nicht erhalten, zum Beispiel durch Initialisieren des CT zwischen Iterationen. Außerdem oder alternativ können erfasste Informationen erhalten bleiben, wodurch die Trainingsdatenmenge des CT mit jeder Iteration vergrößert werden kann.
-
Nach hinreichenden Iterationen kann der Schritt 330 ausgeführt werden. Die Hinlänglichkeit von Iterationen kann zum Beispiel bei Vorliegen von mindestens einer vorgegebenen Anzahl von Vorhersagen, nach einer vorgegebenen Anzahl von Iterationen oder Ähnlichem ermittelt werden. In Schritt 330 können die unterschiedlichen Vorhersagen in Bezug auf denselben Datenpunkt empfangen werden.
-
In Schritt 340 kann ein Stabilitätsmaß für den Datenpunkt berechnet werden.
-
Beispielsweise kann das Stabilitätsmaß S = CP / N betragen, wobei CP die allgemeine Vorhersage und N die Anzahl der getroffenen Vorhersagen ist. Unter weiterer Bezugnahme auf dieses Beispiel kann das Stabilitätsmaß 0,7 betragen, wenn es sich bei sieben von zehn Vorhersagen um eine Vorhersage der Kennzeichnung I und bei den weiteren drei Vorhersagen um eine oder mehrere andere Kennzeichnungen handelt. Als weiteres Beispiel kann das Stabilitätsmaß auf einer Varianz beruhen, die auf der Grundlage der unterschiedlichen Kennzeichnungen berechnet wurde. Bei einigen beispielhaften Ausführungsformen kann jeder Kennzeichnung eine Zahl zugewiesen werden, um eine Varianz berechnen zu können. Das Stabilitätsmaß kann zum Beispiel ein multiplikativer Kehrwert der Varianz sein, wodurch der niedrigste Wert die niedrigste Vorhersagestabilität anzeigt und die höchstmögliche Vorhersagestabilität (z. B. alle Vorhersagen sind identisch und die Varianz beträgt null) aus der höchsten Zahl besteht. Anstelle der oben erwähnten Beispiele können andere Verfahren zum Berechnen des Stabilitätsmaßes genutzt werden.
-
In Schritt 350 kann das berechnete Maß genutzt werden, um eine Zuverlässigkeitskennzeichnung für den Datenpunkt zu ermitteln, und die Zuverlässigkeitskennzeichnung kann genutzt werden, um das RCT zu trainieren (Schritt 360).
-
Bei einigen beispielhaften Ausführungsformen kann die Trainingsdatenmenge als Ganzes genutzt werden, um das CT zu einer beliebigen Zeit zu trainieren, nachdem die unterschiedlichen Vorhersagen empfangen wurden (bei den unterschiedlichen Iterationen in Schritt 320).
-
Unter Bezugnahme auf 3B ist dort ein Ablaufplan eines Trainingsschemas zur Zuverlässigkeitsvorhersage gemäß einigen beispielhaften Ausführungsformen des offenbarten Gegenstands gezeigt, der dem in 3A abgebildeten Ablaufplan ähnelt.
-
Anstelle des Schrittes 340 kann der Schritt 340' ausgeführt werden, bei dem ein Maß für den Korrekt-Anteil berechnet wird. Beispielsweise kann das Maß für den Korrekt-Anteil CF = L / N betragen, wobei L die in der Trainingsdatenmenge bereitgestellte Kennzeichnung und N die Anzahl der getroffenen Vorhersagen ist. Unter weiterer Bezugnahme auf dieses Beispiel kann das Maß für den Korrekt-Anteil 0,6 betragen, wenn es sich bei sechs von zehn Vorhersagen um eine Vorhersage der Kennzeichnung handelt, die in der Trainingsdatenmenge als korrekte Kennzeichnung angegeben ist. Außerdem oder alternativ kann der Korrekt-Anteil unter Verwendung eines berechenbaren Abstands zwischen der durchschnittlichen vorhergesagten Kennzeichnungen und der zugehörigen (korrekten) Kennzeichnung in der Trainingsdatenmenge bemessen werden.
-
Anzumerken ist, dass, wenn in Bezug auf den Datenpunkt eine einzige Vorhersage getroffen wird, der Korrekt-Anteil ein Binärwert sein kann, der anzeigt, ob die Vorhersage korrekt ist.
-
Unter Bezugnahme auf 4 ist dort ein Blockschaltbild von Komponenten einer computergestützten Vorrichtung gemäß einigen beispielhaften Ausführungsformen des offenbarten Gegenstands gezeigt.
-
Bei einigen Ausführungsformen kann die Vorrichtung 400 einen Prozessor 402 aufweisen. Bei dem Prozessor 402 kann es sich um eine zentrale Verarbeitungseinheit (CPU), einen Mikroprozessor, eine elektronische Schaltung, eine integrierte Schaltung (IC) oder Ähnliches handeln. Der Prozessor 402 kann genutzt werden, um von der Vorrichtung 400 oder von beliebigen ihrer Teilkomponenten geforderte Berechnungen durchzuführen.
-
Bei einigen beispielhaften Ausführungsformen kann die Vorrichtung 400 ein Eingabe/Ausgabe-Modul (E/A-Modul) 405 wie zum Beispiel einen Empfänger, Sender, Transceiver, ein Modem, eine Eingabeeinheit, eine Ausgabeeinheit oder Ähnliches aufweisen. Bei einigen beispielhaften Ausführungsformen wird das E/A-Modul 405 genutzt, um die Verbindung zu einer E/A-Einheit herzustellen, um einem Benutzer Eingabe- oder Ausgabemöglichkeiten bereitzustellen. Das E/A-Modul 405 kann mit einer Anzeigeeinheit, einer Zeigeeinheit, einer Tastatur oder Ähnlichem wirkverbunden sein. Es ist jedoch klar, dass das System auch ohne Bedienung durch einen Menschen arbeiten kann.
-
Bei einigen beispielhaften Ausführungsformen kann die Vorrichtung 400 einen Speicher 407 aufweisen. Bei dem Speicher 407 kann es sich um einen computergestützten Speicher wie zum Beispiel um einen Permanentspeicher oder flüchtigen Speicher oder um eine Kombination davon handeln. Zum Beispiel kann es sich bei dem Speicher 407 um eine Flash-Platte, einen Direktzugriffsspeicher (Random Access Memory, RAM), einen Speicherchip, eine optische Speichereinheit wie beispielsweise eine CD, eine DVD oder eine Laser-Platte; um eine Magnetspeichereinheit wie beispielsweise ein Band, eine Festplatte, ein Speichernetzwerk (Storage Area Network, SAN), einen netzwerkgebundenen Speicher (Network Attached Storage, NAS) oder Ähnliches; um eine Halbleiter Speichereinheit wie beispielsweise eine Flash-Speichereinheit, einen Memory-Stick oder Ähnliches handeln. Bei einigen beispielhaften Ausführungsformen weist der Speicher 407 mehrere Speichereinheiten wie zum Beispiel einen RAM und eine Festplatte auf. Bei einigen Ausführungsformen kann der Speicher 407 Programmcode speichern, der betriebsfähig ist, um den Prozessor 402 zu veranlassen, Aktionen oder Ähnliches im Zusammenhang mit einem beliebigen der Schritte auszuführen, die in den 2A bis 2C, 3A bis 3B gezeigt sind.
-
Die nachfolgend erläuterten Komponenten können als eine oder mehrere Mengen von untereinander in Beziehung stehenden Computeranweisungen realisiert sein, die zum Beispiel durch den Prozessor 402 oder durch einen anderen Prozessor ausgeführt werden. Die Komponenten können als eine oder mehrere ausführbare Dateien, dynamische Bibliotheken, statische Bibliotheken, Verfahren, Funktionen, Dienste oder Ähnliches realisiert sein, die in einer beliebigen Programmiersprache und unter einer beliebigen Datenverarbeitungsumgebung programmiert sind.
-
Bei einigen beispielhaften Ausführungsformen kann der Speicher 407 mithilfe von Software realisierte Klassifikatoren (410 und 420) aufweisen, die gemäß dem offenbarten Gegenstand als CT und RCT verwendet werden sollen. Bei einigen beispielhaften Ausführungsformen können die Klassifikatoren 410, 420 nicht unter Verwendung von Software realisiert sein und/oder sich außerhalb der Vorrichtung 400 befinden.
-
Die Definitionseinheit 430 für Zuverlässigkeitskennzeichnungen kann so konfiguriert sein, dass sie eine Zuverlässigkeitskennzeichnung definiert, die während einer Trainingsphase zum Trainieren des RCT verwendet werden soll. Die Definitionseinheit 430 für Zuverlässigkeitskennzeichnungen kann so konfiguriert sein, dass sie Schritte wie zum Beispiel 264, 330, 340, 340', 350 oder ähnliche ausführt. Bei einigen Ausführungsformen kann die Definitionseinheit 430 für Zuverlässigkeitskennzeichnungen mit der Stabilitätsberechnungseinheit 440, Korrekt-Anteil-Berechnungseinheit 450 oder einer ähnlichen Berechnungseinheit wirkverbunden sein, die zum Berechnen eines Maßes verwendet werden soll, das zum Definieren der Zuverlässigkeitskennzeichnung brauchbar ist.
-
Bei einigen beispielhaften Ausführungsformen kann eine Initialisierungseinheit 435 für Klassifikatoren so konfiguriert sein, dass sie einen Klassifikator wie zum Beispiel 410 initialisiert, um den Klassifikator zu veranlassen, zuvor erfasste Daten zu verwerfen. Die Initialisierungseinheit 435 für Klassifikatoren kann genutzt werden, um zu veranlassen, dass Trainingssitzungen des CT erfasste Daten nicht beibehalten, zum Beispiel zwischen dem Wiederholen der Schritte 310 und 320.
-
Bei einigen beispielhaften Ausführungsformen des offenbarten Gegenstands können zwei unterschiedliche Klassifikatoren trainiert werden. Der erste, CT, hat zum Ziel, das ursprüngliche Klassifizierungsproblem zu lösen, d. h. die Kennzeichnung vorherzusagen, die zu jeder Testinstanz gehört. Der zweite Klassifikator, RCT, kann zum Ziel haben, die Zuverlässigkeit der vom CT getroffenen Vorhersagen vorherzusagen. Bei einigen beispielhaften Ausführungsformen kann RCT als Funktion von X bis {0, 1} gedacht werden, wobei RCT(x) = 1 bedeutet, dass CT(x) als „zuverlässig” anzusehen ist, und RCT(x) = 0 bedeutet, dass CT(x) als „nicht zuverlässig” anzusehen ist. Der offenbarte Gegenstand ist nicht auf die oben erwähnte Ausführungsform beschränkt. Beispielsweise können unterschiedliche Punktbewertungen genutzt werden, um die Zuverlässigkeit und Unzuverlässigkeit anzudeuten.
-
Der Ablaufplan und die Blockschaltbilder in den Figuren veranschaulichen die Architektur, Funktionalität und Wirkungsweise möglicher Realisierungsformen von Systemen, Verfahren und Computerprogrammprodukten gemäß den verschiedenen Ausführungsformen der vorliegenden Offenbarung der Erfindung. Dementsprechend kann jeder Block im Ablaufplan und in einigen der Blöcke in den Blockschaltbildern ein Modul, ein Segment oder einen Teil des Programmcodes darstellen, der eine oder mehrere ausführbare Anweisungen zur Realisierung der angegebenen Logikfunktion bzw. Logikfunktionen aufweist. Außerdem sollte beachtet werden, dass bei einigen alternativen Realisierungsformen die im Block angegebenen Funktionen in einer anderen als der in den Figuren angegebenen Reihenfolge ausgeführt werden können. Beispielsweise können zwei hintereinander aufgeführte Blöcke tatsächlich im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können je nach der damit verbundenen Funktionalität manchmal in umgekehrter Reihenfolge ausgeführt werden. Darüber hinaus ist anzumerken, dass jeder Block der dargestellten Blockschaltbilder und/oder des dargestellten Ablaufplans sowie Kombinationen von Blöcken in den dargestellten Blockschaltbildern und/oder im dargestellten Ablaufplan mithilfe von speziellen Systemen auf der Grundlage von Hardware zur Ausführung der angegebenen Funktionen bzw. Aktionen oder mithilfe von Kombinationen aus spezieller Hardware und Computeranweisungen realisiert werden kann bzw. können.
-
Die im vorliegenden Dokument verwendete Terminologie dient ausschließlich zur Beschreibung bestimmter Ausführungsformen und ist nicht als Einschränkung der Offenbarung gedacht. Die hier verwendeten Einzahlformen „ein/eine” und „der/die/das” schließen auch die Pluralformen ein, sofern im Kontext nicht ausdrücklich etwas anderes angegeben ist. Es versteht sich des Weiteren, dass die Begriffe „weist auf” bzw. „aufweisen” bei Verwendung in der vorliegenden Beschreibung das Vorhandensein angegebener Merkmale, Ganzzahlen, Schritte, Operationen, Elemente und/oder Komponenten bezeichnen, jedoch das Vorhandensein oder die Hinzufügung eines bzw. einer oder mehrerer anderer Merkmale, Ganzzahlen, Schritte, Operationen, Elemente, Komponenten und/oder Gruppen davon nicht ausschließen.
-
Dem Fachmann wird klar sein, dass der offenbarte Gegenstand in Form eines Systems, Verfahrens oder Computerprogrammprodukts verkörpert sein kann. Dementsprechend kann der offenbarte Gegenstand die Form einer vollständig in Hardware realisierten Ausführungsform, einer vollständig in Software realisierten Ausführungsform (einschließlich Firmware, residenter Software, Mikrocode usw.) oder einer Ausführungsform annehmen, die Software- und Hardwareaspekte kombiniert, die im vorliegenden Dokument allgemein als „Schaltung”, „Modul” oder „System” bezeichnet werden. Ferner kann der offenbarte Gegenstand die Form eines Computerprogrammprodukts annehmen, das in einem beliebigen materiellen computerlesbaren Ausdrucksmedium verkörpert ist, auf dem computerlesbarer Programmcode verkörpert ist.
-
Es können beliebige Kombinationen eines oder mehrerer computernutzbarer oder computerlesbarer Medien verwendet werden. Das computernutzbare oder computerlesbare Medium kann beispielsweise und ohne darauf beschränkt zu sein, ein beliebiges nichtflüchtiges computerlesbares Medium, elektronisches, magnetisches, optisches oder elektromagnetisches System bzw. ein Infrarot- oder Halbleitersystem bzw. eine derartige Vorrichtung oder Einheit oder ein Ausbreitungsmedium sein. Zu den genaueren Beispielen (unvollständige Liste) computerlesbarer Speichermedien zählen unter anderem folgende: elektrische Verbindung mit einer oder mehreren der Leitungen, transportable Computerdiskette, Festplatte, Direktzugriffsspeicher (RAM), Nur-Lese-Speicher (ROM), löschbarer programmierbarer Nur-Lese-Speicher (EPROM oder Flash-Speicher), Lichtleiter, transportabler Nur-Lese-Speicher in Form einer Compact Disc (CD-ROM), optische Speichereinheit, ein Übertragungsmedium wie beispielsweise solche, die das Internet oder ein Intranet unterstützen, oder magnetische Speichereinheit. Zu beachten ist, dass das computernutzbare oder computerlesbare Medium sogar Papier oder ein anderes geeignetes Medium sein könnte, auf dem das Programm gedruckt ist, da das Programm elektronisch erfasst werden kann, zum Beispiel durch optisches Scannen des Papiers oder anderen Mediums, anschließend, wenn notwendig, kompiliert, interpretiert oder anderweitig in geeigneter Weise verarbeitet und danach in einem Computerspeicher gespeichert werden kann. Im Kontext dieses Dokuments kann ein computernutzbares oder computerlesbares Medium ein beliebiges Medium sein, das ein Programm enthalten, speichern, übertragen, verbreiten oder transportieren kann, das von oder in Verbindung mit dem System, der Vorrichtung oder der Einheit zur Befehlsausführung genutzt werden kann. Das computernutzbare Signalmedium kann unter anderem ein im Basisband oder als Teil einer Trägerwelle verbreitetes Datensignal mit darin verkörpertem computernutzbarem Programmcode aufweisen. Der computernutzbare Programmcode kann mithilfe eines beliebigen geeigneten Mediums übertragen werden, beispielsweise und ohne darauf beschränkt zu sein, drahtlos, drahtgebunden, über Lichtwellenleiter, Hochfrequenz (HF) und Ähnliches.
-
Computerprogrammcode zur Ausführung von Operationen der vorliegenden Offenbarung kann in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen, darunter in einer objektorientierten Programmiersprache wie Java, Smalltalk, C++ oder Ähnlichem und in herkömmlichen prozeduralen Programmiersprachen wie „C” oder ähnlichen Programmiersprachen geschrieben sein. Der Programmcode kann vollständig auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Softwarepaket, teilweise auf dem Computer des Benutzers und teilweise auf einem entfernt angeordneten Computer oder vollständig auf dem entfernt angeordneten Computer oder Server ausgeführt werden. Beim letztgenannten Szenario kann der entfernt angeordnete Computer mit dem Computer des Benutzers über eine beliebige Art von Netzwerk verbunden sein, unter anderem über ein lokales Netzwerk (LAN) oder ein Weitverkehrsnetzwerk (WAN), oder die Verbindung kann zu einem externen Computer hergestellt werden (beispielsweise über das Internet unter Nutzung eines Internet-Dienstanbieters (Internet Service Provider)).
-
Die entsprechenden Strukturen, Materialien, Aktionen und Äquivalente aller Mittel bzw. Schritt-plus-Funktion-Elemente (Step plus Function Elements) in den folgenden Ansprüchen sollen alle Strukturen, Materialien oder Aktionen zur Ausführung der Funktion in Verbindung mit anderen ausdrücklich beanspruchten Elementen mit einschließen. Die Beschreibung der vorliegenden Offenbarung soll der Veranschaulichung und Beschreibung dienen, ist jedoch nicht vollständig oder auf die Offenbarung in der offenbarten Form beschränkt. Für den Fachmann sind viele Modifikationen und Variationen denkbar, ohne dass diese eine Abweichung vom Schutzbereich und Gedanken der Offenbarung darstellen würden. Die Ausführungsform wurde ausgewählt und beschrieben, um die Grundgedanken und die praktische Anwendung der Offenbarung auf bestmögliche Weise zu erklären und anderen Fachleuten das Verständnis der Offenbarung für verschiedene Ausführungsformen mit verschiedenen Abänderungen für die betreffende betrachtete Verwendung zu ermöglichen.