Deep (Learning + Random) Wald- und Artikelanalyse

Wir sprechen weiterhin ĂŒber die Konferenz zu Statistik und maschinellem Lernen AISTATS 2019. In diesem Beitrag werden wir Artikel ĂŒber Tiefenmodelle aus Baumensembles analysieren, Regularisierung fĂŒr sehr spĂ€rliche Daten mischen und zeiteffiziente AnnĂ€herung an die Kreuzvalidierung.



Deep Forest-Algorithmus: Eine Untersuchung von Nicht-NN-Tiefenmodellen basierend auf nicht differenzierbaren Modulen


Zhi-Hua Zhou (UniversitÀt Nanjing)
→ PrĂ€sentation
→ Artikel
Implementierungen - unten


Ein Professor aus China sprach ĂŒber das Baumensemble, das die Autoren als erstes tiefes Training fĂŒr nicht differenzierbare Module bezeichnen. Dies mag wie eine zu laute Aussage erscheinen, aber dieser Professor und sein H-Index 95 sind eingeladene Redner. Diese Tatsache ermöglicht es uns, die Aussage ernster zu nehmen. Die grundlegende Theorie von Deep Forest wurde fĂŒr eine lange Zeit entwickelt, der ursprĂŒngliche Artikel ist bereits 2017 (fast 200 Zitate), aber die Autoren schreiben Bibliotheken und jedes Jahr verbessern sie den Algorithmus in der Geschwindigkeit. Und jetzt, so scheint es, haben sie den Punkt erreicht, an dem diese schöne Theorie endlich in die Praxis umgesetzt werden kann.


Gesamtansicht der Tiefwaldarchitektur


Hintergrund


Tiefe Modelle, die heute als tiefe neuronale Netze verstanden werden, werden verwendet, um komplexe DatenabhĂ€ngigkeiten zu erfassen. DarĂŒber hinaus stellte sich heraus, dass das Erhöhen der Anzahl von Schichten effizienter ist als das Erhöhen der Anzahl von Einheiten auf jeder Schicht. Neuronale Netze haben jedoch ihre Nachteile:


  • Es braucht viele Daten, um nicht umzuschulen,
  • Es erfordert eine Menge Rechenressourcen, um in angemessener Zeit zu lernen.
  • Zu viele Hyperparameter, die sich nur schwer optimal konfigurieren lassen

DarĂŒber hinaus sind Elemente tiefer neuronaler Netze differenzierbare Module, die nicht unbedingt fĂŒr jede Aufgabe wirksam sind. Trotz der KomplexitĂ€t neuronaler Netze funktionieren konzeptionell einfache Algorithmen wie eine zufĂ€llige Gesamtstruktur oft besser oder nicht viel schlechter. FĂŒr solche Algorithmen mĂŒssen Sie jedoch Features manuell entwerfen, was auch schwierig optimal zu tun ist.


Forscher haben bereits festgestellt, dass die Ensembles auf Kaggle: „sehr perfekt“ sind. Inspiriert von den Worten von Scholl und Hinton, dass Differenzierung die schwĂ€chste Seite von Deep Learning ist, haben sie beschlossen, ein Ensemble von BĂ€umen mit DL-Eigenschaften zu erstellen.


Folie „Wie man ein gutes Ensemble macht“


Die Architektur wurde aus den Eigenschaften der Ensembles abgeleitet: Die Elemente der Ensembles sollten nicht von sehr schlechter QualitÀt sein und sich unterscheiden.


GcForest besteht aus zwei Phasen: Cascade Forest und Multi-Grained Scanning. Damit die Kaskade nicht umgeschult wird, besteht sie außerdem aus zwei Baumarten - von denen eine absolut zufĂ€llige BĂ€ume sind, die fĂŒr nicht zugewiesene Daten verwendet werden können. Die Anzahl der Schichten wird innerhalb des Kreuzvalidierungsalgorithmus bestimmt.


Zwei Arten von BĂ€umen


Ergebnisse


ZusĂ€tzlich zu den Ergebnissen fĂŒr StandarddatensĂ€tze versuchten die Autoren, gcForest fĂŒr Transaktionen des chinesischen Zahlungssystems zu verwenden, um nach Betrug zu suchen, und erzielten F1 und AUC viel höher als die von LR und DNN. Diese Ergebnisse sind nur in der PrĂ€sentation enthalten, aber der Code, der fĂŒr einige StandarddatensĂ€tze ausgefĂŒhrt werden soll, befindet sich auf Git.



