[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.
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 - contar com um algoritmo de classificação linear resultaria em baixa precisão

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).
Algoritmo | Precisão | Tempo de treinamento | Linearidade | Parâmetros | Observações |
---|---|---|---|---|---|
Classificação de duas classes | |||||
regressão logística | ● | ● | 5 | ||
floresta de decisão | ● | ○ | 6 | ||
selva de decisão | ● | ○ | 6 | Volume de memória insuficiente | |
árvore de decisão aumentada | ● | ○ | 6 | Grande volume de memória | |
rede neural | ● | 9 | A personalização adicional é possível | ||
perceptron médio | ○ | ○ | ● | 4 | |
máquina de vetor de suporte | ○ | ● | 5 | Bom para conjuntos de recursos grandes | |
máquina de vetor de suporte localmente profunda | ○ | 8 | Bom para conjuntos de recursos grandes | ||
computador do ponto de Bayes | ○ | ● | 3 | ||
Classificação multiclasse | |||||
regressão logística | ● | ● | 5 | ||
floresta de decisão | ● | ○ | 6 | ||
selva de decisão | ● | ○ | 6 | Volume de memória insuficiente | |
rede neural | ● | 9 | A personalização adicional é possível | ||
one-v-all | - | - | - | - | Consulte as propriedades do método de duas classes selecionado |
Regressão | |||||
linear | ● | ● | 4 | ||
Linear Bayesiana | ○ | ● | 2 | ||
floresta de decisão | ● | ○ | 6 | ||
árvore de decisão aumentada | ● | ○ | 5 | Grande volume de memória | |
Quantil de floresta rápida | ● | ○ | 9 | Distribuições em vez de previsões de ponto | |
rede neural | ● | 9 | A personalização adicional é possível | ||
Poisson | ● | 5 | Tecnicamente linear de log. Para prever contagens | ||
ordinal | 0 | Para prever a ordem de classificação | |||
Detecção de anomalias | |||||
máquina de vetor de suporte | ○ | ○ | 2 | Especialmente bom para conjuntos de recursos grandes | |
Detecção de anomalias baseada em PCA | ○ | ● | 3 | ||
K-means | ○ | ● | 4 | Um 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/
https://www.manualdousuario.net/inteligencia-artificial-aprendizado-de-maquina/
Post a Comment