ARTIFICIAL Prof. Kleber Galvão kleber.jose@ifal.edu.gov.br IOT
■ Uma pessoa comum, produz uma enorme quantidade de dados de forma
não estruturada. Tal produção não se limita a geração de documentos de escritórios ou arquivos multimídias, como foto ou vídeos. ■ Essa grande produção de dados ampliou-se exponencialmente com a popularização dos dispositivos físicos interconectados que são incorporados com sensores, software e tecnologia de rede para coletar e trocar dados, chamados de Internet das Coisas (IoT). BIG DATA
■ O termo BIG DATA (Grandes Dados, em português) faz referencia a um
conjuntos de dados extremamente grandes, complexos e diversificados, que não podem ser facilmente gerenciados, processados ou analisados com ferramentas tradicionais de processamento de dados. ■ É lidar com volumes massivos de dados com uma alta velocidade de geração e variedade de formatos e fontes distintas de dados. Sendo seu objetivo principal extrair valor desses dados por meio de análise, obtenção de insights e tomada de decisões baseadas em dados. ■ O Big Data apresenta desafios técnicos, mas também oferece oportunidades para impulsionar a inovação e melhorar os resultados em diversos setores. CIÊNCIAS DE DADOS
■ A Ciência de Dados é um campo multidisciplinar que envolve a extração
de conhecimento, insights e valor a partir de grandes volumes de dados. Ela combina habilidades e técnicas de matemática, estatística, ciência da computação e domínio do assunto para analisar dados complexos e obter informações significativas. ■ A ciência de dados engloba técnicas de mineração de dados, visualização de dados, análise de dados e aprendizado de máquina, buscando extrair informações a partir dos dados, mais precisamente do BIG DATA. IA NAS ORGANIZAÇÕES
■ Os últimos anos, a análise de dados por intermédio da Inteligência
Artificial tem se tornado fator estratégico para as organizações espalhadas pelo mundo. ■ Soluções que possuem funcionalidades baseadas em IA otimizam o ambiente coorporativo e assim causando um impacto maior na melhoria dos serviços, demandas, vendas, ect. APRENDIZADO DE MÁQUINA O que é Machine Learning?
■ O aprendizado de máquina (Machine Learning) é um ramo da
inteligência artificial que se concentra no desenvolvimento de Algoritmos e Técnicas que permitem aos computadores aprender e tomar decisões sem serem explicitamente programados para cada tarefa específica. Seus objetivos
■ Objetivo central do aprendizado de máquina é:
■ Capacitar os computadores a aprender a partir de exemplos e experiências, de forma semelhante ao modo como seres humano aprendem. Em vez de escrever um código específico para cada cenário ou tarefa. ■ O aprendizado de máquina permite que os algoritmos sejam treinados usando dados de entrada e saída para aprenderem padrões e relações inerentes nos dados. Abordagens do AM
■ Existem diferentes abordagens e técnicas de aprendizado de máquina,
mas as duas principais são o Aprendizado Supervisionado e o Aprendizado Não Supervisionado. ■ Existe ainda a Aprendizagem por Reforço. Aprendizado Supervisionado
■ Nesse tipo de aprendizado, os algoritmos são treinados usando dados
rotulados, ou seja, dados de entrada que são previamente categorizados ou classificados. ■ O objetivo é aprender a mapear os dados de entrada para as saídas corretas com base nos exemplos fornecidos. ■ Por exemplo, um algoritmo de aprendizado de máquina pode ser treinado para reconhecer imagens de gatos e cães com base em um conjunto de imagens previamente rotuladas. Aprendizado Não Supervisionado:
■ Nessa abordagem, os algoritmos são expostos a conjuntos de dados não
rotulados, ou seja, dados de entrada sem categorização prévia. ■ O objetivo é encontrar padrões e estruturas intrínsecas nos dados. Por exemplo, algoritmos de agrupamento (clustering) podem ser usados para agrupar automaticamente clientes em diferentes segmentos com base em seus comportamentos de compra, sem a necessidade de rótulos predefinidos. Aprendizagem por reforço
■ É uma abordagem do Aprendizado de Máquina em que um agente
aprende a tomar decisões em um ambiente dinâmico para maximizar uma recompensa cumulativa. ■ Nesse tipo de aprendizagem, o agente não é informado sobre a ação correta a ser tomada, mas sim recebe feedback na forma de recompensas ou penalidades após cadta ação executada. Enfim...
■ O aprendizado de máquina tem uma ampla gama de aplicações em
diversas áreas, como processamento de linguagem natural, visão computacional, reconhecimento de padrões, diagnóstico médico, sistemas de recomendação, otimização de processos e muito mais. ■ À medida que os algoritmos de aprendizado de máquina são treinados com mais dados e se tornam mais sofisticados, eles têm o potencial de transformar muitos aspectos da sociedade, trazendo benefícios em termos de eficiência, automação e tomada de decisões baseada em dados. APRENDIZADO SUPERVISIONADO Aprendizado Supervisionado
■ O aprendizado supervisionado é uma abordagem comum no campo do
Machine Learning, onde um modelo é treinado para aprender a mapear entradas para saídas com base em um conjunto de dados de treinamento rotulado. Nesse tipo de aprendizado, o modelo é exposto a pares de exemplos de entrada e saída esperada, permitindo que ele aprenda a relação entre os dados de entrada e as respostas desejadas. O processo de aprendizado supervisionado ■ O processo de aprendizado supervisionado pode ser dividido em algumas etapas principais: ■ Conjunto de dados de treinamento: É necessário ter um conjunto de dados de treinamento que contenha exemplos rotulados. Cada exemplo consiste em uma entrada (também chamada de características ou atributos) e uma saída (também chamada de rótulo ou resposta). Esses exemplos servem como referência para o modelo aprender a fazer previsões corretas. O processo de aprendizado supervisionado ■ Escolha do algoritmo/modelo: É necessário selecionar um algoritmo ou modelo apropriado para o problema em questão. Existem vários algoritmos disponíveis, como regressão linear, regressão logística, árvores de decisão, redes neurais, entre outros. Cada algoritmo possui características diferentes e é adequado para diferentes tipos de problemas. O processo de aprendizado supervisionado ■ Treinamento do modelo: O modelo é treinado utilizando o conjunto de dados de treinamento. Durante o treinamento, o modelo ajusta seus parâmetros internos com base nos exemplos de entrada e saída fornecidos. O objetivo é minimizar uma função de perda ou erro, que mede a diferença entre as saídas previstas pelo modelo e as saídas esperadas. O processo de aprendizado supervisionado ■ Validação do modelo: Após o treinamento, é importante avaliar o desempenho do modelo em dados não vistos, chamados de conjunto de dados de validação. Isso permite verificar se o modelo está generalizando bem e não está apenas memorizando os exemplos de treinamento. A validação também ajuda a ajustar hiperparâmetros do modelo, como taxa de aprendizado, número de camadas em uma rede neural, etc. O processo de aprendizado supervisionado ■ Teste do modelo: Após o treinamento e validação, o modelo é avaliado em um conjunto de dados de teste separado. Esse conjunto de dados não deve ser usado durante o treinamento nem a validação, garantindo uma avaliação imparcial do desempenho do modelo. O teste fornece uma estimativa realista de como o modelo se sairá em situações reais. O processo de aprendizado supervisionado ■ Implantação e uso do modelo: Após passar por todas as etapas anteriores e obter um desempenho satisfatório, o modelo está pronto para ser implantado e usado para fazer previsões em novos dados. Ele pode ser integrado em sistemas ou aplicativos para realizar tarefas como classificação, regressão, detecção de anomalias, entre outras, dependendo da natureza do problema. O processo de aprendizado supervisionado ■ O aprendizado supervisionado é amplamente utilizado em diversas áreas, incluindo reconhecimento de padrões, processamento de linguagem natural, visão computacional, medicina, finanças e muitas outras. É uma abordagem poderosa que permite que as máquinas aprendam com exemplos rotulados e realizem tarefas complexas de previsão e tomada de decisão. PRINCIPAIS ALGORITMOS DO APRENDIZADO SUPERVISIONADO ■ Existem vários algoritmos populares de aprendizado supervisionado, cada um com suas próprias características e adequado para diferentes tipos de problemas. Aqui estão alguns dos principais algoritmos de aprendizado supervisionado: ■ Regressão Linear: É um algoritmo utilizado para problemas de regressão, em que a tarefa é prever um valor numérico contínuo. A regressão linear encontra uma relação linear entre as variáveis de entrada e a variável de saída. ■ Regressão Logística: É um algoritmo utilizado para problemas de classificação binária, em que a tarefa é prever uma classe binária (por exemplo, sim ou não). A regressão logística estima a probabilidade de uma instância pertencer a uma determinada classe. ■ Árvores de Decisão: São estruturas de árvore que representam decisões e suas possíveis consequências. Em cada nó da árvore, uma decisão é tomada com base em um atributo específico, levando a ramos subsequentes até que uma previsão seja feita. As árvores de decisão podem ser usadas para problemas de classificação e regressão. ■ Random Forest: É um algoritmo que combina várias árvores de decisão independentes para realizar tarefas de classificação ou regressão. Cada árvore na floresta é treinada com uma amostra aleatória do conjunto de dados e, em seguida, a previsão final é obtida pela média (no caso de regressão) ou pela votação (no caso de classificação) das previsões individuais das árvores. ■ Support Vector Machines (SVM): É um algoritmo de aprendizado supervisionado usado para problemas de classificação. O SVM busca encontrar o hiperplano que melhor separa as diferentes classes, maximizando a margem entre elas. É eficaz em conjuntos de dados com alta dimensionalidade. ■ Redes Neurais Artificiais (RNAs): São modelos inspirados no funcionamento do cérebro humano. As RNAs são compostas por várias camadas de neurônios interconectados, que aprendem a partir dos dados por meio do ajuste dos pesos das conexões. Elas são altamente flexíveis e podem ser usadas para problemas de classificação, regressão e outros. ■ Naive Bayes: É um algoritmo probabilístico baseado no teorema de Bayes. Ele assume independência entre os atributos e calcula a probabilidade de uma instância pertencer a uma classe específica com base nas probabilidades condicionais dos atributos. ■ Esses são apenas alguns dos algoritmos de aprendizado supervisionado mais comuns. Cada algoritmo tem suas vantagens e desvantagens, e a escolha do algoritmo depende do problema específico, dos dados disponíveis e dos requisitos do projeto. OVERFITTING E UNDERFITTING O que são esses termos?
■ Na aprendizagem supervisionada, existem dois erros principais que
podem ocorrer durante o treinamento de um modelo: o erro de overfitting e o erro de underfitting. Overfitting (Superajuste)
■ Overfitting ocorre quando um modelo de aprendizado de máquina se ajusta
excessivamente aos dados de treinamento, capturando não apenas os padrões subjacentes, mas também o ruído ou variações aleatórias nos dados. Isso leva a um desempenho muito bom nos dados de treinamento, mas o modelo falha em generalizar adequadamente para novos dados que não foram vistos durante o treinamento. ■ Em outras palavras, o modelo memoriza os exemplos em vez de aprender os padrões gerais que podem ser aplicados a situações diferentes. Isso resulta em baixo desempenho em dados de teste ou validação. Soluções para o overfitting
■ Regularização: Adicionar termos de regularização às funções de perda
ajuda a penalizar coeficientes excessivamente altos, impedindo o ajuste exagerado. ■ Aumentar Dados: Aumentar o tamanho do conjunto de treinamento através de técnicas como data augmentation pode reduzir o overfitting. ■ Simplificação do Modelo: Usar modelos mais simples com menos parâmetros pode limitar a capacidade do modelo de se ajustar demais aos dados. Underfitting (Subajuste)
■ Underfitting, por outro lado, acontece quando um modelo é muito
simples para capturar os padrões subjacentes nos dados. Ele não consegue aprender a relação entre as entradas e as saídas de maneira satisfatória, nem mesmo nos dados de treinamento. Como resultado, o modelo não se encaixa bem nos dados, tanto nos dados de treinamento quanto nos de teste ou validação. ■ Isso leva a um desempenho insatisfatório, onde o modelo não consegue capturar as nuances do problema. Soluções
■ Aumentar Complexidade: Usar modelos mais complexos, com maior
capacidade, pode permitir que o modelo aprenda padrões mais intrincados nos dados. ■ Aumentar Dados: Ter mais dados de treinamento pode ajudar o modelo a capturar melhor os padrões. ■ Ajuste de Hiperparâmetros: Ajustar os hiperparâmetros do modelo, como a taxa de aprendizado, o número de camadas e unidades, pode ajudar a encontrar uma configuração melhor. ■ Ambos overfitting e underfitting são problemas indesejados no aprendizado de máquina. Encontrar o equilíbrio certo, onde o modelo é suficientemente complexo para capturar padrões relevantes, mas não é excessivamente complexo a ponto de memorizar ruídos, é um desafio essencial no desenvolvimento de modelos de aprendizado de máquina bem-sucedidos. Isso é frequentemente alcançado através de técnicas de ajuste de hiperparâmetros, escolha adequada de arquiteturas de modelos e o uso de conjuntos de treinamento, validação e teste bem construídos. ATIVIDADES DE FIXAÇÃO Atividades em Grupo de 3 pessoas
■ Exercício 1: Definição de Aprendizagem de Máquina
– Explique, em suas próprias palavras, o que é Aprendizagem de Máquina. Como ela difere da programação tradicional? Dê exemplos de áreas onde a Aprendizagem de Máquina é aplicada. ■ Exercício 2: Conceitos-chave do Aprendizado Supervisionado – Descreva os princípios básicos do aprendizado supervisionado. O que são dados de treinamento? E como funcionam os rótulos ou etiquetas? Dê um exemplo concreto de um problema de aprendizado supervisionado, identificando os elementos essenciais. ■ Exercício 3: Conjunto de Treinamento, Validação e Teste – Explique a importância da divisão de conjuntos de dados em treinamento, validação e teste no aprendizado de máquina. Qual é o propósito de cada conjunto? Como essa abordagem ajuda a avaliar e ajustar o desempenho do modelo?