Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Prévia do material em texto

02/09/23, 22:58 wlldd_222_u2_mac_lea_ii
https://www.colaboraread.com.br/integracaoAlgetec/index?usuarioEmail=frederico.sousa%40outlook.com&usuarioNome=FREDERICO+EMANUEL+GUIMARÃES+DE+SOUSA&disciplinaDescricao=&atividadeId=3… 1/21
Imprimir
INTRODUÇÃO
Nessa aula, você aprofundará seus conhecimentos em técnicas utilizadas no algoritmo de regressão logística, o
qual pode ser utilizado em diversos problemas que envolvam classi�cação e/ou regressão. Lembrando que
problemas de classi�cação são aqueles que rotulam registros, ou seja, a cada novo registro recebido, encaixam-
no em uma determinada classe. Por sua vez, problemas de regressão são aqueles que utilizamos quando
precisamos prever um valor numérico, por exemplo, limite de cartão de crédito (MOHRI; ROSTAMIZADEH;
TALWALKAR, 2012). Dessa forma, identi�car e conhecer técnicas de classi�cação e regressão são de extrema
importância.
Aula 1
REGRESÃO LOGÍSTICA II
Nessa aula, veremos sobre classi�cadores binários e funções multiclasse.
32 minutos

APRENDIZAGEM NÃO-
SUPERVISIONADA E REGRESSÃO
LOGÍSTICA
137 minutos
Aula 1 - Regresão Logística II
Aula 2 - Modelos não supervisionados - uma introdução
Aula 3 - Modelos não supervisionados: modelo componente
principais
Aula 4 - Modelos não supervisionados: redução de dimensão II
Referências
02/09/23, 22:58 wlldd_222_u2_mac_lea_ii
https://www.colaboraread.com.br/integracaoAlgetec/index?usuarioEmail=frederico.sousa%40outlook.com&usuarioNome=FREDERICO+EMANUEL+GUIMARÃES+DE+SOUSA&disciplinaDescricao=&atividadeId=3… 2/21
Nessa aula, você verá temas, como classi�cação multiclasse, classi�cação linear e não linear, um problema de
classi�cação utilizando regressão logística e, claro, um estudo de caso para pôr em prática os conhecimentos
adquiridos.
CLASSIFICAÇÃO MULTICLASSE
Ao se falar em classi�cação de dados, temos que ter em mente que existem inúmeras formas de ela ocorrer.
Nessa aula, veremos sobre classi�cadores binários e funções multiclasse. Os classi�cadores binários conseguem
classi�car bases de dados em duas classes, enquanto as funções multiclasse, encontradas também na literatura
como classi�cadores multinomiais, têm a capacidade de identi�car mais de duas classes (GÉRON, 2019).
Certos algoritmos utilizados para a classi�cação e regressão, como Random Forest, Naive-Bayes e Redes
Neurais Convulsionais, são capazes de realizar classi�cações de múltiplas classes. Por outro lado, alguns
algoritmos de classi�cação, como Máquinas de Vetores de Suporte (SVM), Classi�cação Lineares e Regressão
Logística, suportam apenas classi�cações binárias. No entanto, é possível a utilização de técnicas com
classi�cadores binários múltiplos, para realizar a classi�cação de múltiplas classes.
Imagine um cenário em que é necessário criar um sistema que seja possível classi�car dez imagens numéricas,
e ele possui apenas um algoritmo que se utiliza da estratégia de classi�cação binária. Uma maneira de
solucionar a classi�cação dessas imagens seria a One-Versus-The-Rest (OvA), que tem a tradução literal de Um
Contra Todos. Essa técnica funciona da seguinte maneira: treina-se dez classi�cadores binários, um para cada
dígito, enumerados de 0 a 9. Para classi�car uma imagem, calcula-se a pontuação de decisão de cada
classi�cador para a imagem. Para saber a qual classe a imagem pertence, basta selecionar qual classi�cador
obteve a maior pontuação.
Por sua vez, a estratégia One-versus-One (OvO), cuja tradução é Um Contra Um, treina um classi�cador binário
para cada par de dígitos, ou seja, diferenciando 0s e 1s, 0s e 2s, 1s e 2s, e sucessivamente, até chegar ao
número de classes do problema. Dessa maneira, se existem N classes, o algoritmo treinará 
classi�cadores. Com isso, o problema de classi�cação de imagem possuiria o seguinte número de
classi�cadores , ou seja, 45 classi�cadores binários, sendo assim, a imagem que desejamos
classi�car precisa passar pelos 45 classi�cadores e, a partir disso, analisar qual deles vence mais duelos. O
classi�cador vencedor será a classe a que essa imagem pertence. A estratégia OvO tem sua vantagem principal
na lógica de que cada classi�cador precisa apenas ser treinado para duas classes que deve distinguir na parte
do conjunto de treinamento.
Ao se utilizar de algoritmos de classi�cação binária, é importante veri�car o desempenho das duas estratégias
(OvA e OvO), de forma que alguns algoritmos, ao se utilizarem da estratégia OvA, transpõem mal o tamanho do
conjunto de treinamento. Dessa maneira, o OvO tem melhor desempenho, que é o caso do algoritmo SVM, pois
é menos custoso falando em processamento, visto que é mais rápido treinar pequenos conjuntos de
classi�cadores do que treinar grandes conjuntos em classi�cadores. Mas, como a�rma Géron (2019), a
estratégia OvA é melhor para a maioria dos algoritmos de classi�cação binária.
Para exempli�car um caso cotidiano do uso de funções multiclasse em algoritmos de Machine Learning,
suponha que você é responsável por desenvolver um sistema de análise de risco de crédito para um banco.
Esse sistema analisará o histórico de crédito do cliente, sua renda e o histórico de dívidas e pagamentos. Assim,
após fazer a análise do cliente, o classi�cará em três classes de pagadores: bom, regular e ruim. Esse é um
sistema multiclasse, pois pode classi�car um cliente em três classes possíveis de pagador. Caso o mesmo
sistema, possuindo os mesmos atributos, classi�casse o cliente apenas como bom ou mal pagador, se basearia
em uma técnica de classi�cação binária.
VIDEOAULA: CLASSIFICAÇÃO MULTICLASSE
O vídeo abordará conceitos de classi�cação, analogia das funções com a teoria de conjuntos e exemplo de
classi�cação com uma base de dados para análise de risco de crédito.
CLASSIFICAÇÃO NÃO LINEAR
Nx (N − 1)/2
10 (10 − 1)/2
Videoaula: Classi�cação multiclasse
Para visualizar o objeto, acesse seu material digital.

02/09/23, 22:58 wlldd_222_u2_mac_lea_ii
https://www.colaboraread.com.br/integracaoAlgetec/index?usuarioEmail=frederico.sousa%40outlook.com&usuarioNome=FREDERICO+EMANUEL+GUIMARÃES+DE+SOUSA&disciplinaDescricao=&atividadeId=3… 3/21
Ao se trabalhar com bases de dados, é tido que esses dados possuem atributos e rótulos, sendo que os rótulos
representam as classes ou as categorias a que uma amostra pertence. O número de atributos que uma base de
dados possui está diretamente ligado à sua dimensionalidade. Uma base de dados pode ser denominada como
unidimensional, bidimensional e multidimensional (MOHRI; ROSTAMIZADEH; TALWALKAR, 2012).
Pode-se dizer que um método de classi�cação, ao receber uma base de dados, analisa seus atributos e chega a
uma hipótese de classi�cação. Sendo assim, ao receber um novo registro, o método de classi�cação consegue
identi�car a qual classe esse registro pertence (SOUZA, 2018).
Dessa maneira, tem-se duas formas de classi�car dados: a classi�cação linear e a classi�cação não linear. Ao
se trabalhar com classi�cação linear, o objetivo é encontrar uma função linear que seja capaz de separar as
amostras de uma base de dados em suas respectivas classes, levando em consideração seus atributos,
obtendo-se o classi�cador (SOUZA, 2018).
Suponha que exista uma base bidimensional, e essa possui duas classes linearmente separáveis, dessa forma, é
possível encontrar uma reta que separa as amostras em duas classes, sendo um método de classi�cação capaz
de encontrar uma função linear que reproduz essa reta (SILVA et al., 2016).
Assim, um algoritmo que utiliza de classi�cação linear, ao trabalhar com uma base de dados que não contenha
classe linearmente separáveis, não conseguirá efetuar a classi�cação de maneira e�caz. Estudos realizados por
Woods, Kegelmeyer e Bowyer, (1997), Britto, Sabourin e Oliveira, (2014) e Lochter, Zanetti e Almeida (2015)
mostram que, ao se trabalhar com bases de dados reais em problemas de classi�cação, esses problemas não
possuem em seus rótulos classes linearmente separáveis.
De forma a oferecer classi�cações com hipóteses maiscomplexas, surgiram métodos que se utilizam da
classi�cação não linear, pois oferece a possibilidade de se classi�car bases de dados mais complexas. Uma das
principais diferenças entre o método linear e o método não linear ocorre durante o treinamento do algoritmo
na função de classi�cação. Se existe uma base bidimensional, como de um algoritmo para classi�cação de
imagem, o algoritmo busca encontrar uma função não linear para classi�car as entradas, dessa maneira, ao se
analisar um grá�co que se utiliza dessa classi�cação, pode perceber que é gerada uma curva em torno das
classes, e não uma reta, como no caso do método linear. Na Figura 1, Silva (2016) apresenta dois grá�cos: o
primeiro representa uma base de dados linearmente separável, e o segundo, a base não é linearmente
separável.
Figura 1 | Base de dados linearmente e não linearmente separáveis
Fonte: Souza (2016).
VIDEOAULA: CLASSIFICAÇÃO NÃO LINEAR
O vídeo apresentará a classi�cação de uma base de dados de registro reais, a base de dados Iris, utilizada para
classi�cação da planta em três espécies possíveis.
APLICAÇÃO REGRESSÃO LOGÍSTICA: CLASSIFICAÇÃO
A regressão logística é uma técnica estatística aplicada em diversas áreas do conhecimento, como: ciências
sociais, ciências da saúde, sistemas �nanceiros e Machine Learning (HOSMER; LEMESHOW; STURDIVANT, 2013).
Para a visualização da sua aplicação em problemas de computação, analisaremos a base de dados apresentada
no Quadro 1, o qual mostra registros, com o histórico de clientes de um banco.
Quadro 1 | Base de dados com histórico de clientes
Histórico de crédito Dívida Garantias Renda anual Risco
Videoaula: Classi�cação não linear
Para visualizar o objeto, acesse seu material digital.

