■ 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:
■ 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. Exemplo
■ Previsão de Notas Escolares: Os alunos podem coletar dados sobre o
tempo que passam estudando e suas notas em provas. Usando a regressão linear, eles podem criar um modelo que prevê as notas com base no tempo de estudo. O modelo mostrará como o tempo de estudo afeta as notas. Regressão Logística:
■ 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. Exemplo:
■ Previsão de Aprovação em um Exame: Imagine que os alunos queiram
prever se um estudante passará ou não em um exame com base em variáveis como o número de horas de estudo e o nível de ansiedade. A regressão logística binária pode ser usada para criar um modelo que prevê a aprovação (1) ou reprovação (0). Árvores de Decisão:
■ Á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. Exemplo
■ Classificação de Animais: Os alunos podem criar um modelo de árvore
de decisão para classificar animais em diferentes grupos (mamíferos, aves, répteis, etc.) com base em características como o tipo de pele, número de patas e habitat. Random Forest:
■ 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. Exemplo
■ Diagnóstico de Doenças: Suponha que os alunos queiram diagnosticar
uma doença com base em múltiplos sintomas. Um modelo Random Forest pode ser criado usando dados de pacientes anteriores, permitindo que o sistema faça um diagnóstico mais preciso com base em vários sintomas. Support Vector Machines (SVM):
■ 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. Exemplo
■ Detecção de Spam em E-mails: Os alunos podem criar um filtro de spam
usando SVM para classificar e-mails como spam ou não spam com base no conteúdo e nas palavras-chave. O SVM ajuda a encontrar um limite de decisão entre e-mails legítimos e spam. Redes Neurais Artificiais (RNAs):
■ 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. Exemplo:
■ Reconhecimento de Dígitos Manuscritos: Os alunos podem treinar uma
rede neural artificial para reconhecer dígitos manuscritos, como os encontrados em códigos postais. A rede neural aprende a identificar os números corretamente. Naive Bayes:
■ 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. Exemplo:
■ Classificação de Comentários em Redes Sociais: Os alunos podem usar
Naive Bayes para classificar comentários em redes sociais como positivos, negativos ou neutros com base nas palavras usadas. Isso pode ajudar a entender a opinião pública sobre um tópico. 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? ALGORITMO NÃO SUPERVISIONADO ALGORITMO NÃO SUPERVISIONADO ■ O aprendizado não supervisionado é uma abordagem no campo do Machine Learning em que o modelo é treinado para encontrar padrões e estruturas ocultas em um conjunto de dados não rotulados, ou seja, sem a necessidade de exemplos de entrada e saída previamente rotulados. ■ Diferentemente do aprendizado supervisionado, onde há uma resposta correta fornecida durante o treinamento, no aprendizado não supervisionado o modelo precisa identificar padrões por conta própria. ■ O aprendizado não supervisionado tem como objetivo descobrir informações úteis, estruturas ou representações latentes nos dados. Ele pode ser usado para realizar tarefas como agrupamento (clustering), redução de dimensionalidade, detecção de anomalias e associação de regras. ■ Agrupamento (Clustering): O agrupamento envolve dividir os dados em grupos ou clusters, onde os objetos dentro de cada cluster são similares entre si, enquanto os objetos de clusters diferentes são distintos. O objetivo é encontrar estruturas e relações naturais nos dados, agrupando- os com base em suas similaridades. Algoritmos populares de agrupamento incluem o k-means, hierárquico e DBSCAN. ■ Redução de dimensionalidade: Nessa técnica, o objetivo é reduzir a dimensionalidade dos dados, mantendo ao mesmo tempo as informações mais relevantes. Isso ajuda a simplificar a representação dos dados e a eliminar características redundantes ou menos importantes. Uma técnica comum é a Análise de Componentes Principais (PCA), que projeta os dados em um espaço de menor dimensionalidade. ■ Detecção de anomalias: O objetivo é identificar padrões incomuns ou anômalos nos dados. Isso é útil para detectar fraudes, comportamentos anormais ou pontos de dados que se desviam significativamente da maioria dos outros pontos. Algoritmos de detecção de anomalias incluem o Isolation Forest, DBSCAN e métodos baseados em densidade. ■ Associação de regras: Essa técnica visa descobrir associações frequentes entre os itens em um conjunto de dados. Ela é comumente usada em análise de mercado e carrinho de compras, onde o objetivo é encontrar padrões de comportamento de compra dos clientes. Um algoritmo amplamente conhecido para associação de regras é o Apriori. ■ O aprendizado não supervisionado é usado para explorar e entender melhor os dados, encontrar insights ocultos, segmentar os dados em grupos significativos e simplificar a representação dos dados. Ele desempenha um papel importante em muitas áreas, como análise de dados, reconhecimento de padrões, processamento de imagens e bioinformática, entre outras. ■ É importante ressaltar que, ao contrário do aprendizado supervisionado, onde a avaliação do modelo é feita com base em métricas claras de desempenho, no aprendizado não supervisionado a avaliação é mais subjetiva e depende dos objetivos e da interpretação dos resultados obtidos. ALGORITMOS DO APRENDIZADO NÃO SUPERVISIONADO Agrupamento (Clustering):
■ Agrupamento (Clustering): O agrupamento é uma técnica que visa
identificar grupos naturais nos dados, onde os objetos dentro de um grupo são semelhantes entre si e diferentes de objetos em outros grupos. Alguns algoritmos populares de agrupamento incluem o K-means, Hierarchical Clustering (Agrupamento Hierárquico), DBSCAN (Density-Based Spatial Clustering of Applications with Noise) e o Mean Shift. Exemplo:
■ Agrupamento de Frutas: Podemos coletar dados sobre diferentes tipos
de frutas com base em características como cor, forma e textura. Usando um algoritmo de clustering, como o K-Means, eles podem agrupar automaticamente as frutas em diferentes categorias com base em suas semelhanças visuais, sem a necessidade de conhecimento prévio das categorias. Análise de Componentes Principais
■ Análise de Componentes Principais (Principal Component Analysis - PCA): O
PCA é uma técnica usada para simplificar dados complexos, tornando mais fácil entender suas principais variações. É como transformar um quebra-cabeça complicado em algo mais simples. ■ Imagine que você tem muitas informações sobre algo, como características de frutas (cor, tamanho, sabor, etc.), e você quer resumir essas informações em apenas algumas coisas importantes. PCA ajuda você a fazer isso, encontrando as combinações mais significativas dessas características e mostrando-as de forma clara. ■ É como se você tivesse uma foto com muitos detalhes, e o PCA ajudasse a encontrar os elementos mais importantes dessa imagem, permitindo que você a compreenda melhor com menos informações. Isso é útil quando você deseja reduzir a complexidade dos dados e focar no que realmente importa. Exemplo:
■ Redução de Dimensionalidade de Dados: Suponha que os alunos
tenham um conjunto de dados com muitas características, como altura, peso, idade e renda de indivíduos. Eles podem aplicar a análise de componentes principais para reduzir a dimensionalidade dos dados, identificando as combinações mais importantes de características que explicam a maior parte da variação nos dados. Redes Neurais Autoencoder:
■ Redes Neurais Autoencoder: Os autoencoders são uma classe especial de
redes neurais artificiais usadas para aprendizado não supervisionado de representações de dados. Eles consistem em uma rede neural com uma camada oculta que tenta reconstruir a entrada original. Os autoencoders são usados para redução de dimensionalidade, detecção de anomalias e geração de dados. Exemplo:
■ Compressão de Imagem: Os alunos podem aprender como um
autoencoder funciona criando um modelo que comprime imagens para economizar espaço de armazenamento. Por exemplo, eles podem treinar um autoencoder para comprimir imagens de alta resolução em versões de baixa resolução. Regras de Associação:
■ Regras de Associação: As regras de associação são usadas para descobrir
padrões frequentes em conjuntos de itens. Elas são frequentemente aplicadas em análise de cestas de compras, onde o objetivo é encontrar associações entre produtos comprados juntos. O algoritmo mais conhecido para mineração de regras de associação é o Apriori. Exemplo:
■ Análise de Compras em Supermercados: Os alunos podem usar
algoritmos de regras de associação para analisar dados de compras em um supermercado. Eles podem descobrir associações entre produtos frequentemente comprados juntos, ajudando a entender os padrões de compra dos clientes. Análise de Componentes Independentes
■ Análise de Componentes Independentes (Independent Component
Analysis - ICA): A ICA é uma técnica que visa separar os sinais originais em componentes independentes, assumindo que os sinais são uma combinação linear de fontes independentes. Ela é útil quando os dados consistem em uma mistura de diferentes fontes de sinal e o objetivo é recuperar as fontes originais. Exemplo:
■ Separando Músicas Misturadas: Os alunos podem aprender sobre ICA
aplicando-o à separação de fontes em músicas misturadas. ICA pode ajudar a separar diferentes instrumentos ou vocais de uma gravação de áudio misturada. Redes de Kohonen
■ Redes de Kohonen (Self-Organizing Maps - SOM): As SOMs são uma
técnica de agrupamento que usa uma rede neural artificial para mapear os dados em uma estrutura bidimensional. Elas são usadas para visualização de dados e agrupamento topológico, onde padrões semelhantes são mapeados para regiões próximas na grade. Exemplo:
■ Visualização de Dados em um Mapa: Os alunos podem usar Redes
Kohonen para criar um mapa de visualização de dados bidimensional. Isso pode ser usado para representar dados multidimensionais em um espaço bidimensional, tornando mais fácil identificar padrões e clusters nos dados. ■ Esses são apenas alguns dos principais algoritmos do aprendizado não supervisionado. Cada um deles tem suas próprias características e aplicações específicas. A escolha do algoritmo depende do tipo de problema, dos dados disponíveis e dos objetivos da análise.