O que são algoritmos de machine learning?


O Machine Learning (ML) é um campo académico no qual os data scientists concebem algoritmos de computador que podem aprender uma tarefa sem serem explicitamente programados com dados para realizar essa tarefa. Pensem nisto como ensinar o melhor algoritmo computacional a reconhecer padrões e tomar decisões simplesmente por mostrar exemplos em vez de escrever todas as regras de algoritmos.

IA et machine learning

Os exemplos de um modelo são frequentemente na forma de dados - mas quantidades massivas de informação - e os algoritmos de computador analisam estes enormes conjuntos de dados para descobrir (aprender) relações e insights.

Os algoritmos de "deep learning" das máquinas e o modelo de dados são programas de dados únicos das máquinas porque são iterativos. Eles progridem firmemente; não é um processo avulso. Os algoritmos melhoram continuamente à medida que são expostos a mais dados.

Permite que os algoritmos de machine learning se adaptem a novas informações e aperfeiçoem as suas previsões. Essa magia é a melhor máquina de deep learning para se tornar mais preciso ao longo do tempo. Os algoritmos de Machine Learning são como os estudantes que melhoram numa disciplina quanto mais estudam e praticam.

Porquê o Machine Learning é importante

Os algoritmos de Machine Learning não são apenas mais uma palavra-chave associada aos dados no âmbito das melhores práticas de inteligência artificial (IA); são uma tecnologia transformadora. Tem vindo a remodelar indústrias e o nosso quotidiano ao longo de décadas. Eis o porquê de isto mudar as regras do jogo:

Automatização de tarefas complexas:

Os algoritmos de Machine Learning e o modelo das máquinas são excelentes para serem usados para automatizar tarefas repetitivas e trabalhosas que, de outra forma, exigiriam um esforço humano significativo. Permite que as pessoas se concentrem num trabalho mais estratégico e criativo. Os exemplos incluem a utilização para prever o que é spam e até o deep learning para conduzir carros.

Deteção de padrões ocultos nos dados:

Mesmo os melhores métodos tradicionais de análise de dados só conseguem arranhar a superfície do que está escondido dentro dos vastos conjuntos de dados. Para uma análise mais aprofundada dos modelos, é necessário o machine learning para descobrir padrões subtis, correlações e anomalias. Isto são coisas de que os humanos sentirão falta.

Personalização:

O Machine Learning é o motor de Deep Learning por detrás das recomendações personalizadas em plataformas como a Netflix e a Amazon. Ao analisar as variáveis de comportamento e as preferências anteriores, o machine learning sugere filmes, produtos ou conteúdos que julga necessários, melhorando assim a experiência do utilizador.

Melhor tomada de decisões:

Em muitas indústrias, as decisões são tomadas com base na aprendizagem da intuição ou da informação limitada. Um programa de "deep learning" das máquinas pode aumentar o julgamento humano, fornecendo informações e previsões baseadas em dados. Isto leva a decisões mais informadas e objetivas, seja no diagnóstico de saúde, no investimento financeiro ou na gestão da cadeia de aprovisionamento.

Assim, um programa de machine learning torna os computadores mais inteligentes, permitindo que os humanos resolvam problemas de forma mais eficiente.

Tipos de Algoritmos de Machine Learning

Aprendizagem supervisionada

O deep learning supervisionado é o tipo mais comum de programa de machine learning. É como ter um professor que guia o processo de "deep learning".

Os algoritmos da máquina são fornecidos com um conjunto de dados de treino de programas, cada exemplo marcado com a saída correta. Estes dados classificados agem como "supervisor", dizendo ao algoritmo o resultado desejado para uma dada entrada.

O objetivo é aprender a relação entre as funcionalidades de entrada do algoritmo do modelo e as etiquetas correspondentes para prever com precisão a saída de dados novos e não vistos. Alguns dos algoritmos de aprendizagem supervisionados comuns incluem:

Regressão linear: Algoritmo de modelo linear para prever valores numéricos contínuos, como preços de habitação ou números de vendas. Assume uma relação linear entre as funções de entrada e a variável de saída.