02/09/23, 22:58 wlldd_222_u2_mac_lea_ii
https://www.colaboraread.com.br/integracaoAlgetec/index?usuarioEmail=frederico.sousa%40outlook.com&usuarioNome=FREDERICO+EMANUEL+GUIMARÃES+DE+SOUSA&disciplinaDescricao=&atividadeId=3… 4/21
Ruim Alta Nenhuma = 20.000 a   40.000 ALTO
Desconhecida Baixa Nenhuma >  40.000 BAIXO
Desconhecida Baixa Adequada >  40.000 BAIXO
Ruim Baixa Nenhuma   40.000 BAIXO
Boa Alta Nenhuma >  40.000 BAIXO
Boa Alta Nenhuma   40.000 BAIXO
Ruim Alta Nenhuma >= 20.000 a >= 20.000 a 40.000.
Aplicando essas transformações, a base de dados �cará com a con�guração apresentada no Quadro 2.
Quadro 2 | Base de dados com atributos normalizados
Histórico de crédito Dívida Garantias Renda anual Risco
2 0 0 0 ALTO
1 0 0 1 ALTO
1 1 0 2 ALTO
1 1 0 2 BAIXO
1 1 1 2 BAIXO
2 1 0 0 ALTO
0 1 0 2 BAIXO
0 0 1 2 BAIXO
0 0 0 0 ALTO
0 0 0 2 BAIXO
2 0 0 1 ALTO
Fonte: adaptado de Granatyr (2021).
Para darmos continuidade à aplicação, precisamos relembrar alguns conceitos sobre regressão logística. O
primeiro deles é que devemos aplicar a função sigmoide  , onde  , ou seja, o número de
Euler, e o  é a equação da reta igual a  , que obteremos com os conjuntos de
dados, lembrando que essa função é de ativação, bastante utilizada no treinamento de algoritmos de Machine
Learning. A Figura 1 apresenta o grá�co dessa função.
Figura 2 | Exemplo de função sigmoide
p = 1
1+e−y e = 2,71 …
−y  Q = { p
q
 ;  p, q ∈ Z,  q ≠ 0}

02/09/23, 22:58 wlldd_222_u2_mac_lea_ii
https://www.colaboraread.com.br/integracaoAlgetec/index?usuarioEmail=frederico.sousa%40outlook.com&usuarioNome=FREDERICO+EMANUEL+GUIMARÃES+DE+SOUSA&disciplinaDescricao=&atividadeId=3… 5/21
Fonte: elaborada pela autora.
Ao analisarmos o grá�co da função, podemos ver que os valores de p variam entre 0 e 1. Se p for alto, estará
mais próximo de 1, e se for pequeno, estará próximo de 0. Logo após a aplicação da função sigmoide, o
segundo passo é a aplicação da transformação logit, que é dada pela fórmula .
Aplicando essa função, conseguimos o melhor intervalo de número para gerarmos a sigmoide referente à
classi�cação do problema.
Agora, o algoritmo precisa encontrar os valores de parâmetros para cada atributos para a geração da linha do
grá�co da função. Vamos chamá-los de , onde  denominado de geral, é utilizado para
veri�car o grá�co da sigmoide, e os outros são correspondentes aos atributos da base de dados  (histórico
de dívida),  (dívida),  (garantias) e  (renda anual). Podemos dizer que esses parâmetros são os pesos, e
esses pesos podem ser obtidos pela técnica do gradiente descendente. O gradiente descendente é um método
numérico para otimização e serve para encontrar o mínimo local de uma função, dessa forma, ele vai testando
os valores dos nossos parâmetros ... até encontrar um conjunto de pesos que chegue ao menor erro
de classi�cação possível (GÉRON, 2019).
Ao aplicar o algoritmo do gradiente dependente, obteve-se os seguintes pesos:  = 0,12,  (história do
crédito) = - 0,71,  (dívida) = 0,24,  (garantias) = - 0,54 e  (renda anual) = 1,07. Para se obter o processo de
classi�cação, é necessário aplicar os pesos obtidos em um registro, dessa maneira, se tivermos um registro com
os seguintes atributos: História de crédito = Boa (0), Dívida (0), Garantia = Nenhuma (1) e Renda >= 40.000 (2),
aplicaremos as fórmulas, e o cálculo da classi�cação �cará da seguinte maneira:
Tendo  e 
Logo, 
Como o valor de p é próximo de 1, no contexto do nosso problema de classi�cação de risco de crédito, nosso
cliente é classi�cado como sendo de baixo risco, por meio do algoritmo de regressão logística. Dessa maneira,
para sabermos a qual classe um novo registro pertence, basta aplicar os cálculos.
VIDEOAULA: APLICAÇÃO REGRESSÃO LOGÍSTICA: CLASSIFICAÇÃO
O vídeo abordará a implementação/codi�cação do problema apresentado no bloco 3, utilizando o Google Colab,
Python e a Biblioteca Sklearn.
ESTUDO DE CASO
Suponha que você trabalhe no departamento de tecnologia da informação de uma indústria multinacional. Sua
atividade principal é cuidar da infraestrutura de todos os departamentos da empresa. Seu supervisor pede um
relatório, no qual você deve demonstrar quais equipamentos ligados ao TI devem ser trocados, pois a empresa
passará por um processo de transformação digital ligado à implementação de processos e metodologias para a
Indústria 4.0.
Ao saber dos planos da corporação, você logo vê a oportunidade de migrar de área e ocupar o cargo de
desenvolver Machine Learning, pois sabe que é uma função muito requisitada em indústrias que aplicam
tecnologias que envolvem conceitos de Indústria 4.0.
log( p
1−p ) = b0 + b1 ⋅ x
B0,B1,B2,B3 ⋯Bn
B1
B2 B3 B4
B1,B2,B3
B0 B1
B2 B3 B4
y = b0 + b1 ⋅ x p = 1
1+e−y
y  =  b0 + b1 ⋅ história + b2 ⋅ divida +  b3 ⋅ garantias + b4 ⋅ renda
y = −0,12 + (−0,71 ⋅ 0) + (0,24 ⋅ 0) + (−0,54 ⋅ 1) + (1,07 ⋅ 2)
y = 1,48
p = 1
1+e−y   =
p = 1
1+e−(1,48)
p = 0,81
Videoaula: Aplicação regressão logística: classi�cação
Para visualizar o objeto, acesse seu material digital.

