O que é aprendizado de máquina?

O que é aprendizado de máquina?

O aprendizado de máquina e o aprendizado profundo são a espinha dorsal da inteligência artificial da era atual. Embora os investigadores ainda estejam a encontrar o caminho para a Inteligência Artificial Geral (AGI), a Inteligência Artificial Fraca/Estreita já conquistou um lugar em todas as principais indústrias. Quase 37 por cento das organizações estão usando alguma forma de IA Narrow em 2021. A Inteligência Artificial tornou-se mais significativa na esteira da Internet das Coisas (IoT). Existem principalmente duas áreas onde a IA é altamente aplicável atualmente. Uma delas são as plataformas e serviços em nuvem, onde o servidor é carregado com um grande volume de Big Data e tarefas redundantes e detalhadas devem ser executadas nele, o que pode ser muito enfadonho ou sujeito a erros para um trabalhador humano. Em segundo lugar, a IA fraca é possível em coisas (dispositivos de ponta) onde a IA é implementada em um espaço pequeno, executando tarefas cognitivas específicas. Assim como os sistemas embarcados ocupam 98% da indústria eletrônica devido às suas aplicações específicas para tarefas, a inteligência artificial deverá seguir a mesma tendência. A maior parte da inteligência artificial será aplicável em dispositivos de ponta que incluem dispositivos IoT, aplicativos para smartphones, aplicativos para desktop, wearables e equipamentos industriais.

Conceito de transformação digital de fundo cerebral de tecnologia AI

Toda a IA restrita disponível hoje são implementações de aprendizado de máquina e aprendizado profundo. O aprendizado de máquina é um subcampo da inteligência artificial e o aprendizado profundo é um subconjunto do aprendizado de máquina. Embora a IA abranja muitos campos e tecnologias diferentes em desenvolvimento para Inteligência Artificial Geral, o aprendizado de máquina está focado na implementação de uma das funções cognitivas humanas importantes, que é a aprendizagem. O aprendizado profundo é um subconjunto do aprendizado de máquina, onde o aprendizado de máquina é implementado na forma de redes neurais artificiais (RNA) para que a máquina possa aprender com os próprios dados, em vez de apenas identificar padrões de dados ou correlações entre dados e resultados. Neste artigo, apresentamos o conceito de aprendizado de máquina e discutimos como começar a usá-lo.

A abordagem DATA-FIRST

O século 21 começou com o início de uma era de conectividade. A Internet, as redes sociais, o comércio eletrónico, o comércio eletrónico, a IoT, a IIoT e a análise de negócios online tornaram os dados tão importantes que os dados são o novo petróleo e a ciência de dados é o trabalho mais atraente do século. Todas as empresas e organizações têm enormes dados à sua disposição, pois todos têm pelo menos um ou mais dispositivos de computação sempre conectados à Internet. Este dispositivo pode ser um computador/laptop, smartphone, wearable ou dispositivo IoT. As empresas e organizações precisam obter rapidamente insights valiosos a partir de um grande volume de dados em tempo real.

“Então, os dados estão em toda parte”

Em segundo lugar, uma área da inteligência artificial está envolvida na replicação dos sentidos humanos. Por exemplo, a visão humana é reproduzida na forma de visão computacional. A fala é produzida por meio do processamento da linguagem natural e da compreensão da linguagem natural. E não apenas os sentidos naturais, as máquinas precisam lidar com muitos outros tipos de informações, como dados de negócios, dados do usuário, comportamento do usuário, dados de sensores, dados de navegação, etc.

“Então, tudo ao redor são dados”

O aprendizado de máquina evoluiu como uma tecnologia para tomar decisões baseadas em dados, onde as próprias máquinas são obrigadas a aprender com os dados e a aplicar o raciocínio humano de forma independente. O objetivo é permitir que as máquinas derivem seus programas para processamento de dados com base na ingestão e compreensão dos dados recebidos. Ao contrário da teoria tradicional da computação, onde os computadores são máquinas enfadonhas que implementam programas definidos pelo usuário, o aprendizado de máquina prevê computadores e máquinas como receptores naturais de dados – usando esses dados para tomar decisões baseadas em dados por conta própria, sem qualquer programa definido pelo usuário ou qualquer intervenção humana. .

