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