Trace Id is missing
Avançar para o conteúdo principal

Algoritmos de aprendizagem automática

Introdução à matemática e lógica da aprendizagem automática.

O que são algoritmos de aprendizagem automática?

Os algoritmos de aprendizagem automática são partes de código que ajudam as pessoas a explorar, analisar e encontrar o significado em conjuntos de dados complexos. Cada algoritmo é um conjunto finito de instruções passo a passo inequívocas que um computador pode seguir para atingir um determinado objetivo. Num modelo de aprendizagem automática, o objetivo é estabelecer ou descobrir padrões que as pessoas possam utilizar para fazer previsões ou categorizar informações. O que é a aprendizagem automática?

Os algoritmos de aprendizagem automática utilizam parâmetros baseados em dados de preparação, um subconjunto de dados que representa o conjunto maior. À medida que os dados de preparação se expandem para representar o mundo de forma mais realista, o algoritmo calcula resultados mais precisos.

Algoritmos diferentes analisam os dados de diversas formas. Geralmente, são agrupados consoante as técnicas de aprendizagem automática para as quais são utilizados: aprendizagem supervisionada, aprendizagem não supervisionada e aprendizagem por reforço. Os algoritmos mais frequentes utilizam a regressão e a classificação para prever categorias de destino, localizar pontos de dados invulgares, prever valores e descobrir semelhanças.

Técnicas de aprendizagem automática

À medida que conhece melhor os algoritmos de aprendizagem automática, descobrirá que se enquadram normalmente numa de três técnicas de aprendizagem automática:


Aprendizagem supervisionada

Na aprendizagem supervisionada, os algoritmos fazem previsões com base num conjunto de exemplos etiquetados fornecidos por si. Esta técnica é útil quando sabe como deverá ser o resultado.
 

Por exemplo, fornece um conjunto de dados que inclui populações de cidades por ano nos últimos 100 anos e quer saber qual será a população de uma cidade específica dentro de quatro anos. O resultado utiliza etiquetas que já existem no conjunto de dados: população, cidade e ano.
 

Aprendizagem não supervisionada

Na aprendizagem não supervisionada, os pontos de dados não são etiquetados. O algoritmo etiqueta-os automaticamente ao organizar os dados ou ao descrever a sua estrutura. Esta técnica é útil quando não sabe como deverá ser o resultado.

 

Por exemplo, fornece dados de cliente e quer criar segmentos de clientes que gostam de produtos semelhantes. Os dados que está a fornecer não são etiquetados e as etiquetas no resultado são geradas com base nas semelhanças descobertas entre os pontos de dados.

 

Aprendizagem por reforço

A aprendizagem por reforço utiliza algoritmos que aprendem com resultados e decidem a ação a realizar em seguida. Após cada ação, o algoritmo recebe feedback que o ajuda a determinar se a escolha feita foi correta, neutra ou incorreta. É uma boa técnica a utilizar para sistemas automatizados que precisam de tomar muitas decisões pequenas sem orientação humana.

 

Por exemplo, se estiver a criar um carro autónomo, quer que este cumpra a lei e mantenha as pessoas seguras. À medida que o carro ganha experiência e um histórico de reforço, aprende a permanecer dentro da faixa, a não ultrapassar o limite de velocidade e a travar quando encontrar peões.

O que pode fazer com algoritmos de aprendizagem automática

Os algoritmos de aprendizagem automática ajudam a responder a perguntas demasiado complexas para responder através de uma análise manual. Existem muitos tipos diferentes de algoritmos de aprendizagem automática. Contudo, por norma, os casos de utilização destes algoritmos enquadram-se numa destas categorias.

Prever uma categoria de destino

Os algoritmos de classificação de duas classes (binários) dividem os dados em duas categorias. São úteis para perguntas com apenas duas respostas possíveis mutuamente exclusivas, incluindo perguntas de sim/não. Por exemplo:

  • Este pneu irá falhar nos próximos 1000 quilómetros: sim ou não?
  • O que traz mais recomendações: um crédito de 10 USD ou um desconto de 15%?

 

Os algoritmos de classificação multiclasse (polinomial) dividem os dados em três ou mais categorias. São úteis para perguntas com três ou mais respostas possíveis mutuamente exclusivas. Por exemplo:

  • Em que mês a maioria dos viajantes compra bilhetes de avião?
  • Que emoção apresenta a pessoa nesta fotografia?

Localizar pontos de dados invulgares

