Você está na página 1de 72

INTELIGÊNCIA

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:

■ 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.

Você também pode gostar