Aprendizado supervisionado

Da Wikipédia, a enciclopédia livre
Ir para a navegação Saltar para pesquisar

O aprendizado supervisionado (SL) é a tarefa de aprendizado de máquina de aprender uma função que mapeia uma entrada para uma saída com base em pares de entrada-saída de exemplo. [1] Ele infere uma função dedados de treinamento rotulados que consistem em um conjunto deexemplos de treinamento. [2] No aprendizado supervisionado, cada exemplo é umparque consiste em um objeto de entrada (normalmente um vetor) e um valor de saída desejado (também chamado desinal de supervisão). Um algoritmo de aprendizado supervisionado analisa os dados de treinamento e produz uma função inferida, que pode ser usada para mapear novos exemplos. Um cenário ideal permitirá que o algoritmo determine corretamente os rótulos de classe para instâncias não vistas. Isso requer que o algoritmo de aprendizado generalize dos dados de treinamento para situações não vistas de uma maneira "razoável" (consulteviés indutivo). Essa qualidade estatística de um algoritmo é medida através do chamado erro de generalização .

A tarefa paralela na psicologia humana e animal é muitas vezes referida como aprendizagem de conceitos .

Passos a seguir

Para resolver um determinado problema de aprendizagem supervisionada, deve-se realizar os seguintes passos:

  1. Determine o tipo de exemplos de treinamento. Antes de fazer qualquer outra coisa, o usuário deve decidir que tipo de dados deve ser usado como conjunto de treinamento. No caso da análise de caligrafia , por exemplo, pode ser um único caractere manuscrito, uma palavra manuscrita inteira, uma frase inteira de caligrafia ou talvez um parágrafo inteiro de caligrafia.
  2. Reúna um conjunto de treinamento. O conjunto de treinamento precisa ser representativo do uso da função no mundo real. Assim, um conjunto de objetos de entrada é reunido e as saídas correspondentes também são reunidas, seja de especialistas humanos ou de medições.
  3. Determine a representação do recurso de entrada da função aprendida. A precisão da função aprendida depende fortemente de como o objeto de entrada é representado. Normalmente, o objeto de entrada é transformado em um vetor de recursos , que contém vários recursos que são descritivos do objeto. O número de feições não deve ser muito grande, por causa da maldição da dimensionalidade ; mas deve conter informações suficientes para prever com precisão a saída.
  4. Determine a estrutura da função aprendida e o algoritmo de aprendizagem correspondente. Por exemplo, o engenheiro pode optar por usar máquinas de vetor de suporte ou árvores de decisão .
  5. Complete o projeto. Execute o algoritmo de aprendizado no conjunto de treinamento reunido. Alguns algoritmos de aprendizado supervisionado exigem que o usuário determine certos parâmetros de controle. Esses parâmetros podem ser ajustados otimizando o desempenho em um subconjunto (chamado de conjunto de validação ) do conjunto de treinamento ou por meio de validação cruzada .
  6. Avalie a precisão da função aprendida. Após o ajuste e aprendizado dos parâmetros, o desempenho da função resultante deve ser medido em um conjunto de teste separado do conjunto de treinamento.

Escolha do algoritmo

Uma ampla variedade de algoritmos de aprendizado supervisionado está disponível, cada um com seus pontos fortes e fracos. Não existe um algoritmo de aprendizado único que funcione melhor em todos os problemas de aprendizado supervisionado (veja o teorema Sem almoço grátis ).

Há quatro questões principais a serem consideradas no aprendizado supervisionado:

Compensação de viés-variância