Dessa forma, as máquinas poderiam obter informações valiosas e realizar ações de forma independente, tornando-as criaturas autônomas com habilidades cognitivas semelhantes às humanas. A infusão de inteligência semelhante à humana no processamento autónomo de dados tornará possível tomar decisões baseadas em dados em grande escala. Com a dependência de programas definidos pelo usuário e o envolvimento de software humano, a escalabilidade em tarefas detalhadas e com muitos dados nunca poderá ser alcançada.

Aprendizado de máquina versus programação de computadores

O aprendizado de máquina é uma abordagem totalmente diferente da própria teoria da computação. Os computadores tradicionais são circuitos digitais com um conjunto definido de instruções e operações. Os computadores precisam ser programados por um usuário para executar qualquer tarefa útil de computação. Um programa é nativamente uma sequência de instruções sobre dados recebidos. É o programa que decide o resultado dos dados. No geral, o computador atua como um processador de dados na computação tradicional.

O aprendizado de máquina adota uma abordagem muito diferente. No aprendizado de máquina, o computador não é um processador de dados. Em vez disso, é um observador de dados. A máquina recebe acesso aos dados e seus resultados e tenta inferir padrões inerentes aos dados recebidos e todas as correlações possíveis entre os dados e seus resultados. Ao deduzir padrões de dados e a relação entre os dados e seus resultados, a máquina projeta um modelo com a ajuda de um algoritmo de aprendizado de máquina. O modelo é equivalente a um programa que prevê novos valores possíveis de dados ou resultados possíveis de dados recebidos com base na experiência de observações de dados anteriores. O algoritmo de aprendizado de máquina é um software definido pelo usuário para derivar o modelo e deduzir o próprio programa de processamento de dados. Com a ajuda de um algoritmo de aprendizado de máquina, o computador pode processar dados futuros sem qualquer programação explícita e intervenção humana. Aqui, o próprio computador se torna um programador de dados.
O aprendizado de máquina geralmente é aplicado para imitar funções cognitivas específicas. Essas funções no paradigma de programação são conhecidas como Tarefas de Aprendizado de Máquina. Com uma determinada tarefa, um algoritmo de aprendizado de máquina requer alguns dados históricos ou dados em tempo real para aprender ou treinar o modelo.

Os dados podem ser alimentados a partir de um banco de dados, arquivos simples, logs ou entradas/fluxos em tempo real. Os dados podem ser rotulados, ou seja, os atributos ou propriedades dos dados já estão definidos, ou podem não estar rotulados, ou seja, não estão predefinidos ou tabulados com atributos ou propriedades. Normalmente, a tarefa depende da natureza dos dados em si. Se os dados recebidos forem factuais, a tarefa deve estar relacionada à identificação, reconhecimento, classificação ou extração de características. Um exemplo clássico de tais dados é o caso da visão computacional e do processamento de linguagem natural. Uma máquina é treinada para identificar, reconhecer, classificar ou extrair características de uma imagem ou vídeo em visão computacional.

Se os dados recebidos forem variáveis ​​ou dinâmicos, a tarefa deve estar relacionada à previsão de valores futuros, à localização de anomalias ou à previsão dos resultados dos dados. Por exemplo, na negociação algorítmica, um modelo de aprendizado de máquina prevê o valor futuro de uma ação, criptomoeda, mercadoria ou taxa de câmbio. Da mesma forma, uma máquina é treinada para identificar palavras, frases e suas implicações no processamento da linguagem natural.

Para o aprendizado de máquina, ou os dados em si são suficientes ou, às vezes, são necessários dados e resultados. Tudo depende da tarefa a ser implementada pelo algoritmo de aprendizado de máquina. É possível que os resultados sejam todos desconhecidos e precisem ser previstos pelo próprio modelo. Por exemplo, um algoritmo para identificar as preferências de compra do cliente pode nunca saber quais itens o cliente comprará desta vez. No entanto, pode prever uma lista de compras apenas com base nas transações de compras anteriores do cliente.

O que é aprendizado de máquina?

A ideia de aprendizado de máquina remonta à Máquina Universal de Turing de Alan Turing, conceituada em 1935. Desde então, houve vários feitos e realizações na área, e a definição de aprendizado de máquina também evoluiu ao longo dos anos. Uma definição geral aceita para aprendizado de máquina é dada por Arthur Samuel:
“O aprendizado de máquina é o campo de estudo que dá aos computadores a capacidade de aprender sem serem explicitamente programados.”

