Optimierung, wenn die Kostenfunktion nur langsam evaluiert werden kann


59

Gradientenabstieg und viele andere Methoden sind nützlich, um lokale Minima in Kostenfunktionen zu finden. Sie können effizient sein, wenn die Kostenfunktion an jedem Punkt schnell ausgewertet werden kann, sei es numerisch oder analytisch.

Ich habe eine für mich ungewöhnliche Situation. Jede Bewertung meiner Kostenfunktion ist teuer. Ich versuche, eine Reihe von Parametern zu finden, die eine 3D-Oberfläche gegenüber Bodenwahrheitsoberflächen minimieren. Immer wenn ich einen Parameter ändere, muss ich den Algorithmus für die gesamte Stichprobengruppe ausführen, um dessen Wirkung zu messen. Um einen Gradienten zu berechnen, muss ich alle 15 Parameter unabhängig voneinander ändern, das heißt, ich muss alle Oberflächen regenerieren und mit der Probenkohorte viel zu oft pro Gradient und definitiv viel zu oft im Verlauf der Optimierung vergleichen.

Ich habe eine Methode entwickelt, um dieses Problem zu umgehen, und bewerte sie derzeit. Ich bin jedoch überrascht, dass ich in der Literatur nicht viel über teure Kostenfunktionsbewertungen gefunden habe. Daher frage ich mich, ob ich das Problem schwieriger mache als es ist und ob es möglicherweise bereits einen besseren Weg gibt.

Meine Fragen lauten also im Grunde: Kennt jemand Methoden zur Optimierung von Kostenfunktionen, konvex oder nicht, wenn die Auswertung langsam ist? Oder mache ich überhaupt etwas Dummes, indem ich den Algorithmus erneut ausführe und so oft mit der Stichproben-Kohorte vergleiche?


5
Haben Sie von stochastischem Gefälle gehört? Für tiefe neuronale Netze, die auf große Trainingssets angewendet werden, gibt es ein ähnliches Problem (Sie können den Gradienten jedoch analytisch auswerten). Die Standardlösung besteht darin, den Gradientenabstieg nur auf der Grundlage einer einzelnen Stichprobe (stochastisch) gegenüber der gesamten Kohorte (Charge)
durchzuführen

3
Ich bin nur vage mit dem Gebiet vertraut, daher ist dies eher ein Kommentar als eine Antwort. Was Sie hier besprechen, klingt jedoch sehr nach dem Thema der Unsicherheitsquantifizierung, mit dem Ingenieure häufig konfrontiert sind und bei dem die Bewertung einer einzelnen Bewertung der Zielfunktion Wochen in Anspruch nimmt (zumindest in Bezug auf die Probleme, mit denen meine Ingenieursmitarbeiter konfrontiert sind). Ich verstehe nur sehr begrenzt, wie dies gehandhabt wird, indem ich eine Surrogat-Annäherung mache, die auf der Grundlage früherer Bewertungen und einfacherer Konstruktionsmodelle viel einfacher zu bewerten ist, und dann diese Surrogat-Modelle benutze, um die nächste Bewertung zu wählen ...
Cliff AB

2
... der teureren Zielfunktion. Ich hasse es, es zu sagen, aber ich weiß im Moment nichts mehr über das Thema. Mir wurde nur kurz davon erzählt, während ich mit den genannten Ingenieuren über Forschungsthemen diskutierte. Interessanterweise scheint es ein sehr herausforderndes Forschungsgebiet zu sein: Ich glaube, gute Modelle erfordern sowohl ein gutes Verständnis der Physik als auch der Statistik.
Cliff AB

1
@ seanv507 Ja, danke, aber ich habe es aus einem ähnlichen Grund vermieden. Es dauert ungefähr 30 Sekunden bis eine Minute, um eine Probe auszuführen. Wenn ich 15 Parameter habe, betrachte ich fast 8 Minuten pro Gradientenberechnung, auch wenn ich nur eine Probe verwende. Wenn der Speicherplatz groß ist, kann dies sehr lange dauern. Bitte korrigieren Sie mich, wenn Sie andere Vorstellungen hatten.
Jared Becksfort

