Quando comecei a estudar sobre aprendizado de máquina (machine learning) há mais de uma década, suas aplicações eram predominantemente acadêmicas. Embora algumas empresas já utilizassem a tecnologia para automatizar tarefas ou identificar fraudes, esse assunto ainda não havia explodido em termos de popularidade. Naquela época, ainda parecia muito restrito às Big Techs e estava distante da realidade das empresas brasileiras.
Contudo, três fatores catalisaram a disseminação do aprendizado de máquina no cotidiano empresarial e na vida das pessoas: o aumento exponencial do volume de dados disponíveis, a evolução da capacidade computacional e a melhoria significativa dos frameworks e algoritmos disponíveis para os desenvolvedores.
Este artigo tem como objetivo oferecer ao leitor uma visão abrangente das inúmeras aplicações do aprendizado de máquina, demonstrando sua relevância e impacto nos mais diversos setores. Além disso, pretende introduzir este tema crucial de forma clara e acessível, destacando sua importância para o futuro das tecnologias e das empresas.
🆕 Este artigo foi revisado e atualizado em Maio de 2024!
O que é aprendizado de máquina?
O aprendizado de máquinas é definido como um campo da ciência da computação que utiliza algoritmos para permitir que os computadores aprendam a partir de dados e façam previsões ou decisões sem serem programados explicitamente.
Este aprendizado pode ser supervisionado, não supervisionado ou semi-supervisionado, dependendo da natureza dos dados disponíveis e dos objetivos específicos do problema a ser resolvido. Isso permite produzir decisões e resultados confiáveis e repetíveis.
De acordo com Arthur Samuel (1959):
O aprendizado de máquina é o campo de estudo que dá aos computadores a grande habilidade de aprender sem serem explicitamente programados.
Arthur Samuel é uma figura seminal na história do aprendizado de máquina, conhecido por cunhar o termo “machine learning” na década de 1950. Ele é amplamente reconhecido por seu trabalho pioneiro no desenvolvimento de programas de xadrez para computadores, particularmente o programa de damas, que utilizava técnicas de aprendizado de máquina para melhorar seu desempenho ao longo do tempo.
Samuel demonstrou a capacidade dos computadores de aprender e melhorar com a experiência, um conceito revolucionário que estabeleceu as bases para o desenvolvimento futuro do campo.
O aprendizado de máquina evoluiu do estudo de reconhecimento de padrões e da teoria do aprendizado computacional em inteligência artificial. Nesse sentido, ele explora a construção de algoritmos que podem aprender com seus erros e fazer previsões sobre dados.
Tais algoritmos podem fazer previsões a partir de amostras ou tomar decisões guiadas unicamente por dados, sem qualquer tipo de programação. Embora semelhante, em certos aspectos, da estatística computacional, que faz previsões com o uso dos computadores, o aprendizado de máquina é usado em tarefas computacionais onde criação e programação de algoritmos explícitos é impraticável.
Entre os exemplos de aplicações temos o processamento de linguagem natural, filtragem de SPAM, reconhecimento de fala e de escrita, visão computacional, diagnóstico médico, sistemas de busca, entre outros.
No vídeo abaixo você encontrará um pouco da história do machine learning e alguns exemplos reais:
Aplicações do aprendizado de máquina
Rankeamento de Páginas Web
A maioria dos leitores deste blog estão familiarizados com o conceito de ranking de páginas da web, popularizado pelo Google. Ou seja, o processo de envio de uma consulta a um mecanismo de pesquisa, que, em seguida, localiza páginas da web relevantes para a consulta e as retorna em sua ordem de relevância.
Para atingir esse objetivo, um mecanismo de pesquisa precisa “saber” quais páginas são relevantes e quais páginas correspondem à consulta. Esse conhecimento pode ser obtido de várias fontes: pela estrutura de links das páginas da Web, seu conteúdo, a frequência com que os usuários seguirão os links sugeridos em uma consulta ou a partir de exemplos de consultas em combinação com páginas web classificadas manualmente.
Cada vez mais o aprendizado de máquina, em vez de adivinhação, é usado para automatizar o processo de criação de um bom mecanismo de pesquisa, como o Google. Uma aplicação relacionada a isso é a filtragem colaborativa, uma técnica utilizada por sistemas de recomendação.
Sistemas de Recomendação
Um sistema de Recomendação combina técnicas computacionais para selecionar itens personalizados com base nos interesses dos usuários e conforme o contexto no qual estão inseridos. Lojas online, como a Amazon, ou sites de Streaming, como a Netflix, utilizam esse sistema para atrair usuários a comprar produtos adicionais (ou assistir mais filmes).
O problema dos sistemas de recomendação é bastante semelhante ao do ranking da página web. Assim como no outro exemplo, queremos obter uma lista ordenada. A principal diferença é que uma consulta explícita está ausente e, em vez disso, só podemos usar o comportamento dos usuário para prever hábitos futuros de visualização e compra.
A informação chave neste caso são as decisões tomadas por usuários similares, daí a natureza colaborativa do processo. É claramente desejável ter um sistema automático para resolver este problema, evitando assim adivinhação e o gasto de tempo.
Tradução de Documentos
Outro exemplo de aplicação do aprendizado de máquinas é a tradução automática de documentos. Para resolver este problema, poderíamos ter como objetivo entender completamente um texto antes de traduzi-lo, usando um conjunto de regras selecionadas, elaborado por um linguista computacional bem versado nas duas línguas que gostaríamos de traduzir. Entretanto, isso seria um desafio muito complexo, uma vez que um texto nem sempre é gramaticalmente correto e o contexto utilizado pode gerar confusões de entendimento.
Em vez disso, poderíamos simplesmente usar exemplos de documentos semelhantes traduzidos. Esses documentos poderiam ser utilizados para que a máquina possa aprender a tradução entre as duas línguas. Em outras palavras, poderíamos usar exemplos de traduções para aprender como traduzir. Essa abordagem de aprendizado de máquina mostrou-se bem-sucedida e é muito utilizada, uma vez que a própria internet é uma ótima base de dados.
Reconhecimento Facial
Muitas aplicações de segurança, como controle de acesso, usa o reconhecimento facial como um de seus componentes. Isto é, dada uma foto (ou gravação de vídeo) de uma pessoa, é possível reconhecê-la. Em outras palavras, o sistema precisa classificar rostos a partir das muitas categorias (João, Camila, Felipe, …) ou decidir que é um rosto desconhecido.
Verificação de Identidade
Um problema semelhante, mas conceitualmente bastante diferente, é o da verificação. Seu objetivo é verificar se a pessoa em questão é quem ela afirma ser. Note que diferentemente de antes, esta agora é uma pergunta sim ou não. Para lidar com diferentes condições de iluminação, expressões faciais, se uma pessoa está usando óculos, penteado, etc., é desejável ter um sistema que aprende quais recursos são relevantes para identificar um pessoa.
Outros exemplos de Aprendizado de Máquina
Caso você queira se aprofundar no tema, recentemente eu participei de um evento online onde apresentei alguns exemplos práticos de machine learning. Você pode conferir a gravação:
Métodos de Aprendizagem de Máquina
Para compreender melhor o assunto explicaremos os principais métodos de aprendizagem de máquina.
Aprendizagem supervisionada
É principalmente utilizada quando o sistema já sabe quais entradas estão associadas com quais saídas e precisa aprender um meio de entender essa associação. Utiliza a detecção de padrões para estabelecer previsões. Um exemplo de aprendizagem supervisionada é a categorização de e-mails, separando do que é relavante e o que é SPAM.
Caso você tenha interesse em se aprofundar no tema, eu recentemente participei de um evento onde apresentei algumas aplicações práticas de machine learning, com um pouco de teoria, é claro:
Aprendizagem não-supervisionada
Já na aprendizagem não-supervisionada, sua abordagem está na descoberta das relações implícitas em um conjunto de dados não rotulados. Nesse caso, identifica padrões para rotular os dados. O sistema de recomendação, citado anteriormente, é um bom exemplo de aprendizagem não suprvisionada.
Aprendizagem semi-supervisionada
O aprendizado semi-supervisionado combina elementos dos dois tipos anteriores, utilizando um pequeno conjunto de dados rotulados e um grande conjunto de dados não rotulados. Isso é útil quando a rotulagem de dados é cara ou demorada.
Aprendizagem por reforço
Nesse método, o computador é estimulado a aprender com base em tentativas e erros. O processo é otimizado por meio da prática direta, ensinando o sistema a priorizar certos hábitos. Entre os exemplos desse método estão os veículos autônomos e os sistemas que jogam xadrez.
Algoritmos de Aprendizado de Máquina
Embora a maior parte dos algoritmos tenha sido criada há várias décadas atrás, ou pelo menos a sua teorização, o refinamento deles é constante, uma vez que hoje temos um volume de dados grande o suficiente para aprimorá-los diariamente.
Selecionei abaixo, alguns dos principais algoritmos de machine learning e suas aplicações praticas.
Regressão Linear e Regressão Logística
- Regressão Linear: Utilizada para prever valores contínuos. A regressão linear é um modelo que tenta ajustar uma linha reta que minimize a soma dos quadrados dos erros (diferenças entre os valores previstos e reais).
- Regressão Logística: Utilizada para problemas de classificação binária. A regressão logística modela a probabilidade de uma amostra pertencer a uma classe específica, ajustando uma função logística aos dados.
Árvores de Decisão e Florestas Aleatórias
- Árvores de Decisão: Algoritmos baseados em árvores que segmentam os dados em subconjuntos recursivamente, criando uma estrutura de árvore onde cada nó representa uma decisão baseada em uma característica dos dados.
- Florestas Aleatórias: Conjunto de múltiplas árvores de decisão, onde cada árvore é treinada em uma amostra diferente dos dados. As previsões são feitas pela média (para regressão) ou pela votação majoritária (para classificação) das árvores individuais.
Máquinas de Vetores de Suporte (SVM)
SVMs são utilizadas tanto para classificação quanto para regressão. O algoritmo encontra o hiperplano que melhor separa as classes de dados no espaço de características, maximizando a margem entre as classes mais próximas.
Redes Neurais Artificiais e Aprendizado Profundo
- Redes Neurais Artificiais (ANNs): Inspiradas na estrutura do cérebro humano, consistem em camadas de nós (neurônios artificiais) conectados por pesos. As ANNs são capazes de modelar relações complexas entre entradas e saídas.
- Aprendizado Profundo: O deep learning é um subcampo das ANNs que utiliza redes neurais com múltiplas camadas (redes neurais profundas) para modelar dados complexos. Redes Neurais Convolucionais (CNNs) e Redes Neurais Recorrentes (RNNs) são exemplos comuns.
Métodos de Ensemble
Técnicas que combinam múltiplos modelos base para melhorar a precisão e a robustez das previsões. Exemplos incluem Boosting (AdaBoost e Gradient Boosting) e Bagging (Florestas Aleatórias).
FAQ sobre Aprendizado de Máquina
Com base nas buscas do Google, a partir da seção “People also ask“, levantei as principais dúvidas sobre o tema:
O que significa aprendizagem de máquina?
Como fazer aprendizado de máquina?
Quais os principais aprendizados de máquina?
Qual é a diferença entre aprendizado de máquina e IA?
O que é um algoritmo de aprendizado de máquina?
Qual a linguagem mais usada em aprendizado de máquina?
Conclusão
Por fim, este é um campo muito rico e que possui aplicações para resolver problemas complexos em áreas como saúde, educação, entretenimento, tecnologia, etc. Nos próximos anos veremos uma difusão cada vez maior dos conceitos de machine learning em diferentes tipos de novos negócios.
Quer saber mais sobre o assunto? Então continue acompanhando o Blog para entender mais sobre a ciência de dados e suas diferentes áreas!
qual a tecnica qual representa uma técnica manual de aquisição de conhecimento?
Dentro da mineração de dados, os três principais modelos para descoberta/aquisição de conhecimento são: KDD, SEMMA e CRISP-DM, sendo o último o mais popular na indústria. O processo de CRISP-DM envolve (1) entendimento de negócio, (2) entendimento dos dados (3) preparação dos dados (seleção, limpeza, construção e integração), (4) modelagem dos dados, (5) avaliação dos resultados e (6) deployment (produção). Sendo que na etapa de avaliação pode ser necessário retornar ao entendimento do negócio ou a um dos passos anteriores.
Um bom artigo sobre o assunto é este: https://paulovasconcellos.com.br/crisp-dm-semma-e-kdd-conhe%C3%A7a-as-melhores-t%C3%A9cnicas-para-explora%C3%A7%C3%A3o-de-dados-560d294547d2
[…] na criação e manipulação de features (recursos), tendo como objetivo desenvolver um bom modelo de aprendizado de máquina.Você também pode conhecer essa etapa como pré-processamento de dados, embora muitos entendam o […]