[Mineração de Dados] [Machine Learning] Métodos supervisionados e não supervisionados



É difícil definir sucintamente o que é IA. No famoso livro Inteligência Artificial, utilizado como bibliografia básica em várias universidades, os autores gastam 30 páginas discutindo o assunto. Há diversas abordagens diferentes de IA para solucionar uma grande variedade de problemas. Uma dessas abordagens é o aprendizado de máquina, uma das áreas mais relevantes dentro da IA e que será analisada a seguir.

Os algoritmos de aprendizado de máquina procuram padrões dentro de um conjunto de dados. Esses algoritmos existem há bastante tempo, mas nunca houve uma quantidade tão grande de dados digitais disponíveis para alimentar esses algoritmos como hoje graças a dois fatores: a informatização em massa e o surgimento da Internet.

Na época da mídia física, as possibilidades de recomendação automática eram bem limitadas: a sua biblioteca de CDs/fitas/LPs, por exemplo, era inacessível aos algoritmos. A Amazon poderia usar as suas compras de discos e comparar com as de outras pessoas, mas todos os discos que você ganhou de presente ou comprou em outro lugar continuariam inacessíveis a ela.

A venda digital de músicas aumentou as possibilidades, tanto que a Apple tentou emplacar o Genius e até a rede social Ping na iTunes Store. Não deu certo, mas não por falta de dados brutos. Assim, foram os serviços de streaming que realmente cumpriram a promessa do aprendizado de máquina aplicado à música.

Esses serviços (Spotify, Rdio, Pandora) conhecem todas as suas bibliotecas, playlists e quem você segue. Mais importante ainda, eles têm essas informações de vários outros usuários, podendo comparar o seu comportamento com o dos demais. Muitas outras áreas tiveram esse boom de informações disponíveis como as músicas, o que fez aumentar o interesse da academia e do mercado nas técnicas de aprendizado de máquina.

Tipos de aprendizado de máquina

Supervisionado
Os algoritmos de aprendizado supervisionados fazem previsões com base em um conjunto de exemplos. Por exemplo, as cotações históricas podem ser usadas para arriscar palpites em preços futuros. Cada exemplo usado para treinamento é rotulado com o valor de seu interesse — neste caso, o preço da ação. Um algoritmo de aprendizado supervisionado procura por padrões nesses rótulos de valor. Ele pode usar qualquer informação que possa ser relevante – o dia da semana, a temporada, os dados financeiros da empresa, o tipo de setor, a presença de eventos geopolíticos perturbadores – e cada algoritmo procura tipos diferentes de padrões. Depois que o algoritmo tiver encontrado o melhor padrão possível, usará esse padrão para fazer previsões para dados de testes sem rótulos — os preços de amanhã.

Há vários tipos específicos de aprendizado supervisionado, por exemplo: classificação, regressão e detecção de anomalias.


  • Classificação. Quando os dados estiverem sendo usados para prever uma categoria, o aprendizado supervisionado também será chamado de classificação. Esse é o caso ao atribuir uma imagem como uma foto de um ‘gato’ ou de um ‘cachorro’. Quando há apenas duas opções, isso é chamado de classificação binomial ou de duas classes. Quando houver mais categorias, como na previsão do vencedor do torneio NCAA March Madness, esse problema é conhecido como classificação multiclasse.
  • Regressão. Quando um valor estiver sendo previsto, assim como acontece com preços de cotações, o aprendizado supervisionado será chamado de regressão.
  • Detecção de anomalias. Às vezes, o objetivo é identificar os pontos de dados que são simplesmente incomuns. Na detecção de fraudes, por exemplo, quaisquer padrões incomuns de gasto em cartão de crédito são suspeitos. As variações possíveis são tão numerosas e os exemplos de treinamento tão poucos, que não é viável aprender como seria uma atividade fraudulenta. A abordagem que usa detecção de anomalias é simplesmente aprender como seria uma atividade normal (usando transações não fraudulentas históricas) e identificar tudo que seja significativamente diferente.

Aprendizado não supervisionado


O aprendizado automático sem supervisão é a tarefa de aprendizagem da máquina de inferir uma função para descrever a estrutura oculta a partir de dados "não marcados" (uma classificação ou categorização não está incluída nas observações). Uma vez que os exemplos fornecidos ao aluno estão sem rótulos, não há avaliação da precisão da estrutura que é produzida pelo algoritmo relevante - que é uma maneira de distinguir a aprendizagem não supervisionada da aprendizagem supervisionada e a aprendizagem de reforço.


Alguns exemplos de abordagens utilizadas no aprendizado não supervisionado:

  • clustering
    • k-means
    • mixture models
    • hierarchical clustering,
    • anomaly detection
  • Redes neurais
    • Hebbian Learning
    • Generative Adversarial Networks
  • Abordagens para utilização de uma variavel latente
    • Expectation–maximization algorithm (EM)
    • Method of moments
    • Blind signal separation techniques, e.g.,
      • Principal component analysis,
      • Independent component analysis,
      • Non-negative matrix factorization,
      • Singular value decomposition.

Como dito anteriormente no aprendizado não supervisionado, os pontos de dados não têm rótulos associados a eles. Em vez disso, a meta de um algoritmo de aprendizado sem supervisão é organizar os dados de alguma forma ou descrever sua estrutura. Isso pode significar agrupá-los em clusters ou encontrar diferentes maneiras de consultar dados complexos para que eles pareçam mais simples ou mais organizados.