Nas últimas duas décadas, o aprendizado de máquina teve muitas implementações práticas na forma de IA restrita. Portanto, uma definição mais específica de aprendizado de máquina de Tom Mitchell é agora amplamente aceita. Ele define o aprendizado de máquina da seguinte maneira.
“Diz-se que um programa de computador aprende com a experiência E no que diz respeito a alguma classe de tarefas T e medida de desempenho P, se o seu desempenho nas tarefas em T, conforme medido por P, melhora com a experiência E.”
O aprendizado de máquina é aplicado e implementado em um algoritmo de aprendizado para treinar um modelo de aprendizado de máquina. Como fica claro na própria definição –
1. O modelo destina-se a executar alguma tarefa específica T que requer raciocínio ou análise semelhante à humana.
2. O modelo treina-se com a experiência E, onde a experiência é adquirida a partir dos dados recebidos para identificar padrões de dados ou correlacionar dados e seus resultados.
3. O modelo melhora o seu desempenho P à medida que a sua experiência aumenta, uma vez que pode prever melhor os padrões de dados e possíveis resultados através do estudo dos dados e/ou resultados.

Onde o aprendizado de máquina é útil

Atualmente, o aprendizado de máquina é mais útil em aplicações restritas de IA. Nessas aplicações, o aprendizado de máquina é aplicado para tarefas específicas que exigem habilidades cognitivas humanas. O aprendizado de máquina é aplicável em vários cenários onde o desenvolvimento e a manutenção de programas definidos pelo usuário para as mesmas tarefas podem não ser viáveis ​​ou econômicos. Em primeiro lugar, o aprendizado de máquina é mais adequado para tarefas com muitos dados que envolvem uma grande escala de processamento de dados redundante e orientado a detalhes. Os humanos não conseguem processar os dados à velocidade dos computadores, e os computadores não conseguem aplicar a inteligência natural no processamento de dados com programas tradicionais definidos pelo utilizador.

Em segundo lugar, a aprendizagem automática é mais adequada para dados e sistemas que mudam dinamicamente ao longo do tempo. Os utilizadores humanos não podem monitorizar esses sistemas e aplicações dentro dos limites de tempo aceitáveis ​​e exigem que o computador implemente alguma inteligência sobre os dados e os seus possíveis resultados. Por exemplo, um fornecedor de serviços de Internet pode utilizar a aprendizagem automática para monitorizar e garantir a conectividade de rede aos seus clientes, em vez de testar manualmente todas as ligações por um trabalhador humano.

Terceiro, o aprendizado de máquina é valioso onde a experiência ou a intervenção humana não estão disponíveis ou são possíveis. Por exemplo, um veículo espacial enviado para um planeta diferente não pode depender da intervenção humana para percorrer o seu caminho. Essencialmente, ele precisa aprender observando seu ambiente. O aprendizado de máquina também é útil em áreas onde a experiência humana não pode ser aplicada imediatamente a tarefas computacionais ou onde a computação requer explicitamente conhecimento específico de domínio, como visão computacional, reconhecimento de fala e tradução automática de idiomas.

Noções básicas sobre tarefas de aprendizado de máquina

Algoritmos de aprendizado de máquina são projetados para treinar um modelo onde o modelo deve executar uma tarefa cognitiva específica. As técnicas de aprendizado de máquina se enquadram em três grandes categorias, como segue.
1. Aprendizado de máquina supervisionado
2. Aprendizado de máquina não supervisionado
3. Aprendizado de máquina de reforço
No aprendizado supervisionado, a máquina recebe dados rotulados onde atributos ou propriedades são explicitamente definidos para os pontos de dados. Alguns exemplos de tarefas de aprendizado de máquina em aprendizado supervisionado são os seguintes.

1. Classificação: Nesta tarefa, a máquina requer classificar ou categorizar pontos de dados com base em atributos anexados. Ele precisa identificar atributos comuns e diferentes e atribuir classes ou categorias aos pontos de dados disponíveis de acordo. Por exemplo, um modelo de aprendizado de máquina pode ser treinado para classificar veículos em um pedágio ou para classificar itens de um supermercado. Algoritmos comuns de aprendizado de máquina aplicados para classificação são regressão logística, K-vizinhos mais próximos, árvore de decisão, Naive Bayes e máquina de vetores de suporte.