Regressão logística: Os algoritmos do programa de classificação são usados com probabilidade para prever resultados categóricos, como se um e-mail é spam ou não, ou se um cliente vai falhar. Calcula a probabilidade de uma instância pertencer a uma categoria em particular.

Árvore de decisão: Estes algoritmos de programa criam um modelo arborescente de decisões e as suas possíveis consequências. São fáceis de interpretar e podem ser utilizadas para classificação, e algumas empresas utilizam-nas para tarefas de regressão.

Máquinas vetoriais de suporte (SVM): As SVM são algoritmos potentes para as tarefas de classificação. Eles funcionam encontrando o hiperplano ideal que separa os pontos de dados em diferentes classes.

Depois, há os algoritmos de rede neural, também conhecidos como deep learning . Estes são algoritmos de rede complexos inspirados pela estrutura de rede do cérebro humano. Uma rede é excelente em tarefas como o reconhecimento de imagens e PLN; de um modo geral, um algoritmo neural de rede é o melhor para qualquer coisa que seja um problema complexo de reconhecimento de padrões.

Aprendizagem não supervisionada

O modelo de decisão de aprendizagem não supervisionada adota uma abordagem de programa diferente da aprendizagem supervisionada. Aqui, o algoritmo não é fornecido com um ponto de dados rotulado ou instruções explícitas sobre o que procurar.

Sem supervisão da aprendizagem, utilizamos um conjunto de valores de dados sem resultados predefinidos, e o algoritmo de aprendizagem automáticos é convidado a descobrir padrões, estruturas ou relações ocultos. Deve fazê-lo por si só, sem qualquer orientação humana. Alguns algoritmos de machine learning populares não supervisionados incluem:

K-Means em cluster: Este algoritmo de decisão é um método go-to para agrupar pontos de dados semelhantes em clusters. Com este método, dividimos os valores de dados em K clusters distintos, e os pontos pertencem ao cluster com a média mais próxima.

A clusterização hierárquica difere dos algoritmos K-medium, que produzem um conjunto plano de clusters. O clustering hierárquico cria uma hierarquia de clusters que se parece com uma árvore. Pode ser útil quando pretender compreender as relações entre clusters a diferentes níveis de granularidade.

Análise de componentes principais (PCA): O PCA é uma "técnica de redução de dimensionalidade" que pode ajudar as pessoas a visualizar os valores dos pontos de dados como variáveis. Graças aos algoritmos PCA, identificamos os principais componentes e as direções com maior variação nos valores de dados. Em seguida, projetamos os dados num espaço de dimensão inferior, preservando ao mesmo tempo a maior quantidade de informação possível.

Deteção de anomalias: Concebido para treinar para identificar pontos de dados de decisão raros ou invulgares, que não estejam dentro da norma do conjunto de pontos de dados. Este algoritmo de machine learning é bastante bom na deteção de fraudes, na deteção de intrusões na rede (para a cibersegurança) e na identificação de defeitos de fabrico.

Por vezes, a aprendizagem não supervisionada é utilizada como um precursor da aprendizagem supervisionada, na qual os conhecimentos adquiridos podem ser utilizados para criar um ponto de dados classificado para o treino de modelos supervisionados.

Boost é uma potente técnica de treino e aprendizagem em machine learning. Com o boost, vários modelos fracos são combinados. Boosting significa que estes treinam muitas vezes para se tornarem ligeiramente melhores que adivinhações aleatórias. Boosting combina estes elementos para criar um modelo preditivo forte.

O boost envolve o treinamento de modelos sequencialmente, com cada modelo subsequente focado em corrigir os erros feitos pelos anteriores através do boost.

Aprendizagem por reforço

A aprendizagem por reforço é um tipo único de aprendizagem automáticos que se inspira na psicologia comportamental. Um agente aprende por tentativa e erro, interagindo com seu ambiente e recebendo feedback por meio de recompensas ou penalidades com base em suas ações.

É um pouco como ensinar a um animal um bom comportamento. O agente aprende a associar certas ações com resultados positivos (recompensas) e outras com resultados negativos (penalizações). Ao repetir esse processo repetidamente, o agente desenvolve uma política que seleciona ações mais propensas a levar a recompensas.