Considerações ao escolher um algoritmo


Precisão

Obter a resposta mais precisa possível nem sempre será necessário. Às vezes uma aproximação será adequada, dependendo do uso que você quiser dar a ela. Se esse for o caso, talvez seja possível reduzir o tempo de processamento drasticamente usando métodos mais aproximados. Outra vantagem dos métodos mais aproximados é que eles naturalmente tendem a evitar o superajuste.

Tempo de treinamento

O número de minutos ou de horas necessários para treinar um modelo varia muito entre algoritmos. Em geral, o tempo de treinamento está intimamente vinculado à precisão — um normalmente acompanha o outro. Além disso, alguns algoritmos são mais sensíveis ao número de pontos de dados do que outros. Quando o tempo for limitado, ele poderá orientar a escolha do algoritmo, especialmente quando o conjunto de dados for grande.

Linearidade

Muitos algoritmos de aprendizado de máquina usam a linearidade. Os algoritmos de classificação linear supõem que as classes podem ser separadas por uma linha reta (ou seu análogo em dimensões maiores). Isso inclui a regressão logística e as máquinas de vetor de suporte (como implementado no Aprendizado de Máquina do Azure). Os algoritmos de regressão linear supõem que as tendências de dados seguem uma linha reta. Essas suposições não são ruins para alguns problemas, mas em outros elas podem reduzir a precisão.
Limite de classe não linear

Limite de classe não linear - contar com um algoritmo de classificação linear resultaria em baixa precisão
Dados com uma tendência não linear
Dados com uma tendência não linear - usar um método de regressão linear geraria erros muito maiores do que o necessário
Apesar de seus riscos, os algoritmos lineares são muito populares como uma primeira linha de ataque. Eles tendem a ser algoritmicamente simples e rápidos de treinar.

Número de parâmetros

Os parâmetros são os botões que o cientista de dados precisa girar ao configurar um algoritmo. Eles são números que afetam o comportamento do algoritmo, como tolerância a erros ou o número de iterações, ou opções entre variantes de como o algoritmo se comporta. O tempo de treinamento e a precisão do algoritmo às vezes podem ser muito importantes para obter apenas as configurações corretas. Em geral, os algoritmos com um grande número de parâmetros exigem mais tentativas e erros para a localização de uma boa combinação.
A vantagem é que ter muitos parâmetros geralmente indica que um algoritmo tem mais flexibilidade. Geralmente, isso pode significar uma precisão muito boa. Desde que você consiga encontrar a combinação certa de configurações de parâmetro.

Número de recursos

Para determinados tipos de dados, o número de recursos pode ser muito grande em comparação ao número de pontos de dados. Geralmente, isso acontece com dados de genética ou de texto. O grande número de recursos pode reduzir alguns algoritmos de aprendizado, fazendo com que o tempo de treinamento seja impraticável. As Máquinas de Vetor de Suporte são particularmente adequadas para esse caso (veja abaixo).

AlgoritmoPrecisãoTempo de treinamentoLinearidadeParâmetrosObservações
Classificação de duas classes
regressão logística5
floresta de decisão6
selva de decisão6Volume de memória insuficiente
árvore de decisão aumentada6Grande volume de memória
rede neural9A personalização adicional é possível
perceptron médio4
máquina de vetor de suporte5Bom para conjuntos de recursos grandes
máquina de vetor de suporte localmente profunda8Bom para conjuntos de recursos grandes
computador do ponto de Bayes3
Classificação multiclasse
regressão logística5
floresta de decisão6
selva de decisão6Volume de memória insuficiente
rede neural9A personalização adicional é possível
one-v-all----Consulte as propriedades do método de duas classes selecionado
Regressão
linear4
Linear Bayesiana2
floresta de decisão6
árvore de decisão aumentada5Grande volume de memória
Quantil de floresta rápida9Distribuições em vez de previsões de ponto
rede neural9A personalização adicional é possível
Poisson5Tecnicamente linear de log. Para prever contagens
ordinal0Para prever a ordem de classificação
Detecção de anomalias
máquina de vetor de suporte2Especialmente bom para conjuntos de recursos grandes
Detecção de anomalias baseada em PCA3
K-means4Um algoritmo de clustering
Propriedades do algoritmo:
 - mostra excelente precisão, tempos de treinamento pequenos e o uso de linearidade
 - mostra boa precisão e tempos de treinamento moderados

Conclusão
Certa vez estava estudando estes algoritmos em um curso rápido e presencial e buscava a resolução para um problema específico no qual trabalhava. Tive a audácia de perguntar ao professor se havia indicações de que determinado algoritmo resolveria meu problema. O professor sem pestanejar disse: "Aprenda uma coisa, em Inteligência Artificial não existe lanche grátis". Ele disse isso fazendo referência a uma expressão norte americana que quer dizer: "Não existe". Neste dia eu aprendi que nada nesta área é tão pronto que não mereça uma boa análise antes de se aplicar um algoritmo.

Fontes: 
https://docs.microsoft.com/pt-br/azure/machine-learning/machine-learning-algorithm-choice
https://www.manualdousuario.net/inteligencia-artificial-aprendizado-de-maquina/
[Mineração de Dados] [Machine Learning] Métodos supervisionados e não supervisionados [Mineração de Dados] [Machine Learning] Métodos supervisionados e não supervisionados Reviewed by Vinicius dos Santos on 10:32:00 Rating: 5

Nenhum comentário

Escreve ai sua opinião!