02/09/23, 22:58 wlldd_222_u2_mac_lea_ii
https://www.colaboraread.com.br/integracaoAlgetec/index?usuarioEmail=frederico.sousa%40outlook.com&usuarioNome=FREDERICO+EMANUEL+GUIMARÃES+DE+SOUSA&disciplinaDescricao=&atividadeId=3… 6/21
Dessa maneira, para impressionar seu supervisor e conquistar o cargo, você apresentará para ele e os demais
membros de sua equipe uma análise de requisitos de um sistemaque utilize de técnicas de Machine Learning
para a classi�cação desses equipamentos.
Você possui a seguinte base de dados:
Ano de
Compra
Quantidade
usuários
Departamento
Chamados
Manutenção
Capacidade de
Processamento
Memória Troca
2012 6 Engenharia 9 ALTO BAIXA SIM
2019 1 Produção 3 ALTO ALTA NÃO
2018 2 Administrativo 7 MÉDIO ALTA NÃO
2013 4 Engenharia 6 MÉDIO MÉDIA SIM
2015 3 Produção 2 BAIXO BAIXA SIM
Analisando essa base de dados, você precisa re�etir sobre algumas questões, como:
•  Esse problema utiliza-se de uma função multiclasse?
•  Quais são os melhores atributos para analisar?
•  Quantas classes são necessárias para a solução deste problema?
•  É possível a�rmar a qual tipo classi�cação esse problema pertence? 
RESOLUÇÃO DO ESTUDO DE CASO
Considerando a hipótese de que você trabalha com a infraestrutura de TI e terá acesso ao histórico dos
equipamentos, podendo escolher quais atributos são mais importantes para considerar a troca, você pode
escolher atributos previsores, como: ano de compra, quantidade de usuários, departamento, chamados de
manutenção, capacidade de processamento, memória. Para a classi�cação, pode-se escolher o rótulo troca, que
pode ser classi�cado em sim e não.
O objetivo é, com base nos atributos previsores, fazer a previsão a qual classe pertence, ou seja, se troca ou
não. Uma possível solução para a base de dados pode ser vista no Quadro 3.
Quadro 3 | Classi�cação troca de equipamentos
Ano de
Compra
Quantidade
usuários
Departamento
Chamados
Manutenção
Capacidade de
Processamento
Memória Troca
2012 6 Engenharia 9 ALTO BAIXA SIM
2019 1 Produção 3 ALTO ALTA NÃO
2018 2 Administrativo 7 MÉDIO ALTA NÃO
2013 4 Engenharia 6 MÉDIO MÉDIA SIM
2015 3 Produção 2 BAIXO BAIXA SIM
Fonte: elaborada pela autora.
Vale salientar que a base de dados de uma empresa com o porte de uma multinacional teria mais registros do
que os apresentados no Quadro 2, porém ele exempli�ca uma possível solução para o estudo de caso. Ao
analisá-lo, podemos responder aos questionamentos feitos no enunciado, respondendo que esse problema não
precisa se utilizar de função multiclasse, escolheu-se seis atributos preditivos para a solução. Ao realizar apenas
uma análise visual dos dados, não é possível a�rmar a que tipo de classi�cação o problema se encaixa.
Resolução do Estudo de Caso
Para visualizar o objeto, acesse seu material digital.
 Saiba mais

02/09/23, 22:58 wlldd_222_u2_mac_lea_ii
https://www.colaboraread.com.br/integracaoAlgetec/index?usuarioEmail=frederico.sousa%40outlook.com&usuarioNome=FREDERICO+EMANUEL+GUIMARÃES+DE+SOUSA&disciplinaDescricao=&atividadeId=3… 7/21
Para acesso à base de dados de problemas reais, acesse o site da UCI Machine Learning em:
https://archive.ics.uci.edu/ml/index.php.
Para desenvolver códigos utilizando a linguagem python sem precisar de instalação, pode-se utilizar a
plataforma do Google Colab, onde também é possível realizar o processamento utilizando de Graphics
Processing Unit (GPU).
O livro Applied Regression Logistic apresenta diversas aplicações da técnica. Alguns capítulos podem ser
acessados de forma gratuita em: https://onlinelibrary.wiley.com/doi/book/10.1002/9781118548387.
INTRODUÇÃO
Nesta aula, entenderemos quais são as diferenças entre modelos de aprendizagem supervisionada e
aprendizagem não supervisionada. Os modelos de aprendizagem supervisionada são utilizados em inúmeras
soluções que envolvam Machine Learning e são aplicados nas áreas de marketing, negócios, �nanceira,
educação, medicina, entre outros.
De maneira a aprofundar os conhecimentos nesses modelos, serão apresentados os principais métodos e suas
aplicações, como uma aplicação passo a passo do algoritmo k-means  em um problema de agrupamento.
O uso desses métodos está em uma crescente constante, visto que a cada dia surgem novas pro�ssões, nas
quais o conhecimento de técnicas e modelos de Machine Learning é imprescindível, como é o caso dos
cientistas de dados.
MODELOS NÃO SUPERVISIONADOS: DEFINIÇÃO
Em sua maioria, os problemas que envolvem Machine Learning podem ser classi�cados em dois tipos:
aprendizagem supervisionada e aprendizagem não supervisionada.
James et al. (2013) a�rmam que uma aprendizagem supervisionada pode ser exempli�cada por de meio da
equação y_I=x_I, onde para as variáveis x_I, I=1,…,n existe uma resposta associada para a saída y_I.
Dessa maneira, a primeira parte da equação diz respeito aos atributos preditores, ou seja, são os dados de uma
base histórica que se aplica para que o algoritmo consiga classi�car o registro em um rótulo, isto é, a classe a
que ele pertence (GÉRON, 2019).
Por sua vez, no aprendizado não supervisionado, os dados de treinamento não possuem rótulos, assim você
não passará nenhum conhecimento prévio sobre os dados, cabendo ao algoritmo descobrir quais são os
padrões existentes em toda a base de dados, visto que um algoritmo de aprendizagem não supervisionada
tenta aprender sem um professor (GÉRON, 2019).
De acordo com Russel e Norvig (2013), o algoritmo mais comum para aprendizagem não supervisionada é o de
agrupamento, em que ocorre a detecção de grupos úteis para a resolução de problemas, logo acaba
determinando quais registros são semelhantes e pertencem ao mesmo grupo, também chamado de cluster.
Podem ser considerados algoritmos de cluster: K-means, Clustering Hierárquico e Maximização da Expectativa.
Os Algoritmos de Visualização e Redução de Dimensionalidade são elencados em: Análise de Componentes
Principais (PCA), Kernel PCA, Locally-Linear Embedding (LLE), t-distributed Stochastic Neighbor Embedding (t-
SNE). E os Algoritmos de Aprendizagem da Regra da Associação são: Apriori e Eclat. Todos são tidos como os
principais algoritmos que se utilizam do método de aprendizagem não supervisionada (GÉRON, 2019).
As técnicas que se utilizam de aprendizagem não supervisionada são aplicadas em diversas áreas do
conhecimento, visto que, em grande parte das bases de dados, o problema a ser solucionado é o
reconhecimento de padrões. Como exemplo disso, Guerreiro et al. (2020) aplicaram Algoritmos de
Aula 2
MODELOS NÃO SUPERVISIONADOS - UMA INTRODUÇÃO
Em sua maioria, os problemas que envolvem Machine Learning podem ser classi�cados em dois
tipos: aprendizagem supervisionada e aprendizagem não supervisionada.
34 minutos

about:blank
about:blank
02/09/23, 22:58 wlldd_222_u2_mac_lea_ii
https://www.colaboraread.com.br/integracaoAlgetec/index?usuarioEmail=frederico.sousa%40outlook.com&usuarioNome=FREDERICO+EMANUEL+GUIMARÃES+DE+SOUSA&disciplinaDescricao=&atividadeId=3… 8/21
Agrupamento com Estratégias Bio-Inspiradas, visando analisar um banco de dados de peças de uma indústria
automobilística, com o propósito de encontrar padrões para novos projetos e diminuição da preci�cação total
de um projeto.
Outro exemplo pode ser encontrado também em Martins et al. (2021), que utilizaram algoritmos de
aprendizagem não supervisionada para o processo de clusters, visando encontrar padrões no per�l de
adolescentes com predisposição ao uso de substâncias psicoativas. Os autores utilizaram o método de Fuzzy C-
Means para que fosse possível tal agrupamento.
Na área de negócios e tecnologia, o aprendizado não supervisionado é muito utilizado, sendo que, conforme
Géron (2019), a técnica pode ser utilizada, por exemplo, para determinar dentro da grande quantidade de
dados em um site, através da clusterização, o algoritmo retornará informações, como gênero dos visitantes,
horário de maior visitação do site, que tipo de informação é lida no site, entre outras, que tornam possível a
melhor segmentação dos usuários, através dos padrões retornados pelos algoritmos. Esse agrupamento pode
ser visualizado na Figura 1.
Figura 1 | Características
Fonte: Géron (2019).
VIDEOAULA: MODELOS NÃO SUPERVISIONADOS: DEFINIÇÃO
O vídeo abordará a explicação do conceito de aprendizagem supervisionada e não supervisionada, com
exemplos e aplicações visuais, para que o alunoconsiga compreender de maneira mais clara o assunto.
MODELOS NÃO SUPERVISIONADOS – TIPOS
Como a�rmam Russel e Norvig (2013), o modelo mais utilizado para aprendizagem não supervisionada é o de
agrupamento, porém, ao se falar de aprendizagem não supervisionada, pode-se citar como principais técnicas:
associação, detecção de desvios, padrões sequenciais e sumarização, como mostram Géron (2019) e
Goldschmidt e Passos (2005) em suas obras.
Ao se falar dos diversos tipos de aprendizagem não supervisionada, é necessário que esteja claro o conceito de
Descoberta de Conhecimento em Bases de Dados, do inglês knowledge-discovery in databases (KDD). Uma
de�nição atribuída ao KDD foi cunhada por Fayyad, Piatetsky-Shapiro e Smyth (1996), que a�rmam que o KDD
se trata de um processo de várias etapas, não trivial, interativo e iterativo, para identi�cação de padrões
compreensíveis, válidos e potencialmente úteis a partir de grandes conjuntos de dados. A Figura 2, apresentada
por Goldschmidt e Passos (2005), mostra as etapas operacionais que ocorrem no processo de KDD.
Figura 2 | Etapas Operacionais KDD
Fonte: Goldschmidt e Passos (2005).
Os tipos de aprendizagem não supervisionada que podem ser aplicados ao processo do KDD serão
exempli�cados a seguir:
Videoaula: Modelos não supervisionados: de�nição
Para visualizar o objeto, acesse seu material digital.