Então, vocês podem ver como o processo é análogo ao modo como humanos e animais aprendem através de reforço positivo e negativo. Dois algoritmos comuns de "deep learning" para o reforço incluem o Q-learning, que estima recompensas futuras pela tomada de uma determinada ação num determinado estado. Deep Q-Networks, ou DQN, é uma extensão moderna do Q-learning que combina o aprendizado por reforço com o poder das redes neurais profundas.

Os algoritmos de aprendizagem por reforço têm uma vasta gama de aplicações. Treina robôs para realizar tarefas no mundo real, como navegar, manipular objetos e até jogar jogos. O desenvolvimento de agentes de IA com aprendizagem por reforço pode construir modelos que dominam jogos complexos como o xadrez, Go e Dota 2.

Otimizar variáveis de recursos de decisão em domínios como as redes energéticas, o controlo de tráfego e a computação em cloud. Embora a aprendizagem por reforço seja uma ferramenta potente para treinar um modelo, pode ser difícil aplicá-la devido à necessidade de funções de recompensa cuidadosamente concebidas e ao potencial de convergência lenta.

Escolher o algoritmo correto: Casos de uso e considerações

A seleção do algoritmo de "deep learning" das máquinas mais adequado é crucial, uma vez que a aplicação de modelos específicos de machine learning pode ser limitada e altamente orientada. Também pode descobrir que o modelo errado lhe dá resultados ineficientes, enquanto que o correto pode desbloquear informações valiosas e gerar resultados com impacto.

Questões essenciais a colocar

Aprendizagem supervisionada, não supervisionada, ou por reforço: Os seus valores de ponto de dados estão classificados nos resultados de destino (supervisionado), não classificados (não supervisionado), ou precisa de um agente para aprender através da interação com um ambiente (reforço)? É isso que deve ter em consideração antes de escolher o tipo de modelo a utilizar.

Também terá de escolher entre algoritmos de regressão ou de classificação. Neste caso, a escolha pela regressão depende do facto de se estar a prever um valor numérico contínuo (regressão) ou a categorizar os valores de dados em classes distintas (classificação) — o que não envolve regressão.

Outra consideração vital é o tamanho e a natureza do conjunto de dados que você usa para treinar um modelo: quantos valores de dados você tem? É estruturado (tabular), não estruturado (texto, imagens), ou uma mistura? O tamanho e a complexidade do seu conjunto de dados podem influenciar a sua escolha de algoritmos.

A interpretação também é importante porque alguns modelos de machine learning levam tempo a explicar. Necessita de um modelo que seja fácil de explicar às partes interessadas (por exemplo, árvore de decisão), ou está disposto a sacrificar a capacidade de explicar como é que o seu modelo funciona para o que poderia ser potencialmente uma maior precisão (por exemplo, redes neurais profundas)?

Algoritmos correspondentes para casos de uso de exemplo

Para tornar as coisas mais concretas, vamos explorar um exemplo de como os algoritmos de "deep learning" de máquinas específicos se alinham com alguns dos casos de uso mais comuns do mundo real.

Prever A Mudança De Cliente

é um exemplo de problema de classificação aleatória em que as empresas querem identificar clientes que provavelmente deixaram de usar um serviço ou produto. Algoritmos aleatórios de Regressão Logística são um método de aprendizagem automático que prevê churn vs. no churn. No entanto, as florestas aleatórias muitas vezes superam a regressão logística em termos de precisão, porque as florestas aleatórias capturam relações mais complexas entre uma série de características dos clientes e o comportamento resultante dos churn, pelo que as florestas aleatórias podem ser a melhor escolha.

Reconhecimento de imagens

é uma tarefa de deep learning que envolve a identificação automática de objetos, rostos ou padrões a partir de uma imagem fornecida. Um modelo que funciona bem para o reconhecimento de imagens é chamado de rede neural convolucional (CNN) porque pode fazer representações hierárquicas de características visuais a partir de dados não processados de pixéis.
 

Sistemas de Recomendação