5
"Was mir ungewöhnlich vorkommt. Jede Bewertung meiner Kostenfunktion ist teuer." Dies ist im Allgemeinen keine ungewöhnliche Situation. Es wird überall angezeigt , zum Beispiel, wenn Ihre Kostenfunktion von der Ausführung einer Simulation ausgeht (z. B. in diesem Dokument : white.ucc.asn.au/publications/White2015PsoTransistorSizing.pdf , simulieren wir eine Schaltung in SPICE, die 10s dauert). In der experimentellen Wissenschaft können Auswertungen eher Ewigkeiten in Anspruch nehmen. Eines meiner Freunde-Masters-Projekte optimiert im Grunde genommen 5 Parameter, um den besten Weg zum Einfügen von DNA zu finden. Jede Auswertung dauert 24 Stunden.
Lyndon White

Antworten:


59

TL; DR

Ich empfehle die Verwendung von LIPO. Es ist nachweislich korrekt und nachweislich besser als die reine Zufallssuche (PRS). Es ist auch extrem einfach zu implementieren und weist keine Hyperparameter auf. Ich habe keine Analyse durchgeführt, die LIPO mit BO vergleicht, aber ich gehe davon aus, dass die Einfachheit und Effizienz von LIPO impliziert, dass es BO übertrifft.

(Siehe auch: Was sind einige der Nachteile der bayesianischen Hyperparameteroptimierung? )

Bayesianische Optimierung

Bayes'sche Optimierungsmethoden bauen Ersatzmodelle für Gauß'sche Prozesse auf, um den Parameterraum zu untersuchen. Die Hauptidee ist, dass näher beieinander liegende Parametertupel ähnliche Funktionswerte haben. Die Annahme einer Ko-Varianz-Struktur zwischen Punkten ermöglicht es dem Algorithmus, fundierte Vermutungen darüber anzustellen, welches beste Parametertupel als Nächstes am sinnvollsten ist. Diese Strategie trägt dazu bei, die Anzahl der Funktionsbewertungen zu verringern. Tatsächlich besteht die Motivation der BO-Methoden darin, die Anzahl der Funktionsbewertungen so gering wie möglich zu halten, während "der ganze Büffel" verwendet wird, um gute Vorhersagen darüber zu treffen, welcher Punkt als nächstes zu testen ist. Es gibt verschiedene Leistungszahlen (erwartete Verbesserung, erwartete Quantilverbesserung, Verbesserungswahrscheinlichkeit ...), die verwendet werden, um die Punkte zu vergleichen, die als nächstes besucht werden sollen.

Vergleichen Sie dies mit einer Grid-Suche, bei der niemals Informationen aus früheren Funktionsauswertungen verwendet werden, um Informationen darüber zu erhalten, wohin Sie als Nächstes gehen müssen.

Dies ist im Übrigen auch eine leistungsstarke globale Optimierungstechnik, die keine Annahmen über die Konvexität der Oberfläche macht. Wenn die Funktion stochastisch ist (z. B. Auswertungen haben inhärent zufälliges Rauschen), kann dies direkt im GP-Modell berücksichtigt werden.