Ergebnisse der Algorithmusersetzung. mdDF ist die optimale Margin Distribution Deep Forest, eine Variante von gcForest



Vorteile:


  • Bei wenigen Hyperparametern wird die Anzahl der Ebenen innerhalb des Algorithmus automatisch angepasst
  • Die Standardeinstellungen sind so gewĂ€hlt, dass sie bei vielen Aufgaben gut funktionieren.
  • Adaptive KomplexitĂ€t des Modells fĂŒr kleine Daten - ein kleines Modell
  • Keine Notwendigkeit, Funktionen einzustellen
  • Es funktioniert qualitativ vergleichbar mit tiefen neuronalen Netzen und manchmal besser

Nachteile:


  • Nicht auf GPU beschleunigt
  • In den Bildern verliert DNNs

Neuronale Netze haben ein Problem mit der GradientendĂ€mpfung, wĂ€hrend tiefe WĂ€lder ein Problem mit dem Verschwinden der Vielfalt haben. Da es sich um ein Ensemble handelt, ist die QualitĂ€t umso höher, je mehr „unterschiedliche“ und „gute“ Elemente verwendet werden. Das Problem ist, dass die Autoren bereits fast alle klassischen AnsĂ€tze (Stichproben, Randomisierung) ausprobiert haben. Solange keine neue Grundlagenforschung zum Thema „Unterschiede“ erscheint, wird es schwierig sein, die QualitĂ€t tiefer WĂ€lder zu verbessern. Jetzt ist es jedoch möglich, die Rechengeschwindigkeit zu verbessern.


Reproduzierbarkeit der Ergebnisse


Ich war von XGBoost in Bezug auf die Tabellendaten fasziniert und wollte das Ergebnis reproduzieren. Ich nahm das Adults-Dataset und wandte GcForestCS (eine leicht beschleunigte Version von GcForest) mit Parametern der Autoren des Artikels und XGBoost mit Standardparametern an. In dem Beispiel, das die Autoren hatten, wurden kategoriale Merkmale bereits irgendwie vorverarbeitet, aber es wurde nicht angegeben, wie. Als Ergebnis habe ich CatBoostEncoder und eine andere Metrik verwendet - ROC AUC. Die Ergebnisse waren statistisch unterschiedlich - XGBoost gewann. Die Betriebszeit von XGBoost ist vernachlĂ€ssigbar, wĂ€hrend gcForestCS 20 Minuten jeder Kreuzvalidierung mit 5 Falten hat. Andererseits haben die Autoren den Algorithmus an verschiedenen DatensĂ€tzen getestet und die Parameter fĂŒr diesen Datensatz an ihre Feature-Vorverarbeitung angepasst.


Den Code finden Sie hier .


Implementierungen


→ Der offizielle Code der Autoren des Artikels
→ Offizielle verbesserte Änderung, schneller, aber keine Dokumentation
→ Die Implementierung ist einfacher


PcLasso: Das Lasso erfĂŒllt die Regression der Hauptkomponenten


J. Kenneth Tay, Jerome Friedman, Robert Tibshirani (Stanford University)


→ Artikel
→ PrĂ€sentation
→ Anwendungsbeispiel


Anfang 2019 schlugen J. Kenneth Tay, Jerome Friedman und Robert Tibshirani von der Stanford University eine neue Unterrichtsmethode mit einem Lehrer vor, die besonders fĂŒr spĂ€rliche Daten geeignet ist.


Die Autoren des Artikels lösten das Problem der Analyse von Daten zu Genexpressionsstudien, die in Zeng & Breesy (2016) beschrieben sind. Ziel ist der Mutationsstatus des p53-Gens, der die Genexpression als Reaktion auf verschiedene Signale von zellulĂ€rem Stress reguliert. Ziel der Studie ist es, PrĂ€diktoren zu identifizieren, die mit dem Mutationsstatus von p53 korrelieren. Die Daten bestehen aus 50 Zeilen, von denen 17 als normal klassifiziert sind und die restlichen 33 Mutationen im p53-Gen tragen. Nach einer Analyse von Subramanian et al. (2005) 308 SĂ€tze von Genen zwischen 15 und 500 sind in dieser Analyse enthalten. Diese Gen-Kits enthalten insgesamt 4.301 Gene und sind im Paket grpregOverlap R verfĂŒgbar. Beim Erweitern von Daten zur Verarbeitung ĂŒberlappender Gruppen werden 13.237 Spalten ausgegeben. Die Autoren des Artikels verwendeten die pcLasso-Methode, die zur Verbesserung der Modellergebnisse beitrug.