Uma primeira questão é a compensação entre viés e variância . [3] Imagine que temos disponíveis vários conjuntos de dados de treinamento diferentes, mas igualmente bons. Um algoritmo de aprendizado é tendencioso para uma entrada específicase, quando treinado em cada um desses conjuntos de dados, for sistematicamente incorreto ao prever a saída correta para. Um algoritmo de aprendizado tem alta variância para uma entrada específicase ele prevê diferentes valores de saída quando treinado em diferentes conjuntos de treinamento. O erro de previsão de um classificador aprendido está relacionado à soma do viés e a variância do algoritmo de aprendizado. [4] Geralmente, há uma compensação entre viés e variância. Um algoritmo de aprendizado com baixo viés deve ser "flexível" para que possa se ajustar bem aos dados. Mas se o algoritmo de aprendizado for muito flexível, ele se ajustará a cada conjunto de dados de treinamento de maneira diferente e, portanto, terá alta variação. Um aspecto fundamental de muitos métodos de aprendizado supervisionado é que eles são capazes de ajustar essa compensação entre viés e variância (automaticamente ou fornecendo um parâmetro de viés/variância que o usuário pode ajustar).

Complexidade da função e quantidade de dados de treinamento

A segunda questão é a quantidade de dados de treinamento disponíveis em relação à complexidade da função "verdadeira" (classificador ou função de regressão). Se a função verdadeira for simples, então um algoritmo de aprendizado "inflexível" com alto viés e baixa variância poderá aprendê-lo a partir de uma pequena quantidade de dados. Mas se a função verdadeira for altamente complexa (por exemplo, porque envolve interações complexas entre muitos recursos de entrada diferentes e se comporta de maneira diferente em diferentes partes do espaço de entrada), a função só poderá aprender com uma quantidade muito grande de dados de treinamento e usando um algoritmo de aprendizado "flexível" com baixo viés e alta variância. Há uma demarcação clara entre a entrada e a saída desejada.

Dimensionalidade do espaço de entrada

Uma terceira questão é a dimensionalidade do espaço de entrada. Se os vetores de recursos de entrada tiverem dimensões muito altas, o problema de aprendizado pode ser difícil, mesmo que a função verdadeira dependa apenas de um pequeno número desses recursos. Isso ocorre porque as muitas dimensões "extras" podem confundir o algoritmo de aprendizado e fazer com que ele tenha alta variação. Portanto, dimensional de entrada alta normalmente requer o ajuste do classificador para ter baixa variância e alta polarização. Na prática, se o engenheiro puder remover manualmente os recursos irrelevantes dos dados de entrada, isso provavelmente melhorará a precisão da função aprendida. Além disso, existem muitos algoritmos para seleção de características que buscam identificar as características relevantes e descartar as irrelevantes. Este é um exemplo da estratégia mais geral deredução de dimensionalidade , que busca mapear os dados de entrada em um espaço de menor dimensão antes de executar o algoritmo de aprendizado supervisionado.

Ruído nos valores de saída

Uma quarta questão é o grau de ruído nos valores de saída desejados (as variáveis ​​alvo de supervisão ). Se os valores de saída desejados estiverem frequentemente incorretos (por causa de erro humano ou erros do sensor), o algoritmo de aprendizado não deve tentar encontrar uma função que corresponda exatamente aos exemplos de treinamento. A tentativa de ajustar os dados com muito cuidado leva ao overfitting . Você pode sobreajustar mesmo quando não há erros de medição (ruído estocástico) se a função que você está tentando aprender for muito complexa para o seu modelo de aprendizagem. Em tal situação, a parte da função de destino que não pode ser modelada "corrompe" seus dados de treinamento - esse fenômeno foi chamado de ruído determinístico. Quando qualquer tipo de ruído está presente, é melhor usar um viés mais alto e um estimador de variância mais baixo.

Na prática, existem várias abordagens para aliviar o ruído nos valores de saída, como a parada antecipada para evitar o overfitting , além de detectar e remover os exemplos de treinamento com ruído antes de treinar o algoritmo de aprendizado supervisionado. Existem vários algoritmos que identificam exemplos de treinamento ruidosos e remover os exemplos de treinamento ruidosos suspeitos antes do treinamento diminuiu o erro de generalização com significância estatística . [5] [6]

Outros fatores a considerar

Outros fatores a serem considerados ao escolher e aplicar um algoritmo de aprendizado incluem o seguinte:

Ao considerar um novo aplicativo, o engenheiro pode comparar vários algoritmos de aprendizado e determinar experimentalmente qual deles funciona melhor no problema em questão (consulte validação cruzada ). Ajustar o desempenho de um algoritmo de aprendizado pode consumir muito tempo. Dados os recursos fixos, geralmente é melhor gastar mais tempo coletando dados de treinamento adicionais e recursos mais informativos do que gastar tempo extra ajustando os algoritmos de aprendizado.

Algoritmos

Os algoritmos de aprendizado mais usados ​​são:

Como funcionam os algoritmos de aprendizado supervisionado

Dado um conjunto deexemplos de treinamento do formuláriode tal modo queé o vetor de características do-º exemplo eé seu rótulo (ou seja, classe), um algoritmo de aprendizado busca uma função, Ondeé o espaço de entrada eé o espaço de saída. A funçãoé um elemento de algum espaço de funções possíveis, geralmente chamado de espaço de hipóteses . Às vezes é conveniente representarusando uma função de pontuaçãode tal modo queé definido como retornando ovalor que dá a maior pontuação:. Deixeidenotam o espaço de funções de pontuação.

Emboraepode ser qualquer espaço de funções, muitos algoritmos de aprendizado são modelos probabilísticos ondetoma a forma de um modelo de probabilidade condicional, outoma a forma de um modelo de probabilidade conjunta. Por exemplo, Bayes ingênuo e análise discriminante linear são modelos de probabilidade conjunta, enquanto a regressão logística é um modelo de probabilidade condicional.

Existem duas abordagens básicas para escolherou: minimização do risco empírico e minimização do risco estrutural . [7] A minimização de risco empírico busca a função que melhor se ajusta aos dados de treinamento. A minimização de risco estrutural inclui uma função de penalidade que controla a compensação de viés/variância.

Em ambos os casos, assume-se que o conjunto de treinamento consiste em uma amostra de pares independentes e identicamente distribuídos .. Para medir o quão bem uma função se ajusta aos dados de treinamento, uma função de perda é definido. Para exemplo de treinamento, a perda de prever o valoré.

O risco de funçãoé definida como a perda esperada de. Isso pode ser estimado a partir dos dados de treinamento como

.

Minimização de risco empírico

Na minimização de risco empírico, o algoritmo de aprendizado supervisionado busca a funçãoque minimiza. Assim, um algoritmo de aprendizado supervisionado pode ser construído aplicando um algoritmo de otimização para encontrar.

Quandoé uma distribuição de probabilidade condicionale a função de perda é a probabilidade logarítmica negativa:, então a minimização empírica do risco é equivalente à estimativa de máxima verossimilhança .

Quandocontém muitas funções candidatas ou o conjunto de treinamento não é suficientemente grande, a minimização do risco empírico leva a alta variância e baixa generalização. O algoritmo de aprendizado é capaz de memorizar os exemplos de treinamento sem generalizar bem. Isso é chamado de sobreajuste .

Minimização de risco estrutural

A minimização do risco estrutural procura evitar o overfitting ao incorporar uma penalidade de regularização na otimização. A penalidade de regularização pode ser vista como a implementação de uma forma de navalha de Occam que prefere funções mais simples às mais complexas.

Uma grande variedade de penalidades tem sido empregada que corresponde a diferentes definições de complexidade. Por exemplo, considere o caso em que a funçãoé uma função linear da forma

.

Uma penalidade de regularização popular é, que é a norma euclidiana quadrada dos pesos, também conhecida comonorma. Outras normas incluem anorma,, e as "norm" , que é o número de valores diferentes de zeros. A penalidade será indicada por.

O problema de otimização de aprendizado supervisionado é encontrar a funçãoque minimiza

O parâmetrocontrola a compensação de viés-variância. Quando, isso fornece minimização de risco empírico com baixo viés e alta variância. Quandofor grande, o algoritmo de aprendizado terá alto viés e baixa variância. O valor depode ser escolhido empiricamente via validação cruzada .