2. Regressão: A tarefa que a máquina exige para prever um resultado numérico para determinados pontos de dados rotulados. Por exemplo, um modelo de aprendizagem automática pode precisar de prever o preço das casas com base na sua área, localização e arquitetura. Algoritmos comuns de aprendizado de máquina aplicados para regressão são regressão multilinear, árvore de decisão e máquina de vetores de suporte.

Na aprendizagem não supervisionada, os dados não são rotulados com atributos ou propriedades. A própria máquina precisa prever rótulos para os pontos de dados. Alguns exemplos de tarefas de aprendizado de máquina em aprendizado não supervisionado são os seguintes.

1. Detecção de anomalias: Nesta tarefa, a máquina deve identificar padrões de dados ou eventos incomuns com base na experiência de alguns dados históricos. Por exemplo, um modelo de aprendizagem automática pode ser aplicado para detectar spam de e-mail, identificar transações fraudulentas ou identificar ataques de hackers num sistema de segurança cibernética. Algoritmos comuns de aprendizado de máquina usados ​​para detecção de anomalias são Fator Outlier Local, K-Nearest Neighbours, Elliptic Envelope, Boxplot, DBSCAN, Isolation Forest, Support Vector Machines e Z-score.

2. Anotação estruturada: Nesta tarefa, a máquina adiciona metadados estruturados como anotações aos pontos de dados fornecidos para obter informações extras ou relacionamentos entre amostras de dados. Por exemplo, um modelo de aprendizado de máquina pode ser aplicado para adicionar metatags a partes de algumas imagens, indicando recursos extraídos como lugares, pessoas ou objetos nas imagens. Ferramentas populares de anotação de dados incluem Annotell, V7 Lab Darwin, Lighttag, Hasty, Dataloop AI, Hivemind, Deepen AI e Datasaur AI.

3. Tradução: Nesta tarefa, uma máquina requer a identificação do idioma de um determinado texto e sua tradução para outro idioma. Algoritmos de aprendizado de máquina supervisionados e não supervisionados são usados ​​para processamento de linguagem natural. Alguns dos algoritmos padrão de aprendizado de máquina supervisionado aplicados à PNL são Entropia Máxima, Rede Bayesiana, Campo Aleatório Condicional, Máquinas de Vetores de Suporte e Redes Neurais. Redes Neurais Recorrentes são frequentemente usadas para tradução de idiomas. As técnicas comuns de aprendizagem não supervisionada usadas para PNL são Indexação Semântica Latente e Fatoração de Matrizes.

4. Clustering: Nesta tarefa, a máquina precisa organizar amostras de dados em clusters/grupos, observando seus padrões latentes inerentes, semelhanças, dissimilaridades e relacionamentos. Por exemplo, um modelo de aprendizado de máquina pode exigir agrupar produtos identificando seus recursos e especificações. Alguns dos algoritmos comuns de aprendizado de máquina aplicados para clustering incluem Spectral Clustering, K-Means, Affinity Propagation, DBSCAN, OPTICS, Mean Shift, BIRCH, Agglomerative Clustering e Mini-Batch K-Means.

5. Visão computacional: Nesta tarefa, uma máquina pode exigir classificação de imagens, realização de segmentação, extração e anotação de recursos e realização de detecção de movimento. Muitos algoritmos de aprendizado de máquina são aplicados a diferentes aspectos da visão computacional. Algoritmos comuns de aprendizado de máquina usados ​​​​em visão computacional são SURF, SIFT, algoritmo Viola-Jones, algoritmo Lucas-Kanade, Mean Shift, KNN e Naive Bayes.

6. Transcrições: Nesta tarefa, uma máquina deve segregar dados não estruturados contínuos em dados estruturados discretos. Alguns dos exemplos de transcrição incluem reconhecimento óptico de caracteres, extração de texto de imagens e mecanismos de conversão de fala em texto.

Na aprendizagem por reforço, a máquina depende do feedback de um agente para aprender com os dados. Neste tipo de aprendizado de máquina, a máquina observa continuamente os dados e seus resultados no ambiente circundante para prever resultados futuros. Alguns dos modelos populares de aprendizagem por reforço incluem Processo de Decisão de Markov e Q-Learning.

