-
HINTERGRUND
-
Die Verwendung eines Maschinenlernens und von künstlicher Intelligenz (AI) in Berechnungssystemen wird gebräuchlich. Tatsächlich ist die Implementierung von „intelligenten“ Algorithmen - Algorithmen, die einen gewissen Grad eines Maschinenlernens oder Al umfassen - in vielen Bereichen der Industrie üblich. Diese Algorithmen gibt es z.B. in der Medizin, im Finanzbereich, bei der Bildgebung, im elektronischen Handel, bei einer Audioverarbeitung, usw. Allgemein gibt es zwei Typen von Maschinenlernalgorithmen. Ein erster Typ dieser Algorithmen basiert auf relativ unkomplizierten Formulierungen und ist deshalb allgemein interpretierbar. Beispiele für diesen ersten Typ umfassen eine lineare Regression, eine logistische Regression, Entscheidungsbäume, usw. Ein Vorteil dieser Algorithmen besteht darin, dass deren Durchführung visualisiert und folglich durch Menschen interpretiert werden kann. Beispielsweise ermöglichen es Gewichtungen, die für ein lineares Regressionsmodell gelernt worden sind, einem Analysten die relative Wichtigkeit von verschiedenen Dateneigenschaften, die durch das Modell verwendet werden, zu bestimmen, um einer Entscheidung zu kommen. Entscheidungen, die von Modellen getroffen worden sind, die gemäß dieses ersten Typs von Algorithmus ausgebildet sind, können folglich einfach gerechtfertigt werden, wobei z.B. der Analyst die Entscheidung durch Angeben erklären kann, wie die bestimmten Gewichtungen bestimmte Eigenschaftswerte in eine Richtung verschieben, so dass bewirkt wird, dass diese Modelle zu der Entscheidung kommen.
-
Im Gegensatz zu diesem ersten Typ von Algorithmus gibt es einen zweiten Typ, der auf Formulierungen basiert, die nicht-lineare Funktionen darstellen können. Beispiele für diesen zweiten Typ von Algorithmus umfassen neuronale Netzwerke, „Random forests“, „Gradient boosted trees“, usw. Ein Vorteil dieser Algorithmen besteht darin, dass sie komplexere Strukturen bzw. Muster in Daten modellieren können als der erste Typ von Algorithmus und folglich typischerweise eine höhere Genauigkeit in Bezug auf die meisten Datensätze erreichen als der erste Typ. Ein Kompromiss zum Erreichen dieses höheren Genauigkeitsniveaus ist jedoch die Modellinterpretierbarkeit. Neuronale Netzwerke umfassen z.B. im Allgemeinen verborgene Schichten mit verschiedenen Aktivierungen und „Dropout“, und „Random forests“ können Tausende von Bäumen aufweisen, wobei eine endgültige Entscheidung eine Funktion ist, die individuelle Vorhersagen kombiniert, die durch jeden dieser Bäume durchgeführt worden sind. Solche Modelle können insofern als „Black boxes“ betrachtet werden, als die Logik dieser Modelle, die während des Betriebs zum Erzeugen von Ausgaben verwendet wird, größtenteils nicht bekannt ist. Ein Mangel an Interpretierbarkeit bezüglich dessen, wie Black-box-Modelle Ausgaben erzeugen, kann bewirken, dass Nutzer diesen Modellen misstrauen und auch eine zukünftige Planung in Bezug auf Ausgaben solcher Modelle schwierig ist. Dies ist darauf zurückzuführen, dass aufgrund der unbekannten Logik solcher Modelle Analysten nicht in der Lage sind, zuverlässig die Ausgaben solcher Modelle vorherzusagen. Aufgrund dieses Mangels an Interpretierbarkeit werden manche Typen von Maschinenlernmodellen einfach nicht für Anwendungen eingesetzt, in denen sie ansonsten geeignet wären.
-
ZUSAMMENFASSUNG
-
Zum Lösen dieser Probleme wird eine Regelfestlegung für Black-box-Maschinenlernmodelle in einer digitalen Medienumgebung eingesetzt. Diese Regeln werden durch ein Interpretationssystem festgelegt, um den Betrieb eines Black-box-Maschinenlernmodells zu beschreiben, um Eingaben des Modells festgestellten Ausgaben des Modells zuzuordnen, und ohne zur Durchführung dieser Zuordnungen die Logik zu kennen, die im Betrieb durch das Modell verwendet wird. Zum Festlegen dieser Regeln erhält das Interpretationssystem zu Beginn Daten, welche die Eingaben und festgestellten Ausgaben des Black-box-Maschinenlernmodells umfassen. Das Interpretationssystem erzeugt ein Proxy-Black-box-Modell zum Nachahmen des Verhaltens des Black-box-Maschinenlernmodells auf der Basis der erhaltenen Daten.
-
Ferner nutzt das Interpretationssystem Wahrscheinlichkeiten, die durch das Proxy-Black-box-Modell bereitgestellt werden, zum Erzeugen von Bedingungen für die festgestellten Ausgaben des Black-box-Maschinenlernmodells. Bezüglich dieser Wahrscheinlichkeiten gibt das Proxy-Black-box-Modell Ausgabewahrscheinlichkeiten für eine gegebene Eingabeinstanz an, wobei das Black-box-Maschinenlernmodell jede der festgestellten Ausgaben der Eingabeinstanz zuordnet. Die erzeugten Bedingungen sind jeweils eine Kombination einer Dateneigenschaft der Eingabeinstanzen und eines Werts oder Bereichs von Werten, wie z.B. von einer Eingabeinstanz, die einer festgestellten Ausgabe gemäß den Wahrscheinlichkeiten zugeordnet ist. Das Interpretationssystem erzeugt dann Regeln, die den Betrieb des Black-box-Maschinenlernmodells beschreiben, und zwar durch Kombinieren dieser Bedingungen unter Verwendung eines genetischen Algorithmus. Die Regeln werden dann als Wenn-dann-Aussagen ausgegeben, die mit einem Wenn-Abschnitt, der als eine Liste der Bedingungen ausgebildet ist, und einem Dann-Abschnitt, der eine Angabe der zugeordneten festgestellten Ausgabe aufweist, ausgebildet sind.
-
Diese Zusammenfassung zeigt eine Auswahl von Konzepten in einer vereinfachten Form, die nachstehend in der detaillierten Beschreibung weiter beschrieben werden. Deshalb soll diese Zusammenfassung keine essentiellen Merkmale des beanspruchten Gegenstands angeben, noch soll sie als Hilfe bei der Bestimmung des Umfangs des beanspruchten Gegenstands verwendet werden.
-
Figurenliste
-
Die detaillierte Beschreibung nimmt auf die beigefügten Figuren Bezug.
- 1 ist eine Darstellung einer Umgebung in einer Beispielimplementierung, die zum Nutzen von hier beschriebenen Techniken betrieben werden kann.
- 2 zeigt eine Beispielimplementierung, in der ein lernbasiertes Abgabesystem von 1 Regeln festlegt, die den Betrieb eines Maschinenlernmodells beschreiben.
- 3 zeigt ein Beispiel für eine Nutzerschnittstelle, die zum Darstellen von Regeln für ein Black-box-Maschinenlernmodell ausgebildet ist.
- 4A und 4B zeigen ein Verfahren in einer Beispielimplementierung, in dem Regeln festgelegt werden, die den Betrieb eines Black-box-Maschinenlernmodells beschreiben.
- 5 zeigt ein Verfahren in einer Beispielimplementierung, in dem eine Auswahltechnik zum Auswählen eines Teilsatzes der Regeln auf der Basis einer Eingabe, die mindestens einen Optimierungsfaktor zum Optimieren der Auswahl angibt, festgelegt wird.
- 6 zeigt ein Beispielsystem, das verschiedene Komponenten einer Beispielvorrichtung umfasst, die als jedweder Typ von Rechenvorrichtung implementiert werden kann, wie es unter Bezugnahme auf die 1 bis 5 beschrieben und/oder verwendet wird, um Ausführungsformen der hier beschriebenen Techniken zu implementieren.
-
DETAILLIERTE BESCHREIBUNG
-
Überblick
-
Die Verwendung eines Maschinenlernens und von künstlicher Intelligenz (AI) in Berechnungssystemen ist gebräuchlich geworden. Einige Typen von Maschinenlernmodellen arbeiten jedoch derart, dass sie Ausgaben in einer Weise erzeugen, die durch Menschen nicht interpretierbar ist. Solche Modelle können insofern als „Black boxes“ bezeichnet werden, als die Logik dieser Modelle, die während des Betriebs zum Erzeugen von Ausgaben verwendet wird, größtenteils unbekannt ist. Beispiele für Algorithmen zum Implementieren dieser Modelle umfassen neuronale Netzwerke, „Random forests“, „Gradient boosted trees“, usw. Ein Vorteil dieser Algorithmen besteht darin, dass sie komplexere Strukturen oder Muster in Daten modellieren können als Algorithmen, die im Allgemeinen vom Menschen interpretierbar sind -lineare Regression, logistische Regression, Entscheidungsbäume - und folglich typischerweise eine höhere Genauigkeit in Bezug auf die meisten Datensätze als diese vom Menschen interpretierbaren Algorithmen erreichen. Ein Mangel an Interpretierbarkeit bezüglich dessen, wie Black-box-Modelle Ausgaben erzeugen, kann bewirken, dass Nutzer solchen Modellen misstrauen, und macht auch eine zukünftige Planung bezüglich Ausgaben der Modelle schwierig. Aufgrund dieses Mangels an Interpretierbarkeit werden einige Typen von Maschinenlernmodellen einfach nicht für Anwendungen verwendet, in denen sie ansonsten geeignet wären.
-
Zum Lösen dieser Probleme wird eine Regelfestlegung für Black-box-Maschinenlernmodelle in einer digitalen Medienumgebung genutzt. Es soll ein Beispiel betrachtet werden, in dem ein Black-box-Maschinenlernmodell zum Klassifizieren von Nutzern von Clientvorrichtungen in verschiedene Klassen verwendet wird und in dem ein unterschiedlicher digitaler Marketinginhalt für verschiedene Nutzer von Clientvorrichtungen gemäß der durch das Modell angegebenen Klasse bereitgestellt wird. In diesem Szenario legt ein Interpretationssystem, das gemäß den beschriebenen Techniken ausgebildet ist, Regeln fest, die von einem Menschen interpretierbar sind und erläutern, wie dieses Black-box-Maschinenlernmodell die verschiedenen Nutzer von Clientvorrichtungen in die verschiedenen Klassen klassifiziert. Diese Regeln sind teilweise aufgrund des Formats, in dem sie ausgebildet sind, vom Menschen interpretierbar.
-
Insbesondere sind die Regeln, die durch das Interpretationssystem festgelegt werden, als Wenn-dann-Aussagen ausgebildet, die einen Wenn-Abschnitt umfassen, der als eine Liste von eingegebenen Eigenschaftswerten ausgebildet ist, die zu einer festgestellten Ausgabe führen. Diese Wenn-dann-Aussagen umfassen auch einen Dann-Abschnitt, der eine Angabe der festgestellten Ausgabe umfasst, die aus den eingegebenen Eigenschaftswerten resultiert. Unter Bezugnahme auf das vorstehend diskutierte Nutzerklassifizierungsbeispiel kann eine Wenn-dann-Aussage erzeugt werden, die einen Wenn-Abschnitt umfasst, der als eine Liste von Nutzereigenschaften (z.B. ein bestimmtes Alter und ein bestimmter Ort) ausgebildet ist, die zu einer der festgestellten Klassifizierungen führen. In diesem Beispiel wird die eine festgestellte Klassifizierung durch den Dann-Abschnitt der Aussage angegeben. Ein Beispiel für eine solche vom Menschen interpretierbare Regel, die durch das Interpretationsmodul als eine Wenn-dann-Aussage gebildet wird, ist ‚WENN 10 s Alter < 25 UND Bundesstaat = Kalifornien DANN Vorhersagen von Klasse_1‘. Hier sind ‚10 ≤ Alter < 25‘ und ‚Bundesstaat = Kalifornien‘ die kombinierten Eigenschaftswerte der Eingabe und ‚Klasse_1‘ ist die festgestellte Ausgabe.
-
Gemäß den beschriebenen Techniken bestimmt das Interpretationssystem diese Regeln ohne Kenntnis der Logik, die ein Black-box-Maschinenlernmodell im Betrieb zum Zuordnen der festgestellten Ausgaben des Modells zu Eingaben in das Modell nutzt. Tatsächlich kennt das Interpretationssystem keinen Typ des Modells (z.B. neuronales Netzwerk, „Random forest“, „Gradient boosted tree“, usw.) oder ob die Black box ein einzelnes Modell oder ein Ensemble von verschiedenen Maschinenlernmodellen umfasst. Stattdessen legt das Interpretationssystem die Regeln lediglich aus den Eingaben und Ausgaben des Modells fest. Zu diesem Zweck erhält das Interpretationssystem zu Beginn Daten, welche die Eingaben und festgestellten Ausgaben des Black-box-Maschinenlernmodells angeben. Auf der Basis dieser Daten erzeugt das Interpretationssystem ein Proxy-Black-box-Modell zum Nachahmen des Verhaltens des Black-box-Maschinenlernmodells. Das Proxy-Black-box-Modell gibt Wahrscheinlichkeiten einer Instanz von eingegebenen Daten aus, wobei das Black-box-Maschinenlernmodell die Instanz jeder der verschiedenen Ausgaben zuordnet. Es soll angenommen werden, dass das Black-box-Maschinenlernmodell vier verschiedene Ausgaben aufweisen soll. In diesem Beispiel gibt das Proxy-Black-box-Modell vier Wahrscheinlichkeiten in Bezug auf eine gegebene Instanz von eingegebenen Daten aus, die eine Wahrscheinlichkeit angeben, die das Black-box-Maschinenlernmodell jede der vier verschiedenen festgestellten Ausgaben der gegebenen Instanz von eingegebenen Daten zuordnet. Es wird davon ausgegangen, dass eine festgestellte Ausgabe mit der höchsten Wahrscheinlichkeit die Ausgabe ist, die das Black-box-Maschinenlernmodell der Eingabeinstanz zuordnet.
-
Allgemein werden die gegenwärtigen Black-box-Maschinenlernmodelle, die zum Bereitstellen von Diensten verwendet werden, z.B. zum Klassifizieren von Nutzern in Klassen für eine zielgerichtete Inhaltsabgabe, Bilderkennung, usw., nicht zum Festlegen eines begrenzten Satzes von festlegbaren Regeln für das System genutzt. Dies ist darauf zurückzuführen, dass diese Modelle täglich geändert werden können - die Systeme, welche diese Modelle nutzen, können ein neues Black-box-Maschinenlernmodell trainieren und das neu trainierte Modell auf einer täglichen Basis verwenden. Demgemäß gibt es, wenn das Interpretationssystem zum Festlegen von Regeln des Black-box-Maschinenlemmodells über einem bestimmten Datenbereich verwendet wird, ein Verhalten von mehr als einem Modell, das analysiert werden muss. Dennoch ist das Interpretationssystem so ausgebildet, dass es einen einzelnen Satz von Regeln zum Erläutern des Verhaltens des Black-box-Maschinenlernmodells bereitstellt - und zwar über der Gesamtheit des Datenbereichs. Zu diesem Zweck ist das Proxy-Black-box-Modell zum Nachahmen des Verhaltens des Black-box-Maschinenlernmodells über dem Verlauf des Datenbereichs ausgebildet, so dass das Interpretationssystem Regeln über der Gesamtheit des Datenbereichs festlegen kann. In mindestens einigen Szenarien wird ein Ensemble von verschiedenen Maschinenlernmodellen zum Bereitstellen von Diensten verwendet. In diesen Szenarien ist das Proxy-Black-box-Modell dahingehend effektiv, das Verhalten dieser Kombination von verschiedenen Modellen nachzuahmen, so dass Regeln, die das Verhalten des Ensembles erläutern, festgelegt werden können.
-
Das Interpretationssystem nutzt die Wahrscheinlichkeiten, die durch das Proxy-Black-box-Modell bereitgestellt werden, zum Erzeugen von Bedingungen für die festgestellten Ausgaben des Black-box-Maschinenlernmodells. Diese Bedingungen umfassen jeweils eine Angabe einer Eigenschaft und eines Werts oder Bereichs von Werten der Eigenschaft, die zu einer festgestellten Ausgabe führt. Unter Verwendung eines genetischen Algorithmus kombiniert das Interpretationssystem diese Bedingungen zur Bildung von potenziellen Regeln. Diese potenziellen Regeln werden dann auf der Basis der Techniken gefiltert, die nachstehend detailliert beschrieben werden, um einen Teilsatz der Regeln zu erzeugen, der dann ausgegeben wird, um den Betrieb des Black-box-Maschinenlernmodells zu beschreiben. In einer oder mehreren Implementierung(en) wird eine Top-k-Anzahl von Regeln (z.B. Top-5 oder eine vom Nutzer ausgewählte Anzahl von Regeln) zur Darstellung für einen Nutzer einer Clientvorrichtung ausgegeben (z.B. als eine angezeigte oder hörbare Ausgabe). Alternativ oder zusätzlich kann der gesamte Teilsatz von Regeln in ein Dokument (z.B. eine Tabelle) eingesetzt werden, die eine Clientvorrichtung für einen Nutzer darstellen kann.
-
Demgemäß weist das Interpretationssystem mehrere Vorteile auf. Ein Vorteil besteht darin, dass das Interpretationssystem mittels der Regeln den Betrieb der Black-box-Maschinenlernmodelle in einer vom Menschen interpretierbaren Form erläutert. Dies ist dahingehend effektiv, es Menschen (z.B. Datenanalysten, Vermarktern, Systementwicklern) zu ermöglichen, zu verstehen, wie Black-box-Maschinenlernmodelle zu bestimmten Ausgaben gelangen, wenn bestimmte eingegebene Daten vorliegen. Das Verständnis, wie diese Black-box-Maschinenlernmodelle zu den Ausgaben gelangen, kann in verschiedenen Szenarios verwendet werden. Beispielsweise ermöglicht dieses Verständnis das Erstellen von Plänen bezüglich der Ausgabe eines Black-box-Maschinenlernmodells und folglich von vorhersagbaren menschlichen Dokumenten, die im Zusammenhang mit Systemen verwendet werden, in denen diese Modelle einbezogen sind, wie z.B. Versicherungsverhältnissen, -verträgen, -gesetzen, usw. Die Verwendung dieser Instrumente ist ohne Transparenz dahingehend, wie diese Modelle arbeiten, und ohne Vorhersagbarkeit in Bezug auf die Ausgaben, die sie erzeugen, größtenteils nicht möglich. Dieses Verständnis ermöglicht auch ein Fehlerbeseitigen bei diesen Modellen. Diese Regeln ermöglichen es einem Entwickler eines solchen Modells allgemein aus den Regeln zu bestimmen, warum das Modell eine bestimmte Ausgabe erzeugt, wenn eine bestimmte Eingabe vorliegt. In Szenarios, bei denen die Ausgabe, die durch das Modell erzeugt wird, nicht das gewünschte Verhalten ist, kann der Entwickler Daten, die zum Trainieren des Modells verwendet werden, justieren (oder Trainingsdaten hinzufügen, die dem gewünschten Verhalten entsprechen), und das Modell erneut trainieren, so dass es sich in der gewünschten Weise verhält. Tatsächlich hat das Vermögen zum Interpretieren, wie Black-box-Maschinenlernmodelle arbeiten, verschiedene Vorteile.
-
Beschreibung von Begriffen
-
Wie hier verwendet, bezieht sich der Begriff „Regel“ allgemein auf eine Wenn-dann-Aussage, wobei ein Wenn-Abschnitt eine Mehrzahl von Eigenschaftswerten umfasst, die durch einen UND-Operator verbunden sind, und wobei ein Dann-Abschnitt einer festgestellten Ausgabe entspricht, die als Reaktion auf das Auftreten der Werte gilt, die in dem Wenn-Abschnitt in einer Instanz einer Dateneingabe in ein Modell angegeben sind. Der UND-Operator ist eine Verknüpfung zwischen mindestens zwei Eigenschaftswerten. Beispielsweise sind ‚10 ≤ Alter < 25‘ und ‚Bundesstaat = Kalifornien‘ Bedingungen, die dazu führen, dass ein Modell eine Angabe eines ersten Inhaltsgegenstands, ‚Inhalt_1‘, ausgibt, wobei dann eine Regel, die gemäß den beschriebenen Techniken ausgebildet ist, das Format ‚WENN 10 ≤ Alter < 25 UND Bundesstaat = Kalifornien DANN Vorhersagen von Inhalt_1‘ aufweisen kann.
-
Wie er hier und im Zusammenhang mit genetischen Algorithmen verwendet wird, bezieht sich der Begriff „Individuen“ auf Datenstrukturen zum Erfassen der Ergebnisse eines genetischen Algorithmus. In einer oder mehreren Implementierung(en) sind diese Individuen Bitfolgen, wobei ein aktiviertes Bit eine Auswahl eines auswählbaren Gegenstands durch den genetischen Algorithmus angibt, z.B. eine Bedingung (zur Bildung von Regeln), eine Regel (zur Bildung eines Satzes von Regeln), usw.
-
Wie er hier und im Zusammenhang mit genetischen Algorithmen verwendet wird, bezieht sich der Begriff „Fitnessfunktion“ auf eine Zielfunktion zum Bewerten einer Lösung, die durch einen genetischen Algorithmus erzeugt worden ist, im Hinblick auf einen oder mehrere Faktor(en), wie z.B. Genauigkeit und Abdeckung der Lösung. Wie hier verwendet, bezieht sich „Genauigkeit“ auf die Richtigkeit einer Regel oder eines Satzes von Regeln, z.B. ob die Regel oder der Satz die festgestellten Ausgaben richtig vorhersagt. Der Begriff „Abdeckung“ bezieht sich auf die Menge der Gesamtheit von eingegebenen Daten, für die eine Regel oder ein Satz von Regeln gilt.
-
In der folgenden Diskussion wird zuerst eine Beispielumgebung beschrieben, welche die hier beschriebenen Techniken nutzen kann. Dann werden Details und Verfahren bzw. Vorgänge der Beispielimplementierung beschrieben, die in der Beispielumgebung sowie anderen Umgebungen durchgeführt werden können. Folglich ist das Leistungsvermögen der Beispielverfahren nicht auf die Beispielumgebung beschränkt und die Beispielumgebung ist nicht auf das Leistungsvermögen der Beispielverfahren beschränkt.
-
Beispielumgebung
-
Die 1 ist eine Darstellung einer Umgebung 100 in einer Beispielimplementierung, die so betrieben werden kann, dass sie eine Regelfestlegung für Black-box-Maschinenlernmodelle nutzt, wie es hier beschrieben ist. Die gezeigte Umgebung 100 umfasst ein Dienstprovidersystem 102, eine Clientvorrichtung 104 und ein lernbasiertes Abgabesystem 106, die mittels eines Netzwerks 108 kommunikativ miteinander gekoppelt sind.
-
Rechenvorrichtungen, die zum Implementieren des Dienstprovidersystems 102, der Clientvorrichtung 104 und des lernbasierten Abgabesystems 106 verwendet werden können, können verschiedenartig ausgebildet sein. Eine Rechenvorrichtung kann z.B. als ein Desktopcomputer, ein Laptopcomputer, eine mobile Vorrichtung (z.B. eine handgehaltene Konfiguration, wie z.B. ein Tablet oder ein Mobiltelefon), usw., ausgebildet sein. Folglich kann die Rechenvorrichtung von Vorrichtungen mit vollständigen Ressourcen mit wesentlichen Speicher- und Prozessorressourcen (z.B. Personalcomputer, Spielekonsolen) zu einer Vorrichtung mit geringen Ressourcen mit begrenzten Speicher- und/oder Verarbeitungsressourcen (z.B. mobilen Vorrichtungen) reichen. Zusätzlich kann eine Rechenvorrichtung eine Mehrzahl von verschiedenen Vorrichtungen repräsentieren, wie z.B. eine Mehrzahl von Servern, die von einem Unternehmen verwendet werden, um einen Betrieb „über die Cloud“ durchzuführen, wie es in Bezug auf die 6 weiter beschrieben wird.
-
Das Dienstprovidersystem 102 ist so gezeigt, dass es ein Dienstverwaltungsmodul 110 umfasst, das für eine Funktionalität zum Bereitstellen von Diensten ausgebildet ist, die über das Netzwerk 108 zugänglich sind und die verwendet werden können, um einem Verbraucher Produkte oder Dienste zur Verfügung zu stellen. Das Dienstverwaltungsmodul 110 kann z.B. eine Website oder andere Funktionalität, die über das Netzwerk 108 durch ein Kommunikationsmodul 112 der Clientvorrichtung 104 zugänglich ist, bereitstellen. Das Kommunikationsmodul 112 kann z.B. als Browser, eine durch ein Netzwerk ermöglichte Anwendung, usw., ausgebildet sein, der bzw. die Daten von dem Dienstprovidersystem 102 über das Netzwerk 108 erhält. Diese Daten werden durch das Kommunikationsmodul 112 verwendet, um es einem Nutzer der Clientvorrichtung 104 zu ermöglichen, mit dem Dienstprovidersystem 102 zu kommunizieren, um Informationen bezüglich der Produkte oder Dienste, z.B. Webseiten mit neuen Artikeln, wenn das Dienstprovidersystem 102 ein Nachrichtendienst ist, zu erhalten.
-
Zum Personalisieren der Informationen für den Nutzer von Clientvorrichtungen kann das Dienstprovidersystem 102 ein lernbasiertes Abgabesystem 106 einsetzen. Obwohl die Funktionalität des lernbasierten Abgabesystems 106 als getrennt von dem Dienstprovidersystem 102 gezeigt ist, kann diese Funktionalität auch als Teil des Dienstprovidersystems 102 einbezogen werden, weiter zwischen anderen Einheiten aufgeteilt werden, usw. Das lernbasierte Abgabesystem 106 umfasst ein Lernverwaltungseinrichtungsmodul 114, das mindestens teilweise als Hardware einer Rechenvorrichtung implementiert ist, um ein Black-box-Maschinenlernmodell 116 und ein Interpretationsmodul 118 zu erzeugen, die eine Funktionalität zum Festlegen von Regeln für Maschinenlernmodelle, wie z.B. das Black-box-Maschinenlernmodell 116, darstellen. In einer oder mehreren Implementierung(en) sind diese Regeln als Wenn-dann-Aussagen ausgebildet, die Daten festlegen, die ein Black-box-Modell bei bestimmten eingegebenen Daten ausgibt.
-
Das Black-box-Maschinenlernmodell 116 ist ein Beispiel für ein Modell, für welches das Interpretationsmodul 118 solche Regeln festlegt. In einer oder mehreren Implementierung(en) repräsentiert das Black-box-Maschinenlernmodell 116 eine Funktionalität zum Abgeben eines digitalen Inhalts 120 an Clientvorrichtungen, der so gezeigt ist, dass er in dem Speicher 122 gespeichert ist, in einem Versuch, zu bewirken, dass der Nutzer von Clientvorrichtungen in Bezug auf die Produkte oder Dienste des Dienstprovidersystems 102 eine Umstellung vornimmt. Gemäß den beschriebenen Techniken hat das Black-box-Maschinenlernmodell 116 auf der Basis einer oder mehrerer Maschinenlerntechnik(en) gelernt, den digitalen Inhalt 120 in einer Weise abzugeben, welche die Umstellung optimiert. Beispielsweise kann das Black-box-Maschinenlernmodell 116 ein neuronales Netzwerk umfassen, das auf der Basis einer oder mehrerer Verlustfunktion(en) und einer Rückübertragung trainiert worden ist, um die Abgabe des digitalen Inhalts 120 an Clientvorrichtungen in einer Weise zu optimieren, welche die Umstellung maximiert.
-
Der digitale Inhalt 120 kann verschiedene Formen aufweisen, wie z.B. Bilder 124, Videos 126, usw. Das lernbasierte Abgabesystem 106 kann verschiedene Bilder 124 oder Videos 126 an verschiedene Clientvorrichtungen auf der Basis der Ausgabe des Black-box-Maschinenlernmodells 116 abgeben, die angibt, welches Bild 124 oder Video 126 abzugeben ist - wobei die Ausgabe auf der Basis von Daten erzeugt wird, die den dazugehörigen Nutzer der Clientvorrichtungen und maschinengelernte „Regeln“ beschreiben. Der digitale Inhalt 120 kann z.B. als Teil einer personalisierten Nutzererfahrung (z.B. einer digitalen Marketingkampagne, einer personalisierten Webseite, usw.) für Clientvorrichtungen, einschließlich die Clientvorrichtung 104, bereitgestellt werden. Daten können dann auf der Basis der Bereitstellung des digitalen Inhalts 120 bereitgestellt werden, um zu beschreiben, welche Nutzer welche Gegenstände des digitalen Inhalts 120 (z.B. im Zusammenhang mit bestimmten personalisierten Erfahrungen) erhalten haben, sowie um Eigenschaften der Nutzer zu beschreiben. Diese erzeugten Daten können z.B. in Nutzerprofildaten 128 einbezogen werden.
-
Die Nutzerprofildaten 128 können auch verschiedene Formen aufweisen, ohne von dem Wesen oder dem Umfang der hier beschriebenen Techniken abzuweichen. Allgemein gesprochen beschreiben die Nutzerprofildaten 128, die hier so gezeigt sind, dass sie in dem Speicher 130 gespeichert sind, Eigenschaften von verschiedenen Nutzern einer Clientvorrichtung. Diese Informationen können allgemein verwendet werden, um Informationen, die für eine Clientvorrichtung bereitgestellt werden, auf der Basis von bestimmten Eigenschaften des dazugehörigen Nutzers einer Clientvorrichtung maßzuschneidern. Zu diesem Zweck sind die Nutzerprofildaten 128 mit einem Nutzerprofil 132 gezeigt, das ein Profil darstellt, das Daten umfasst, die einen einzelnen Nutzer einer Clientvorrichtung beschreiben, wie z.B. einen Nutzer, der für die Clientvorrichtung 104 authentifiziert ist. Das gezeigte Beispiel zeigt ein Nutzerprofil 132, das Positionsinformationen 134 (z.B. GPS-Koordinaten, IP-Adresse), Vorrichtungsinformationen 136 (z.B. einen Vorrichtungsformfaktor, Vorrichtungsbetriebssystem), demographische Informationen 138 (z.B. das Alter, das Geschlecht, die Ethnizität), den bereitgestellten Inhalt 140 (z.B. Aufzeichnungen des digitalen Inhalts 120, der an den Nutzer abgegeben worden ist, der durch das Nutzerprofil 132 beschrieben worden ist), und zusätzliche Informationen 142 (z.B. das Einkommen) aufweist. Nutzerprofile können so ausgebildet sein, dass sie verschiedene Informationen umfassen oder auf verschiedene Informationen zugreifen können, ohne von dem Wesen oder Umfang der hier beschriebenen Techniken abzuweichen. Die Nutzerprofildaten 128 sind ferner mit Ellipsen gezeigt, um anzugeben, dass der Speicher 130 zum Speichern von Informationen für eine Mehrzahl von Nutzern ausgebildet ist.
-
Aus den Nutzerprofildaten 128 bestimmt das Interpretationsmodul 118 Regeln, die Daten festlegen, die das Black-box-Maschinenlernmodell 116 bei gegebenen bestimmten eingegebenen Daten ausgibt. Im Allgemeinen ist die Logik, die Maschinenlernmodelle nutzen, um zu bestimmen, welche Daten ausgegeben werden sollen, nicht bekannt. Dies ist darauf zurückzuführen, dass Maschinenlernmodelle zum Lernen durch einen Trainingsvorgang ausgebildet sind - der das Aussetzen der Modelle gegenüber Trainingsdaten, das Vergleichen der Ausgabe der Modelle mit einer erwarteten Ausgabe und das Bereitstellen einer Rückkopplung auf der Basis des Vergleichs umfasst - wie die auszugebenden Daten bestimmt (oder erzeugt) werden sollen. Dies steht im Gegensatz zu Algorithmen, die so programmiert sind, dass sie eine Aktion auf der Basis des Vorliegens einer Bedingung (oder einer Mehrzahl von Bedingungen) ausführen. Durch diese bedingungsbasierten Algorithmen weiß ein Entwickler oder kann auf der Basis der Untersuchung eines Quellkodes bestimmen, warum eine Rechenvorrichtung eine Aktion durchführt, z.B. aufgrund einer Aussage, die in einem Algorithmus vorliegt und die Rechenvorrichtung anweist, die Aktion als Reaktion auf die Erfassung einer Auslösebedingung durchzuführen.
-
Folglich ist das Interpretationsmodul 118 zum Beschreiben des Verhaltens des Black-box-Maschinenlernmodells 116 ohne Zugriff auf einen Kode oder einen lauffähigen Inhalt des Black-box-Maschinenlernmodells 116 ausgebildet. Stattdessen legt das Interpretationsmodul 118 Regeln, die das Verhalten angeben, durch Verwenden der Eingaben und Ausgaben des Black-box-Maschinenlernmodells 116 fest. Insbesondere verwendet das Interpretationsmodul 118 Nutzerinformationen, auf die das Black-box-Maschinenlernmodell 116 zugreift, als Eingabe, und auch Informationen bezüglich des festgelegten digitalen Inhalts 120, der an Nutzer gesendet worden ist, die durch die Informationen beschrieben werden. Im Zusammenhang mit der gezeigten Umgebung 100 verwendet das Interpretationsmodul 118 die Nutzerprofildaten 128, die auf einer Basis pro Nutzer beschreibende Eigenschaften umfassen, wie z.B. die Positionsinformationen 134, die Vorrichtungsinformationen 136, die demographischen Informationen 138 und die zusätzlichen Informationen 142. Das Interpretationsmodul 118 analysiert ferner diese Informationen im Zusammenhang mit Angaben des digitalen Inhalts 120, der zum Abgeben an einen bestimmten Nutzer ausgewählt wird - da das Nutzerprofil 132 auch Informationen über den abgegebenen Inhalt 140 umfasst, die den digitalen Inhalt 120 beschreiben, der an den Nutzer abgegeben wird.
-
Durch Festlegen von Wenn-dann-Regeln, die angeben, wie ein Maschinenlernmodell Ausgaben festlegt oder erzeugt, kann das Interpretationsmodul 118 mindestens eine gewisse Transparenz und Vorhersagbarkeit in Bezug auf Auswahlen, die vorgenommen werden, oder auf Informationen, die als Ausgabe des Maschinenlernmodells erzeugt werden, bereitstellen. Ein Vorteil, wenn dies so durchgeführt wird, besteht darin, dass Nutzer mit Systemen vertrauter werden, die ein Maschinenlernen nutzen. Aufgrund dieses erhöhten Komforts können Nutzer eher dazu neigen, eine Technologie auf der Basis eines Maschinenlernens zu verwenden, z.B. Vorrichtungen oder Dienste zu kaufen, die Maschinenlernmodelle umfassen. Ein weiterer Vorteil dieser Transparenz besteht darin, dass sie es Menschen ermöglicht, Pläne in Bezug auf die Technologie zu machen. Es soll ein Beispiel betrachtet werden, in dem ein Maschinenlernmodell auf der Basis von verschiedenen Daten, die einen Darlehensantragsteller beschreiben, bestimmt, ob ein Darlehensantrag für einen Antragsteller abgelehnt oder akzeptiert werden soll. Mit vorgegebenen Regeln, die als Wenn-dann-Aussagen erzeugt werden, ermöglichen die beschriebenen Techniken einem Darlehensbearbeiter, aus beschränkten Informationen des Antrags eines Antragstellers zu bestimmen, ob es wahrscheinlich ist, dass der Antragsteller das Darlehen erhält. Ein weiterer Vorteil dieser Transparenz und Vorhersagbarkeit besteht darin, dass es Systemen, die ein Maschinenlernen umfassen (z.B. autonomen Fahrzeugen), ermöglicht, z.B. im Zusammenhang mit Versicherungsverträgen, -gesetzen, usw., in einer Weise gesteuert zu werden, die ohne die Transparenz und Vorhersagbarkeit nicht möglich ist.
-
Nachdem eine Beispielumgebung betrachtet worden ist, werden nun einige beispielhafte Details der Techniken zur Regelfestlegung von Black-box-Maschinenlernmodellen in einer digitalen Medienumgebung gemäß einer oder mehreren Implementierung(en) betrachtet.
-
Regelfestlegung for Black-box-Maschinenlernmodelle
-
Die 2 zeigt eine Beispielimplementierung 200, in der ein lernbasiertes Abgabesystem von 1 Regeln festlegt, die den Betrieb eines Maschinenlernmodells beschreiben. Das gezeigte Beispiel 200 umfasst von der 1 das Interpretationsmodul 118, das so gezeigt ist, dass es die Nutzerprofildaten 128 erhält.
-
Wie es vorstehend angegeben worden ist, umfassen die Nutzerprofildaten 128 Informationen, die den Nutzer einer Clientvorrichtung (z.B. die Positionsinformationen 134, die Vorrichtungsinformationen 136, die demographischen Informationen 138, usw.) sowie Angaben des an diese Nutzer abgegebenen Inhalts 140 beschreiben. Die Nutzerprofildaten 128 umfassen folglich sowohl die Daten, die in das Black-box-Maschinenlernmodell, für welches das Interpretationsmodul 118 Regeln festlegt, eingegeben werden, als auch die Daten, die aus diesem ausgegeben werden. Das Verwenden der eingegebenen und ausgegebenen Daten ermöglicht dem Interpretationsmodul 118 das Festlegen der Regeln für verschiedene Typen von Black-box-Maschinenlernmodellen, wie z.B. Klassifikatoren, neuronale Netzwerke, Modellen auf Regressionsbasis, genetischen Algorithmen, usw. Ferner ermöglichen die eingegebenen und ausgegebenen Daten dem Interpretationsmodul 118, diese Regeln für Mehrfachmodell-Black-box-Konfigurationen festzulegen, wie z.B. ein Ensemble von Black-box-Maschinenlernmodellen, die auf der Basis von Eigenschaften der eingegebenen Daten und/oder einer gewünschten Ausgabe selektiv verwendet werden.
-
Das Interpretationsmodul 118 ist so gezeigt, dass es ein Proxymodell-Erzeugungsmodul 202 umfasst. Das Proxymodell-Erzeugungsmodul 202 stellt eine Funktionalität zum Erzeugen eines Proxy-Black-box-Modells 204 aus den Nutzerprofildaten 128 dar. Beispielsweise erzeugt das Proxymodell-Erzeugungsmodul 202 das Proxy-Black-box-Modell 204 als ein neuronales Netzwerk oder als ein Ensemble von verschiedenen Maschinenlernmodellen. Als Teil davon trainiert das Proxymodell-Erzeugungsmodul 202 das Proxy-Black-box-Modell 204 mit den Nutzerprofildaten 128 zum Nachahmen des Black-box-Maschinenlernmodells, für das die Regeln festgelegt werden, z.B. des Black-box-Maschinenlernmodells 116. In einer oder mehreren Implementierung(en) ist das Proxy-Black-box-Modell 204, sobald es trainiert ist, so ausgebildet, dass es eine Instanz von Nutzerdaten als Eingabe erhält und Wahrscheinlichkeiten ausgibt, mit denen die Instanz verschiedenen festgestellten Ausgaben des Black-box-Maschinenlernmodells 116 zugeordnet ist, z.B. Wahrscheinlichkeiten, dass einem Nutzer, der durch die Instanzdaten angegeben ist, jeder verschiedene Gegenstand eines digitalen Inhalts 120 einer bestimmten Marketingkampagne angezeigt wird. Die festgestellten Ausgaben, welche die höchste Wahrscheinlichkeit aufweisen, entsprechen der Ausgabe des Black-box-Maschinenlernmodells 116.
-
Beispielsweise kann das Black-box-Maschinenlernmodell 116 für eine Klassifizierung zum Zuordnen von Eingabeinstanzen zu verschiedenen Klassen (Ausgabe des Modells) ausgebildet sein, so dass eine bestimmte Aktion in Bezug auf eine Einheit auf der Basis der Klasse durchgeführt werden kann, der sie zugeordnet ist. In diesem Beispiel können Klassen verschiedenen Inhaltsgegenständen einer digitalen Marketingkampagne entsprechen, und eine Eingabeinstanz kann Daten entsprechen, die einen einzelnen Nutzer einer Clientvorrichtung beschreiben. Unter dieser Voraussetzung ist das Black-box-Maschinenlernmodell 116 zum Klassifizieren des Nutzers einer Clientvorrichtung in eine Klasse, die einem bestimmten Inhaltsgegenstand der verschiedenen Inhaltsgegenstände entspricht, auf der Basis der Eingabeinstanzdaten ausgebildet. Gemäß dieser Klassifizierung wird der bestimmte Inhaltsgegenstand zur Abgabe an den Nutzer einer Clientvorrichtung identifiziert. Im Gegensatz zu dem Black-box-Maschinenlernmodell 116 wird das Proxy-Black-box-Modell 204 zur Ausgabe von Wahrscheinlichkeiten trainiert, z.B. von Wahrscheinlichkeiten, dass das Black-box-Maschinenlernmodell 116 jede der verschiedenen Klassen dem Nutzer einer Clientvorrichtung zuordnet. Die Ausgabe des Proxy-Black-box-Modells 204 kann dann zum Auswählen der Klasse mit der höchsten Wahrscheinlichkeit verwendet werden. Unter Bezugnahme auf die Fortsetzung des Klassifizierungsbeispiels entspricht diese ausgewählte Klasse dem vorstehend genannten speziellen Inhaltsgegenstand, welcher die Ausgabe des Black-box-Maschinenlernmodells 116 ist. Demgemäß wird das Proxy-Black-box-Modell 204 zum Bereitstellen einer Ausgabe trainiert, die der Ausgabe des Black-box-Maschinenlernmodells 116 zugeordnet ist, wenn dieselbe Eingabeinstanz verwendet wird.
-
In dem gezeigten Beispiel 200 umfasst das Interpretationsmodul 118 ferner das Modellmanipulationsmodul 206, das eine Funktionalität zum Manipulieren des Proxy black-box-Modells 204, sobald dieses trainiert worden ist, umfasst. Beispielsweise ist das Modellmanipulationsmodul 206 zum Modifizieren der Dateneingabe in das Proxy-Black-box-Modell 204 ausgebildet, so dass es zum Festlegen von Regeln verwendet werden kann, die angeben, wie das Black-box-Maschinenlernmodell 116 arbeitet. Das Modellmanipulationsmodul 206 ist so gezeigt, dass es Trainingsnutzerdaten 208 erhält, die dem Proxy-Black-box-Modell 204 ausgesetzt werden. Zunächst unterzieht das Modellmanipulationsmodul 206 die Trainingsnutzerdaten 208 einer Vorverarbeitung, um die Trainingsnutzerdaten 208 zu kategorisieren, und erzeugt folglich kategorisierte Eingabedaten 210.
-
Für Eigenschaften, die bereits kategorisiert sind, belässt das Modellmanipulationsmodul 206 die Daten unmodifiziert. Ein Beispiel für eine kategorisierte Eigenschaft ist ein Ort bzw. eine Position, wie z.B. ein Land. Eine Orts- bzw. Positionseigenschaft mit der Auflösung eines Landes ist bereits kategorisiert, da eine Clientvorrichtung größtenteils dadurch festgelegt ist, dass sie sich in einem einzelnen Land bei einer gegebenen Zeit befindet. Eine Clientvorrichtung kann auf der Basis von gegenwärtigen globales Positionierungssystem (GPS)-Informationen z.B. dem Land ‚Indien‘ zugeordnet sein. Im Gegensatz zu solchen kategorisierten Eigenschaften sind einige Eigenschaften numerisch und können einen Bereich von Zahlen umfassen, wie z.B. das Alter, das Einkommen, usw. Das Modellmanipulationsmodul 206 ist zum Vorverarbeiten solcher numerischen Eigenschaften der Trainingsnutzerdaten 208 zur Bildung von Kategorien ausgebildet. In einer oder mehreren Implementierung(en) bildet das Modellmanipulationsmodul 206 Kategorien unter Verwendung einer Klasseneinteilung auf Entropiebasis zum Aufteilen eines Bereichs von zulässigen Werten für eine Eigenschaft in getrennte Klassen, die jeweils als eine Kategorie dienen. Es soll ein Beispiel betrachtet werden, in dem das Alter eine Eigenschaft ist, die einen Wert von 10 bis 85 (einschließlich) aufweisen kann. In diesem Beispiel kann das Modellmanipulationsmodul 206 eine Klasseneinteilung auf Entropiebasis zum Aufteilen der Alterseigenschaft in drei verschiedene Kategorien nutzen, so dass eine erste Alterskategorie für einen Bereich von 10 ≤ Alter < 25 festgelegt ist, eine zweite Alterskategorie für einen Bereich von 25 ≤ Alter < 60 festgelegt ist, und eine dritte Alterskategorie für einen Bereich von 60 ≤ Alter ≤ 85 festgelegt ist.
-
Das Modellmanipulationsmodul 206 stellt die kategorisierten Eingabedaten 210 für das Proxy-Black-box-Modell 204 als Eingabe bereit. Insbesondere bildet das Modellmanipulationsmodul 206 Trainingsinstanzen aus den kategorisierten Eingabedaten 210, so dass jede Trainingsinstanz kategorisierte Werte für die berücksichtigten Eigenschaften umfasst. Das Modellmanipulationsmodul 206 stellt diese Instanzen als die Eingabe für das Proxy-Black-box-Modell 204 bereit. Es soll ein Beispiel betrachtet werden, in dem das Alter, das Einkommen und der Bundesstaat die berücksichtigten Eigenschaften sind. In diesem Beispiel kann das Modellmanipulationsmodul 206 eine Eingabeinstanz mit kategorisierten Werten, wie z.B. ‚10 ≤ Alter < 25‘, ‚100 ≤ Einkommen < 200‘, und ‚Bundesstaat = Kalifornien‘, bilden. Auf der Basis des Erhaltens dieser Instanzen als Eingabe von dem Modellmanipulationsmodul 206 gibt das Proxy-Black-box-Modell 204 Instanzausgabewahrscheinlichkeiten 212 aus.
-
Unter Bezugnahme auf eine einzelne Eingabeinstanz der Trainingsnutzerdaten 208 umfassen die Instanzausgabewahrscheinlichkeiten 212 eine Wahrscheinlichkeit, die für jede festgestellte Ausgabe des Black-box-Maschinenlernmodells 116 bestimmt wird - die festgestellten Ausgaben, die für die Nutzerprofildaten 128 bestimmt worden sind. Mit anderen Worten, für die einzelne Eingabeinstanz gibt das Proxy-Black-box-Modell 204 einen Satz von Wahrscheinlichkeiten aus - einen Wert für jede festgestellte Ausgabe, der eine Wahrscheinlichkeit angibt, dass das Black-box-Maschinenlernmodell 116 diese Ausgabe der einzelnen Eingabeinstanz zuordnet. Ferner ist das Proxy-Black-box-Modell 204 zum Ausgeben eines Satzes dieser Wahrscheinlichkeiten für jede Instanz der Trainingsnutzerdaten 208, die in das Proxy-Black-box-Modell 204 eingegeben worden sind, ausgebildet. Ein Beispiel dafür sind Wahrscheinlichkeiten, mit denen das Black-box-Maschinenlernmodell 116 einem Nutzer, der durch eine Eingabeinstanz von Daten angegeben wird, jeden verschiedenen Gegenstand von digitalen Inhalten 120 einer bestimmten Marketingkampagne zuordnet. Wie es vorstehend angegeben worden ist, stellt die festgestellte Ausgabe mit der höchsten Wahrscheinlichkeit die Ausgabe des Black-box-Maschinenlernmodells 116 dar.
-
Auf der Basis der Instanzausgabewahrscheinlichkeiten 212 erzeugt das Bedingungsidentifizierungsmodul 214 die Bedingungen 216. Zum Erzeugen der Bedingungen 216 iteriert das Bedingungsidentifizierungsmodul 214 über die Instanzen der Trainingsnutzerdaten 208, die in das Proxy-Black-box-Modell 204 eingegeben worden sind, und referenziert die Instanzausgabewahrscheinlichkeiten 212. Wenn über diese Instanzen iteriert wird, bestimmt das Bedingungsidentifizierungsmodul 214 einen Beitrag der verschiedenen Werte der kategorisierten Eigenschaften beim Erreichen der festgestellten Ausgaben. In einer oder mehreren Implementierung(en) bestimmt das Bedingungsidentifizierungsmodul 214 einen marginalen Beitrag von verschiedenen Werten.
-
Es wird erneut ein Beispiel betrachtet, in dem Eingabeinstanzen kategorisierte Eigenschaften des Alters, des Einkommens und des Orts bzw. der Position (Bundesstaat in diesem Beispiel) aufweisen und in denen mindestens eine Eingabeinstanz kategorisierte Werte von ‚10 ≤ Alter < 25‘, ‚100 ≤ Einkommen < 200‘ und ‚Bundesstaat = Kalifornien‘ aufweisen. Es wird auch angenommen, dass die festgestellten Ausgaben in diesem Beispiel zwei verschiedene Konfigurationen eines Inhaltsgegenstands sind, z.B. ein erster Inhaltsgegenstand (Inhalt_1) und ein zweiter Inhaltsgegenstand (Inhalt_2). Demgemäß gibt das Proxy-Black-box-Modell 204 Wahrscheinlichkeiten für jeden des ersten und des zweiten Inhaltsgegenstands aus, wie z.B. eine Wahrscheinlichkeit von 69 %, die das Black-box-Maschinenlernmodell 116 der Beispielinstanz mit dem ersten Inhaltsgegenstand zuordnet, und eine Wahrscheinlichkeit von 31 %, die das Black-box-Maschinenlernmodell 116 der Beispielinstanz mit dem zweiten Inhaltsgegenstand zuordnet. Dies kann als ‚(.69, .31)‘ mit einer Schreibweise auf variablem Niveau, die als ‚(Inhalt_1, Inhalt_2)‘ ausgebildet ist, angegeben werden. Ungeachtet dessen ist das Bedingungsidentifizierungsmodul 214 so ausgebildet, dass es über jede Instanz der Trainingsnutzerdaten 208 iteriert, um einen Beitrag des Werts ‚10 s Alter < 25‘ für das Alter festzulegen, wenn der erste Inhaltsgegenstand ermittelt wird. Das Bedingungsidentifizierungsmodul 214 iteriert auch über die Eingabeinstanzen der Trainingsnutzerdaten 208, um einen Beitrag des Werts ‚Bundesstaat = Kalifornien‘ für den Ort bzw. die Position festzulegen, wenn der erste Inhaltsgegenstand ermittelt wird.
-
Das Bedingungsidentifizierungsmodul 214 nutzt die Instanzausgabewahrscheinlich-keiten 212 zum Berechnen der Beiträge der verschiedenen Werte der kategorisierten Eigenschaften für die festgestellten Ausgaben. In einer oder mehreren Implementierung(en) ist das Bedingungsidentifizierungsmodul 214 zum Stören jeder Instanz der Trainingsnutzerdaten 208 und zum Trainieren eines lokal genauen linearen Modells an dem Ort der gegebenen Instanz ausgebildet. Daraus bestimmt das Bedingungsidentifizierungsmodul 214 Gewichtungen der verschiedenen Kategoriewerte, z.B. eine Gewichtung von ‚Bundesstaat = Kalifornien‘ beim Erhalten des ersten Inhaltsgegenstands. Das Bedingungsidentifizierungsmodul 214 nutzt dann diese Gewichtungen als die marginalen Beitragswerte für die verschiedenen Werte der kategorisierten Eigenschaften.
-
In einer oder mehreren Implementierung(en) iteriert das Bedingungsidentifizierungsmodul 214 über selektive Eingabeinstanzen der Trainingsnutzerdaten 208, anstatt über jede Eingabeinstanz zu iterieren. Dies erhöht die Effizienz, mit der das Bedingungsidentifizierungsmodul 214 die Beiträge der verschiedenen Werte der kategorisierten Eigenschaften festlegt. Insbesondere bestimmt das Bedingungsidentifizierungsmodul 214 einmal die Beiträge für Instanzen mit denselben Eigenschaftswerten, so dass eine der Eingabeinstanzen mit bestimmten Eigenschaftswerten durch das Bedingungsidentifizierungsmodul 214 verarbeitet wird. Jedwede weiteren Eingabeinstanzen mit diesen bestimmten Eigenschaftswerten werden nicht zum Berechnen von Beiträgen der Werte für die festgestellten Ausgaben verarbeitet.
-
In mindestens einigen Szenarien berechnet das Bedingungsidentifizierungsmodul 214 die Beiträge (als Gewichtungen) für eine erste vorliegende Instanz mit bestimmten Eigenschaftswerten. Für jede nachfolgend vorliegende Instanz stellt das Bedingungsidentifizierungsmodul 214 fest, ob jedwede Eingabeinstanz mit denselben Eigenschaftswerten bereits verarbeitet worden ist. Wenn festgestellt wird, dass das Bedingungsidentifizierungsmodul 214 bereits Beiträge für eine Eingabeinstanz mit denselben Eigenschaftswerten wie diese nachfolgend vorliegende Instanz berechnet hat, dann berechnet das Bedingungsidentifizierungsmodul 214 die Eigenschaftswertbeiträge für die nachfolgend vorliegende Instanz nicht. Wenn festgestellt wird, dass das Bedingungsidentifizierungsmodul 214 nicht bereits Beiträge für eine Instanz mit denselben Eigenschaftswerten wie diese nachfolgend vorliegende Instanz berechnet hat, dann berechnet jedoch das Bedingungsidentifizierungsmodul 214 die Eigenschaftswertbeiträge für die nachfolgend vorliegende Instanz.
-
Beispielsweise bestimmt das Bedingungsidentifizierungsmodul 214 Wertbeiträge für eine einzelne Eingabeinstanz mit Eigenschaften mit den Werten ‚10 ≤ Alter < 25‘, ‚100 ≤ Einkommen < 200‘ und ‚Bundesstaat = Kalifornien‘. Sobald Beiträge dieser Werte für diese Instanz bestimmt worden sind, bestimmt das Bedingungsidentifizierungsmodul 214 jedoch nicht Wertbeiträge für andere Eingabeinstanzen mit Eigenschaften mit den Werten ‚10 ≤ Alter < 25‘, ‚100 ≤ Einkommen < 200‘ und ‚Bundesstaat = Kalifornien‘. Dies erhöht die Effizienz des Erzeugens der Bedingungen 216 in Bezug auf ein Verfahren, welches das Berechnen der Beiträge für jede Instanz umfasst. Dies ist teilweise darauf zurückzuführen, dass bestimmte Werte und Kombinationen dieser Werte - die zu Eingabeinstanzen mit denselben Eigenschaftswerten führen - in den Nutzerprofildaten 128 gemeinsam vorliegen können. Ungeachtet dessen gibt das Bedingungsidentifizierungsmodul 214 die Bedingungen 216 auf der Basis dieser Beitragsberechnungen aus. Allgemein stellen die gezeigten Bedingungen 216 eine Liste von Bedingungen dar, wobei eine Bedingung eine einzelne Eigenschaft und einen Wert (für kategorisierte Eigenschaften) oder einen Bereich von Werten (für kategorisierte numerische Eigenschaften) umfasst.
-
Das gezeigte Beispiel 200 umfasst ferner das Bedingungskombinationsmodul 218, das eine Funktionalität zum Erzeugen von festgelegten Black-box-Regeln 220 teilweise durch Kombinieren der Bedingungen 216 darstellt. Gemäß den hier beschriebenen Techniken ist eine „Regel“ eine Wenn-dann-Aussage, wobei der Wenn-Abschnitt eine Mehrzahl von Eigenschaftswerten umfasst, die durch einen UND-Operator verbunden sind, und wobei der Dann-Abschnitt einer festgestellten Ausgabe entspricht, die als Reaktion auf das Auftreten in einer Instanz der Werte, die in dem Wenn-Abschnitt angegeben sind, gilt. Der UND-Operator ist eine Verknüpfung zwischen mindestens zwei Eigenschaftwerten. Beispielsweise wenn das Bedingungskombinationsmodul 218 festlegt, dass ‚10 ≤ Alter < 25‘ und ‚Bundesstaat = Kalifornien‘ Bedingungen für den ersten Inhaltsgegenstand sind, dann wird eine potenzielle Regel mit einem Format von ‚WENN 10 s Alter < 25 UND Bundesstaat = Kalifornien DANN Vorhersagen von Inhalt_1‘ erzeugt.
-
Zum Erzeugen der vorgegebenen Black-box-Regeln 220 kann das Bedingungskombinationsmodul
218 zu Beginn Verknüpfungen der Bedingungen
216 kombinieren, die zum Erzeugen von potenziellen Regeln gelten - die als die vorstehend diskutierten Wenn-dann-Aussagen ausgebildet sind. Wie es nachstehend detaillierter diskutiert wird, wird ein begrenzter Satz der potenziellen Regeln, die erzeugt werden können, schließlich als die festgelegten Black-box-Regeln
220 ausgewählt. Zusätzlich zur Bildung dieser potenziellen Regeln ist das Bedingungskombinationsmodul
218 zum Berechnen eines Genauigkeitsmaßes und eines Abdeckungsmaßes für jede erzeugte Regel ausgebildet. Das Genauigkeitsmaß einer Regel R
i gibt die Richtigkeit der Regel über die gesamten Trainingsnutzerdaten
208 an. In einer oder mehreren Implementierung(en) berechnet das Bedingungskombinationsmodul
218 das Genauigkeitsmaß wie folgt:
-
Hier stellt der Ausdruck Richtige Abdeckung (Ri) einen Satz von Instanzen dar, in denen die Regel Ri die festgestellte Ausgabe richtig angibt. Formal stellt Richtige Abdeckung (Ri) einen Satz von Instanzen xi dar, so dass xi in der Abdeckung (Ri) vorliegt und der vorhergesagte Marker yi der Regel mit der festgestellten Ausgabevorhersage durch das Proxy-Black-box-Modell 204 für die Instanz xi übereinstimmt. Unter Bezugnahme auf das vorstehend diskutierte Beispiel umfassen die vorhergesagten Marker den ‚Inhalt_1‘ und den ‚Inhalt_2‘. Im Gegensatz dazu stellt der Begriff Abdeckung (Ri) einen Satz von Instanzen dar, welche die Regel Ri in den Trainingsnutzerdaten 208 abdeckt. Dabei handelt es sich um Instanzen, für welche die Bedingungen von Ri wahr sind, wie z.B. Instanzen mit Werten, die mit dem Wenn-Abschnitt von Ri ungeachtet eines Werts des Dann-Abschnitts (der mit der Regel Ri übereinstimmen kann oder nicht) übereinstimmen.
-
Ferner entspricht die Länge der Regel R
i, auf die in der folgenden Diskussion auch als ‚län‘ Bezug genommen wird, einer Kardinalität einer Vorbedingung C
i, die für die Regel gesetzt ist. Wie es vorstehend angegeben ist, ist eine Bedingung C
i eine Kombination einer Eigenschaft und eines zulässigen Kategoriewerts oder Bereichs von Werten, welche(r) die Eigenschaft aufweisen kann oder können, wie z.B. ‚10 ≤ Alter < 25‘ oder ‚Bundesstaat = Kalifornien‘. In einer oder mehreren Implementierung(en) berechnet das Bedingungskombinationsmodul
218 die Länge wie folgt:
-
Nachstehend wird das Abdeckungsmaß gemäß der beschriebenen Techniken diskutiert. Das Abdeckungsmaß einer Regel R
i gibt ein Ausmaß an, in dem eine gegebene Ausgabe des Proxy-Black-box-Modells
204 durch die Regel berücksichtigt wird. Beispielsweise ist das Abdeckungsmaß so ausgebildet, dass es angibt, wie viel der Trainingsdaten, die dem Beispiel ‚Inhalt_1‘ (zugeordnet, da der Inhalt_1 die höchste berechnete Wahrscheinlichkeit für eine jeweilige Eingabeinstanz aufweist) zugeordnet sind, durch die Regel R
i berücksichtigt wird. In einer oder mehreren Implementierung(en) berechnet das Bedingungskombinationsmodul
218 das Abdeckungsmaß wie folgt:
-
Dabei bestimmt das Bedingungskombinationsmodul 218 die Anzahl von Instanzen in den Trainingsnutzerdaten 208, die den vorhergesagten Marker yi aufweisen. Mit „die den vorhergesagten Marker aufweisen“ ist gemeint, dass der vorhergesagte Marker, der einer der festgestellten Ausgaben entspricht, der höchsten berechneten Wahrscheinlichkeit für eine Instanz in Bezug auf die anderen Marker (andere mögliche festgestellte Ausgaben) zugeordnet ist. Es soll erneut das Beispiel betrachtet werden, in dem die festgestellten Ausgaben ausschließlich ein erster Inhaltsgegenstand und ein zweiter Inhaltsgegenstand sind, welche die Marker ‚Inhalt_1‘ bzw. ‚Inhalt_2‘ aufweisen. Eine Instanz „weist den vorhergesagten Marker“ mit dem ‚Inhalt_1‘ auf, wenn die berechnete Wahrscheinlichkeit für die Instanz, dass sie dem Inhalt_1 zugeordnet ist, größer ist als die berechnete Wahrscheinlichkeit für die Instanz, dass sie dem Inhalt_2 zugeordnet ist, wie z.B. wenn die Wahrscheinlichkeit, dass sie dem Inhalt_1 zugeordnet ist, 69 % beträgt, und die Wahrscheinlichkeit, dass sie dem Inhalt_2 zugeordnet ist, 31 % beträgt. In diesem Szenario weist die Instanz den Marker ‚Inhalt_1‘ auf.
-
In einer oder mehreren Implementierung(en) erzeugt das Bedingungskombinationsmodul 218 die festgelegten Black-box-Regeln 220 - einen Teilsatz der möglichen potenziellen Regeln - so dass sie in einer geeigneten Weise genau sind und eine geeignete Abdeckung aufweisen, wie es durch die Genauigkeits- und Abdeckungsmaße angegeben ist. Tatsächlich kann das Bedingungskombinationsmodul 218 die Regelerzeugung so optimieren, dass die höchsten Maße der Genauigkeit und der Abdeckung resultieren. Anstatt eine einzelne vorgegebene Auffassung von Optimalität aufzuweisen, kann das Bedingungskombinationsmodul 218 so ausgebildet sein, dass es eine Auffassung von Optimalität als Eingabe aufweist, wie z.B. eine Eingabe, welche die Erzeugung von Regeln zum Erhalten eines höchsten Abdeckungsmaßes (ohne die Genauigkeit zu beachten), die Erzeugung von Regeln zum Erhalten eines höchsten Genauigkeitsmaßes (ohne die Abdeckung zu beachten), die Erzeugung von Regeln zum Erhalten einer gewissen Kombination aus Abdeckung und Genauigkeit, die Erzeugung von Regeln zum Erhalten einer gewissen anderen Auffassung von Optimalität (z.B. schnellste Berechnungszeit), usw., angibt.
-
Zusätzlich ist das Bedingungskombinationsmodul 218 zum Erzeugen von Regeln ausgebildet, die mehr als einen kategorisierten Wert für eine Eigenschaft ausgebildet. Folglich ist das Bedingungskombinationsmodul 218 so ausgebildet, dass es nicht nur die ‚UND‘s der Bedingungen 216 kombiniert, sondern auch die ‚ODER‘s innerhalb einer Bedingung, die eine kategorisierte Eigenschaft umfasst, so dass es ermöglicht, dass die Eigenschaft eine Mehrzahl von möglichen Werten annimmt. Es soll ein Beispiel betrachtet werden, in dem eine kategorisierte Eigenschaft für ein Land vorliegt und in dem ‚10 ≤ Alter < 25‘, ‚Land = US‘ und ‚Land = Indien‘ Bedingungen für den ersten Inhaltsgegenstand sind. Dann kann das Bedingungskombinationsmodul 218 eine potenzielle Regel bilden, wie z.B. die Folgende zum Abdecken dieses Szenarios: ‚WENN 10 ≤ Alter < 25 UND Land = US, Indien DANN Vorhersagen von Inhalt_1‘.
-
Zum Erzeugen der festgelegten Black-box-Regeln 220, so dass sie ausreichend genau sind und auch eine geeignete Abdeckung aufweisen, nutzt das Bedingungskombinationsmodul 218 in einer oder mehreren Implementierung(en) einen genetischen Algorithmus. Insbesondere nutzt das Bedingungskombinationsmodul 218 den genetischen Algorithmus zum Lernen dieser ausreichend genauen und abdeckenden Black-box-Regeln unter den Bedingungen 216. Wenn dies durchgeführt wird, verwendet das Bedingungskombinationsmodul 218 den genetischen Algorithmus in Bezug auf jede festgestellte Ausgabe - in einem Klassifizierungszenario entspricht jede festgestellte Ausgabe einer Klasse. Auf diese Weise lernt das Bedingungskombinationsmodul 218 festgestellte Ausgabeniveauregeln, z.B. Regeln auf einer Basis pro Ausgabe für jede Ausgabe der festgestellten Ausgaben.
-
Im Zusammenhang mit der Verwendung des genetischen Algorithmus erzeugt das Bedingungskombinationsmodul 218 Datenstrukturen zum Erfassen von Ergebnissen des genetischen Algorithmus. Diese Datenstrukturen können allgemein als „Individuen“ bezeichnet werden. In dieser Diskussion werden diese Datenstrukturen jedoch als potenzielle Regeldatenangaben bezeichnet. In einer oder mehreren Implementierung(en) konfiguriert das Bedingungskombinationsmodul 218 diese potenziellen Regelangaben als Bitfolgen, die potenzielle Regeln darstellen, die durch den genetischen Algorithmus festgelegt worden sind. Ferner erzeugt das Bedingungskombinationsmodul 218 diese potenziellen Regelangaben derart, dass sie eine Anzahl von Bits aufweisen, die einer Anzahl der erzeugten Bedingungen 216 entspricht. Beispielsweise wenn das Bedingungsidentifizierungsmodul 214 100 der Bedingungen 216 erzeugt, dann ist jede der potenziellen Regelangaben als Bitfolge mit einer Länge von 100 Bits ausgebildet.
-
Unter dieser Voraussetzung soll ein Beispiel betrachtet werden, in dem der genetische Algorithmus, der durch das Bedingungskombinationsmodul 218 in Bezug auf eine erste festgestellte Ausgabe (z.B. ‚Inhalt_1‘) verwendet wird, eine potenzielle Regelangabe von ‚100100000...000‘ erzeugt. Diese beispielhafte potenzielle Regelangabe gibt eine Regel an, die eine Verknüpfung einer ersten und vierten der Bedingungen 216 umfasst, die als ‚Bedingung1‘ bzw. ‚Bedingung4‘ dargestellt werden können. Aus einer potenziellen Regelangabe kann das Bedingungskombinationsmodul 218 eine entsprechende Wenn-dann-Aussage erzeugen. Bei dem Beispiel der potenziellen Regelangabe erzeugt das Bedingungskombinationsmodul 218 die Aussage ‚WENN Bedingung1 UND Bedingung4 DANN Vorhersage von Inhalt_1‘. Das Bedingungskombinationsmodul 218 konfiguriert ferner die potenziellen Regelangaben so, dass Bedingungen, die kategorisierten Eigenschaften (z.B. Land) entsprechen, mehr als einen Wert (z.B. ‚US‘ oder ‚Indien‘) aufweisen dürfen.
-
In Allgemeinen umfasst die Verwendung eines genetischen Algorithmus die Festlegung mindestens einer „Fitnessfunktion“ zur Bewertung jeder Lösung - eines Satzes von potenziellen Regelangaben - die durch den genetischen Algorithmus erzeugt worden ist. Zu diesem Zweck ist das Bedingungskombinationsmodul
218 zum Bewerten von Lösungen, die durch die verwendeten genetischen Algorithmen erzeugt worden sind, auf der Basis eines Maßes oder mehrere Maße der Lösungsfitness, wie z.B. Fitnessfunktionen, ausgebildet. Auf der Basis dieser Bewertungen wählt das Bedingungskombinationsmodul
218 eine Lösung, die als Basis für die festgelegten Black-box-Regeln 220 dient. Das Bedingungskombinationsmodul
218 erzeugt die festgelegten Black-box-Regeln 220 aus den potenziellen Regelangaben von ausgewählten Lösungen. In einer oder mehreren Implementierung(en) misst das Bedingungskombinationsmodul
218 die Fitness der Lösungen des genetischen Algorithmus mindestens teilweise gemäß der folgenden Fitnessfunktion:
-
Wie es vorstehend angegeben ist, ist die Ausgabeabdeckung (Ri) ein Abdeckungsmaß, das die Regel Ri bezüglich einer der festgestellten Ausgaben bereitstellt, und der Begriff Genauigkeit (Ri) stellt ein Maß für die Richtigkeit der Regel Ri über die Gesamtheit der Trainingsnutzerdaten 208 bereit. Dabei entspricht das Fitnessmaß F1-Bewertung (Ri), das unter Verwendung der vorstehend angegebenen Fitnessfunktion berechnet wird, einem harmonischen Mittelwert des Genauigkeitsmaßes Genauigkeit (Ri) und des Abdeckungsmaßes Ausgabeabdeckung (Ri). Dieses Fitnessmaß gibt die Fitness einer Lösung ausschließlich in Bezug auf die Genauigkeit und Abdeckung der Lösung an; dieses Maß gibt nicht die Fitness in Bezug auf andere Faktoren an.
-
In einer oder mehreren Implementierung(en) kann das Bedingungskombinationsmodul 218 auch die Fitness einer Lösung in Bezug auf andere Faktoren, wie z.B. Länge und Überlappung, messen. Allgemein nutzt das Bedingungskombinationsmodul 218 einen Längenfaktor im Zusammenhang mit dem Fitnessmaß zum Zuerkennen von Regeln mit relativ geringeren Längen (z.B. weniger Bedingungen, die verknüpfend verbunden sind) in Bezug auf Regeln, die größere Längen aufweisen (z.B. mehr Bedingungen, die verknüpfend verbunden sind). Aufgrund dessen kann das Bedingungskombinationsmodul 218 Regeln mit geringeren Längen ausgeben als in dem Fall, bei dem der Längenfaktor nicht verwendet wird. Ein Vorteil von relativ kürzeren Regeln besteht darin, dass kürzere Regeln durch Menschen einfacher interpretiert werden können als längere Regeln. Demgemäß ermöglicht es die Darstellung dieser Regeln mit relativ geringeren Längen dem Nutzer von Clientvorrichtungen, einfacher zu verstehen, wie das Black-box-Maschinenlernmodell 116 arbeitet.
-
Das Bedingungskombinationsmodul 218 ist ferner zum Klären der Regelüberlappung ausgebildet, die auftritt, wenn Verknüpfungen derselben Bedingungen Regeln für verschiedene festgestellte Ausgaben umfassen, z.B. in einem Szenario, bei dem eine Verknüpfung von Bedingungen eine Regel für den Inhalt_1 umfasst und dieselbe Verknüpfung von Bedingungen eine Regel für den Inhalt_2 umfasst. Gemäß den beschriebenen Techniken ist nur eine solche Regel richtig. Das Bedingungskombinationsmodul 218 vermindert die Mehrdeutigkeit in den festgelegten Black-box-Regeln 220 durch Klären dieser Regelüberlappung. Zur Klärung einer solchen Überlappung ist das Bedingungskombinationsmodul 218 so ausgebildet, dass es die Regeln für die Genauigkeit (z.B. über die Abdeckung) zunehmend optimiert, da eine Optimierung bezüglich einer größeren Genauigkeit zu einer Auswahl von Regeln führt, die das Verhalten des Black-box-Maschinenlernmodells 116 genau kopieren, wie es durch das Genauigkeitsmaß angegeben ist.
-
Zur Berücksichtigung von jedem der Genauigkeit und der Abdeckung, der Regellänge und der Überlappung bewertet das Bedingungskombinationsmodul
218 Lösungen, die durch die genetischen Algorithmen erzeugt worden sind, unter Verwendung einer Fitnessfunktion, die jeden dieser Faktoren berücksichtigt. In einer oder mehreren Implementierung(en) misst das Bedingungskombinationsmodul
218 die Fitness von Lösungen, die durch den genetischen Algorithmus erzeugt worden sind, gemäß der folgenden Fitnessfunktion:
-
Dabei stellt der Begriff ’crind eine der potenziellen Regelangaben dar, die durch den genetischen Algorithmus erzeugt worden sind - ausgebildet als die vorstehend diskutierte Bitfolge. Ferner ist die Regel Ri die Regel, die durch die potenziellen Regelangaben crind dargestellt wird. Der Begriff N stellt die Länge der Bitfolge dar und entspricht folglich auch einer Anzahl der Bedingungen 216, die durch das Bedingungsidentifizierungsmodul 214 erzeugt worden sind. Der Ausdruck ‚# von aktiven Bits in crind‘ stellt eine Anzahl von Bits dar, die eine Bedingung angeben, die als Teil der Regel Ri einbezogen ist - mit anderen Worten, die Anzahl von Bedingungen in der Regel.
-
Das Bedingungskombinationsmodul 218 ist zum Verwenden des genetischen Algorithmus für eine Anzahl von Iterationen ausgebildet, die z.B. allgemein als „Generationen“ in Bezug auf die genetischen Algorithmen bezeichnet werden. Das Bedingungskombinationsmodul 218 nutzt die potenziellen Regelangaben, die durch den genetischen Algorithmus in einer letzten Erzeugung erzeugt worden sind, als Regelsatz für eine der festgestellten Ausgaben. Das Bedingungskombinationsmodul 218 verwendet den genetischen Algorithmus für eine Mehrzahl von Iterationen in Bezug auf jede der festgestellten Ausgaben zur Erzeugung eines jeweiligen Regelsatzes. Das Bedingungskombinationsmodul 218 kann diese iterative Erzeugung auf der Basis des Fitnessmaßes unterbrechen, wie z.B. wenn das Fitnessmaß eine geeignete Schwelle erreicht.
-
Nachdem ein jeweiliger Regelsatz für jede festgestellte Ausgabe erzeugt worden ist, filtert das Bedingungskombinationsmodul 218 diese Regeln zum Entfernen von mindestens einem Teil davon. Beispielsweise entfernt das Bedingungskombinationsmodul 218 redundante Regeln von dem gesamten Satz von Regeln, der über die festgestellten Ausgaben mit dem genetischen Algorithmus erzeugt worden ist. In einer oder mehreren Implementierung(en) sortiert das Bedingungskombinationsmodul 218 zu Beginn die von dem genetischen Algorithmus erzeugten Regeln in einer absteigenden Reihenfolge der Genauigkeit, wie sie durch das Genauigkeitsmaß angegeben ist. Das Bedingungskombinationsmodul 218 iteriert dann die sortierte Liste von Regeln abwärts. Für jede Regel prüft das Bedingungskombinationsmodul 218, ob die Regel ein Teilsatz einer genaueren Regel ist, die bereits einer eindeutigen Regelliste hinzugefügt worden ist. Wenn eine gegenwärtig betrachtete Regel kein Teilsatz einer bereits hinzugefügten genaueren Regel ist, dann fügt das Bedingungskombinationsmodul 218 die gegenwärtig betrachtete Regel der eindeutigen Regelliste hinzu. Wenn die gegenwärtig betrachtete Regel ein Teilsatz einer bereits hinzugefügten genaueren Regel ist, dann lässt jedoch das Bedingungskombinationsmodul 218 die gegenwärtig betrachtete Regel von der eindeutigen Regelliste weg. Das Bedingungskombinationsmodul 218 betrachtet dann die nächste Regel von der nach Genauigkeit sortierten Liste von Regeln. Mit „Teilsatz“ ist gemeint, dass die Gruppe von Regeln R2 ein Teilsatz der Gruppe von Regeln R1 ist, wenn jede Instanz von Eingabedaten, die durch die Gruppe von Regeln R2 richtig abgedeckt ist, auch durch die Gruppe von Regeln R1 richtig abgedeckt ist.
-
In einer oder mehreren Implementierung(en) wählt das Bedingungskombinationsmodul 218 aus der eindeutigen Regelliste ferner einen Teilsatz von Regeln in Bezug auf jede der festgestellten Ausgaben aus, um das Verhalten des Black-box-Maschinenlernmodells 116 für diese festgestellten Ausgabe zu beschreiben. Das Bedingungskombinationsmodul 218 kann einen Teilsatz von Regeln in Bezug auf jede der festgestellten Ausgaben auf der Basis von verschiedenen Auswahltechniken auswählen. Die zum Auswählen dieser Teilsätze verwendete Auswahltechnik kann teilweise auf einer Nutzereingabe basieren, die eine Bevorzugung für eine von verschiedenen Optimierungsbasen angibt. Alternativ oder zusätzlich kann das Bedingungskombinationsmodul 218 eine bestimmte der Auswahltechniken auf der Basis von Konfigurationsauswahleinstellungen nutzen. Beispielsweise können die verschiedenen Auswahltechniken Regeln zum Optimieren der Abdeckung der ausgewählten Regeln, zum Optimieren der vorstehend genannten F1-Bewertung der ausgewählten Regeln, zum Optimieren eines genetischen Algorithmus des zweiten Niveaus mit den ausgewählten Regeln, usw., auswählen.
-
Ein Beispiel für eine Auswahltechnik, welche die Abdeckung der ausgewählten Regeln optimiert, ist zum Optimieren der festgestellten Ausgabeniveauabdeckung ausgebildet. In einer oder mehreren Implementierung(en) stellt das Bedingungskombinationsmodul 218 eine Abdeckungsschwelle und die vorgefilterten Regeln, die einer der festgestellten Ausgaben entsprechen, als eine Eingabe für einen Abdeckung-optimierenden Auswahlalgorithmus bereit. Beispielsweise kann eine Abdeckungsschwelle auf 90 % eingestellt werden, wenn ein hohes Niveau der Abdeckung durch die ausgewählten Regeln gewünscht ist. Gemäß dieses Algorithmus sortiert das Bedingungskombinationsmodul 218 die vorgefilterten Regeln, die der einen festgestellten Ausgabe entsprechen, in einer absteigenden Reihenfolge der Genauigkeit. Das Bedingungskombinationsmodul 218 iteriert dann durch die Regeln beginnend mit der genauesten Regel. Jede der berücksichtigten Regeln wird einem Satz von Endregeln für die eine festgestellte Ausgabe hinzugefügt, bis die Abdeckungsschwelle erhalten wird. Wenn die Abdeckungsschwelle erhalten wird, beendet das Bedingungskombinationsmodul 218 die Berücksichtigung der vorgefilterten Regeln für die eine festgestellte Ausgabe. Das Bedingungskombinationsmodul 218 nutzt diesen Abdeckung-optimierenden Auswahlalgorithmus in Bezug auf jede der festgestellten Ausgaben und kombiniert die dadurch erzeugten Endlisten von Regeln zu Bildung der festgelegten Black-box-Regeln 220.
-
Ein Beispiel für eine Auswahltechnik, die das Fitnessmaß (z.B. die F1-Bewertung) optimiert, ist zum Auswählen eines optimalen Teilsatzes von Regeln für jede der festgestellten Ausgaben ausgebildet. In einer oder mehreren Implementierung(en) stellt das Bedingungskombinationsmodul 218 die vorgefilterten Regeln, die einer der Ausgaben entsprechen, als Eingabe für einen fitnessoptimierenden Auswahlalgorithmus bereit. Gemäß dem fitnessoptimierenden Auswahlalgorithmus wählt das Bedingungskombinationsmodul 218 einen optimalen Teilsatz der Regeln unter Verwendung eines dynamischen Ansatzes von unten nach oben. Zu Beginn analysiert das Bedingungskombinationsmodul 218 eine einzelne Regel. Für jede nachfolgende Iteration inkrementiert das Bedingungskombinationsmodul 218 die Nummer der analysierten Regeln eine nach der anderen. Dabei gibt es bei jeder Iteration eine neue zu analysierende Regel.
-
Für jede Iteration liegen folglich die neue zu analysierende Regel und ein optimaler Teilsatz von Regeln, der in einem vorhergehenden Schritt analysiert worden ist, vor. Dieser optimale Teilsatz umfasst nicht jede der analysierten Regeln. Vielmehr umfasst der optimale Teilsatz nur Regeln, bei denen das Bedingungskombinationsmodul 218 bestimmt, dass sie auf der Basis der Analyse aufrechterhalten werden sollen. In einer oder mehreren Implementierung(en) führt das Bedingungskombinationsmodul 218 die Analyse durch, um festzulegen, ob die neue Regel, die in einer gegenwärtigen Iteration berücksichtigt wird, dem optimalen Teilsatz hinzugefügt werden soll oder nicht. Um diese Festlegung zu treffen, berechnet das Bedingungskombinationsmodul 218 ein Fitnessmaß (z.B. die vorstehend angegebene F1-Bewertung) für zwei verschiedene Teilsätze von Regeln, und zwar einem Teilsatz von Regeln, der die berücksichtigte neue Regel umfasst, und einen Teilsatz, der diese neue Regel nicht umfasst. Das Bedingungskombinationsmodul 218 behält den Teilsatz mit einem höheren Fitnessmaß (einer höheren F1-Bewertung) bei. Ein höheres Fitnessmaß zeigt eine bessere Fitness des Teilsatzes von Regeln, die das Verhalten des Black-box-Maschinenlernmodells 116 beschreiben, als ein niedrigeres Fitnessmaß. In einer oder mehreren Implementierung(en) ist das Bedingungskombinationsmodul 218 ferner zum Einstellen der Größe eines optimalen Teilsatzes ausgebildet. In diesen Implementierungen begrenzt das Bedingungskombinationsmodul 218 die Anzahl von Regeln in einem Teilsatz auf eine vorgegebene Anzahl, wie z.B. eine Anzahl, die gemäß Nutzereingaben zum Einstellen der im Vorhinein festgelegten Anzahl festgelegt worden ist.
-
Ein Beispiel für eine Auswahltechnik, welche die Regeln auf der Basis einer Optimierung eines genetischen Algorithmus auf einem zweiten Niveau festlegt, wird auf dem Niveau pro festgestellter Ausgabe verwendet. In einer entsprechenden Weise wie bei dem vorstehend diskutierten genetischen Algorithmus erzeugt das Bedingungskombinationsmodul
218 Datenstrukturen zum Erfassen von Ergebnissen des genetischen Algorithmus auf dem zweiten Niveau. Im Kontext der genetischen Algorithmen werden diese Datenstrukturen allgemein als „Individuen“ bezeichnet. In der folgenden Diskussion werden jedoch die Datenstrukturen, die im Zusammenhang mit dem genetischen Algorithmus des zweiten Niveaus erzeugt werden, als Angaben einer ausgewählten Regel bezeichnet. Gemäß den beschriebenen Techniken sind die Angaben einer ausgewählten Regel Bitfolgen mit einer Anzahl von Bits gleich einer Anzahl von Regeln, die verbleiben, nachdem die durch den vorhergehenden genetischen Algorithmus erzeugten Regeln gefiltert worden sind, z.B. um redundante Regeln zu entfernen. In diesem Zusammenhang entspricht eine Angabe einer ausgewählten Regel mit der Bitfolge ‚1100000...00‘ einem Regelsatz, für den nur die erste Regel R
1 und die zweite Regel R
2 ausgewählt werden. Dieser Regelsatz deckt jede der Instanzen ab, die durch R
1 und R
2 abgedeckt werden. In jedem Fall ist das Bedingungskombinationsmodul
218 zum Verwenden des genetischen Algorithmus des zweiten Niveaus zum Auswählen von Regeln und Bewerten von dessen Lösungen mit einem eingestellten Fitnessmaß ausgebildet. In einer oder mehreren Implementierung(en) berechnet das Bedingungskombinationsmodul
218 das eingestellte Fitnessmaß wie folgt:
-
Hier stellt der Ausdruck ℝ einen Regelsatz dar, der Regeln in der Form von R
i umfasst und durch die Angabe einer ausgewählten Regel dargestellt werden kann. Die Ausdrücke Genauigkeit (ℝ) und Ausgabeabdeckung (ℝ) entsprechen einem Genauigkeitsmaß des Regelsatzes und einem Abdeckungsmaß des Regelsatzes über den jeweiligen festgestellten Ausgaben. In einer oder mehreren Implementierung(en) berechnet das Bedingungskombinationsmodul
218 das Genauigkeitsmaß für einen Regelsatz wie folgt:
-
Dabei stellt der Ausdruck Korrigierte Abdeckung (ℝ) die Verbindung der richtigen Abdeckungen von R
i für jede Regel in dem Satz von Regeln ℝ dar. Ferner stellt der Begriff Abdeckung (ℝ) die Abdeckungen (nicht die richtigen Abdeckungen) von R
i für jede Regel in dem Satz von Regeln ℝ dar. Die Abdeckung und die richtige Abdeckung von R
i sind vorstehend in der Diskussion des anfänglichen genetischen Algorithmus beschrieben. Nun wird das Abdeckungsmaß des Regelsatzes über den festgestellten Ausgaben gemäß der beschriebenen Techniken beschrieben. In einer oder mehreren Implementierung(en) berechnet das Bedingungskombinationsmodul
218 das Abdeckungsmaß für den Regelsatz wie folgt:
-
Dabei stellt der Ausdruck yi die festgestellte Ausgabe dar, welche die Regeln in dem Satz von Regeln ℝ vorhersagt. Ungeachtet der verwendeten speziellen Auswahltechnik wählt das Bedingungskombinationsmodul 218 aus den gefilterten Regeln aus, um einen optimierten Teilsatz der Regeln zu erhalten, die als die festgelegten Black-box-Regeln 220 ausgegeben werden.
-
In einer oder mehreren Implementierung(en) sortiert das Bedingungskombinationsmodul 218 die ausgewählten Regeln so, dass die bestimmten Black-box-Regeln 220 mit relevanteren Regeln ausgegeben werden, die vor weniger relevanten Regeln angegeben sind. Das Bedingungskombinationsmodul 218 ist zum Festlegen der Relevanz auf der Basis eines Fitnessmaßes, z.B. der F1-Bewertung, ausgebildet. Zum Sortieren der Regeln wählt das Bedingungskombinationsmodul 218 für eine erste Position in der Liste eine ausgewählte Regel mit dem besten Fitnessmaß, z.B. der höchsten F1-Bewertung, aus. Das Bedingungskombinationsmodul 218 iteriert dann über die verbliebenen ausgewählten Regeln zum Festlegen, welche ausgewählte Regel das Fitnessmaß am stärksten verbessert, z.B. welche ausgewählte Regel die F1-Bewertung am stärksten erhöht. Diese festgelegte Regel wird einer zweiten Position in der Liste hinzugefügt. Das Bedingungskombinationsmodul 218 setzt diesen Betrieb fort, bis jede der ausgewählten Regeln einer Position in der Liste hinzugefügt worden ist. Als Ergebnis dessen umfassen die festgelegten Black-box-Regeln 220 eine sortierte Liste der Regeln. Diese Regeln können dann mittels einer Clientvorrichtung zur Darstellung an einen Nutzer ausgegeben werden. In diesem Zusammenhang wird auf die 3 verwiesen.
-
Die 3 zeigt ein Beispiel für eine Nutzerschnittstelle 300, die zum Darstellen von festgelegten Regeln für ein Black-box-Maschinenlernmodell ausgebildet ist. Das gezeigte Beispiel 300 umfasst eine Regeldarstellungsschnittstelle 302, die als anzeigbare Dialogbox gezeigt ist, obwohl andere Konfigurationen innerhalb des Wesens oder Umfangs der hier beschriebenen Techniken vorgesehen sind.
-
Gemäß den beschriebenen Techniken wird die Regeldarstellungsschnittstelle 302 erzeugt, um eine oder mehrere der festgelegten Black-box-Regeln 220 darzustellen. Beispielsweise zeigt die Clientvorrichtung 104 die Regeldarstellungsschnittstelle 302 zum Darstellen der einen oder der mehreren bestimmten Black-box-Regel(n) 220, die in die Schnittstelle einbezogen sind, an. In dem gezeigten Beispiel 300 ist z.B. die Regeldarstellungsschnittstelle 302 so gezeigt, dass sie die festgelegten „Top-5“ Black-box-Regeln 220 anzeigt. Diese können als die festgelegten „Top-5“ Black-box-Regeln 220 gemäß der vorstehend beschriebenen Sortierung angegeben werden. Es sollte beachtet werden, dass eine Regeldarstellungsschnittstelle so ausgebildet sein kann, dass sie eine andere Anzahl von Regeln als fünf darstellt, ohne von dem Wesen oder Umfang der hier beschriebenen Techniken abzuweichen. Tatsächlich kann eine Regeldarstellungsschnittstelle so ausgebildet sein, dass sie die Top-k-Regeln darstellt, wobei k jedwede Anzahl von Regeln größer als Null und bis zu einer Anzahl der festgelegten Black-box-Regeln 220 darstellt.
-
Die festgelegten Black-box-Regeln 220 können in verschiedener Weise ausgegeben werden, ohne von dem Wesen oder dem Umfang der hier beschriebenen Techniken abzuweichen. Beispielsweise kann das lernbasierte Abgabesystem 106 jede der festgelegten Black-box-Regeln 220 formatieren und in eine Tabelle oder ein kommagetrennter Wert („CSV“)-Dokument einsetzen. Die Clientvorrichtung 104 kann dann die Tabelle oder das CSV-Dokument mit jeder der bestimmten Black-box-Regeln 220 zur Darstellung einem Nutzer einer Clientvorrichtung anzeigen. Alternativ oder zusätzlich kann die Clientvorrichtung 104 zum Ausgeben der festgelegten Black-box-Regeln 220 in einer anderen Weise ausgebildet sein, wie z.B. hörbar mittels eines oder mehrere Lautsprecher(s), der oder die der Clientvorrichtung 104 zugeordnet ist oder sind. Aufgrund der Konfiguration als die beschriebenen Wenn-dann-Aussagen sind die ausgegebenen Regeln vom Menschen interpretierbar, und zwar ungeachtet davon, wie die Regeln spezifisch ausgegeben werden.
-
Das gezeigte Beispiel 300 zeigt auch verschiedene Informationen, die mit den dargestellten Regeln 304 dargestellt werden. Zusätzlich zu den Wenn-dann-Aussagen können die Regeln mit anderen Informationen dargestellt werden, ohne von dem Wesen oder dem Umfang der hier beschriebenen Techniken abzuweichen. In diesem Zusammenhang soll die zweitrangige Regel 306 betrachtet werden. Zusätzlich zu der Regelaussage 308 (die gemäß dem vorstehend beschriebenen Wenn-dann-Format ausgebildet ist) ist die zweitrangige Regel 306 mit der Einstufung 310 und der Fitnessbewertung 312 gezeigt. Die Einstufung 310 gibt die Position der Regel in der Liste von sortierten festgelegten Black-box-Regeln 220 an, die z.B. in der vorstehend beschriebenen Weise sortiert sind. Die Fitnessbewertung 312 gibt ein Fitnessmaß an, das für jede der Regeln berechnet worden ist. In einer oder mehreren Implementierung(en) entspricht die Fitnessbewertung 312 einer F1-Bewertung, die für die zweitrangige Regel 306 berechnet worden ist - wobei diese Bewertung auch im Zusammenhang mit dem Sortieren der Regeln verwendet werden kann.
-
Die Regeldarstellungsschnittstelle 302 ist auch mit einer Regeleigenschaftsbox 314 gezeigt, die Eigenschaften der Regel umfassen kann, in Bezug auf welche die Regeleigenschaftsbox 314 angezeigt wird. Solche Eigenschaften können eine Angabe bezüglich dessen umfassen, welches die Entsprechung einer vorhergesagten Klasse ist (in einem Szenario, bei dem das Black-box-Maschinenlernmodell 116 eine Eingabeinstanz klassifiziert). Beispielsweise kann die Angabe angeben, dass die Vorhersage als Teil einer Klasse zur Abgabe eines bestimmten Inhalts führt. Unter Bezugnahme auf das gezeigte Beispiel 300 gibt die Eigenschaftsbox an, dass die Vorhersage von ‚Klasse 9‘ für einen Nutzer einer Clientvorrichtung zu einer ‚Farbigen Werbeanzeige‘ führt, die für den Nutzer einer Clientvorrichtung angezeigt wird. Tatsächlich können Einstufungen, Fitnessbewertungen und Eigenschaften im Zusammenhang mit jeweiligen Regeln gemäß einer oder mehreren Implementierung(en) dargestellt werden. Es sollte jedoch beachtet werden, dass die festgelegten Black-box-Regeln 220 in verschiedener Weise und/oder mit verschiedenen Informationen dargestellt werden können, ohne von dem Wesen oder dem Umfang der hier beschriebenen Techniken abzuweichen.
-
Nachdem beispielhafte Details der Techniken zur Regelfestlegung für Black-box-Maschinenlernmodelle diskutiert worden sind, sollen nachstehend einige beispielhafte Verfahren betrachtet werden, um zusätzliche Aspekte der Techniken zu veranschaulichen.
-
Beispielverfahren
-
Dieser Abschnitt beschreibt Beispielverfahren für die Regelfestlegung für Black-box-Maschinenlernmodelle in einer oder mehreren Implementierung(en). Aspekte der Verfahren können in Hardware, Firmware oder Software oder einer Kombination davon implementiert werden. Die Verfahren sind als ein Satz von Blöcken gezeigt, die Abläufe zeigen, die durch eine oder mehrere Vorrichtung(en) ausgeführt werden, und die nicht notwendigerweise auf die für die Ausführung der Abläufe durch die jeweiligen Blöcke gezeigte Reihenfolge beschränkt sind. In mindestens einigen Implementierungen werden die Verfahren durch eine geeignet ausgebildete Vorrichtung ausgeführt, wie z.B. das lernbasierte Abgabesystem 106 von 1, das ein Lernverwaltungseinrichtungsmodul 114 nutzt, einschließlich die Verwendung von dessen Interpretationsmodul 118.
-
Die 4A und 4B zeigen ein Beispielverfahren 400, in dem Regeln festgelegt werden, die den Betrieb eines Black-box-Maschinenlernmodells beschreiben. Daten, die Eingaben und Ausgaben eines Black-box-Maschinenlernmodells angeben, werden erhalten (Block 402). Gemäß den hier beschriebenen Prinzipien geben die Daten ferner die Ausgaben an, die das Black-box-Maschinenlernmodell den Eingaben zuordnet. Beispielsweise erhält das Interpretationsmodul 118 die Nutzerprofildaten 128. Die Nutzerprofildaten 128 umfassen Daten, die Eingaben in das Black-box-Maschinenlernmodell 116 angeben, z.B. die Orts- bzw. Positionsinformationen 134, die Vorrichtungsinformationen 136, die demographischen Informationen 138 und die zusätzlichen Informationen 142. Die Nutzerprofildaten 128 umfassen auch Daten, welche die Ausgaben angeben, die von dem Black-box-Maschinenlernmodell 116 festgestellt worden sind. Ferner umfassen die Nutzerprofildaten 128 den bereitgestellten Inhalt 140, der Daten umfasst, welche die Ausgaben angeben, die das Black-box-Maschinenlernmodell 116 einer Instanz einer Eingabe, z.B. einem bestimmten Nutzerprofil 132, zuordnet.
-
Ein Proxy-Black-box-Modell wird zum Nachahmen des Verhaltens des Black-box-Maschinenlernmodells auf der Basis der erhaltenen Daten erzeugt (Block 404). Beispielsweise erzeugt das Proxymodell-Erzeugungsmodul 202 das Proxy-Black-box-Modell 204 auf der Basis der erhaltenen Nutzerprofildaten 128 zum Nachahmen des Black-box-Maschinenlernmodells 116.
-
Trainingsdaten werden auf der Basis der erhaltenen Daten erzeugt (Block 406). Gemäß den hier diskutierten Prinzipien werden die Trainingsdaten teilweise durch Kategorisieren von nicht-kategorisierten Eigenschaften der Eingaben und durch Bilden von Eingabeinstanzen mit Eigenschaftswerten, wie sie durch die erhaltenen Daten angegeben sind, erzeugt. Beispielsweise werden die Trainingsnutzerdaten 208 auf der Basis der Daten erzeugt, die bei dem Block 402 erhalten worden sind. Das Modellmanipulationsmodul 206 kategorisiert nicht-kategorisierte Eigenschaften der Trainingsnutzerdaten 208 zum Erzeugen der kategorisierten Eingabedaten 210. Beispielsweise wandelt das Modellmanipulationsmodul 206 einen zulässigen Bereich von Werten für numerische Eigenschaften (z.B. Einkommen, Alter, usw.) in kategorisierte Eigenschaften um. In einer oder mehreren Implementierung(en) wandelt das Modellmanipulationsmodul 206 diese Eigenschaften in kategorisierte Eigenschaften unter Verwendung einer Klasseneinteilgung auf Entropiebasis um. Das Modellmanipulationsmodul 206 bildet auch Eingabeinstanzen mit Eigenschaftswerten, wie sie durch bei dem Block 402 erhaltenen Daten angegeben sind. Dadurch wählt das Modellmanipulationsmodul 206 einen endlichen Satz von Eigenschaften für die Instanzen aus und setzt Eigenschaftswerte gemäß dieser erhaltenen Daten.
-
Die Eingabeinstanzen werden dem Proxy-Black-box-Modell ausgesetzt (Block 408). Gemäß den hier diskutierten Prinzipien gibt das Proxy-Black-box-Modell für jede Instanz Wahrscheinlichkeiten aus, die das Black-box-Maschinenlernmodell der Instanz mit den festgestellten Ausgaben des Black-box-Maschinenlernmodells zuordnet. Beispielsweise setzt das Modellmanipulationsmodul 206 die Eingabeinstanzen, die bei dem Block 406 gebildet worden sind und die kategorisierten Eingabedaten 210 aufweisen, dem Proxy-Black-box-Modell 204 aus. Das Proxy-Black-box-Modell 204 gibt die Instanzausgabewahrscheinlichkeiten 212 aus. Die Instanzausgabewahrscheinlichkeiten 212 umfassen für jede Eingabeinstanz Wahrscheinlichkeiten, die das Black-box-Maschinenlernmodell 116 der Instanz mit jeder festgestellten Ausgabe des Modells zuordnet.
-
Für die festgestellten Ausgaben werden Bedingungen erzeugt (Block 410). Gemäß den hier diskutierten Prinzipien umfasst jede der Bedingungen einen Eigenschaftsidentifikator und eines von einem entsprechenden Eigenschaftswert oder Bereich von Werten. Beispielsweise erzeugt das Bedingungsidentifizierungsmodul 214 die Bedingungen 216 für jede festgestellte Ausgabe des Black-box-Maschinenlernmodells 116 auf der Basis der Instanzausgabewahrscheinlichkeiten 212. Jede der Bedingungen 216 umfasst eine Kombination aus einem Eigenschaftsidentifikator (z.B. ‚Land‘, ‚Alter‘, ‚Einkommen‘, usw.) und einen Wert oder Bereich von Werten für die identifizierte Eigenschaft, wie z.B. ‚Land = Indien‘ (Wert) und ‚100 ≤ Einkommen < 200‘ (Bereich von Werten). Das Verfahren 400 fährt bei ‚A‘ in der 4A bis 4B fort.
-
Die für eine festgestellte Ausgabe erzeugten Bedingungen werden kombiniert, um Regeln zu erzeugen, die das Verhalten des Black-box-Maschinenlernmodells beschreiben (Block 412). Gemäß den hier diskutierten Prinzipien werden die Bedingungen unter Verwendung eines genetischen Algorithmus kombiniert. Beispielsweise kombiniert das Bedingungskombinationsmodul 218 mindestens zwei der Bedingungen 216, die für eine festgestellte Ausgabe erzeugt worden sind, um eine Regel zu erzeugen, die das Verhalten des Black-box-Maschinenlernmodells 116 beschreibt. Zum Kombinieren der Bedingungen 216 zu Regeln nutzt das Bedingungskombinationsmodul 218 einen genetischen Algorithmus, wie es vorstehend detaillierter beschrieben ist.
-
Redundante Regeln werden entfernt (Block 414). Beispielsweise entfernt das Bedingungskombinationsmodul 218 von den Regeln, die durch den genetischen Algorithmus bei dem Block 412 erzeugt worden sind, jedwede redundanten Regeln. Beispielsweise iteriert das Bedingungskombinationsmodul 218 über die Regeln, die durch den genetischen Algorithmus erzeugt worden sind, und entfernt die Regeln, die einem Teilsatz einer bereits berücksichtigten Regel entsprechen. Ein Teilsatz von verbleibenden Regeln wird für jede der festgestellten Ausgaben auf der Basis von mindestens einer Auswahltechnik ausgewählt (Block 416). Beispielsweise wählt das Bedingungskombinationsmodul 218 einen Teilsatz der Regeln aus, die nach der bei dem Block 414 diskutierten Entfernung verbleiben. Das Bedingungskombinationsmodul 218 wählt diesen Teilsatz von Regeln auf der Basis einer oder mehrerer Auswahltechnik(en) aus.
-
Die ausgewählten Regeln werden auf der Basis eines Fitnessmaßes sortiert (Block 418). Gemäß den hier diskutierten Prinzipien gibt das Fitnessmaß die Genauigkeit und die Abdeckung einer Regel in Bezug auf die festgestellten Ausgaben an. Beispielsweise berechnet das Bedingungskombinationsmodul 218 das Fitnessmaß (z.B. eine F1-Bewertung) für die Regeln, die bei dem Block 416 ausgewählt worden sind, und sortiert dann die Regeln gemäß des Fitnessmaßes.
-
Die ausgewählten Regeln werden ausgegeben (Block 420). Gemäß den hier diskutierten Prinzipien werden die ausgegebenen Regeln gemäß der Sortierung des Blocks 418 sortiert. Ferner werden die ausgegebenen Regeln als Wenn-dann-Aussagen formatiert. Beispielsweise gibt die Clientvorrichtung 104 die festgelegten Black-box-Regeln 220 aus. Beispielsweise zeigt die Clientvorrichtung 104 eine oder mehrere der festgelegten Black-box-Regeln 220 mittels der Regeldarstellungsschnittstelle 302 an. In mindestens einigen Implementierungen gibt die Clientvorrichtung 104 die Regeln gemäß der Reihenfolge aus, in der sie bei dem Block 418 sortiert worden sind. Zusätzlich werden die festgelegten Black-box-Regeln 220 als Wenn-dann-Aussagen ausgegeben, wobei ein Beispiel dafür ‚WENN 10 ≤ Alter < 25 UND Bundesstaat = Kalifornien DANN Vorhersagen von Inhalt_1‘ ist. Obwohl die festgelegten Black-box-Regeln 220 in dem vorstehend genannten Beispiel angezeigt werden, können diese Regeln in einer anderen Weise, z.B. hörbar, ausgegeben werden.
-
Die 5 zeigt ein Beispielverfahren 500, in dem eine Auswahltechnik zum Auswählen eines Teilsatzes der Regeln auf der Basis einer Eingabe festgelegt wird, die mindestens einen Optimierungsfaktor zum Optimieren der Auswahl angibt. Es wird eine Eingabe erhalten, die mindestens einen Optimierungsfaktor zum Optimieren der Auswahl von Regeln angibt, die zum Beschreiben des Verhaltens eines Black-box-Maschinenlernmodells erzeugt werden (Block 502). Beispielsweise erhält die Clientvorrichtung 104 eine Eingabe, die mindestens einen Optimierungsfaktor zum Optimieren der Regelauswahl angibt, die in Bezug auf den Block 416 von 4 diskutiert worden ist. Beispiele für Optimierungsfaktoren umfassen das höchste Abdeckungsmaß, das höchste Fitnessmaß, das höchste Genauigkeitsmaß, eine weitere Optimierung des genetischen Algorithmus (ausgewogene Optimierung), usw.
-
Eine Festlegung wird zur Verwendung einer von einer Mehrzahl von verschiedenen Auswahltechniken zur Auswahl der Regeln auf der Basis der erhaltenen Eingabe getroffen (Block 504). Beispielsweise legt das Bedingungskombinationsmodul 218 eine von einer Mehrzahl von verschiedenen Auswahltechniken zur Auswahl der Regeln auf der Basis der bei dem Block 502 erhaltenen Eingabe fest. Beispielsweise legt das Bedingungskombinationsmodul 218 die Durchführung der bei dem Block 416 beschriebenen Auswahl unter Verwendung von einer der vorstehend diskutierten Abdeckung-optimierenden Auswahltechnik, Fitnessmaß-optimierenden Auswahltechnik oder der Auswahltechnik des genetischen Algorithmus des zweiten Niveaus fest.
-
Die festgelegte Auswahltechnik wird zum Auswählen eines Teilsatzes der Regeln verwendet, die für jede festgestellte Ausgabe des Black-box-Maschinenlernmodells erzeugt worden sind (Block 506). Beispielsweise wird die bei dem Block 504 festgelegte Auswahltechnik zum Auswählen eines Teilsatzes der Regeln verwendet, die für jede festgestellte Ausgabe des Black-box-Maschinenlernmodells 116 erzeugt worden sind, wie es in Bezug auf den Block 416 von 4 diskutiert worden ist.
-
Nachdem Beispielverfahren gemäß einer oder mehreren Implementierung(en) beschrieben worden sind, sollen nun ein Beispielsystem und eine Beispielvorrichtung betrachtet werden, die zum Implementieren der verschiedenen, hier beschriebenen Techniken verwendet werden können.
-
Beispielsystem und -vorrichtung
-
Die 6 zeigt bei 600 allgemein ein Beispielsystem, das eine Beispielrechenvorrichtung 602 umfasst, die für ein oder mehrere Rechensystem(e) und/oder -vorrichtung(en) repräsentativ ist, welche die verschiedenen, hier beschriebenen Techniken implementieren kann oder können. Dies wird durch Einbeziehen des Lernverwaltungseinrichtungsmoduls 114 und des Kommunikationsmoduls 112 veranschaulicht. Die Rechenvorrichtung 602 kann z.B. ein Server eines Serviceproviders, eine Vorrichtung, die mit einem Client zusammenhängt (z.B. eine Clientvorrichtung), ein Ein-Chip-System und/oder jedwede andere geeignete Rechenvorrichtung oder jedwedes andere geeignete Rechensystem sein.
-
Die gezeigte Beispielrechenvorrichtung 602 umfasst ein Verarbeitungssystem 604, ein oder mehrere computerlesbare(s) Medium oder Medien 606 und eine oder mehrere I/O-Schnittstelle(n) 608, die kommunikativ miteinander gekoppelt sind. Obwohl dies nicht dargestellt ist, kann die Rechenvorrichtung 602 des Weiteren einen Systembus oder ein anderes Daten- und Befehlsübertragungssystem umfassen, das die verschiedenen Komponenten miteinander koppelt. Ein Systembus kann eine Busstruktur oder eine Kombination von verschiedenen Busstrukturen umfassen, wie z.B. einen Speicherbus oder eine Speichersteuerung, einen Peripheriebus, einen universellen seriellen Bus und/oder einen Prozessor oder einen lokalen Bus, der eine beliebige aus einer Vielzahl von Busarchitekturen verwendet. Es sind auch verschiedene andere Beispiele vorgesehen, wie z.B. Steuer- bzw. Regel- und Datenleitungen.
-
Das Verarbeitungssystem 604 ist für eine Funktionalität zum Durchführen eines Vorgangs oder mehrerer Vorgänge unter Verwendung von Hardware repräsentativ. Entsprechend ist das Verarbeitungssystem 604 derart dargestellt, dass es ein Hardwareelement 610 umfasst, das als Prozessoren, funktionelle Blöcke, usw., konfiguriert sein kann. Dies kann eine Implementierung in Form von Hardware als anwendungsspezifische integrierte Schaltung oder andere logische Vorrichtung umfassen, die unter Verwendung eines oder mehrerer Halbleiter(s) hergestellt werden. Die Hardwareelemente 610 sind nicht durch die Materialien, aus denen sie hergestellt sind, oder durch die dabei eingesetzten Verarbeitungsmechanismen beschränkt. Beispielsweise können Prozessoren einen Halbleiter oder mehrere Halbleiter und/oder Transistoren umfassen (beispielsweise elektronische integrierte Schaltungen (ICs)). In einem derartigen Zusammenhang können durch einen Prozessor ausführbare Anweisungen elektronisch ausführbare Anweisungen sein.
-
Die computerlesbaren Speichermedien 606 sind derart dargestellt, dass sie einen Speicher 612 umfassen. Der Speicher 612 zeigt eine Speicherfähigkeit in Verbindung mit einem computerlesbaren Medium oder mehreren computerlesbaren Medien. Die Speicherkomponente 612 kann flüchtige Medien (wie z.B. einen Speicher mit wahlfreiem Zugriff (RAM)) und/oder nichtflüchtige Medien (wie z.B. einen Nur-Lese-Speicher (ROM), einen Flash-Speicher, optische Platten, magnetische Platte, usw.) umfassen. Die Speicherkomponente 612 kann fixierte Medien (beispielsweise RAM, ROM, ein fixiertes Festplattenlaufwerk, usw.) wie auch entnehmbare Medien (beispielsweise einen Flash-Speicher, eine entfernbare Festplatte, eine optische Platte, usw.) umfassen. Die computerlesbaren Medien 606 können auf eine Vielzahl von anderen Arten, wie es nachstehend detailliert beschrieben wird, konfiguriert sein.
-
Eine Eingabe/Ausgabe-Schnittstelle 608 oder Eingabe/Ausgabe-Schnittstellen 608 ist oder sind für eine Funktionalität repräsentativ, die es einem Nutzer ermöglicht, Befehle und Informationen in die Rechenvorrichtung 602 einzugeben, und sie ermöglichen zudem, dass Informationen für den Nutzer und/oder andere Komponenten oder Vorrichtungen unter Verwendung verschiedener Eingabe/Ausgabe-Vorrichtungen zur Verfügung gestellt werden. Beispiele für Eingabevorrichtungen umfassen eine Tastatur, eine Cursorsteuer- bzw. Regelvorrichtung (beispielsweise eine Maus), ein Mikrofon, einen Scanner, eine Berührfunktionalität (beispielsweise kapazitive oder andere Sensoren, die zum Erfassen einer physischen Berührung ausgestaltet sind), eine Kamera (beispielsweise eine solche, die sichtbare oder nicht-sichtbare Wellenlängen, wie z.B. Infrarotfrequenzen, einsetzen kann, um eine Bewegung, die keine Berührung umfasst, wie z.B. Gesten, zu erkennen), usw. Beispiele für Ausgabevorrichtungen umfassen eine Anzeigevorrichtung (beispielsweise einen Monitor oder Projektor), Lautsprecher, einen Drucker, eine Netzwerkkarte, eine Taktilreaktionsvorrichtung, usw. Damit kann die Rechenvorrichtung 602 auf verschiedenartige Weise konfiguriert sein, wie es nachstehend beschrieben wird, um die Nutzerinteraktion zu unterstützen.
-
Es sind hier verschiedene Techniken im allgemeinen Zusammenhang von Software, Hardware-Elementen oder Programmmodulen beschrieben. Im Allgemeinen umfassen derartige Module Routinen, Programme, Objekte, Elemente, Komponenten, Datenstrukturen usw., die bestimmte Aufgaben durchführen oder bestimmte abstrakte Datentypen implementieren. Die Begriffe „Modul“, „Funktionalität“ und „Komponente“, wie sie hier verwendet werden, bezeichnen allgemein Software, Firmware, Hardware oder eine Kombination davon. Die Merkmale der hier beschriebenen Techniken sind plattformunabhängig, was bedeutet, dass die Techniken auf einer Vielzahl von handelsüblichen Rechenplattformen mit einer Vielzahl von Prozessoren implementiert werden können.
-
Eine Implementierung der beschriebenen Module und Techniken kann über eine Form von computerlesbaren Medien gespeichert oder übertragen werden. Die computerlesbaren Medien können eine Vielzahl von Medien umfassen, auf die durch die Rechenvorrichtung 602 zugegriffen werden kann. Beispielsweise und nicht beschränkend können computerlesbare Medien „computerlesbare Speichermedien“ und „computerlesbare Signalmedien“ umfassen.
-
„Computerlesbare Speichermedien“ bezeichnen Medien und/oder Vorrichtungen, die eine permanente und/oder nicht-vorübergehende Speicherung von Informationen im Gegensatz zur bloßen Signalübertragung, zu Trägerwellen oder zu Signalen als solche ermöglichen. Folglich bezeichnen computerlesbare Speichermedien nicht-signaltragende Medien. Die computerlesbaren Speichermedien umfassen Hardware, wie z.B. flüchtige und nichtflüchtige, entfernbare und nicht-entfernbare Medien und/oder Speichervorrichtungen, die mit einem Verfahren oder einer Technologie implementiert sind, die zum Speichern von Information geeignet ist, wie z.B. computerlesbare Anweisungen, Datenstrukturen, Programmmodule, logische Elemente/Schaltungen oder andere Daten. Beispiele für computerlesbare Speichermedien können unter anderem RAM, ROM, EEPROM, Flash-Speicher oder eine andere Speichertechnologie, CD-ROM, DVD oder andere optische Speicher, Festplatten, magnetische Kassetten, Magnetband, Magnetplattenspeicher oder andere magnetische Speichervorrichtungen oder eine andere Speichervorrichtung, physische Medien oder einen Gegenstand mit einer Eignung zum Speichern von gewünschter Information, auf die ein Computer zugreifen kann, umfassen.
-
„Computerlesbare Signalmedien“ können ein signaltragendes Medium bezeichnen, das zum Übertragen von Anweisungen an die Hardware der Rechenvorrichtung 602, wie z.B. über ein Netzwerk, geeignet ist. Signalmedien können typischerweise computerlesbare Anweisungen, Datenstrukturen, Programmmodule oder andere Daten in einem modulierten Datensignal verkörpern, wie z.B. Trägerwellen, Datensignale oder einen anderen Transportmechanismus. Signalmedien umfassen zudem jedwede Informationsverteilungsmedien. Der Begriff „moduliertes Datensignal“ bezeichnet ein Signal, bei dem eine oder mehrere seiner Kennwerte auf eine Weise eingestellt oder geändert sind, dass Informationen in dem Signal kodiert sind. Beispielsweise und nicht beschränkend umfassen Kommunikationsmedien drahtgebundene Medien, wie z.B. ein drahtgebundenes Netzwerk oder eine direktverdrahtete Verbindung, und drahtlose Medien, wie z.B. akustische, hochfrequenzbasierte, infrarote und andere drahtlose Medien.
-
Wie es vorstehend beschrieben worden ist, sind die Hardwareelemente 610 und die computerlesbaren Medien 606 repräsentativ für Module, eine programmierbare Vorrichtungslogik und/oder eine feste Vorrichtungslogik mit Implementierung in Hardwareform, die bei mindestens einigen Ausführungsformen zum Implementieren mindestens einiger Aspekte der hier beschriebenen Techniken, wie z.B. zum Durchführen einer oder mehrerer Anweisung(en), eingesetzt werden können. Die Hardware kann Komponenten einer integrierten Schaltung oder eines chipinternen Systems, eine anwendungsspezifische integrierte Schaltung (ASIC), ein feldprogrammierbares Gate-Array (FPGA), eine komplexe programmierbare logische Vorrichtung (CPLD) und andere Implementierungen aus Silizium oder anderer Hardware umfassen. In diesem Zusammenhang kann Hardware als Verarbeitungsvorrichtung arbeiten, die Programmaufgaben durchführt, die durch Anweisungen und/oder eine Logik mit Verkörperung durch die Hardware definiert sind, sowie Hardware zur Verwendung beim Speichern von Anweisungen zur Ausführung sein, wie z.B. die vorstehend beschriebenen computerlesbaren Speichermedien.
-
Kombinationen des Vorstehenden können ebenfalls eingesetzt werden, um verschiedene der hier beschriebenen Techniken zu implementieren. Entsprechend können Software, Hardware oder ausführbare Module als eine oder mehrere Anweisung(en) und/oder eine Logik mit Verkörperung in einer beliebigen Form von computerlesbaren Speichermedien und/oder durch ein oder mehrere Hardwareelement(e) 610 implementiert sein. Die Rechenvorrichtung 602 kann zum Implementieren von bestimmten Anweisungen und/oder Funktionen entsprechend den Software- und/oder Hardwaremodulen ausgelegt sein. Entsprechend kann eine Implementierung eines Moduls, das durch eine Rechenvorrichtung 602 ausführbar ist, als Software wenigstens teilweise als Hardware erreicht werden, wie z.B. durch die Verwendung von computerlesbaren Speichermedien und/oder durch Hardwareelemente 610 des Verarbeitungssystems 604. Die Anweisungen und/oder Funktionen können durch einen oder mehrere Gegenstände (beispielsweise ein(e) oder mehrere Rechenvorrichtung(en) 602 und/oder Verarbeitungssystem(e) 604) zum Implementieren von hier beschriebenen Techniken, Modulen und Beispielen ausführbar/betreibbar sein.
-
Die hier beschriebenen Techniken können durch verschiedene Konfigurationen der Rechenvorrichtung 602 unterstützt werden und sind nicht auf die spezifischen Beispiele der hier beschriebenen Techniken beschränkt. Diese Funktionalität kann zudem vollständig oder teilweise durch ein verteiltes System implementiert sein, wie z.B. über eine „Cloud“ 614 mittels einer Plattform 616, wie es nachstehend beschrieben wird.
-
Die Cloud 614 umfasst eine Plattform 616 von Ressourcen 618 und/oder ist für diese repräsentativ. Die Plattform 616 abstrahiert eine darunterliegende Funktionalität der Hardware (beispielsweise Server) und Softwareressourcen der Cloud 614. Die Ressourcen 618 können Anwendungen und/oder Daten umfassen, die verwendet werden können, während eine Computerverarbeitung auf Servern ausgeführt wird, die von der Rechenvorrichtung 602 entfernt sind. Die Ressourcen 618 können zudem Dienste umfassen, die über das Internet und/oder über ein Teilnehmernetzwerk, wie z.B. ein zellbasiertes oder ein WiFi-Netzwerk, bereitgestellt werden.
-
Die Plattform 616 kann Ressourcen und Funktionen zum Verbinden der Rechenvorrichtung 602 mit anderen Rechenvorrichtungen abstrahieren. Die Plattform 616 kann zudem zum Abstrahieren einer Skalierung von Ressourcen zur Bereitstellung einer entsprechenden Skalierungsebene für den vorliegenden Bedarf an Ressourcen 618, die über die Plattform 616 implementiert sind, dienen. Entsprechend kann bei einer wechselseitig verbundenen Ausführungsform der Vorrichtung eine Implementierung der hier beschriebenen Funktionalität über das System 600 verteilt sein. Die Funktionalität kann beispielsweise teilweise auf der Rechenvorrichtung 602 wie auch über die Plattform 616, die die Funktionalität der Cloud 614 abstrahiert, implementiert sein.
-
Schlussfolgerung
-
Obwohl die Erfindung in einer Sprache beschrieben worden ist, die für strukturelle Merkmale und/oder methodologische Vorgänge spezifisch ist, sollte ersichtlich sein, dass die in den beigefügten Ansprüchen definierte Erfindung nicht notwendigerweise auf die beschriebenen spezifischen Merkmale oder Vorgänge beschränkt ist. Vielmehr sind die spezifischen Merkmale und Vorgänge als beispielhafte Formen der Implementierung der beanspruchten Erfindung offenbart.