sugerir itens aos utilizadores com base nas suas preferências e comportamento. Um modelo de machine learning chamado filtragem colaborativa é uma excelente forma de fazer isto. Ainda assim, a fatoração de matrizes também é popular: ela decompõe as interações do item do usuário em fatores latentes, revelando preferências ocultas que podem ser usadas para fazer recomendações personalizadas.

Lembre-se, estes são apenas alguns exemplos, e o melhor algoritmo para um caso de uso específico pode variar dependendo da natureza dos dados, da complexidade do problema e dos recursos disponíveis.

Outras Considerações

Compreender o seu problema e adaptá-lo a algoritmos de programa adequados é o seu primeiro passo, mas há algumas outras coisas a ter em conta enquanto constrói um modelo de machine learning para o seu projeto específico.

O trade-off entre polarização e variância é um conceito crucial, já que a polarização se refere ao erro introduzido pela aproximação de um problema do mundo real com um modelo simplificado - enquanto a variância se refere à sensibilidade do modelo às flutuações nos dados de treino. Ao escolher um modelo de elevada parcialidade, este será mais simples e estará menos adaptado aos dados. Por outro lado, um modelo de programa de grande variância pode ser demasiado complexo e pode sobrecarregar os dados. Deve procurar atingir um equilíbrio.

Outro ponto chave é a complexidade dos modelos. Os modelos simples podem não captar todas as nuances nos seus dados, mas um modelo demasiado complexo pode adaptar-se demasiado ao ruído nos dados de treino. O que significa que fica mais "encaixado" - e um modelo com maus desempenhos. O seu modelo deve ser suficientemente complexo para captar os padrões subjacentes, mas não tão complexo que memorize os dados de treino.

A engenharia e a seleção das funcionalidades são o elemento mais importante para a qualidade dos seus modelos. A engenharia de recursos envolve a transformação de dados brutos em "recursos" que são mais informativos para o programa de machine learning. A seleção das funcionalidades consiste em escolher as funcionalidades mais relevantes que se adaptam às performances do seu modelo.

Futuro do Machine Learning

As soluções de IA e o deep learning das máquinas avançam a um ritmo alucinante. Novos algoritmos, técnicas e frameworks estão constantemente a ser desenvolvidos, empurrando os limites do que é possível com a inteligência artificial.

Estamos num momento emocionante para nos envolvermos neste campo, com avanços acontecendo no processamento de linguagem natural, visão computacional e aprendizado por reforço.

Manter-se informado sobre estes rápidos avanços da inteligência artificial é crucial para qualquer pessoa que queira explorar o poder do machine learning. As ferramentas e técnicas de ponta de hoje podem tornar-se obsoletas quase de um dia para o outro. Precisa de estar informado sobre os últimos desenvolvimentos para assegurar que utiliza os métodos mais eficazes para resolver os seus problemas.

Começar com o poder do Machine Learning

O Machine Learning já não está confinado aos laboratórios de investigação e gigantes tecnológicos. Está a tornar-se cada vez mais acessível a empresas e indivíduos através de ferramentas amigáveis que não requerem um vasto conhecimento data science.

Quer seja um profissional de saúde que deseja um programa de diagnóstico melhorado ou alguém que trabalha no mundo do marketing e quer personalizar as experiências dos seus clientes, pode ter a certeza que o machine learning tem o potencial de revolucionar o seu campo de estudo.

Vale sempre a pena explorar, por isso não tenha medo de explorar a forma como um programa de machine learning pode ser aplicado ao seu domínio. Identifique os desafios em matéria de dados e determine quais as ferramentas de machine learning que foram utilizadas para abordar problemas semelhantes noutros domínios, sectores ou indústrias.

Também encontrará inúmeros recursos online, incluindo tutoriais, cursos e bibliotecas open-source, para o ajudar a começar.

OVHcloud e Machine Learning

A OVHcloud reconhece a crescente importância do machine learning, pelo que oferecemos uma vasta gama de serviços concebidos para apoiar a sua implementação. Oferecemos soluções de infraestrutura e plataforma, permitindo que os utilizadores escalem os seus projetos de machine learning de forma eficiente.