Im Bild sehen wir einen Anstieg der AUC bei Verwendung von "pcLasso"


Die Essenz der Methode


Methode kombiniert l_1 -regelmĂ€ĂŸigkeit mit l_2 , wodurch der Koeffizientenvektor auf die Hauptkomponenten der Merkmalsmatrix eingegrenzt wird. Sie nannten die vorgeschlagene Methode "Kern-Lasso-Komponenten" ("pcLasso" auf R verfĂŒgbar). Die Methode kann besonders leistungsfĂ€hig sein, wenn die Variablen zuvor gruppiert wurden (der Benutzer wĂ€hlt aus, was und wie gruppiert werden soll). In diesem Fall komprimiert pcLasso jede Gruppe und erhĂ€lt die Lösung in Richtung der Hauptkomponenten dieser Gruppe. WĂ€hrend des Lösungsprozesses wird auch die Auswahl signifikanter Gruppen unter den verfĂŒgbaren durchgefĂŒhrt.


Wir prÀsentieren die diagonale Matrix der singulÀren Zerlegung einer zentrierten Matrix von Merkmalen X. wie folgt:


Wir reprÀsentieren unsere singulÀre Zerlegung der zentrierten Matrix X (SVD) als X = UDV ^ T. wo D. Ist eine Diagonalmatrix, die aus singulÀren Werten besteht. In dieser Form l_2 - Regularisierung kann dargestellt werden:
\ beta ^ T VZV ^ T \ beta wo Z. - Diagonalmatrix mit der Funktion von Quadraten singulÀrer Werte: Z_ {11} = f_1 (d_1 ^ 2, d_2 ^ 2, ..., d_m ^ 2), ..., Z_ {22} = f_2 (d_1 ^ 2, d_2 ^ 2, ..., d_m ^ 2) .


Im Allgemeinen in l_2 -regelmĂ€ĂŸigkeit Z_ {jj} = 1 fĂŒr alle j das entspricht \ beta ^ T \ beta . Sie schlagen vor, die folgenden Funktionen zu minimieren:



Hier D. - Matrix der Unterschiede der diagonalen Elemente d_1 ^ 2-d_1 ^ 2, d_1 ^ 2-d_2 ^ 2, ..., d_1 ^ 2-d_m ^ 2 . Mit anderen Worten, wir steuern den Vektor \ beta auch mit Hyperparameter \ Theta .
Wenn wir diesen Ausdruck transformieren, erhalten wir die Lösung:



Das Hauptmerkmal der Methode ist natĂŒrlich die FĂ€higkeit, Daten zu gruppieren und auf der Grundlage dieser Gruppen die Hauptkomponenten der Gruppe hervorzuheben. Dann schreiben wir unsere Lösung in der Form um:



Hier \ beta_k - Vektorsubvektor \ beta entsprechend der Gruppe k, d_k = (d_ {k1}, ..., d_ {kmk}) - singulÀre Werte X_k in absteigender Reihenfolge angeordnet, und D_ {d_ {k1} ^ 2-d_ {kj} ^ 2} - Diagonalmatrix d_ {k1} ^ 2-d_ {kj} ^ 2, j = 1,2, ..., m_k


Einige Hinweise zur Lösung der Zielfunktion:


  1. Die Zielfunktion ist konvex und die nicht glatte Komponente ist trennbar. Daher kann es unter Verwendung eines Gradientenabfalls effektiv optimiert werden.
    Der Ansatz besteht darin, mehrere Werte festzuschreiben \ Theta (einschließlich Null, um den Standard zu erhalten l_1 -regelmĂ€ĂŸigkeit) und dann optimieren: abholen \ lambda . Dementsprechend sind die Parameter \ Theta und \ lambda werden zur Kreuzvalidierung ausgewĂ€hlt.


  2. Parameter \ Theta schwer zu interpretieren. In der Software (pcLasso-Paket) legt der Benutzer den Wert dieses Parameters fest, der zum Intervall [0,1] gehört, wobei 1 entspricht \ Theta = 0 (Lasso).



In der Praxis variieren die Werte \ Theta = 0,25, 0,5, 0,75, 0,9, 0,95 und 1 können Sie eine breite Palette von Modellen abdecken.


Der Algorithmus selbst ist wie folgt


Dieser Algorithmus ist bereits in R geschrieben. Wenn Sie möchten, können Sie ihn bereits verwenden. Die Bibliothek heißt 'pcLasso'.


Ein Infinitesimal Jackjack der Schweizer Armee