02/09/23, 22:58 wlldd_222_u2_mac_lea_ii
https://www.colaboraread.com.br/integracaoAlgetec/index?usuarioEmail=frederico.sousa%40outlook.com&usuarioNome=FREDERICO+EMANUEL+GUIMARÃES+DE+SOUSA&disciplinaDescricao=&atividadeId=3… 9/21
Associação: como o próprio nome diz, associa dados que acontecem de forma simultânea em um determinado
banco de dados. A regra principal dos algoritmos de associação é do tipo , onde  e  são os dados chamados
itemsets, e signi�ca que onde ocorre um item  implica o acontecimento de um item . Alguns algoritmos que
utilizam de técnicas de associação são: Apriori, GSP e DHP (ZAKI, 2000).
Detecção por desvios: esse método procura identi�car dados cujas características não correspondem a
padrões considerados normais da base de dados, ou seja, valores que fogem da normalidade e, dessa forma,
podem inferir no resultado obtido na análise. Esses dados são chamados de outlier, os famosos pontos fora da
curva (WEISS; INDURKHYA, 1998).
Padrões sequenciais: esse método é considerado uma extensão do método de associação, que faz a análise de
sequências, analisando a base de dados de forma a encontrar padrões ocultos na sequência de estados
temporais. Um algoritmo utilizado para achar esses padrões é o de árvores orientadas, como apresentam
Cavique e Coelho (2008).
Sumarização: esse método procura reconhecer e apontar as características similares dos dados, de forma a
tornar o método de agrupamento/clusterização mais e�ciente. A técnica de sumarização é aplicada em seus
agrupamentos, para extrair mais características dos clusters, sendo que algoritmos que podem ser utilizados
para a técnica da sumarização são lógica indutiva e algoritmos genéticos (WEISS; INDURKHYA, 1998).
Os tipos de técnicas que utilizam de aprendizagem não supervisionada podem ser aplicados em diversas áreas,
como marketing, para achar a relação entre produtos; sites de streaming, para sugestão de �lmes para gerar
experiências diferenciadas ao usuário; em processamento de linguagem natural, para analisar o comentário de
avaliação de um produto. Vale salientar que, em algumas soluções, essas técnicas podem ser utilizadas como
incremento uma da outra, de forma a gerar um melhor resultado para o problema em questão.
VIDEOAULA: MODELOS NÃO SUPERVISIONADOS – TIPOS
O vídeo referente ao bloco 2 apresentará dois exemplos de aplicação de aprendizagem não supervisionada, um
exemplo para associação e outro exemplo para padrões sequenciais.
MODELOS NÃO SUPERVISIONADOS – APLICAÇÕES
Sabe-se que a técnica de aprendizagem não supervisionada mais utilizada é a de agrupamento de dados. Como
a�rma James et al. (2013), o k-means é o principal algoritmo para agrupamento de dados e é utilizado para
diversas aplicações, como: segmentação de mercado, identi�car grupos de clientes que comprarão um
determinado produto, agrupamento de notícias, agrupamento de produtos, utilizado para recomendação em
serviços de streams e análise de redes sociais.
O algoritmo k-means tem o seguinte funcionamento (JAMES et al., 2013):
• Inicializa os centroides de maneira aleatória, de forma a encontrar a primeira posição de um cluster.
• Para cada registro na base de dados, calcula a distância para cada centroide e associa ao que estiver mais
próximo.
• Calcula a média de todos os pontos ligados a cada centroide e de�ne um novo centroide, até que se encontre
um centroide satisfatório para os clusters, a primeira e a segunda etapas são repetidas.
No algoritmo k-means, a letra k representa o número de cluster que se deseja separar a base de dados. Desse
modo, é necessário que se de�na o número de clusters, de forma a facilitar a implementação do algoritmo. É
importante se ter o conhecimento prévio de quantos grupos se deseja dividir a base de dados, mas, caso você
não possua esse número, pode-se aplicar a equação , onde N é o número de registros
existentes na base de dados. Por exemplo, se possuirmos uma base de dados que possua 100 registros, então
iniciaremos em sete clusters, pois . Vale salientar que não existem garantias
para se encontrar o melhor conjunto de cluster (JAMES et al., 2013).
Para o cálculo da distância entre os registros contidos na base de dados que se deseja agrupar, são utilizadas
fórmulas. Uma aplicação é a utilização da distância euclidiana, que é dada por .
De�ne-se distância euclidiana como a distância entre dois pontos, que é provada pela aplicação repetidamente
do Teorema de Pitágoras (JAMES et al., 2013).
Modelos não supervisionados – Tipos
Para visualizar o objeto, acesse seu material digital.
clusters = √ N
2
clusters = √ 100
2 = √50 = 7,07
DE (x, y) =√∑P
i (x1 − y1)2

02/09/23, 22:58 wlldd_222_u2_mac_lea_ii
https://www.colaboraread.com.br/integracaoAlgetec/index?usuarioEmail=frederico.sousa%40outlook.com&usuarioNome=FREDERICO+EMANUEL+GUIMARÃES+DE+SOUSA&disciplinaDescricao=&atividadeId=… 10/21
De forma a exempli�car a aplicação do algoritmo do k-means em um problema de agrupamento, suporemos
que temos que dividir uma base de dados que contém 18 registros em grupos, e os únicos dados que
possuímos são suas idades e seus salários. O primeiro passo é calcular o número de clusters que podemos
aplicar a esse problema, então, aplicando a fórmula, temos , ou seja, dividiremos
os registros em três grupos. Após, analisaremos os registros para aplicar a fórmula da distância euclidiana em
cada um, para inferir a qual cluster o registro pertence. Uma forma de representar os registros dessa base de
dados pode ser veri�cada na Figura 3, a qual apresenta esses registros sem o agrupamento.
Figura 3 | Dados sem passar pelo processo de clusterização
Fonte: elaborada pela autora.
Vale salientar que os registros dessa base de dados possuem a seguinte con�guração: eixo x, que representa a
idade x = {25, 36, 89, 77, 72, 65, 27, 45, 35, 20, 25, 44, 26, 84, 29, 28, 85, 82}, e eixo y, que representa os salários
com os valores y = {7204, 2277, 4606, 1425, 5813, 5693, 3061, 7371, 3095, 4831, 5411, 4371, 6308, 4877, 6674,
2662, 7139, 5584}.
Ao se aplicar o algoritmo k-means utilizando a biblioteca sklearn junto à linguagem python, obtiveram-se as
seguintes con�gurações de clusters. Pode-se notar que, ao �nal da aplicação do algoritmo, cada cluster contém
seis elementos agrupados, visualizados na Figura 4.
Figura 4 | Aplicação do algoritmo k-means na base de dados salário
Fonte: elaborada pela autora.
VIDEOAULA: MODELOS NÃO SUPERVISIONADOS – APLICAÇÕES
O vídeo apresenta a implementação do algoritmo k-means, utilizando linguagem de programação python e suas
bibliotecas sklearn, matplotlib e numpy.
ESTUDO DE CASO
O DataBanké uma �ntech brasileira, onde seus fundadores e sócios tomam decisões e administram a empresa
por meio de dados, ou seja, estão inclusos na cultura datadriven. A empresa abriu vagas para seu squad de
dados, e você aplicou para a vaga de Cientista de Dados Jr. Você foi aprovado nas etapas de análise de currículo,
entrevista e dinâmica de grupo. Para seu processo seletivo, falta apenas a resolução do desa�o técnico, o qual é
composto pelo seguinte desa�o:
Nós, do DataBank, estamos aplicando um novo sistema de segurança contra clonagem dos cartões de
débito/crédito de nossos clientes. Nosso objetivo é analisar o histórico de compra realizado pelos nossos
clientes, levando em consideração os fatores geográ�cos e os valores utilizados em suas compras. Como você,
nosso futuro DataBanker, resolveria esse problema? Qual a melhor técnica a ser aplicada nessa situação? Qual o
tipo de aprendizagem dessa técnica utilizada?  
RESOLUÇÃO DO ESTUDO DE CASO
clusters = √ 18
2 = √9 = 3
Videoaula: Modelos não supervisionados – Aplicações
Para visualizar o objeto, acesse seu material digital.