Compreendendo a experiência de aprendizado de máquina

No aprendizado de máquina, a experiência refere-se a pontos de dados de ingestão ou amostras de dados. O modelo observa as amostras de dados para identificar o padrão dos dados recebidos ou reconhecer a relação entre os dados e seus resultados. O modelo pode consumir o conjunto de dados de uma só vez na forma de dados históricos ou podem ser dados em tempo real adquiridos ao longo de algum tempo. O modelo pode consumir amostras de dados a qualquer momento. É um processo iterativo que idealmente nunca termina. A aquisição de amostras de dados por um modelo de aprendizado de máquina é chamada de treinamento do modelo. A forma como o modelo aprende com a experiência é uma funcionalidade do algoritmo de aprendizado de máquina.

Compreendendo o desempenho do aprendizado de máquina

Um modelo aprende com a experiência para melhorar seu desempenho em determinada tarefa. O desempenho pode ser medido usando indicadores como exatidão, sensibilidade, precisão, especificidade, recall, taxa de classificação incorreta, taxa de erro, pontuação F1, etc. Os indicadores de desempenho específicos aplicáveis ​​a uma tarefa dependem do algoritmo de aprendizado de máquina aplicado. Os indicadores de desempenho podem ser avaliados em conjuntos de dados de treinamento ou em amostras de dados recentes, chamados de validação e teste.

Introdução ao aprendizado de máquina

O aprendizado de máquina é a tecnologia mais avançada neste momento. Muitas vezes é confuso para iniciantes como iniciar o aprendizado de máquina. É fácil começar com aprendizado de máquina com as três etapas a seguir.

1. Escolha uma linguagem de programação para aprendizado de máquina: O primeiro passo para começar com o aprendizado de máquina é escolher uma linguagem de programação. A seleção da linguagem de programação depende da aplicação para a qual o aprendizado de máquina é necessário. As linguagens de programação comuns para implementação de aprendizado de máquina são Python, R, JavaScript, C/C++, Java, Scala e Go.

Python é preferido em desenvolvimento web, análise de dados, desenvolvimento de jogos e desenvolvimento de aplicativos de desktop. R é especificamente útil para análise estatística e computação científica. Julia é outra linguagem de programação preferida para aplicar aprendizado de máquina à computação científica. JavaScript é a linguagem de programação preferida para aprendizado de máquina no desenvolvimento web front-end, desenvolvimento de jogos e desenvolvimento de aplicativos móveis, pois oferece suporte ao desenvolvimento full-stack. C/C++ é preferido para aplicar aprendizado de máquina a sistemas embarcados, software de sistema, robótica e segurança cibernética. Java é usado para aplicar aprendizado de máquina em aplicativos móveis, aplicativos do lado do servidor e aplicativos back-end. Scala é preferível a Java, onde Big Data está envolvido. Go ajuda a aplicar aprendizado de máquina a plataformas e serviços em nuvem.

Python é a melhor linguagem de programação para iniciantes começarem a explorar o aprendizado de máquina.

2. Aprenda a usar ferramentas e pacotes da linguagem de programação escolhida: Cada linguagem de programação possui suas ferramentas e bibliotecas para implementação de algoritmos de aprendizado de máquina. Depois de selecionar uma linguagem de programação, você precisa aprender ferramentas e bibliotecas aplicáveis ​​ao aprendizado de máquina.

3. Explore algoritmos de aprendizado de máquina: uma vez familiarizado com ferramentas e pacotes específicos de linguagem, explore diferentes algoritmos de aprendizado de máquina para treinar modelos para aplicações da vida real.

Conclusão

O aprendizado de máquina é fascinante. Pode ser implementado em diversas linguagens de programação, onde uma linguagem de programação pode ser preferida dependendo da aplicação pretendida. No entanto, não existe uma linguagem de programação melhor para aplicar o aprendizado de máquina. Python é a linguagem preferida para começar com aprendizado de máquina. Ele pode ser facilmente usado em qualquer computador desktop ou até mesmo em computadores de placa única. Para aplicar aprendizado de máquina a aplicativos de microcontroladores, C/C++ deve ser preferido com ferramentas como TinyML.

Conteúdo Relacionado

Voltar para o blog

Deixe um comentário

Os comentários precisam ser aprovados antes da publicação.