Auf der anderen Seite müssen Sie bei jeder Iteration mindestens einen GP anpassen (oder mehrere, die "besten" auswählen oder über Alternativen oder vollständig Bayes'sche Methoden mitteln). Das Modell wird dann verwendet, um (wahrscheinlich Tausende) Vorhersagen zu treffen, normalerweise in Form einer mehrstufigen lokalen Optimierung, mit der Beobachtung, dass es viel billiger ist, die GP-Vorhersagefunktion zu bewerten als die Funktion, die optimiert wird. Aber selbst bei diesem Rechenaufwand kann es vorkommen, dass auch nicht konvexe Funktionen mit einer relativ geringen Anzahl von Funktionsaufrufen optimiert werden können.

Ein häufig zitierter Artikel zu diesem Thema ist Jones et al. , "Efficient Global Optimization of Expensive Black-Box Functions". Es gibt jedoch viele Variationen dieser Idee.

Zufällige Suche

p q

q=0,95p=0,95100×(1-q)=5nqn=0,95n1-0,95n. Alles zusammen haben wir

1-qnpnLog(1-p)Log(q)

n59

n=60n=60

Da Sie eine Wahrscheinlichkeitsgarantie dafür haben, wie gut die Ergebnisse sind, kann dies ein überzeugendes Instrument sein, um Ihren Chef davon zu überzeugen, dass keine weiteren Experimente durchgeführt werden müssen.

LIPO und seine Varianten

Dies ist eine aufregende Ankunft, die für mich sicherlich neu ist, wenn sie nicht neu ist. Dabei werden abwechselnd informierte Grenzen für die Funktion und Abtastwerte für die beste Grenze sowie quadratische Näherungen verwendet. Ich arbeite immer noch an allen Details, aber ich denke, das ist sehr vielversprechend. Dies ist eine schöne Blog-Zusammenfassung , und der Artikel ist Cédric Malherbe und Nicolas Vayatis " Globale Optimierung von Lipschitz-Funktionen ".


1
Dies scheint eine moderne Variante von Antwortoberflächenmethoden zu sein!
kjetil b halvorsen

1
Tatsächlich kann die Zufallssuche bemerkenswert gut funktionieren
Tim

1
@ Tim Ja, deine Meinung ist gut aufgenommen. Ich wollte nicht "entscheiden", welches Thema in diesem Beitrag besser ist, da BO im Grunde genommen endlose Permutationen aufweist, von denen jede behauptet, der "beste" Black-Box-Optimierer zu sein - was es unmöglich macht, definitiv zu sein. Ich bin damit einverstanden, dass die Zufallssuche recht gut funktionieren kann, aber ich würde LIPO gegenüber PRS empfehlen. LIPO ist nachweislich korrekt und übertrifft in allen meinen Experimenten PRS (im Durchschnitt). LIPO hat auch minimale Schätzkosten: Wenn Sie einen QP minimieren können, können Sie LIPO verwenden, und LIPO hat keine Hyperparameter (im Gegensatz zu BO).
Setzen Sie Monica am

Ich bin froh, dass ich diese Frage noch einmal überprüft habe. LIPO scheint großartig zu sein.
Jared Becksfort

LIPO ist großartig. Wenn ich einen Moment Zeit habe, werde ich meine Antwort erweitern, um eine bessere Bilanzierung von LIPO zu ermöglichen.
Setzen Sie Monica

40

f(X)X

Ich würde sagen, dass der aktuelle Goldstandard für die Bewertung der (sehr) kostspieligen Black-Box-Funktion die (globale) Bayes'sche Optimierung (BO) ist. Sycorax hat bereits einige Funktionen von BO beschrieben, daher füge ich nur einige nützliche Informationen hinzu.

Als Ausgangspunkt können Sie dieses Übersichtsdokument 1 lesen . Es gibt auch eine neuere [2].

Die Bayes'sche Optimierung hat in den letzten Jahren mit einer Reihe von Workshops (z. B. BayesOpt , und sehen Sie sich diese Videos aus dem Sheffield-Workshop zu BO an) stetig zugenommen , da sie sehr praktische Anwendungen im maschinellen Lernen hat, wie z Informationen zur Optimierung der Hyperparameter von ML-Algorithmen finden Sie beispielsweise in diesem Artikel [3] und in der zugehörigen Toolbox SpearMint . Es gibt viele andere Pakete in verschiedenen Sprachen, die verschiedene Arten von Bayes-Optimierungsalgorithmen implementieren.

Wie bereits erwähnt, ist die zugrunde liegende Anforderung, dass jede Funktionsbewertung sehr kostspielig ist, so dass die BO-bezogenen Berechnungen einen vernachlässigbaren Mehraufwand verursachen. Um einen Ballpark zu erstellen, kann BO definitiv hilfreich sein, wenn Ihre Funktion in einer Zeitspanne von Minuten oder mehr ausgewertet wird. Sie können es auch für schnellere Berechnungen anwenden (z. B. Zehntelsekunden). Je nachdem, welchen Algorithmus Sie verwenden, müssen Sie jedoch möglicherweise verschiedene Näherungen anwenden. Wenn Ihre Funktion in der Zeitskala von Sekunden ausgewertet wird , stoßen Sie meiner Meinung nach an die Grenzen der aktuellen Forschung, und möglicherweise werden andere Methoden nützlicher. Außerdem muß ich sagen, BO selten wirklich Black-Box ist , und Sie müssen oft die Algorithmen optimieren, manchmal viel , um es mit einem bestimmten realen Problem bei vollem Potenzial zu arbeiten.

Nebenbei bemerkt, für eine Übersicht über allgemeine ableitungsfreie Optimierungsmethoden können Sie sich diese Übersicht ansehen [4] und nach Algorithmen suchen , die gute Eigenschaften für eine schnelle Konvergenz aufweisen. Beispielsweise konvergiert die mehrstufige Koordinatensuche (Multi-Level Coordinate Search, MCS) normalerweise sehr schnell in eine Nachbarschaft von einem Minimum (natürlich nicht immer das globale Minimum). MCS ist für die globale Optimierung gedacht. Sie können es jedoch lokal festlegen, indem Sie entsprechende gebundene Einschränkungen festlegen.

Schließlich interessieren Sie sich für BO für Zielfunktionen, die sowohl teuer als auch laut sind. Siehe meine Antwort auf diese Frage .


Verweise:

1 Brochu et al., "Ein Tutorial zur Bayes'schen Optimierung teurer Kostenfunktionen mit Anwendung auf aktives Benutzermodellieren und hierarchisches Reinforcement-Lernen" (2010).

[2] Shahriari et al., "Den Menschen aus der Schleife nehmen: Ein Rückblick auf die Bayes'sche Optimierung" (2015).

[3] Snoek et al., "Praktische Bayes'sche Optimierung maschineller Lernalgorithmen", NIPS (2012).

[4] Rios und Sahinidis, "Derivatfreie Optimierung: Überprüfung von Algorithmen und Vergleich von Softwareimplementierungen", Journal of Global Optimization (2013).


4
+1 Das ist eine großartige Antwort. Insbesondere diese Papiere sind eine großartige Ergänzung zu diesem Thread; In der Tat wusste ich nicht, dass die von mir beschriebene allgemeine Methode Bayesian Optimization heißt. Aber ich bin besorgt, dass die Links im Laufe der Zeit schlecht werden könnten. Würde es Ihnen etwas ausmachen, umfassendere Zitierinformationen hinzuzufügen, damit zukünftige Benutzer auf diese Artikel zugreifen können?
Setzen Sie Monica

Die Bayes'schen Optimierungspapiere sind sehr hilfreich. Danke für die Antwort.
Jared Becksfort

1
@ user777: Guter Punkt. Am Ende wurde eine explizite Referenzliste hinzugefügt, die ausreichen sollte, um die Papiere wiederherzustellen.
Lacerbi

6

Ich kenne die Algorithmen selbst nicht, aber ich glaube, die Art von Optimierungsalgorithmus, nach der Sie suchen, ist die ableitungsfreie Optimierung , die verwendet wird, wenn das Objektiv teuer oder verrauscht ist .

Schauen Sie sich zum Beispiel diesen Artikel an (Björkman, M. & Holmström, K. "Globale Optimierung kostspieliger nichtkonvexer Funktionen mithilfe radialer Basisfunktionen", Optimierung und Konstruktion (2000) 1: 373. doi: 10.1023 / A: 1011584207202). Wessen Zusammenfassung scheint darauf hinzudeuten, dass dies genau das ist, was Sie wollen:

Der Aufsatz betrachtet die globale Optimierung kostspieliger Zielfunktionen, dh das Problem, das globale Minimum zu finden, wenn mehrere lokale Minima vorliegen und jeder Funktionswert eine beträchtliche CPU-Zeit für die Berechnung benötigt. Solche Probleme treten häufig in industriellen und finanziellen Anwendungen auf, bei denen ein Funktionswert das Ergebnis einer zeitaufwendigen Computersimulation oder -optimierung sein kann. Derivate sind am häufigsten schwer zu bekommen, und die vorgestellten Algorithmen machen keinen Gebrauch von solchen Informationen.


2
Bitte geben Sie die vollständigen Zitierinformationen für die verlinkten Artikel und andere Ressourcen an. Wir möchten ein dauerhaftes Repository für Informationen aufbauen, und Links können mit der Zeit schlecht werden.
Setzen Sie Monica

Björkman, M. & Holmström, K. "Globale Optimierung kostspieliger nichtkonvexer Funktionen mit radialen Basisfunktionen." Optimization and Engineering (2000) 1: 373. doi: 10.1023 / A: 1011584207202
jkdev

4

Du bist nicht allein.

Teuer zu evaluierende Systeme sind im Ingenieurwesen weit verbreitet, beispielsweise FEM-Modelle (Finite-Elemente-Methode) und CFD-Modelle (Computational Fluid Dynamics). Die Optimierung dieser rechenintensiven Modelle ist sehr notwendig und eine Herausforderung, da bei Evolutionsalgorithmen oftmals Zehntausende von Evaluierungen des Problems erforderlich sind, was keine Option für Probleme ist, deren Bewertung teuer ist. Glücklicherweise gibt es viele Methoden (Algorithmen), um dieses Problem zu lösen. Soweit ich weiß, basieren die meisten von ihnen auf Ersatzmodellen (Metamodellen). Einige sind unten aufgeführt.

  • Effiziente globale Optimierung (EGO) [1]. Der oben erwähnte EGO-Algorithmus ist möglicherweise der bekannteste Algorithmus zur Optimierung auf der Basis von Ersatzzeichen. Es basiert auf dem Kriging-Modell und einem Füllkriterium, das als Expected Improvement Function (EI) bezeichnet wird. R-Pakete, die den EGO-Algorithmus enthalten, sind DiceOptim und DiceKriging.
  • Methode der Modenverfolgung (MPS) [2]. Der MPS-Algorithmus baut auf dem RBF-Modell auf und es wird eine Strategie für die adaptive Abtastung verwendet, um Kandidatenpunkte zu erfassen. Der MATLAB-Code wird von den Autoren unter http://www.sfu.ca/~gwa5/software.html veröffentlicht . Der MPS-Algorithmus benötigt möglicherweise mehr Auswertungen, um das Optimum zu erzielen, kann aber aus meiner persönlichen Erfahrung mit komplizierteren Problemen umgehen als der EGO-Algorithmus.
  • Ensemble-Ersatzmodelle von Juliane Müller [3]. Sie verwendete mehrere Ersatzzeichen, um die Suchfähigkeit zu verbessern. Die MATLAB-Toolbox MATSuMoTo ist unter https://github.com/Piiloblondie/MATSuMoTo verfügbar .

Im Sommer versuchen diese auf Surrogaten basierenden Optimierungsalgorithmen, das globale Optimum des Problems mit möglichst wenigen Auswertungen zu finden. Dies wird erreicht, indem die Informationen, die der Stellvertreter (die Stellvertreter) liefert, vollständig genutzt werden. Übersichten zur Optimierung rechenintensiver Probleme finden sich in [4-6].


Referenz:

  1. DR Jones, M. Schonlau und WJ Welch, "Effiziente globale Optimierung teurer Black-Box-Funktionen", Journal of Global Optimization, vol. 13, S. 455-492, 1998.
  2. L. Wang, S. Shan und GG Wang, "Modusverfolgende Abtastmethode für die globale Optimierung teurer Black-Box-Funktionen", Engineering Optimization, vol. 36, S. 419-438, 2004.
  3. J. Müller, "Ersatzmodellalgorithmen für rechnerisch teure globale Black-Box-Optimierungsprobleme", Tampere University of Technology, 2012.
  4. GG Wang und S. Shan, "Review von Metamodellierungstechniken zur Unterstützung der Konstruktionsoptimierung", Journal of Mechanical Design, vol. 129, S. 370-380, 2007.
  5. AI Forrester und AJ Keane, "Jüngste Fortschritte in der ersatzbasierten Optimierung", Progress in Aerospace Sciences, vol. 45, S. 50-79, 2009.
  6. FAC Viana, TW Simpson, V. Balabanov und V. Toropov, "Metamodelling in der multidisziplinären Designoptimierung: Wie weit sind wir wirklich gekommen?", AIAA Journal, vol. 52, S. 670-690, 2014/04/01 2014.

3

Die zwei einfachen Strategien, die ich in der Vergangenheit erfolgreich angewendet habe, sind:

  1. Versuchen Sie nach Möglichkeit, eine einfachere Ersatzfunktion zu finden, die sich Ihrer vollständigen Kostenfunktionsbewertung annähert - ein typisches analytisches Modell, das eine Simulation ersetzt. Optimieren Sie diese einfachere Funktion. Dann validieren und optimieren Sie die resultierende Lösung mit Ihrer genauen Kostenfunktion.
  2. Versuchen Sie, wenn möglich, einen Weg zu finden, um eine exakte "Delta-Kosten" -Funktion zu bewerten - genau im Gegensatz zu einer Annäherung an die Verwendung des Gradienten. Dies bedeutet, dass Sie ausgehend von einem anfänglichen 15-dimensionalen Punkt, für den Sie die Gesamtkosten ausgewertet haben, einen Weg finden, um abzuleiten, wie sich die Kosten ändern würden, indem Sie eine kleine Änderung an einer (oder mehreren) der 15 Komponenten Ihres aktuellen Punkts vornehmen. Sie müßten Lokalisierungseigenschaften einer nutzen kleinen Störung , wenn ein in Ihrem speziellen Fall und Sie müßten wahrscheinlich, Cache definieren und aktualisieren einen internen Zustand Variable auf dem Weg.

Diese Strategien sind sehr fallspezifisch. Ich weiß nicht, ob sie in Ihrem Fall anwendbar sind oder nicht. Tut mir leid, wenn nicht. Beides könnte zutreffen (wie in meinen Anwendungsfällen): Wenden Sie die "Delta-Cost" -Strategie auf ein einfacheres Analysemodell an - die Leistung kann sich um mehrere Größenordnungen verbessern.

Eine andere Strategie wäre die Verwendung einer Methode zweiter Ordnung, die normalerweise die Anzahl der Iterationen verringert (aber jede Iteration ist komplexer) - z. B. der Levenberg-Marquardt-Algorithmus . Da Sie jedoch keine Möglichkeit zu haben scheinen, den Gradienten direkt und effizient zu bewerten, ist dies in diesem Fall wahrscheinlich keine praktikable Option.


3

Wie bereits erwähnt, ist ein Ersatzmodell (auch als Antwortfläche bezeichnet) ein leistungsfähiger Ansatz. Entscheidend ist meines Erachtens, dass bei Verwendung von Multicore-CPUs mehrere Funktionsauswertungen parallel durchgeführt werden können.

Ich würde vorschlagen , dass Sie sich diesen Code ansehen. Er verwendet ein einfaches Antwortmodell, skaliert jedoch auf Multicore-CPUs, was zu einer Beschleunigung führt, die der Anzahl der verwendeten Kerne entspricht. Mathematik hinter dem Verfahren in diesem beschriebenen Papier .


Ich nehme an, Sie sind der erste Autor auf dem Papier - das sollten Sie wahrscheinlich erwähnen, wenn dies der Fall ist. Dem Papier fehlt der Vergleich mit modernsten Methoden wie der Bayes'schen Optimierung oder anderen Ersatzmethoden (tatsächlich liefert es überhaupt keine Benchmark). Kannst du vielleicht noch etwas erzählen?
Lacerbi

Ich sage nicht, dass das dort verwendete Modell besser ist. Ich sage nur, dass die Leute zu besorgt über die Qualität des Modells sind und manchmal die Parallelität vergessen, was eine große Sache sein kann, wenn viele Kerne beteiligt sind.
Paul

Bitte geben Sie die vollständigen Zitierinformationen für die verlinkten Artikel und andere Ressourcen an. Wir möchten ein dauerhaftes Repository für Informationen aufbauen, und Links können mit der Zeit schlecht werden.
Setzen Sie Monica

2
Ich bin mir nicht sicher, wie stark die Terminologie von Gemeinde zu Gemeinde variiert, aber ich verwende hier häufig die Antwortfläche als Synonym für "Polynomial Surrogate Model" (typischerweise ein quadratisches Modell). Daher neige ich dazu, die Ersatzmodellierung als eine Obermenge der Reaktionsoberflächenmodellierung zu betrachten. (Dies kann jedoch falsch sein.)
GeoMatt22

0

Beim stochastischen Gradientenabstieg gibt es viele Tricks, die auch auf die objektive Funktionsbewertung angewendet werden können. Die Gesamtidee besteht darin, die Zielfunktion unter Verwendung einer Teilmenge von Daten zu approximieren .

Meine Antworten in diesen beiden Beiträgen beschreiben, warum der stochastische Gradientenabstieg funktioniert: Die Intuition dahinter besteht darin, den Gradienten mithilfe einer Teilmenge von Daten zu approximieren.

Wie kann der stochastische Gradientenabstieg im Vergleich zum normalen Gradientenabstieg Zeit sparen?

Wie wird eine parallele / verteilte lineare Regression für die Big Data-Einstellung ausgeführt?

Der gleiche Trick gilt für die Zielfunktion.

EINX-b2EINEINb

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.