Os algoritmos de deteção de anomalias identificam os pontos de dados que estão fora dos parâmetros definidos para o que é considerado "normal". Por exemplo, pode utilizar algoritmos de deteção de anomalias para responder a perguntas como:

  • Onde estão as peças com defeito neste lote?
  • Que compras com cartão de crédito poderão ser fraudulentas?

Prever valores

Os algoritmos de regressão preveem o valor de um novo ponto de dados com base em dados históricos. Ajudam a responder a perguntas como:

  • Qual o custo médio de um imóvel com dois quartos na minha cidade no próximo ano?
  • Quantos pacientes virão à clínica na terça-feira?

Ver como os valores mudam ao longo do tempo

Os algoritmos de séries temporais mostram as alterações a um determinado valor ao longo do tempo. Com a análise e a previsão de série temporal, os dados são recolhidos a intervalos regulares ao longo do tempo e utilizados para fazer previsões e identificar tendências, sazonalidade, periodicidade e irregularidade. Os algoritmos de série temporal são utilizados para responder a perguntas como:

  • É provável que o preço de uma determinada ação suba ou desça no ano que vem?
  • Quais vão ser as minhas despesas para o ano que vem?

Descobrir semelhanças

Os algoritmos de clustering dividem os dados por vários grupos ao determinar o nível de semelhança entre os pontos de dados. Os algoritmos de clustering funcionam bem para perguntas como:

  • Que espetadores gostam dos mesmos tipos de filmes?
  • Que modelos de impressora falham da mesma forma?

Classificação

Os algoritmos de classificação utilizam cálculos de previsão para atribuir dados a categorias predefinidas. São educados com dados de entrada e utilizados para responder a perguntas como:

  • Este e-mail é spam?
  • Qual é o sentimento (positivo, negativo ou neutro) de um determinado texto?

Os algoritmos de regressão linear mostram ou preveem a relação entre duas variáveis ou fatores ao ajustar uma linha reta contínua aos dados. A linha é geralmente calculada com a função Custo de Erro Quadrático. A regressão linear é um dos tipos de análise de regressão mais conhecidos.

Os algoritmos de regressão logística enquadram-se numa curva contínua em forma de S até aos dados. A regressão logística é outro tipo de análise de regressão muito popular.

Os algoritmos de Naïve Bayes calculam a probabilidade de um evento ocorrer, com base na ocorrência de um evento relacionado.

As Máquinas de Vetor de Suporte desenham um hiperplano entre os dois pontos de dados mais próximos. Isto permite marginalizar as classes e maximizar as distâncias entre si para diferenciá-los mais claramente.

Os algoritmos de árvore de decisões dividem os dados em dois ou mais conjuntos homogéneos. Utilizam regras "if-then" para separar os dados com base no diferenciador mais significativo entre os pontos de dados.

Os algoritmos de vizinho K mais próximo armazenam todos os pontos de dados disponíveis e classificam cada ponto de dados novo com base nos pontos de dados mais próximos, medido por uma função de distância.

Os algoritmos de floresta aleatória  baseiam-se em árvores de decisões, mas em vez de criarem uma árvore, criam uma floresta de árvores e, em seguida, colocam as árvores aleatoriamente nessa floresta. Em seguida, agregam votos de diferentes formações aleatórias das árvores de decisões para determinar a classe final do objeto de teste.

Os algoritmos de gradient boosting  produzem um modelo de predição que agrupa modelos de predição fracos, normalmente árvores de decisões, através de um processo de agrupamento que melhora o desempenho geral do modelo.

Os algoritmos K-Means classificam os dados em clusters, em que K é igual ao número de clusters. Os pontos de dados dentro de cada cluster são homogéneos e heterogéneos para os pontos de dados noutros clusters.

O que são as bibliotecas de aprendizagem automática?

Uma biblioteca de aprendizagem automática é um conjunto de funções, frameworks, módulos e rotinas escrito numa determinada linguagem. Os programadores utilizam o código nas bibliotecas de aprendizagem automática como blocos de compilação para criar soluções de aprendizagem automática que podem realizar tarefas complexas. Em vez de terem de programar manualmente todos os algoritmos e fórmulas numa solução de aprendizagem automática, os programadores podem encontrar as funções e os módulos de que precisam numa das muitas bibliotecas de ML e utilizá-los para compilar uma solução que dê resposta às necessidades deles.

Comece a experimentar com o Azure Machine Learning

Veja como algoritmos diferentes analisam os dados ao criar e implementar os seus próprios modelos de aprendizagem automática com o Azure Machine Learning.