Pode-se construir modelos lineares em "partes" do conjunto de dados, se não for possível construí-los em todo o conjunto de dados?

7

Pode-se construir modelos lineares em "blocos" do conjunto de dados, se não for possível construí-los em todo o conjunto de dados?

Particularmente, ainda tenho mais de 88 mil variáveis ​​(recursos) restantes e não se pode fazer muito com elas sem grandes quantidades de memória. Mas fazer modelos em "blocos" perde as interações que ocorrem entre os blocos ou existe alguma técnica para "agregá-las"?

mavavilj
fonte
11
treinando modelos lineares e redes neurais (modelos não lineares) com SGD, que significa descida de gradiente estocástico. o truque é tão simples que você calcula o gradiente da perda em um lote aleatório e atualiza os pesos.
Fadi Bakoura

Respostas:

6

Se "variáveis" se referir a exemplos de treinamento:

Você pode usar a Descida de gradiente estocástico (SGD), em que cada iteração usa um exemplo de treinamento.

Ou você pode usar a Descida de Gradiente de Mini-Lote, onde cada iteração usa uma partição do conjunto de treinamento. SGD é a descida de gradiente de mini-lote, onde o tamanho da partição é um exemplo de treinamento.


Se "variáveis" se referir a recursos:

Você deve usar a redução de dimensionalidade para reduzir seu número de recursos. Por exemplo, você pode usar a Análise de Componente Principal (PCA) para reduzir o tamanho do vetor de recurso enquanto mantém alta variação. Isso também ajudaria seus modelos a treinar significativamente mais rápido.

Benji Albert
fonte
nota lateral: Se "variáveis" se referir a recursos e você tiver muitos pontos de dados, poderá usar o codificador automático para extrair representações mais compactas. veja VAE, DAE. SAE, CAE
Fadi Bakoura