02/09/23, 22:58 wlldd_222_u2_mac_lea_ii
https://www.colaboraread.com.br/integracaoAlgetec/index?usuarioEmail=frederico.sousa%40outlook.com&usuarioNome=FREDERICO+EMANUEL+GUIMARÃES+DE+SOUSA&disciplinaDescricao=&atividadeId=… 11/21
Uma possível solução para o problema dos cartões clonados é realizar uma análise de detecção por desvios, ou
seja, ao analisar o histórico de dados do cliente, você possa traçar um mapa geográ�co regional de suas
compras e, ao realizar uma compra em uma localidade não pertencente a esse mapa, o aplicativo emite um
aviso de perigo de fraude/cópia e bloqueia o cartão do cliente. Pode-se implementar também uma função no
aplicativo denominada viagem, a partir da qual o cliente poderá informar o período de sua viagem e as
localidades que visitará, de modo que seu cartão não seja bloqueado enquanto usar fora do perímetro normal. 
Resolução do Estudo de Caso
Para visualizar o objeto, acesse seu material digital.
 Saiba mais
Alguns sites úteis para aprofundamento e prática do conteúdo dessa aula são:
Bases de dados reais: https://archive.ics.uci.edu/ml/index.php.
Documentação da principal biblioteca de Machine Learning compatível com as linguagens R e Python:
https://scikit-learn.org/stable/.
Plataforma do Google que permite a programação na linguagem python, sem a necessidade de instalação,
e é possível realizar o processamento em GPU: https://colab.research.google.com/.
INTRODUÇÃO
Ao aplicarmos técnicas de Machine Learning, muitas vezes, nos deparamos com base de dados que contenham
milhares de registros. Dessa maneira, o treinamento de nossos algoritmos �ca lento, e isso acaba di�cultando a
resolução do algoritmo, pois o excesso de registros torna o processamento da base de dados difícil, ocorrendo a
famosa maldição da dimensionalidade (GÉRON, 2019).
Porém, alguns modelos de aprendizagem não supervisionada podem ser aplicados para reduzir a
dimensionalidade dessas bases complexas, como: Análise dos Componentes Principais (PCA) e Decomposição
em Valores Singulares (SVD). Já o modelo Alocação Latente de Deichlet (LDA) é uma técnica utilizada quando
trabalhamos com Processamento de Linguagem Natural. Serão apresentadas as de�nições, os modelos
matemáticos e a aplicação desses modelos, de forma que você consiga analisar e escolher qual melhor se
adequa às suas necessidades.
MODELO DE COMPONENTES PRINCIPAIS
O modelo de componentes principais, também encontrado na literatura como Análise dos Componentes
Principais (PCA), é um algoritmo utilizado para redução de dimensionalidade (JOLLIFFE, 2002). Redução de
dimensionalidade é a técnica utilizada quando se tem uma base de dados muito grande, possuindo muitos
atributos, e você precisa diminuir essa dimensionalidade, pois um número exacerbado de atributos pode gerar
falhas no processamento, como carregamento, leitura e aplicação de algoritmos na base (GÉRON, 2019).
Basicamente, o PCA funciona da seguinte maneira: realiza a extração de características dos atributos, ou seja,
faz uma análise dos atributos contidos em uma base de dados e cria novos a partir deles, observando suas
correlações e, caso existir uma signi�cativa, é possível reduzir a dimensionalidade (JOLLIFFE, 2002). Dessa
Aula 3
MODELOS NÃO SUPERVISIONADOS: MODELO
COMPONENTE PRINCIPAIS
Ao aplicarmos técnicas de Machine Learning, muitas vezes, nos deparamos com base de dados
que contenham milhares de registros. Dessa maneira, o treinamento de nossos algoritmos �ca
lento, e isso acaba di�cultando a resolução do algoritmo, pois o excesso de registros torna o
processamento da base de dados difícil, ocorrendo a famosa maldição da dimensionalidade
(GÉRON, 2019).
29 minutos

about:blank
about:blank
about:blank
02/09/23, 22:58 wlldd_222_u2_mac_lea_ii
https://www.colaboraread.com.br/integracaoAlgetec/index?usuarioEmail=frederico.sousa%40outlook.com&usuarioNome=FREDERICO+EMANUEL+GUIMARÃES+DE+SOUSA&disciplinaDescricao=&atividadeId=… 12/21
maneira, podemos dizer que o algoritmo aprende sozinho, sem professor, sendo, assim, um algoritmo de
aprendizagem não supervisionada (GÉRON, 2019).
Se uma base de dados possuir cerca de m atributos independentes, o algoritmo PCA é capaz de extrair preais positivos, U possui
os vetores singulares ortogonais esquerdos,  é a matriz constituída por valores singulares e, por �m, 
 possui os vetores singulares ortogonais direitos. A partir da aplicação dessa fórmula, é possível se inicializar o
processo de decomposição de valores singulares, ou seja, realizar as transformações algébricas para se obter os
valores singulares, de maneira a gerar novos valores e reduzir as bases de dados.
Como demonstra Yanai, Takeuchi e Takane (2011), a quantidade da variância  necessita do cálculo dos
autovalores , que é dado pela seguinte equação: , onde j representa o índice de valores
singulares e os autovalores correspondentes,  é o valor do número total de valores singulares,  é o j-ésimo
autovalor e é o j-ésimo valor singular, o qual é dado de maneira que a variância entre os valores singulares
Videoaula: Modelo de componentes principais
Para visualizar o objeto, acesse seu material digital.
A = ∪∑V T mXn
∑ mXn
∑ V T
γ
λ λj = μ2
j (j = 1, … , r)
λj
μj

02/09/23, 22:58 wlldd_222_u2_mac_lea_ii
https://www.colaboraread.com.br/integracaoAlgetec/index?usuarioEmail=frederico.sousa%40outlook.com&usuarioNome=FREDERICO+EMANUEL+GUIMARÃES+DE+SOUSA&disciplinaDescricao=&atividadeId=… 13/21
seja máxima. A quantidade dessa variância de cada valor singular pode ser obtida por meio do coe�ciente ,
que é dado pela equação . A aplicação das fórmulas contidas no modelo SVD pode ser visualizada
na Figura 2, na qual, ao se aplicar o modelo SVD na matriz A, obtiveram-se três matrizes U, D e   .
Figura 2 | Aplicação SDV na matriz A
Fonte: Venkatesan (2020).
Uma aplicação do modelo SDV pode ser vista no trabalho apresentado por Dantas et al. (2011), intitulado
Método SVD: Análise wavelets-mãe na extração de textura aplicadas em mamogramas. Nele, os autores aplicam
o método SVD em conjunto com a técnica estatística Análise de Variância (ANOVA) na redução de atributos nas
bases de dados utilizadas no sistema de Computer Aided Detection-Diagnosis (CAD). O CAD é um sistema
utilizado para diagnóstico e detecção de lesões mamográ�cas, ajudando na detecção de câncer de mama.
Outra aplicação do método SDV é apresentada por Pereira Filho (2010) no trabalho intitulado Um Algoritmo de
Filtragem Colaborativa Baseado em SVD, no qual o autor cria um algoritmo baseado no modelo SVD, para
modelar o per�l de usuários em um sistema de recomendações personalizadas.
De forma a contribuir com as áreas de processamento de imagem (PI), visão computacional (VC) e computação
grá�ca (CG), Prasanha, Shashidhara e Murthy (2007), no trabalho Image Compression Using SVD, apresentam
um algoritmo que tem por objetivo realizar a compreensão de imagens, de forma a facilitar o processamento e
a aplicação de outras técnicas em cima delas, sejam técnicas de PI, VC ou CG. 
VIDEOAULA: MODELO DE DECOMPOSIÇÃO EM VALORES SINGULARES (SDV)
No vídeo sobre modelo SVD, é apresentado um problema relacionado à Net�ix, pois a empresa realizou uma
competição para os participantes desenvolverem soluções para a recomendação de �lmes para seus usuários, e
o algoritmo da equipe vencedora utilizava o método SVD.
MODELO DE ALOCAÇÃO LATENTE DE DIRICHLET (LDA)
Apresentado por Blei, Ng e Jordan (2003), o modelo Alocação Latente de Dirichlet, do inglês Latent Dirichlet
Allocation (LDA), é de�nido como um modelo probabilístico generativo utilizado em base de dados discretos. Ele
possui três níveis hierárquicos baysianos, de modo que, em cada nível, uma coleção de dados é modelada de
forma a ser uma mistura in�nita em um conjunto subjacente em tópicos. Sendo assim, essas modelagens
probabilísticas representam um documento, quando usadas no contexto de modelagem de texto. Logo, é
possível concluir que o modelo LDA é capaz de organizar e agrupar os documentos em subconjuntos de temas.
O método é baseado em dois principais conceitos.
1. Todo tópico é uma mistura de palavras: cada tópico é formado por palavras relevantes encontradas nos
documentos de uma coleção. Um exemplo disso pode ser encontrado na Figura 3, na qual Blei (2012) apresenta
o tópico A, que é formado pelas palavras I, II e II. Por sua vez, o tópico B é formado pelas palavras III, IV e V. Vale
salientar que existe a possibilidade de os termos serem compartilhados dentre os tópicos.
2. Todo documento é uma mistura de tópicos, ou seja, nos documentos pode haver palavras de diversos tópicos
em especí�cas proporções.
Figura 3 | Atribuição de tópicos
γj
γj =
λj
∑
i=1
λj
V T
Videoaula: Modelo de Decomposição em Valores Singulares (SDV)
Para visualizar o objeto, acesse seu material digital.