Ryan Giordano (UC Berkeley); William Stephenson (MIT); Runjing Liu (UC Berkeley);
Michael Jordan (UC Berkeley); Tamara Broderick (MIT)


→ Artikel
→ Code


Die QualitĂ€t von Algorithmen fĂŒr maschinelles Lernen wird hĂ€ufig durch mehrfache Kreuzvalidierung (Kreuzvalidierung oder Bootstrap) gemessen. Diese Methoden sind leistungsstark, bei großen Datenmengen jedoch langsam.


In dieser Arbeit verwenden Kollegen die lineare Approximation von Gewichten, um Ergebnisse zu erzielen, die schneller funktionieren. Diese lineare NĂ€herung ist in der statistischen Literatur als "infinitesimales Klappmesser" bekannt. Es wird hauptsĂ€chlich als theoretisches Instrument zum Nachweis asymptotischer Ergebnisse verwendet. Die Ergebnisse des Artikels sind unabhĂ€ngig davon anwendbar, ob die Gewichte und Daten stochastisch oder deterministisch sind. Infolgedessen schĂ€tzt diese NĂ€herung sequentiell die wahre Kreuzvalidierung fĂŒr jedes feste k.


Verleihung des Paper Award an den Autor des Artikels


Die Essenz der Methode


Betrachten Sie das Problem der SchĂ€tzung eines unbekannten Parameters \ theta \ in \ Omega _ {\ theta} \ Teilmenge R ^ {D} wo \ Omega _ {\ theta} Ist kompakt und die GrĂ¶ĂŸe unseres Datensatzes ist N. . Unsere Analyse wird an einem festen Datensatz durchgefĂŒhrt. Definieren Sie unsere Bewertung \ theta \ in \ Omega _ {\ theta} wie folgt:


  1. FĂŒr jeden n = 1,2 ..., N. einstellen g_n ( \ Theta ) Ist eine Funktion von \ Omega _ {\ theta} \ Teilmenge R ^ {D}
  2. \ omega_n Ist eine reelle Zahl und \ Omega Ist ein Vektor bestehend aus \ omega_n

Dann \ hat {\ theta} kann dargestellt werden als:



Wenn wir dieses Optimierungsproblem mit der Gradientenmethode lösen, nehmen wir an, dass die Funktionen differenzierbar sind und wir den Hessischen berechnen können. Das Hauptproblem, das wir lösen, sind die mit der Bewertung verbundenen Rechenkosten \ hat {\ theta} ̂ (\ omega) fĂŒr alle \ omega∈W . Der Hauptbeitrag der Autoren des Artikels besteht in der Berechnung der SchĂ€tzung \ hat {\ theta} _1 = \ hat {\ theta} _1 (1 _ {\ omega}) wo 1_ \ omega = (1,1, ..., 1) . Mit anderen Worten, unsere Optimierung hĂ€ngt nur von Derivaten ab g_n (\ theta) von denen wir annehmen, dass sie existieren und hessisch sind:



Als nÀchstes definieren wir eine Gleichung mit einem festen Punkt und seiner Ableitung:


Hier lohnt es sich, darauf zu achten G (\ theta ̂ (\ omega), w) = 0 , als \ hat {\ theta} (\ omega) - Lösung fĂŒr \ frac {1} {N} \ sum_ {n = 1} ^ {N} \ omega_n g_n (\ theta) = 0 . Wir definieren auch: H_1 = H (\ hat {\ theta} _1,1_ \ omega) und die Matrix der Gewichte als: \ Delta \ omega = \ omega-1_ \ omega \ in R ^ {n} . In dem Fall, wenn H_1 hat eine inverse Matrix, können wir den impliziten Funktionssatz und die 'Kettenregel' verwenden:



Diese Ableitung ermöglicht es uns, eine lineare NĂ€herung zu bilden \ hat {\ theta} ̂ (\ omega) durch \ hat {\ theta} _1 das sieht so aus:



Als \ hat {\ theta} _ {IJ} hĂ€ngt nur ab von \ hat {\ theta} _1 und \ Delta \ Omega und nicht aus Lösungen fĂŒr andere Werte \ Omega Dementsprechend besteht keine Notwendigkeit, neue Werte von & ohgr; neu zu berechnen und zu finden. Stattdessen muss man das SLE (System linearer Gleichungen) lösen.


Ergebnisse


In der Praxis reduziert dies die Zeit im Vergleich zur Kreuzvalidierung erheblich:

Source: https://habr.com/ru/post/de458388/


All Articles