Aprendizagem supervisionada - Supervised learning

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. Ele infere uma função de dados de treinamento rotulados que consistem em um conjunto deexemplosdetreinamento. Na aprendizagem supervisionada, cada exemplo é umpar queconsiste 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 aprendizagem generalize a partir dos dados de treinamento para situações invisíveis de uma forma "razoável" (vejao viés indutivo). Essa qualidade estatística de um algoritmo é medida por meio do chamadoerro de generalização.

A tarefa paralela na psicologia humana e animal é freqüentemente referida como aprendizado de conceitos .

Passos

Para resolver um determinado problema de aprendizagem supervisionada, é necessário realizar as seguintes etapas:

  1. Determine o tipo de exemplos de treinamento. Antes de qualquer coisa, o usuário deve decidir que tipo de dados será usado como conjunto de treinamento. No caso da análise de caligrafia , por exemplo, pode ser um único caractere escrito à mão, uma palavra inteira escrita à mão, uma frase inteira escrita à mão ou talvez um parágrafo inteiro escrito à mão.
  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 é coletado e as saídas correspondentes também são coletadas, 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 recursos 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 escolher usar máquinas de vetores de suporte ou árvores de decisão .
  5. Conclua o design. Execute o algoritmo de aprendizado no conjunto de treinamento coletado. 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 o aprendizado dos parâmetros, o desempenho da função resultante deve ser medido em um conjunto de teste separado do conjunto de treinamento.

Escolha de algoritmo

Uma ampla gama 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 (consulte o teorema Sem almoço grátis ).

Existem quatro questões principais a serem consideradas na aprendizagem supervisionada:

Compensação de polarização-variância