02/09/23, 22:58 wlldd_222_u2_mac_lea_ii
https://www.colaboraread.com.br/integracaoAlgetec/index?usuarioEmail=frederico.sousa%40outlook.com&usuarioNome=FREDERICO+EMANUEL+GUIMARÃES+DE+SOUSA&disciplinaDescricao=&atividadeId=… 14/21
Fonte: Blei (2012).
O modelo LDA é de�nido por , que signi�ca a frequência da média de ocorrência dos tópicos em um
documento. Se a frequência possuir um valor alto, pode signi�car que um documento poderá conter uma
grande mistura de tópicos, porém, se a frequência possuir um valor baixo, signi�ca que um documento pode
possuir uma baixa mistura de tópicos. Outra variável do modelo LDA é , que representa a distribuição das
palavras dentro de um tópico. Se essa variável possuir um valor alto, signi�ca que, no tópico, existe uma grande
probabilidade de existir uma mistura de várias palavras, caso contrário, o tópico será composto por poucas
palavras (AMARAL; RODRIGUES, 2020). A Figura 4 apresenta a fórmula matemática do modelo LDA.
Figura 4 | Equação do modelo LDA
Fonte: Amaral e Rodrigues (2020).
Onde  representa os tópicos, sendo  a distribuição do vocabulário �xo; a proporção dos tópicos para o d-
ésimo documento é dada por , sendo  a proporção k do documento d. As atribuições de tópicos são
dadas por , e as palavras encontradas no documento são representadas por . Dessa maneira, é
representado o processo generativo do modelo LDA. O objetivo do treinamento deste modelo é descobrir o
conjunto de documentos, em que cada documento é uma mistura de tópicos e, por sua vez, tópicos são
misturas de palavras, por meio dos parâmetros encontrados em  e  .
A aplicação do modelo LDA pode ser vista em problemas relacionados ao Processamento de Linguagem Natural
(PLN), pois eles envolvem diversas áreas de conhecimento. Um exemplo pode ser visto no trabalho de Duarte
(2007), intitulado Técnicas de Processamento de Linguagem Natural Aplicadas às Ciências Sociais, no qual a
autora cria uma ferramenta de PNL utilizando o LDA, para auxiliar pesquisadores a navegar em bases de dados
diplomáticos, sem a necessidade de realizar a leitura de todos os documentos encontrados durante a consulta
desta base. 
VIDEOAULA: MODELO DE ALOCAÇÃO LATENTE DE DIRICHLET (LDA)
O vídeo abordará de forma mais abrangente o Processamento de Linguagem Natural (PLN).
ESTUDO DE CASO
O DataBank é uma �ntech brasileira, onde seus fundadores e sócios tomam decisões e administram a empresa
por meio de dados, ou seja, estão inclusos na cultura datadriven. A empresa abriu vagas para seu squad de
dados, e você aplicou para a vaga de Desenvolvedor Machine Learning.
Você foi aprovado nas etapas de análise de currículo, entrevista e dinâmica de grupo, então, para seu processo
seletivo, falta apenas a resolução do desa�o técnico, o qual é composto pela seguinte questão:
Nós, do DataBank, estamos desenvolvendo um assistente virtual para o nosso aplicativo, o Turing, de forma a
analisar o que nosso cliente escreve no chat. O Turing precisa de um algoritmo que realize o Processamento de
Linguagem Natural, então, se você participasse dessa equipe, qual algoritmo sugeriria?
RESOLUÇÃO DO ESTUDO DE CASO
Para a resolução do estudo de caso, você precisa responder à questão do desa�o técnico. A resposta pode ser:
α
β
p(β1:k, θ1:k,Z1:k, W1:k) = ∏k
i=1 p(β)∏
D
d=1(pθd)(∏
N
n=1 p(Zd,n, θd)p(wd,n β1 : k,Zd,n))∣ ∣β1:k βk
θd θd,k
Zd wdα β
Videoaula: Modelo de Alocação Latente de Dirichlet (LDA)
Para visualizar o objeto, acesse seu material digital.

02/09/23, 22:58 wlldd_222_u2_mac_lea_ii
https://www.colaboraread.com.br/integracaoAlgetec/index?usuarioEmail=frederico.sousa%40outlook.com&usuarioNome=FREDERICO+EMANUEL+GUIMARÃES+DE+SOUSA&disciplinaDescricao=&atividadeId=… 15/21
Uma solução para o Processamento de Linguagem Natural, a �m de realizar uma análise de sentimentos em
comentários realizados por clientes, é a implementação do algoritmo de Alocação Latente de Dirichlet. A
solução pode ser feita na linguagem de programação Python, com o auxílio das bibliotecas sklearn, numpy e
pandas.
Resolução do Estudo de Caso
Para visualizar o objeto, acesse seu material digital.
 Saiba mais