A penalidade de complexidade tem uma interpretação Bayesiana como a probabilidade anterior de log negativo de,, nesse casoé a probabilidade posterior de.

Treinamento generativo

Os métodos de treinamento descritos acima são métodos de treinamento discriminativos , pois buscam encontrar uma funçãoque discrimina bem entre os diferentes valores de saída (ver modelo discriminativo ). Para o caso especial ondeé uma distribuição de probabilidade conjunta e a função de perda é a probabilidade logarítmica negativadiz-se que um algoritmo de minimização de risco realiza treinamento generativo , porquepode ser considerado como um modelo generativo que explica como os dados foram gerados. Os algoritmos de treinamento generativo são geralmente mais simples e mais eficientes computacionalmente do que os algoritmos de treinamento discriminativo. Em alguns casos, a solução pode ser calculada de forma fechada como em Bayes ingênuo e análise discriminante linear .

Generalizações

Existem várias maneiras pelas quais o problema de aprendizado supervisionado padrão pode ser generalizado:

  • Aprendizado semi-supervisionado : nessa configuração, os valores de saída desejados são fornecidos apenas para um subconjunto dos dados de treinamento. Os dados restantes não são rotulados.
  • Supervisão fraca : Nesta configuração, fontes ruidosas, limitadas ou imprecisas são usadas para fornecer sinal de supervisão para rotular dados de treinamento.
  • Aprendizado ativo : em vez de assumir que todos os exemplos de treinamento são fornecidos no início, os algoritmos de aprendizado ativo coletam interativamente novos exemplos, geralmente fazendo consultas a um usuário humano. Muitas vezes, as consultas são baseadas em dados não rotulados, que é um cenário que combina aprendizado semissupervisionado com aprendizado ativo.
  • Previsão estruturada : quando o valor de saída desejado é um objeto complexo, como uma árvore de análise sintática ou um gráfico rotulado, os métodos padrão devem ser estendidos.
  • Aprendendo a classificar : Quando a entrada é um conjunto de objetos e a saída desejada é uma classificação desses objetos, novamente os métodos padrão devem ser estendidos.

Abordagens e algoritmos

Aplicativos

Problemas gerais

Veja também

Referências

  1. ^ Stuart J. Russell, Peter Norvig (2010) Inteligência Artificial: Uma Abordagem Moderna , Terceira Edição , Prentice Hall ISBN  9780136042594 .
  2. Mehryar Mohri , Afshin Rostamizadeh, Ameet Talwalkar (2012) Foundations of Machine Learning , The MIT Press ISBN 9780262018258 . 
  3. ^ S. Geman, E. Bienenstock e R. Doursat (1992). Redes neurais e o dilema de viés/variância . Computação Neural 4, 1–58.
  4. ^ G. James (2003) Variação e Viés para Funções Gerais de Perda, Aprendizado de Máquina 51, 115-135. ( http://www-bcf.usc.edu/~gareth/research/bv.pdf )
  5. ^ CE Brodely e MA Friedl (1999). Identificando e eliminando instâncias de treinamento rotuladas incorretamente, Journal of Artificial Intelligence Research 11, 131-167. ( http://jair.org/media/606/live-606-1803-jair.pdf )
  6. ^ SR Smith e T. Martinez (2011). "Melhorar a precisão da classificação identificando e removendo instâncias que devem ser classificadas incorretamente". Anais da Conferência Conjunta Internacional sobre Redes Neurais (IJCNN 2011) . págs. 2690–2697. CiteSeerX 10.1.1.221.1371 . doi : 10.1109/IJCNN.2011.6033571 . 
  7. ^ Vapnik, VN The Nature of Statistical Learning Theory (2ª Ed.), Springer Verlag, 2000.
  8. ^ A. Maity (2016). "Classificação Supervisionada de Dados Polarimétricos RADARSAT-2 para Diferentes Características da Terra". arXiv : 1608.00501 [ cs.CV ].

Links externos