Kann man lineare Modelle auf „Blöcken“ des Datensatzes erstellen, wenn man sie nicht auf dem gesamten Datensatz erstellen kann?

7

Kann man lineare Modelle auf "Blöcken" des Datensatzes erstellen, wenn man sie nicht auf dem gesamten Datensatz erstellen kann?

Insbesondere habe ich noch über 88.000 Variablen (Features) übrig und man kann ohne viel Speicher nicht viel damit anfangen. Aber verlieren Modelle bei "Blöcken" die Wechselwirkungen zwischen Blöcken oder gibt es eine Technik, um diese zu "aggregieren"?

mavavilj
quelle
1
Training linearer Modelle und neuronaler Netze (nichtlineare Modelle) mit SGD, was für stochastischen Gradientenabstieg steht. Der Trick ist so einfach, dass Sie den Gradienten des Verlusts für eine zufällige Charge berechnen und die Gewichte aktualisieren.
Fadi Bakoura

Antworten:

6

Wenn sich "Variablen" auf Trainingsbeispiele beziehen:

Sie können Stochastic Gradient Descent (SGD) verwenden, wobei für jede Iteration ein Trainingsbeispiel verwendet wird.

Oder Sie können den Mini-Batch-Gradientenabstieg verwenden, bei dem jede Iteration eine Partition des Trainingssatzes verwendet. SGD ist ein Mini-Batch-Gradientenabstieg, bei dem die Partitionsgröße ein Trainingsbeispiel ist.


Wenn sich "Variablen" auf Funktionen bezieht:

Sie sollten die Dimensionsreduzierung verwenden , um die Anzahl der Features zu reduzieren. Sie können beispielsweise die Hauptkomponentenanalyse (PCA) verwenden , um die Größe Ihres Merkmalsvektors zu reduzieren und gleichzeitig eine hohe Varianz beizubehalten. Dies würde auch dazu beitragen, dass Ihre Modelle deutlich schneller trainieren.

Benji Albert
quelle
Randnotiz: Wenn sich "Variablen" auf Features bezieht und Sie über viele Datenpunkte verfügen, können Sie den Auto-Encoder verwenden, um kompaktere Darstellungen zu extrahieren. siehe VAE, DAE. SAE, CAE
Fadi Bakoura