Neste vídeo https://www.youtube.com/watch?v=hMFAwmh5T54&t=13s, o apresentador conta de forma
detalhada sobre a competição Net�ix Prize e algumas das soluções encontradas durante os anos que ela
aconteceu.
O repositório do GitHub (https://github.com/gesteves91/nlp) contém diversos exemplos de algoritmos que
podem ser aplicados no Processamento de Linguagem Natural.
INTRODUÇÃO
Ao se trabalhar com bases de dados reais, muitas vezes, elas possuem muitos atributos e registros, e isso acaba
gerando um problema na execução e no processamento dos algoritmos de Machine Learning. Isso tem
consequências nas fases de treinamento e nos testes de máquinas preditivas.
Dessa forma, é necessário o uso de métodos e técnicas para redução dessa dimensionalidade. Porém, os
modelos de Análise de Componentes Principais (PCA) e Decomposição em Valores Singulares (SVD) não são
e�cientes para realizar a redução de bases não linearmente separáveis, desta forma, alguns modelos foram
criados para essas bases.
Assim, nessa aula, visando aumentar seus conhecimentos em Machine Learning no que diz respeito à redução
de dimensionalidade, você conhecerá o modelo de Kernel PCA, sua de�nição e suas aplicações, como também
sobre a estratégia de projeções aleatórias.    
KERNEL PCA – DEFINIÇÃO
Apresentado por Schölkopf et al. (1998), o Kernel PCA é de�nido como a versão não linear da Análise de
Componentes Principais (PCA).
As funções Kernel são aquelas que têm por objetivo projetar os vetores de entrada em um espaço de alta
dimensão, de forma a classi�car problemas dos espaços não linearmente separáveis, assim, quando se
aumenta o espaço de dimensão, cresce também a possibilidade de o problema se tornar linearmente separável
em relação a um espaço de baixa dimensão (GONÇALVES, 2015).
Dessa maneira, o Kernel PCA utiliza a função Kernel para aumentar a dimensionalidade, tendo a possibilidade
de encontrar características que são não lineares da base de dados utilizada. Assim, quando utilizado, ele
também permite que seja feita a compactação da representação da base de dados ao fazer o processo de
redução da dimensionalidade, ou seja, consegue reduzir o número de variáveis contidas em uma base de dados
(KIM; FRANZ; SCHOLKOPF, 2005).
Aula 4
MODELOS NÃO SUPERVISIONADOS: REDUÇÃO DE
DIMENSÃO II
As funções Kernel são aquelas que têm por objetivo projetar os vetores de entrada em um
espaço de alta dimensão, de forma a classi�car problemas dos espaços não linearmente
separáveis, assim, quando se aumenta o espaço de dimensão, cresce também a possibilidade de
o problema se tornar linearmente separável em relação a um espaço de baixa dimensão
(GONÇALVES, 2015).
35 minutos

about:blank
about:blank
02/09/23, 22:58 wlldd_222_u2_mac_lea_ii
https://www.colaboraread.com.br/integracaoAlgetec/index?usuarioEmail=frederico.sousa%40outlook.com&usuarioNome=FREDERICO+EMANUEL+GUIMARÃES+DE+SOUSA&disciplinaDescricao=&atividadeId=… 16/21
Mika (1998) apresenta o mapeamento não linear por meio de uma função Kernel. O autor faz uma análise
funcional com base no Teorema de Mercer, onde  representará uma função real contínua, na qual seu operador
é integral e tem valor positivo.
O mapeamento  existe para o espaço , de forma que  funciona como um produto escalar. Você pode ver a
de�nição da função que representa esse comportamento na equação a seguir:
Assim, as funções  são chamadas de Kernel de Mercer, de forma que funções Kernel contínuas positivas,
quando estão dentro de um intervalo do espaço de entrada, podem ser representadas com um produto escalar
no espaço  (SCHÖLKOPF; SMOLA, 2002).
Figura 1 | Mapeamento da função Kernel
Fonte: Miyoshi (2010).
A Figura 1 tem como Função Kernel  , porém é possível utilizar outras funções de
Kernel, como: 
•  Função de Kernel Polinomial de ordem d dada pela equação  .
•  Função Kernel Gaussiana de funções radiais (RBF) dada por  .
•  Função Kernel Sigmoide obtida pela equação  .
Schölkopf et al. (1998) a�rmam que a escolha da Função Kernel é que determina qual tipo de mapeamento
implícito ocorrerá em  , que gerará o espaço de característica em  .
Assim, o Kernel PCA realiza a análise de componentes principais, porém esses componentes são mapeados no
espaço  por uma Função de Kernel. A Figura 2 apresenta o comportamento do Kernel PCA.
Figura 2 | Esquema do Kernel PCA
Fonte: Schölkopf et al. (1998).
Miyoshi (2010) a�rma que as componentes principais obtidas pelo KPCA não são geradas a partir da matriz de
covariância. Dessa maneira, ao não ter posse dos dados mapeados no espaço  , é impossível ocorrer o cálculo
direto da matriz de covariância  para os dados mapeados em  .
VIDEOAULA: KERNEL PCA – DEFINIÇÃO
O vídeo exempli�ca a aplicação do algoritmo Kernel PCA em um problema em que o algoritmo encontra a
projeção dos dados linearmente separáveis. Exemplo retirado da biblioteca sklearn.
ϕ F k
x×x
k (z,x)f (x)dzdx > 0,∀f ≠ 0
k (z,x)converge parataxas maiores de reconhecimento se
comparado ao PCA linear.
O Kernel PCA também foi utilizado em Gomes (2015), visando encontrar propriedades que tenham foco na
complexidade para processamento de imagens, sendo o objetivo principal compreender o desempenho do
Kernel PCA quanto à e�ciência de compressão de imagens, sem distorções, e como isso pode ser
implementado.
Sabendo da necessidade de monitoramento de cargas elétricas em residências e plantas industriais, visando
mitigar acidentes graves, o trabalho de Pereira (2017) traz a possibilidade desse controle, sem necessariamente
ter acesso físico às correntes elétricas, o chamado monitoramento não intrusivo. Com base nessa possibilidade,
o autor a�rma que é possível fazer melhor gerenciamento e uso da energia elétrica. Utilizando o Kernel PCA
junto ao KNN, o autor apresenta uma metodologia para que seja possível extrair as características de consumo
e a assinatura das cargas nas redes elétricas domésticas e, com isso, perceber padrões de consumo e
separação, sendo que o algoritmo utilizado se mostrou e�ciente ao que se propunha.
Dessa maneira, é possível visualizar que a utilização de Kernel PCA aliado a outros classi�cadores (por exemplo,
KNN) torna possível ter algoritmos que conseguem perceber padrões de cargas elétricas e consumo, ou
compreender o processamento de imagens sem distorções de maneira muito mais e�ciente.  
VIDEOAULA: KERNEL PCA – APLICAÇÃO
O vídeo exempli�ca a aplicação do algoritmo Kernel PCA em um problema de remoção de ruído de imagem. O
exemplo foi retirado da biblioteca sklearn.
PROJEÇÕES ALEATÓRIAS
Como a�rma Borges (2006), o modelo de projeção aleatória é um poderoso método para aplicar a redução de
dimensionalidade em uma base de dados. Ainda a�rma que é um modelo barato computacionalmente, quando
comparado a outros modelos que executam a tarefa de redução de dimensionalidade. A projeção aleatória é
um modelo de aprendizagem não supervisionada que pode ser aplicado em diversas bases de dados, como
imagem, textos e áudio (LIN; DIMITRIOS, 2003).
O método de projeção aleatória diz que cada componente  equivale a uma projeção linear das covariáveis
originais relacionadas aos coe�cientes aleatoriamente escolhidos, ou seja, dada uma matriz  , onde suas linhas
são dadas por  , suas colunas são dadas por  e as entradas são de�nidas como  . 
Videoaula: Kernel PCA – Aplicação
Para visualizar o objeto, acesse seu material digital.
zi
s
m d i ⋅ i ⋅ d

02/09/23, 22:58 wlldd_222_u2_mac_lea_ii
https://www.colaboraread.com.br/integracaoAlgetec/index?usuarioEmail=frederico.sousa%40outlook.com&usuarioNome=FREDERICO+EMANUEL+GUIMARÃES+DE+SOUSA&disciplinaDescricao=&atividadeId=… 18/21
Sendo normais e possuindo média zero e a variância o valor um, se a entrada  , pode-se de�nir a k-
ésima projeção aleatória como x, dessa forma, temos a equação:
O método de projeção aleatória é baseado no Teorema de Jhonson-Lindentrauss, o qual a�rma que uma base
de dados contida em um espaço com alta dimensão pode ser projetada em um espaço com dimensão menor,
de maneira que suas distâncias sejam preservadas. A de�nição matemática do teorema é dada da seguinte
forma:
A Figura 3 apresenta a aplicação do método de projeção aleatórias em uma base de dados. Essa base possui
dígitos escritos à mão. Nessa base, denominada Zip Code, é possível observar que os dígitos semelhantes �cam
juntos.
Figura 3 | Projeção aleatória
Fonte: Lin e Dimitrios (2003).
Dessa maneira, com a utilização desse tipo de projeção, é possível agilizar o processo de cálculo que demande
cálculos para produto interno, por exemplo, regressão de ridge e o support vector machines (SVM), que podem
ser aproximados sem perder sua capacidade de processamento na performance estatística.
Outro exemplo da aplicabilidade do método de projeção aleatórias pode ser visto em Borges (2006), no trabalho
intitulado Redução de Dimensionalidade em Bases de Dados de Expressão Gênica, no qual são comparados os
métodos de projeção aleatória e o método de seleção de atributos para redução de dimensionalidade em cinco
bases de expressão gênica. Ambos os métodos foram utilizados em uma base como forma de pré-
processamento para a mineração de dados, visando explorar os subconjuntos desses atributos da base de
dados. Isso é importante porque, ao utilizar a projeção aleatória, isso se torna um método alternativo para
diminuição das dimensionalidades, mas, principalmente, do custo computacional, trazendo resultados
signi�cativos para os pro�ssionais da área de dados.
No trabalho Random projection in dimensionality reduction: applicatinos to image and text data, de Mannila
(2001), apresenta o método de projeção aleatória aplicado à área de processamento de imagens, comparando
com outros métodos utilizados para redução de dimensionalidade. Os métodos comparados foram: Análise de
Componentes Principais (PCA) e Decomposição em Valores Singulares (SDV). A autora demonstrou que o
método de projeção aleatória apresentou melhor custo computacional.
É importante frisar que as projeções aleatórias são utilizadas como forma de auxiliar o processamento de
outros algoritmos, visando deixá-los mais rápidos e e�cientes. Isso ocorre porque as projeções aleatórias fazem
a preservação de aspectos da base de dados, como distâncias e produtos internos.
VIDEOAULA: PROJEÇÕES ALEATÓRIAS
O vídeo demonstra o código de projeção aleatória da biblioteca sklearn.
ESTUDO DE CASO
(i, j) = si,k
zi = d
k=1
Si,k
√m
xk
Dado ϵ > 0, onde m
≥ 32 log n
e2 sendo a probabilidade de ao menos 1 − e−me
2
16  , temos que
(1 − ϵ)||xi − xj||
2 ≤ ||zi − zj||
2
1a implementação de código em python
no formato de notebooks. É possível também utilizar outras bibliotecas do python, como numpy, pandas,
matplotlib, entre outras. Acesse: https://colab.research.google.com/?utm_source=scs-index.
Aula 1
BRITTO, A. S.; SABOURIN, R.; OLIVEIRA, L. E. Dynamic selection of classi�ers -Acomprehensive review. Pattern
Recognition, v. 47, n. 11, p. 3665-3680, nov. 2014.
GÉRON, A. Mãos à Obra: aprendizado de máquina com Scikit-Learn e TensorFlow. Rio de Janeiro, RJ: Alta
Books, 2019.
GRANATYR, J. IA Expert Academy: regressão logística. Regressão Logística, 2021. Disponível em:
https://iaexpert.academy/. Acesso em: 22 nov. 2021.
HARRISON, M. Machine Learning Guia de Referência Rápida: trabalhando com dados estruturados em
python. São Paulo, SP: Novatec, 2020.
HOSMER, D. W.; LEMESHOW, S.; STURDIVANT, R. X. Applied Logistic Regression. Wiley Series In Probability And
Statistics, v. 3, p. 1-510, mar. 2013.
MOHRI, M.; ROSTAMIZADEH, A.; TALWALKAR, A. Foundations of Machine Learning. [S. l.]: MIT Press, 2012.
OCHTER, J.; ZANETTI, R.; ALMEIDA, T. Detecção de Opinião em Mensagens Curtas usando Comitê de
Classi�cadores e Indexação Semântica. In: ENCONTRO NACIONAL DE INTELIGÊNCIA ARTIFICIAL E
COMPUTACIONAL, 12., 2015, Natal. Anais [...]. Natal, RN: ENIAC’15, 2015.
REFERÊNCIAS
7 minutos

about:blank
about:blank
02/09/23, 22:58 wlldd_222_u2_mac_lea_ii
https://www.colaboraread.com.br/integracaoAlgetec/index?usuarioEmail=frederico.sousa%40outlook.com&usuarioNome=FREDERICO+EMANUEL+GUIMARÃES+DE+SOUSA&disciplinaDescricao=&atividadeId=… 20/21
ROSEN, K. Discrete Mathematics and its Applications. 7. ed. [S. l.]: McGraw-Hill Higher Education, 2011.
SOUZA, N. Aumentando o poder preditivo de classi�cadores lineares através de particionamento por
classe. 2018. Dissertação (Mestrado em Ciência da Computação) - Universidade Federal de São Carlos,
Sorocaba, 2018.
WOODS, K.; KEGELMEYER, W.; BOWYER, K. Combination of multiple classi�ersusing local accuracy estimates.
IEEE Transactions on Pattern Analysis and MachineIntelligence, v. 19, n. 4, p. 405-410, abr. 1997.
Aula 2
CAVIQUE, L.; COELHO, J. Descoberta de padrões sequenciais utilizando árvores orientadas. Revista de Ciências
da Computação, ano 3, v. 3, n. 3, p. 12-22, 2008.
FAYYAD, U. M.; PIATETSKY-SHAPIRO, G.; SMYTH, P. From Data Mining to Knowledge Discovery: an overview. AI
Magazine, v. 17, n. 3, 1996.
GÉRON, A. Mãos à Obra: aprendizado de máquina com Scikit-Learn e TensorFlow. Conceitos, ferramentas e
técnicas para construção de sistemas inteligentes. Rio de Janeiro, RJ: Alta Books, 2019.
GOLDSCHMIDT, R.; PASSOS, E. Data Mining um guia prático: conceitos, técnicas, ferramentas, orientações e
aplicações. 4. ed. Rio de Janeiro, RJ: Elsevier, 2005.
GUERREIRO, M. et al. Clusterização de componentes de indústria de caminhões por meio de meta-heurísticas
bio-inspiradas. In: CONGRESSO BRASILEIRO DE INTELIGÊNCIA COMPUTACIONAL, 14., Belém, 2020. Anais [...].
Belém, PA: SBIC, 2020. Disponível em: http://dx.doi.org/10.21528/cbic2019-29. Acesso em: 2 abr. 2022.
HARRISON, M. Machine Learning Guia de Referência Rápida: guia de referência rápida. trabalhando com
dados estruturados em python. São Paulo, SP: Novatex, 2020.
JAMES, G. et al. An Introduction to Statistical Learning: with application in r. New York: Springer, 2013.
MARTINS, D. D. et al. Clusterização do per�l de adolescentes escolares com predisposição ao uso de substância
psicoativas. Research, Society and Development, v. 10, n. 2, p. 1-12, 2021. Disponível em:
http://dx.doi.org/10.33448/rsd-v10i2.12528. Acesso em: 2 abr. 2022.
RUSSEL, S.; NORVIG, P. Inteligência Arti�cial. 3. ed. Rio de Janeiro, RJ: Elsevier, 2013.
WEISS, S.; INDURKHYA, N. Predictive Data Mining: a practical guide. San Francisco: Morgan Kaufmann
Publishers, 1998.
ZAKI, M. J. Parallel and Distributed Data Mining: an introduction. Large-Scale Parallel Data Mining. Berlin:
Springer-Verlag, 2000.
Aula 3
AMARAL, J. A.; RODRIGUES, J. B. Alocação de Tópicos Latentes — Um Modelo para Segmentação de Dados de
Auditoria do Governo de PE. Revista de Engenharia e Pesquisa Aplicada, v. 5, n. 1, p. 40-49, abr. 2020.
ANTON, H.; RORRES, C. Álgebra Linear com aplicações. 10. ed. Porto Alegre, RS: Bookman, 2012.
BLEI, D. M.; NG, A. Y.; JORDAN, M. I. Latent dirichlet allocation. J. Mach. Learn. Res., v. 3, p. 993–1022, 2003.
BLEI, D. M. Probabilistic topic models. Communications Of The Acm, v. 55, n. 4, p. 77-84, abr. 2012.
BRUCE, P.; BRUCE, A. Estatística Prática para Cientistas de Dados: 50 conceitos essenciais. São Paulo, SP:
Starlin Alta, 2019.
DANTAS, R. et al. Método SVD: análise wavelets na extração de textura aplicadas em mamogramas. Águas
de Lindoia, SP: Conferência Brasileira de Dinâmica, Controle e Aplicações, 2011.
GÉRON, A. Mãos à Obra: aprendizado de máquina com Scikit-Learn e TensorFlow. Conceitos, ferramentas e
técnicas para construção de sistemas inteligentes. Rio de Janeiro, RJ: Alta Books, 2019.
HARRISON, M. Machine Learning Guia de Referência Rápida: guia de referência rápida. trabalhando com
dados estruturados em python. São Paulo, SP: Novatex, 2020.
JOLLIFFE, I. T. Principal Component Analysis. 2. ed. New York: Springer, 2002.
PEREIRA FILHO, J. B. Um Algoritmo de Filtragem Colaborativa Baseado em SVD. 2010. Dissertação (Mestrado
em Ciência da Computação) – Universidade Federal de Santa Catarina, Florianópolis, 2010.

about:blank
about:blank
02/09/23, 22:58 wlldd_222_u2_mac_lea_ii
https://www.colaboraread.com.br/integracaoAlgetec/index?usuarioEmail=frederico.sousa%40outlook.com&usuarioNome=FREDERICO+EMANUEL+GUIMARÃES+DE+SOUSA&disciplinaDescricao=&atividadeId=… 21/21
PRASANTHA, H. S.; SHASHIDHARA, H. L.; MURTHY, K. N. B. Image Compression Using SVD. International
Conference On Computational Intelligence And Multimedia Applications, v. 1, n. 1, p. 1-4, dez. 2007.
Disponível em: http://dx.doi.org/10.1109/iccima.2007.386. Acesso em: 2 abr. 2022.
RUSSEL, S.; NORVIG, P. Inteligência Arti�cial. 3. ed. Rio de Janeiro, RJ: Elsevier, 2013.
SCHOLZ, M. Approaches to analyse and interpret biological pro�le data. 2006. Tese (Doutorado em
Bioinformática) – Postdam University, Postdam, 2006. Disponível em: https://publishup.uni-potsdam.de/opus4-
ubp/frontdoor/deliver/index/docId/696/�le/scholz_diss.pdf. Acesso em: 23 nov. 2021.
YANAI, H.; TAKEUCHI, K.; TAKANE, Y. Projection Matrices, Generalized Inverse Matrices, and Singular Value
Decomposition. [S. l.]: [s. n.], 2011.
Aula 4
EBIED, H. Feature extraction using PCA and Kernel-PCA for face recognition. In: INTERNATIONAL CONFERENCE
ON INFORMATICS AND SYSTEMS, 8., 2012, Giza. Anais […]. Gyza, Egypt: INFOS, 2012.
GONÇALVES, A. R. Máquina de vetores suporte. Campinas, SP: Unicamp, 2015.
HOFFMANN, H. Kernel PCA for novelty detection. Pattern Recognition, v. 40, p. 863-874, mar. 2007.
KIM, K.; FRANZ, M.; SCHOLKOPF, B. Iterative kernel principal component analysis for image modeling.
Transactions on Pattern Analysis and Machine Intelligence, v. 27, n. 9, p. 1351-1366, set. 2005.
MIKA, S. Kernel PCA and de-noising in feature spaces. In: INTERNATIONAL CONFERENCE ON NEURAL
INFORMATION PROCESSING SYSTEMS, 11., 1998, Cambridge. Anais […]. Cambridge, MA: MIT Press, 1998.
MIYOSHI, S. de C. Modelo Kernel PCA-Genético para Ajuste de Histórico. 2010. Dissertação (Mestrado em
Engenharia Elétrica) – Pontifícia Universidade Católica do Rio de Janeiro, Rio de Janeiro, 2010.
SCHÖLKOPF, B. et al. Fast Approximation of Support Vector Kernel Expansions, and an Interpretation of
Clustering as Approximation in Feature Spaces. [S. l.]: [s. n.], 1998.
SCHÖLKOPF, B.; SMOLA, A. Support Vector Machines and Kernel Algorithms. Tübingen: [s. n.], 2002.

about:blank

Mais conteúdos dessa disciplina