Na wikipedia,
redução de dimensionalidade ou redução de dimensão é o processo de redução do número de variáveis aleatórias em consideração e pode ser dividido em seleção e extração de recursos.
Qual é a diferença entre a seleção e extração de recursos?
Qual é um exemplo de redução de dimensionalidade em uma tarefa de Processamento de linguagem natural?
A redução de dimensionalidade geralmente escolhe uma base ou representação matemática dentro da qual você pode descrever a maioria, mas não toda a variação em seus dados, mantendo assim as informações relevantes e reduzindo a quantidade de informações necessárias para representá-las. Há uma variedade de técnicas para fazer isto, incluindo mas não limitado a
PCA
,ICA
eMatrix Feature Factorization
. Isso usará os dados existentes e os reduzirá aos componentes mais discriminativos. Todos eles permitem que você represente a maioria das informações no seu conjunto de dados com menos recursos e mais discriminativos.Seleção de recurso é selecionar manualmente recursos altamente discriminativos. Isso tem muito mais a ver com a engenharia de recursos do que com a análise e requer muito mais trabalho por parte do cientista de dados. Requer uma compreensão de quais aspectos do seu conjunto de dados são importantes em quaisquer previsões que você esteja fazendo e quais não. A extração de recursos geralmente envolve a geração de novos recursos que são compostos de recursos existentes. Ambas as técnicas se enquadram na categoria de engenharia de recursos. Geralmente, a engenharia de recursos é importante se você deseja obter os melhores resultados, pois envolve a criação de informações que podem não existir no seu conjunto de dados e o aumento da taxa de sinal para ruído.
fonte
Dimensionality Reduction
cláusula, mas discordo um pouco sobre oFeature Engineering
uso - que, pelo que vi, é apenasFeature Extraction
:Feature Selection
é considerado separadamente. É apenas uma diferença na terminologia.Como em @damienfrancois, a seleção de recursos de resposta é sobre como selecionar um subconjunto de recursos. Portanto, na PNL, você selecionaria um conjunto de palavras específicas (o típico na PNL é que cada palavra representa um recurso com valor igual à frequência da palavra ou algum outro peso baseado em TF / IDF ou similar).
A redução de dimensionalidade é a introdução de um novo espaço de recurso onde os recursos originais são representados. O novo espaço é de menor dimensão que o espaço original. No caso de texto, um exemplo seria o truque de hash, onde um pedaço de texto é reduzido a um vetor de poucos bits (digamos 16 ou 32) ou bytes. O incrível é que a geometria do espaço é preservada (com bits suficientes), para que as distâncias relativas entre os documentos permaneçam as mesmas do espaço original, para que você possa implantar técnicas padrão de aprendizado de máquina sem precisar lidar com o número ilimitado (e grande número) de) dimensões encontradas no texto.
fonte
A seleção de recursos trata da escolha de alguns recursos com base em alguma pontuação estatística, mas a extração de recursos está usando técnicas para extrair algumas informações da segunda camada dos dados, por exemplo, freqüências interessantes de um sinal usando a transformada de Fourier.
A redução da dimensionalidade tem a ver com transformar dados em um espaço de baixa dimensão, no qual os dados preservam sua estrutura euclidiana, mas não sofrem com a maldição da dimensionalidade. Por exemplo, suponha que você extraia alguns recursos de palavras de um conjunto de dados em que cada documento possa ser modelado como um ponto no espaço n-dimensional en seja muito grande (um exemplo de brinquedo). Nesse caso, muitos algoritmos não funcionam de acordo com a distorção da distância do espaço de alta dimensão. Agora você precisa reduzir a dimensionalidade selecionando os recursos mais informativos ou transformando-os em um coletor de baixa dimensão usando métodos de redução de dimensionalidade, por exemplo, PCA, LLE, etc.[ x1, . . . , xn]
fonte
Para concluir a resposta de Damien, um exemplo de redução de dimensionalidade na PNL é um modelo de tópico , em que você representa o documento por um vetor que indica os pesos dos tópicos constituintes.
fonte
Para uma revisão e definição adequadas, você pode dar uma olhada em Redução de dimensão versus seleção de variáveis também no livro A extração de recursos e aplicações da extração de recursos é decomposta em duas etapas: construção e seleção de recursos.
fonte
A1 O que é redução de dimensionalidade: se você pensa em dados em uma matriz, onde linhas são instâncias e colunas são atributos (ou recursos), a redução de dimensionalidade está mapeando essa matriz de dados para uma nova matriz com menos colunas. Para visualização, se você pensar em cada coluna de matriz (atributo) como uma dimensão no espaço de recurso, a redução de dimensionalidade é a projeção de instâncias do espaço dimensional mais alto (mais colunas) para um subespaço dimensional mais baixo (menos colunas). O objetivo típico dessa transformação é (1) preservar as informações na matriz de dados e reduzir a complexidade computacional; (2) melhorar a separabilidade de diferentes classes de dados.
A2 Redução de dimensionalidade como seleção ou extração de recursos: usarei o onipresente conjunto de dados Iris , que é sem dúvida o 'olá mundo' da ciência de dados. Resumidamente, o conjunto de dados Iris possui 3 classes e 4 atributos (colunas). Ilustrarei a seleção e extração de recursos para a tarefa de reduzir a dimensionalidade do conjunto de dados Iris de 4 para 2.
Eu computo a co-variação em pares deste conjunto de dados usando a biblioteca em Python chamada seaborn. O código é: sns.pairplot (íris, matiz = "espécie", marcadores = ["o", "s", "D"]). A figura que recebo é que posso selecionar o par de atributos (2 dimensões) que fornecem me a maior separação entre as 3 classes (espécies) no conjunto de dados Iris. Este seria um caso de seleção de recurso.
O próximo passo é a extração de recursos. Aqui, estou projetando o espaço de característica quadridimensional do Iris para um novo subespaço bidimensional, que não é um eixo alinhado ao espaço original. Esses são novos atributos. Eles geralmente são baseados na distribuição no espaço dimensional de alta original. O método mais popular é a Análise de componentes principais, que calcula os vetores próprios no espaço original. Obviamente, não estamos restritos a usar apenas uma projeção linear e global para um subespaço baseado em vetores próprios. Também podemos usar métodos de projeção não linear. Aqui está um exemplo de PCA não linear usando redes neurais Os atributos (dimensões) no último exemplo são extraídosdos 4 atributos originais usando redes neurais. Você pode experimentar vários tipos de conjunto de dados do PCA para íris usando esse código de métodos pca .
Resumo: Embora os métodos de extração de recursos pareçam ter desempenho superior à seleção de recursos, a escolha é predicada pelo aplicativo. Os atributos da extração de recursos geralmente perdem a interpretação física, o que pode ou não ser um problema com base na tarefa em questão. Por exemplo, se você estiver projetando uma tarefa de coleta de dados muito cara com sensores caros e precisar economizar nos atributos (número de sensores diferentes), convém coletar uma pequena amostra piloto usando todos os sensores disponíveis e, em seguida, selecionar os que são mais informativos para a tarefa de coleta de big data.
fonte
Extraído do aprendizado prático da máquina com o scikit-learn e o Tensorflow
fonte
Várias ótimas respostas aqui, em particular, a resposta de @ damienfrancois captura muito sucintamente a idéia geral.
No entanto, não vejo exemplos de engenharia de recursos para dados relacionais ou de séries temporais. Nesse caso, os cientistas de dados geralmente extraem padrões estatísticos entre relacionamentos e ao longo do tempo. Por exemplo, para prever o que os clientes farão no futuro em um banco de dados de comércio eletrônico, é possível extrair quantidades como o valor médio histórico da compra ou a frequência das compras anteriores.
Eu escrevi um artigo sobre esse tópico que entra em muito mais detalhes com vários exemplos aqui: https://www.featurelabs.com/blog/feature-engineering-vs-feature-selection/
fonte
Deixe-me começar com a ordem inversa, que extrai recursos e por que há necessidade de seleção de recursos e redução de dimensionalidade.
Começando com o uso da extração de recursos, que é principalmente para fins de classificação. A classificação é o processo de tomar uma decisão sobre qual categoria o objeto específico pertence. Possui duas fases: i) fase de treinamento, onde dados ou objetos são aprendidos com propriedades, usando algum processo (extração de recurso); ii) fase de teste, onde o objeto desconhecido é classificado usando os recursos aprendidos na fase anterior (treinamento).
A extração de recursos, como o nome sugere, dado que o objetivo dos dados é encontrar o padrão subjacente. Esse padrão subjacente, que é o termo como recurso correspondente aos dados respectivos. Existem várias metodologias para extração de recursos, como SVM (Support Vector Machine).
Agora, a extração de recursos deve gerar recursos que devem ser
Seleção de recurso: Um conjunto específico de dados pode ser representado por um único recurso ou conjunto de recursos. No processo de classificação, um sistema é treinado para pelo menos duas classes. Portanto, o sistema de treinamento irá gerar um único recurso ou conjunto de recursos. Esses recursos devem possuir as propriedades declaradas acima.
O problema ocorre quando há um conjunto de recursos para cada classe e existe correlação entre alguns dos recursos. Isso implica, entre os recursos correlatos, que um ou poucos são suficientes para representação e é aí que a seleção de recursos aparece. Além disso, esses recursos precisam ser armazenados com o aumento no requisito de memória do conjunto de recursos também aumenta.
Depois vem a redução de dimensionalidade, que nada mais é do que a parte do processo de seleção de recursos. É o processo de escolher o conjunto ideal de recursos que melhor descreve os dados. Existem muitas técnicas para o mesmo, como análise de componentes principais, análise de componentes independentes e fatoração de matrizes, etc.
fonte
Por exemplo ... se você possui uma área agrícola, a seleção de uma área específica dessa área seria a seleção de características. em cada planta, a fim de encontrar as anormalidades ... para isso, você estaria considerando a extração de características. Neste exemplo, a terra agrícola original corresponde à redução da dimensionalidade.
fonte