Aprendizagem supervisionada
O aprendizado supervisionado é a tarefa de aprendizado de máquina que consiste em 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 a partir de dados de treinamento rotulados consistindo de um conjunto de exemplos de treinamento. No aprendizado supervisionado, cada exemplo é um par que consiste em um objeto de entrada (normalmente um vetor) e um valor de saída desejado (também chamado de sinal 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" (ver viés indutivo). Essa qualidade estatística de um algoritmo é medida por meio do chamado erro de generalização.[2] A tarefa paralela na psicologia humana e animal é frequentemente chamada de aprendizado de conceitos. PassosPara resolver um determinado problema de aprendizado supervisionado, é necessário realizar as seguintes etapas:
Escolha do algoritmoEstá disponível uma ampla gama de algoritmos de aprendizado supervisionado, 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 da inexistência de almoço grátis). Existem quatro questões principais a serem consideradas na aprendizagem supervisionada: Equilíbrio entre viés e variânciaUma primeira questão é o equilíbrio 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 aprendizagem é tendencioso para uma entrada particular se, quando treinado em cada um desses conjuntos de dados, estiver sistematicamente incorreto ao prever a saída correta para . Um algoritmo de aprendizagem tem alta variância para uma entrada particular se 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 da variância do algoritmo de aprendizagem.[4] Geralmente, há uma disputa entre viés e variância. Um algoritmo de aprendizagem com viés baixo deve ser "flexível" para que possa se ajustar bem aos dados. Porém, 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á variância alta. Um aspecto fundamental de muitos métodos de aprendizagem supervisionada é que eles são capazes de equilibrar 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 treinamentoA segunda questão é a quantidade de dados de treinamento disponíveis em relação à complexidade da função (classificador ou função de regressão) "verdadeira". Se a função verdadeira for simples, um algoritmo de aprendizado "inflexível" com alto viés 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 muitas características 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 viés baixo e variância alta. Existe uma demarcação clara entre a entrada e a saída desejada. Dimensionalidade do espaço de entradaUma terceira questão é a dimensionalidade do espaço de entrada. Se os vetores de características de entrada tiverem um número muito alto de dimensões, o problema de aprendizado pode ser difícil, mesmo se a verdadeira função depender apenas de um pequeno número dessas características. Isso ocorre porque as muitas dimensões "extras" podem confundir o algoritmo de aprendizado e fazer com que ele tenha alta variância. Consequentemente, a alta dimensão de entrada normalmente requer o ajuste do classificador para ter baixa variância e viés alto. Na prática, se o engenheiro puder remover manualmente características 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 características que procuram identificar as características relevantes e descartar as 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ídaUma quarta questão é o grau de ruído nos valores de saída desejados (as variáveis alvo da supervisão). Se os valores de saída desejados costumam estar 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. Tentar ajustar os dados com muito cuidado leva ao sobreajuste. Você pode sobreajustar 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 usar um estimador de maior viés e menor variância. Na prática, existem várias abordagens para amenizar o ruído nos valores de saída, como a parada precoce para evitar o sobreajuste, bem como a detecção e remoção dos exemplos de treinamento ruidosos 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 serem consideradosOutros fatores a serem considerados ao escolher e aplicar um algoritmo de aprendizagem incluem o seguinte:
Ao considerar uma nova aplicação, o engenheiro pode comparar vários algoritmos de aprendizagem e determinar experimentalmente qual funciona melhor no problema em questão (consulte validação cruzada). Ajustar o desempenho de um algoritmo de aprendizado pode consumir muito tempo. Dados recursos fixos, geralmente é melhor gastar mais tempo coletando dados de treinamento adicionais e características mais informativas do que gastar tempo extra ajustando os algoritmos de aprendizagem. AlgoritmosOs algoritmos de aprendizagem mais amplamente usados são:
Como funcionam os algoritmos de aprendizagem supervisionadaDado um conjunto de exemplos de treinamento da forma em que é o vetor de características do -ésimo exemplo e é o seu rótulo (ou seja, classe), um algoritmo de aprendizagem busca uma função , em que é 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 representar usando uma função de pontuação de tal modo que é definido como retornando o valor que dá a pontuação mais alta: . Seja o espaço das funções de pontuação. Embora e possam ser quaisquer espaços de funções, muitos algoritmos de aprendizagem são modelos probabilísticos onde assume a forma de um modelo de probabilidade condicional , ou assume a forma de um modelo de probabilidade conjunta . Por exemplo, Bayes ingênuo e análise discriminantes lineares 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 do risco empírico e minimização do risco estrutural.[7] 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 o equilíbrio entre viés e 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, define-se uma função de perda . Para um exemplo de treinamento , a perda ao prever o 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 do risco empíricoNa minimização do risco empírico, o algoritmo de aprendizagem supervisionada busca a função que minimiza . Portanto, um algoritmo de aprendizagem supervisionada 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 oposto do logaritmo da função de verossimilhança: , então a minimização do risco empírico é equivalente à estimativa de 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 sobreajuste. Minimização do risco estruturalA 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. Tem sido empregada uma ampla variedade de penalidades que correspondem 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 é o quadrado da norma euclidiana 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 da aprendizagem supervisionada é encontrar a função que minimiza O parâmetro controla o equilíbrio entre viés e variância. Quando , isso dá minimização de risco empírico com baixo viés e alta variância. Quando for grande, o algoritmo de aprendizagem terá alto viés e baixa variância. O valor de pode ser escolhido empiricamente por meio de validação cruzada. A penalidade de complexidade tem uma interpretação Bayesiana como o oposto do logaritmo da probabilidade a priori de , , nesse caso é a probabilidade a posteriori de . Treinamento generativoOs métodos de treinamento descritos acima são métodos de treinamento discriminativos, pois buscam encontrar uma função que discrimina bem entre os diferentes valores de saída (ver modelo discriminativo). Para o caso especial em que é uma distribuição de probabilidade conjunta e a função de perda é o oposto do logaritmo da função de verossimilhança diz-se que um algoritmo de minimização de risco realiza treinamento generativo, porque pode ser considerado um modelo gerador que explica como os dados foram gerados. Os algoritmos de treinamento generativo são frequentemente 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 em Bayes ingênuo e análise discriminantes lineares. GeneralizaçõesExistem várias maneiras pelas quais o problema de aprendizagem supervisionada padrão pode ser generalizado:
Abordagens e algoritmos
Aplicações
Problemas gerais
Ver tambémReferências
Ligações externas |