Técnicas de aumento de dados para conjuntos de dados gerais?


21

Em muitas aplicações de aprendizado de máquina, os chamados métodos de aumento de dados permitiram construir modelos melhores. Por exemplo, assuma um conjunto de treinamento de imagens de cães e gatos. Girando, espelhando, ajustando o contraste, etc., é possível gerar imagens adicionais a partir das originais.100

No caso de imagens, o aumento de dados é relativamente direto. No entanto, suponha (por exemplo) que se tenha um conjunto de treinamento de amostras e algumas centenas de variáveis ​​contínuas que representam coisas diferentes. O aumento de dados não parece mais tão intuitivo. O que poderia ser feito nesse caso?100


2
Eu acho que alguns métodos como PCA ou AE ainda são intuitivos para aumento de dados. O primeiro método é aplicar o PCA e manter os primeiros valores próprios k e definir valores próprios aleatoriamente a partir de uma distribuição, gaussiana etc. Se o número de unidades ocultas estiver próximo das unidades visíveis, ele poderá se construir muito bem. Os dados reconstruídos podem ser usados ​​como parte aumentada dos dados.
Yasin.yazici

@mmh, isso respondeu à sua pergunta?
shf8888

@ yasin.yazici Olá. você poderia explicar um pouco sobre o aumento de dados usando o pca? Suponha que eu tenha dados sendo 50 a dimensão do recurso. Agora eu faço o PCA e acho que os primeiros 30 principais autovetores são suficientes. O que devo fazer nos próximos 20 vetores próprios e como devo introduzir a aleatoriedade? 100x50.50.3020
roni

Veja minha tese de mestrado, página 80, para uma visão geral das técnicas de aumento de dados para imagens.
Martin Thoma

O aumento de dados faz muito sentido para imagens, por exemplo. Uma imagem girada do objeto ainda é uma imagem do objeto, e você precisa que o modelo seja exposto a isso, mas presumivelmente você não necessariamente tem essa imagem no seu conjunto de dados. Qual é a necessidade / aumento do ponto de dados neste caso? Não está claro para mim que você deveria estar fazendo isso.
gung - Restabelecer Monica

Respostas:


17

Entendo que essa pergunta envolva a construção de recursos e o manuseio da riqueza de recursos que você já possui + construirá, em relação às suas observações ( N << P).

Construção de recursos

Expandindo o comentário de @ yasin.yazici, algumas maneiras possíveis de aumentar os dados seriam:

  • PCA
  • Codificação automática
  • Transformações como log, potências, etc.
  • Classificando variáveis ​​contínuas em categorias discretas (ou seja, a variável contínua é 1 DP acima da média, 1 abaixo da média, etc.)
  • Variáveis ​​compostas (por exemplo, veja aqui )

Tenho certeza de que há muito mais que estou perdendo.

Seleção de recurso / redução de dimensionalidade

Você pode reduzir a dimensionalidade com técnicas como o PCA (embora talvez não depois de aumentar seus dados com variáveis ​​do PCA). Como alternativa, você pode usar algoritmos que executam a seleção de recursos para você, como laço, floresta aleatória etc.


2
Você pode dizer como a codificação automática pode ser usada para a construção de recursos?
Rogerio25

1
@roni O treinamento bem-sucedido de um autoencoder gera uma representação dos dados em um nível mais alto de abstração. Espero que seja uma representação mais útil que você possa usar em um classificador.
Chris Anderson

0

Eu enfrentei um problema semelhante em que eu queria aumentar dados numéricos não rotulados. Aumentei os dados da seguinte maneira: (Digamos que eu tenha um conjunto de dados de tamanho 100 * 10.)

  1. Crie uma lista amostrando aleatoriamente valores de {0,1}, de modo que o número de zeros seja menor que o número de 1s, digamos que a proporção de 0s seja 20% nesse caso. Então, você terá uma lista de 0s e 1s de comprimento 100.
  2. Use esta lista como uma variável dependente e a passou para smote para gerar mais pontos de dados. (Aqui, smote geraria pontos nas bordas que conectam os pontos de dados que correspondem a 0s na lista gerada).
  3. Repita esse processo até que o conjunto de dados do tamanho necessário seja obtido.

1
Não poste respostas idênticas em vários tópicos. Se você realmente acredita que a mesma resposta que você postou em outro lugar responde totalmente a outra pergunta, sinalize essa pergunta como uma duplicata da primeira.
gung - Restabelecer Monica
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.