Uma primeira questão é a compensação entre viés e variância . Imagine que temos disponíveis vários conjuntos de dados de treinamento diferentes, mas igualmente bons. Um algoritmo de aprendizagem é tendencioso para uma entrada específica se, quando treinado em cada um desses conjuntos de dados, estiver sistematicamente incorreto ao prever a saída correta para . Um algoritmo de aprendizado tem alta variação para uma entrada específica se prever diferentes valores de saída quando treinado em diferentes conjuntos de treinamento. O erro de previsão de um classificador aprendido está relacionado à soma da tendência e da variância do algoritmo de aprendizagem. Geralmente, há uma compensação entre viés e variância. Um algoritmo de aprendizado com baixa polarização 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 aprendizagem supervisionada é que eles são capazes de ajustar essa compensação entre viés e variância (seja 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 verdadeira função for simples, um algoritmo de aprendizado "inflexível" com alta polarização e baixa variância será capaz de aprendê-la com uma pequena quantidade de dados. Mas se a verdadeira função 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), então a função só será capaz de aprender com uma grande quantidade de dados de treinamento e usando um algoritmo de aprendizagem "flexível" com baixa polarização e alta variância. Existe 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 verdadeira função 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 variância. Conseqüentemente, a alta dimensão de entrada normalmente requer o ajuste do classificador para ter baixa variância e alta polarização. Na prática, se o engenheiro puder remover manualmente recursos irrelevantes dos dados de entrada, é provável que isso melhore a precisão da função aprendida. Além disso, existem muitos algoritmos para seleção de recursos que procuram identificar os recursos relevantes e descartar os irrelevantes. Esta é uma instância da estratégia mais geral de redução de dimensionalidade , que busca mapear os dados de entrada em um espaço de dimensão inferior 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 ​​de destino de supervisão ). Se os valores de saída desejados costumam estar incorretos (devido a 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. Tentar ajustar os dados com muito cuidado leva ao sobreajuste . Você pode ajustar demais mesmo quando não há erros de medição (ruído estocástico) se a função que 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 um dos tipos de ruído está presente, é melhor escolher um estimador de maior polarização e menor variância.

Na prática, existem várias abordagens para aliviar o ruído nos valores de saída, como parar antecipadamente para evitar sobreajuste , bem como detectar e remover os exemplos de treinamento ruidosos antes de treinar o algoritmo de aprendizado supervisionado. Existem vários algoritmos que identificam exemplos de treinamento ruidoso e remover os exemplos de treinamento ruidosos suspeitos antes do treinamento diminuiu o erro de generalização com significância estatística .

Outros fatores a serem considerados

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

Ao considerar um novo aplicativo, o engenheiro pode comparar vários algoritmos de aprendizagem 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 aprendizagem.

Algoritmos

Os algoritmos de aprendizagem mais amplamente usados ​​são:

Como funcionam os algoritmos de aprendizagem supervisionada

Dado um conjunto de exemplos de treinamento da forma tal que é o vetor de características do -ésimo exemplo e seu rótulo (isto é, 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ótese . Às vezes é conveniente para representar usando uma função de pontuação de tal forma que é definida como retornando o valor que dá a maior pontuação: . Deixe denotar o espaço das funções de pontuação.

Embora e possam ser qualquer espaço de funções, muitos algoritmos de aprendizagem são modelos probabilísticos onde assumem a forma de um modelo de probabilidade condicional ou assumem 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 escolher ou : minimização de risco empírico e minimização de risco estrutural . A minimização do risco empírico busca a função que melhor se ajusta aos dados de treinamento. A minimização do risco estrutural inclui uma função de penalidade que controla a compensação de polarização / variância.

Em ambos os casos, assume-se que o conjunto de treino consiste de uma amostra de pares independentes e identicamente distribuídas , . Para medir o quão bem uma função se ajusta aos dados de treinamento, uma função de perda é definida. Por exemplo , treinamento , a perda de previsão do valor é .

O risco da função é definido 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 empírica do risco, o algoritmo de aprendizado supervisionado busca a função que minimiza . Portanto, um algoritmo de aprendizado supervisionado pode ser construído aplicando um algoritmo de otimização para encontrar .

Quando é uma distribuição de probabilidade condicional e a função de perda é o log da verossimilhança negativa:, então a minimização do risco empírico é equivalente à estimativa da máxima verossimilhança .

Quando conté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 aprendizagem é capaz de memorizar os exemplos de treinamento sem generalizar bem. Isso é chamado de overfitting .

Minimização de risco estrutural

A minimização do risco estrutural visa evitar o sobreajuste, incorporando 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 ampla 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 é a norma euclidiana quadrática dos pesos, também conhecida como norma. Outras normas incluem a norma, e a "norma" , que é o número de s diferentes de zero . A pena será denotada por .

O problema de otimização de aprendizagem supervisionada é encontrar a função que minimiza

O parâmetro controla a compensação de polarização-variância. Quando , isso dá minimização de risco empírico com baixa tendência e alta variância. Quando é grande, o algoritmo de aprendizado terá alta polarização e baixa variância. O valor de pode ser escolhido empiricamente por meio de validação cruzada .

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

Treinamento generativo

Os métodos de treinamento descritos acima são métodos de treinamento discriminativos , porque procuram encontrar uma função que discrimine bem entre os diferentes valores de saída (ver modelo discriminativo ). Para o caso especial em que existe uma distribuição de probabilidade conjunta e a função de perda é a probabilidade logarítmica negativa, diz-se que um algoritmo de minimização de risco realiza o treinamento generativo , porque pode ser considerado um modelo generativo que explica como os dados foram gerados. Os algoritmos de treinamento generativo são freqüentemente mais simples e mais eficientes do ponto de vista computacional do que os algoritmos de treinamento discriminativo. Em alguns casos, a solução pode ser calculada de forma fechada, como na Bayes ingênua e na análise discriminante linear .

Generalizações

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

  • Aprendizagem semissupervisionada : nesta configuração, os valores de saída desejados são fornecidos apenas para um subconjunto dos dados de treinamento. Os dados restantes não estã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.
  • Aprendizagem ativa : em vez de assumir que todos os exemplos de treinamento são dados no início, os algoritmos de aprendizagem ativa coletam interativamente novos exemplos, normalmente fazendo consultas a um usuário humano. Freqüentemente, as consultas são baseadas em dados não rotulados, que é um cenário que combina aprendizagem semissupervisionada com aprendizagem ativa.
  • Previsão estruturada : quando o valor de saída desejado é um objeto complexo, como uma árvore de análise 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

Formulários

Problemas gerais

Veja também

Referências

links externos