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

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

<p>DESCRIÇÃO</p><p>Conceitos sobre aprendizado de máquina supervisionado e métricas de validação dos algoritmos</p><p>de regressão e de classificação, validação dos algoritmos de agrupamento de modelos de</p><p>aprendizado de máquina não supervisionado.</p><p>PROPÓSITO</p><p>Compreender os conceitos dos métodos de aprendizado de máquina supervisionado, como a</p><p>análise de regressão e de classificação, e de aprendizado não supervisionado, como os modelos</p><p>de análise de agrupamento, permite que profissionais de diferentes áreas do conhecimento</p><p>possam escolher os métodos mais adequados para fazer a análise de dados e obter resultados</p><p>que deem suporte para a tomada de decisão.</p><p>PREPARAÇÃO</p><p>Para executar os exemplos que tratam sobre as métricas de validação para problemas de</p><p>agrupamento, será necessário fazer o download do software R, no site oficial The Comprehensive</p><p>R Archive Network, e do R-Studio, no site da empresa RStudio, e seguir as instruções de</p><p>instalação.</p><p>OBJETIVOS</p><p>MÓDULO 1</p><p>Identificar características mensuráveis de conjuntos de dados que demandam ajustes</p><p>MÓDULO 2</p><p>Descrever os ajustes mais comuns para adequação dos modelos de aprendizado supervisionado</p><p>MÓDULO 3</p><p>Descrever os ajustes comuns aos dados para adequação de modelos de agrupamento</p><p>MÓDULO 4</p><p>Distinguir as métricas de validação para problemas de agrupamento</p><p>INTRODUÇÃO</p><p>javascript:void(0);</p><p>javascript:void(0);</p><p>Desde a popularização da rede mundial de computadores com o advento da World Wide Web,</p><p>cada vez mais fazemos uso de aplicações que estão disponíveis on-line e que nos ajudam a</p><p>realizar diversas tarefas, como agendar consultas médicas, realizar transações bancárias, além de</p><p>muitas outras situações práticas. Possivelmente, a mais comum dessas aplicações seja o uso de</p><p>buscadores de conteúdo, em que escrevemos palavras chaves ou um trecho de texto e a</p><p>ferramenta oferece termos que aprimoram a nossa consulta. Aplicações como a dos buscadores de</p><p>conteúdo são exemplos práticos de algoritmos de inteligência artificial. Entre as categorias de</p><p>algoritmos, estão os de aprendizado de máquina supervisionado. Esses métodos são aplicados</p><p>para fazer estimativas de valores numéricos e para classificar dados.</p><p>Vivemos a era do Big Data. É interessante notarmos como essa expressão, que nem está em</p><p>nosso idioma, faz parte do nosso cotidiano. Já faz um bom tempo, inclusive, que as mais diversas</p><p>aplicações são caracterizadas pelos altos volumes de dados e pela grande variedade e velocidade</p><p>com que esses dados são gerados. Seja nas transações bancárias, nas buscas por conteúdos na</p><p>Internet, nos dados abertos publicados pelo governo, ou nas compras que fazemos comumente,</p><p>muitos dados são gerados.</p><p>Nesse contexto, são muitos os exemplos em que o conhecimento sobre os dados nos ajuda a</p><p>tomar as melhores decisões. Mas como tratar um volume tão grande de dados? O que podemos</p><p>fazer para analisá-los de modo efetivo? Podemos encontrar algumas das respostas para essas</p><p>perguntas nos algoritmos de agrupamento que fazem parte das técnicas de aprendizado não</p><p>supervisionado. Esses métodos nos ajudam a fazer análises exploratórias eficientes dos dados e a</p><p>evoluir no processo de tomada de decisão com bastante solidez.</p><p>Neste conteúdo, iremos abordar os principais algoritmos de aprendizado de máquina</p><p>supervisionado e não supervisionado.</p><p>MÓDULO 1</p><p> Identificar características mensuráveis de conjuntos de dados que demandam ajustes</p><p>FUNDAMENTOS DO APRENDIZADO</p><p>SUPERVISIONADO</p><p>O aprendizado de máquina supervisionado, ou a aprendizagem supervisionada de máquina, como</p><p>também é conhecido, é formado por um conjunto de algoritmos que incorporam em si</p><p>comportamentos esperados para tratar situações para os quais foram projetados. Esse processo</p><p>de reprodução de comportamento é chamado de aprendizado ou aprendizagem. Para que isso</p><p>funcione bem, a máquina é treinada a partir de um conjunto de dados pré-classificados.</p><p>Imagem: everything possible/shutterstock.com</p><p>Aqui, cabe destacar que a palavra máquina é usada no sentido de um autômato, ou seja, uma</p><p>estrutura lógica composta por estados e relações entre eles. Portanto, quando lermos máquina,</p><p>devemos entender que se trata de um algoritmo e não de um dispositivo físico.</p><p>Os dados pré-classificados também são chamados de dados bem rotulados, ou seja, os dados são</p><p>marcados com a resposta verdadeira que é usada como referência para a máquina. Então, a</p><p>nomenclatura aprendizado de máquina supervisionado se deve à existência de um supervisor (ou</p><p>um professor) na máquina que fornece dados pré-classificados, os quais serão usados para o</p><p>processo de treinamento.</p><p>Logo, a primeira etapa na confecção de uma máquina de aprendizado supervisionado é fornecer</p><p>dados pré-classificados que serão usados como referência.</p><p>Com base nesses dados pré-classificados, a máquina será submetida a um processo chamado de</p><p>treinamento e, ao final de uma certa quantidade de etapas, será verificada a precisão da máquina</p><p>em relação ao conjunto de treinamento, isto é, quão aderente está a máquina aos conjuntos de</p><p>dados que foram usados para treiná-la.</p><p>Se a precisão for aceitável, parte-se para a próxima etapa, que é a de testar a máquina com um</p><p>conjunto de dados, também pré-classificados, mas que não foram usados no treinamento. Desse</p><p>modo, se a máquina classificar os dados de teste corretamente, então, o processo de treinamento</p><p>foi bem-sucedido e se diz que a máquina “aprendeu”; caso contrário, será necessário revisitar tanto</p><p>o modelo da máquina como o processo de treinamento.</p><p> ATENÇÃO</p><p>Aprender significa que a máquina incorporou informações que dão suporte para fazer</p><p>classificações e, em outros casos, estimativas em conjuntos de dados que ela não conhece. Uma</p><p>confusão comum para quem está começando a estudar este assunto é que o aprendizado de</p><p>máquina funciona como um grande banco de dados, em que as regras estão em uma base para</p><p>serem consultadas. No entanto, não é assim que ocorre. A máquina de aprendizado</p><p>supervisionado é composta por uma rede que relaciona nós (que são os pontos de entrada) por</p><p>meio de pesos que são calculados durante o treinamento da máquina.</p><p>É por isso que existem tantos algoritmos de treinamento e a escolha de um deles deve ser feita</p><p>com base no contexto em que serão aplicados. Dessa forma, com a ajuda de dados de</p><p>treinamento rotulados, o algoritmo de aprendizado supervisionado é utilizado para prever o</p><p>resultado de dados que não tenham sido submetidos no processo de treinamento.</p><p>Depois que a máquina já foi treinada e passou por uma série de testes, ela pode ser utilizada na</p><p>prática, mas deve haver sempre um controle de qualidade. Como vimos, a primeira etapa, que</p><p>consiste em fornecer dados rotulados para a máquina é fundamental, pois estes serão usados</p><p>como um tipo de gabarito para a máquina. Portanto, precisam ser fornecidos por um especialista</p><p>no assunto, assim como o conjunto de testes deve ser fornecido por um especialista.</p><p>Imagem: Gorodenkoff/shutterstock.com</p><p>A tendência é que a dependência em relação ao especialista reduza ao longo do tempo, à medida</p><p>que a máquina se demonstre eficiente para fazer as classificações ou estimativas, entretanto,</p><p>ainda assim, é necessário trabalhar para que existam mecanismos de controle de qualidade.</p><p>FUNCIONAMENTO DO APRENDIZADO</p><p>SUPERVISIONADO</p><p>O aprendizado supervisionado é baseado em um processo iterativo de treinamento a partir de um</p><p>conjunto de dados rotulados — pré-classificados e fornecidos por um supervisor — aí está a</p><p>origem do termo supervisionado. Depois de treinada, a máquina é submetida a uma bateria de</p><p>testes com o uso de um novo conjunto de dados também pré-classificados, mas que a máquina</p><p>ainda não conhece. Caso a máquina classifique esses dados corretamente, o processo de</p><p>treinamento é bem-sucedido e segue-se para outras etapas. Em caso de classificação errônea, é</p><p>necessário investigar onde ocorreu o problema.</p><p>Existem muitos exemplos sobre aprendizado de máquina. Utilizaremos aqui uma situação em que</p><p>queremos que a máquina faça</p><p>si e que</p><p>sejam bastante diferentes dos membros de outros grupos.</p><p>Um dos problemas iniciais no agrupamento dos dados é decidir qual é o número ideal de grupos.</p><p>Problemas como esse fazem parte dos itens que precisamos tratar para obtermos, de fato,</p><p>resultados que nos auxiliem na tomada de decisão. Como se trata de uma categoria dos problemas</p><p>que não possuem uma abordagem exata, precisamos fazer a avaliação dos resultados dos</p><p>métodos, de modo a obtermos os melhores grupos que se adaptam aos dados.</p><p>A visualização dos resultados é uma das formas mais simples de iniciarmos o processo de</p><p>validação do modelo. Isso ocorre porque a análise gráfica ressalta padrões que podem nos dar</p><p>ideias sobre a parametrização dos algoritmos e, assim, melhorar a qualidade das respostas dos</p><p>métodos. Esse tipo de abordagem, porém, é apenas o início do processo, pois ele é bastante</p><p>limitado para analisar grandes conjuntos de dados com muitas características.</p><p>De um modo geral, os algoritmos de agrupamentos têm seus comportamentos influenciados por</p><p>dois fatores:</p><p>CARACTERÍSTICAS DO CONJUNTO DE DADOS</p><p>Questões como a quantidade de características e a distribuição dos dados dessas características</p><p>influenciam para determinar o quão densos serão os grupos.</p><p>VALORES DOS PARÂMETROS DE ENTRADA</p><p>O principal parâmetro que influencia o comportamento de um método de agrupamento é a</p><p>quantidade de grupos, pois se o valor que fornecermos for abaixo do ideal, o método vai agrupar</p><p>elementos que não são similares naturalmente; por outro lado, se fornecermos um número de</p><p>grupos acima do ideal, vamos separar elementos que deveriam estar no mesmo grupo. Outro</p><p>parâmetro que influencia nos resultados é a solução inicial, ou seja, a distribuição dos elementos</p><p>nos grupos logo que o método começa o processamento dos dados.</p><p>Antes de passarmos para os conceitos de validação dos algoritmos de agrupamento, devemos</p><p>destacar um ponto que é fácil de confundir: problemas de agrupamento e categorização.</p><p>De fato, os problemas estão relacionados, pois, para muitos casos, quando fazemos a análise de</p><p>dados, o agrupamento vem antes da classificação. O agrupamento descobre as classes, enquanto</p><p>a classificação associa automaticamente as novas observações à classe apropriada.</p><p>Assim, conseguimos notar melhor porque o agrupamento faz parte das técnicas de aprendizado de</p><p>máquina não supervisionado e a classificação é uma das aplicações de aprendizado de máquina</p><p>supervisionado. Os grupos são úteis para descobrir se existem categorias nos dados. Quando</p><p>essas categorias são identificadas e possuem qualidade suficiente para terem significado,</p><p>podemos extrair amostras para treinar um classificador que será utilizado posteriormente para</p><p>classificar automaticamente novas observações.</p><p>CONCEITOS FUNDAMENTAIS NA VALIDAÇÃO</p><p>DE GRUPOS</p><p>Como vimos, existem diversas aplicações para as quais os métodos de agrupamento podem ser</p><p>muito úteis. No entanto, a utilização prática dos grupos só pode ser feita se os grupos tiverem uma</p><p>qualidade aceitável. É exatamente para tratar desse tipo de situação que os métodos de validação</p><p>de grupos são usados.</p><p>Basicamente, existem três abordagens para investigar a validade dos resultados dos algoritmos</p><p>de agrupamentos (THEODORIDIS; KOUTROUMBAS, 2008), que são:</p><p>BASEADA EM CRITÉRIOS EXTERNOS</p><p>Antes de aplicarmos um método de agrupamento, o ideal é fazermos uma análise exploratória dos</p><p>dados, de modo a entender melhor como estão distribuídos e identificar estruturas que são úteis</p><p>para parametrizar os algoritmos de agrupamento. Dessa forma, podemos impor uma estrutura para</p><p>os grupos que, posteriormente, será usada para avaliarmos os resultados de um algoritmo de</p><p>agrupamento. Portanto, o trabalho prévio para entender mais informações sobre os dados auxilia</p><p>na validação posterior dos grupos. Esse critério está associado com a heterogeneidade externa</p><p>dos elementos que compõem os grupos.</p><p>BASEADA EM CRITÉRIOS INTERNOS</p><p>Significa que a qualidade dos grupos é medida em termos dos próprios grupos sem a utilização de</p><p>informações externas, ou seja, passamos a analisar as quantidades de elementos que estão nos</p><p>grupos por meio das medidas de proximidade, como a matriz de distâncias, por exemplo. Os</p><p>critérios internos também podem ser utilizados para estimar a quantidade adequada de grupos e</p><p>qual o método que melhor se adapta para o conjunto de dados que estamos trabalhando. Esse</p><p>critério está associado à homogeneidade interna dos elementos que compõem os grupos.</p><p>BASEADA EM CRITÉRIOS RELATIVOS</p><p>Já destacamos que os métodos de agrupamento são aplicações de modelos probabilísticos. Essa</p><p>característica é muita adequada para tratar esse tipo de problema, pois os resultados produzidos</p><p>pelos algoritmos podem ser ajustados posteriormente por especialistas e utilizados para fazer</p><p>novas execuções dos algoritmos com o uso dos parâmetros ajustados ou com a imposição de</p><p>novas regras. Os critérios relativos comparam os resultados das execuções dos algoritmos entre si</p><p>com valores de parâmetros diferentes. Desse modo, podemos escolher as melhores</p><p>parametrizações para encontrar os grupos com melhor qualidade.</p><p>É necessário que tenhamos critérios para avaliar o resultados dos algoritmos e fazer ajustes nos</p><p>parâmetros, para melhorar a qualidade dos grupos.</p><p>javascript:void(0)</p><p>javascript:void(0)</p><p>javascript:void(0)</p><p>Berry e Linoff (1996) propõem dois critérios para avaliar os grupos e selecionar uma estrutura de</p><p>agrupamento ideal, que são:</p><p>Compactação</p><p>Significa que os grupos devem ser compostos por elementos que sejam parecidos, ou seja, que</p><p>estejam o mais próximo possível uns dos outros. Uma das medidas aplicadas para verificar a</p><p>compactação é a variância, pois ela verifica como os objetos se dispersam em torno da média.</p><p>Portanto, quanto menor for a variância, mais compactos serão os grupos.</p><p>Separação</p><p>Os próprios clusters devem ser amplamente espaçados. Existem algumas abordagens para medir</p><p>a distância entre dois clusters diferentes.</p><p>Entre as mais comuns estão:</p><p>Ligação simples</p><p>Nesta abordagem, devemos escolher dois grupos quaisquer e, depois</p><p>disso, selecionar um elemento de cada grupo de tal forma que a</p><p>distância entre esses elementos seja a menor possível.</p><p>Ligação</p><p>completa</p><p>Nesta abordagem, semelhante ao que fizemos na ligação simples,</p><p>devemos escolher dois grupos quaisquer e, depois disso, selecionar</p><p>um elemento de cada grupo em que, de modo diferente da anterior, a</p><p>distância entre esses elementos seja a maior possível.</p><p>Média das</p><p>distâncias</p><p>Neste caso, precisamos selecionar dois grupos quaisquer. Em</p><p>seguida, calculamos a média das distâncias de todos os pontos do</p><p>primeiro grupo com todos os pontos do segundo grupo.</p><p>Comparação de</p><p>centroides</p><p>Mede a distância entre os centros dos grupos.</p><p> Atenção! Para visualização completa da tabela utilize a rolagem horizontal</p><p>Representamos os métodos de separação na figura a seguir.</p><p>Imagem: Sérgio Assunção Monteiro</p><p> Representação dos métodos de separação.</p><p>Ligação simples e Ligação completa</p><p>São abordagens aplicadas para confirmar como os dados se ajustam a um esquema pré-</p><p>especificado.</p><p></p><p>Média das distâncias e Centroides</p><p>Já essas abordagens têm como objetivo encontrar o melhor esquema de agrupamento para os</p><p>dados a partir dos ajustes dos parâmetros.</p><p>CRITÉRIOS DE VALIDAÇÃO RELATIVA</p><p>Esses critérios avaliam cada grupo, produzindo, assim, um valor quantificável, ou seja, um número.</p><p>Em seguida, esse número é usado para fazer as comparações relativas com outros grupos.</p><p>Existem muitas medidas que são usadas como critério de validação relativa, como podemos</p><p>encontrar no estudo de Vendramin et al. (2010), em que os autores fazem um trabalho de</p><p>comparação entre elas com muitos detalhes. Vamos apresentar duas das principais medidas de</p><p>validação relativa de grupos: o índice de Dunn e o índice da largura da silhueta.</p><p>Índice de Dunn</p><p>O índice de Dunn é aplicado para identificar grupos em que os objetos são semelhantes entre si –</p><p>critério intragrupo –</p><p>e distantes de objetos que estejam em outros grupos – critério extragrupo.</p><p>Desse modo, ele permite que possamos comparar a separação entre os grupos e a compactação</p><p>dentro do grupo.</p><p>A formulação matemática do índice de Dunn é dada por:</p><p> Atenção! Para visualização completa da equação utilize a rolagem horizontal</p><p>Sendo que:</p><p>K é a quantidade de grupos (clusters).</p><p>DK é o índice de Dunn.</p><p>d(ci,cj) é a função que mede a similaridade entre o cluster ci e cj e é definida formalmente</p><p>como:</p><p> Atenção! Para visualização completa da equação utilize a rolagem horizontal</p><p>diam(C) é o diâmetro de um cluster, ou seja, é a maior distância de dois elementos que</p><p>estejam no mesmo cluster. É uma forma de medir a dispersão dos elementos dentro do</p><p>cluster. O diâmetro de um cluster C é definido formalmente por:</p><p> Atenção! Para visualização completa da equação utilize a rolagem horizontal</p><p>Largura de silhueta (LS)</p><p>Essa medida também trata da semelhança entre os elementos dentro do cluster – ou seja, a</p><p>homogeneidade – e a separação entre os clusters. Ela é baseada na análise pontual de silhuetas –</p><p>representadas por –, que medem o quanto mais um ponto deve pertencer ao cluster para o</p><p>qual foi alocado do que a qualquer outro cluster. Usamos essas silhuetas para montar um gráfico</p><p>que nos ajuda a analisar melhor os resultados. O índice de silhueta é formalmente definido por:</p><p> Atenção! Para visualização completa da equação utilize a rolagem horizontal</p><p>DK = mini=1..nc{minj=i+1...K( )}d(ci,cj)</p><p>maxh=1..Kdiam(ch)</p><p>d(ci, cj) = minx∈ci,y∈cjd(x, y)</p><p>diam(C) = maxx,y∈Cd(x, y)</p><p>S(xi)</p><p>S(xi) =</p><p>b(xi) − a(xi)</p><p>máx{a(xi), b(xi)}</p><p>Sendo que:</p><p>a(xi) é a similaridade média do i-ésimo elemento – representado por xi – ao seu cluster. Sua</p><p>fórmula matemática é dada por:</p><p> Atenção! Para visualização completa da equação utilize a rolagem horizontal</p><p>Devemos observar que |Cl | representa a quantidade de elementos do cluster l e lemos como: a</p><p>cardinalidade do cluster l.</p><p>b(xi) é a dissimilaridade média do i-ésimo elemento ao cluster vizinho mais próximo. Sua</p><p>fórmula matemática é dada por:</p><p> Atenção! Para visualização completa da equação utilize a rolagem horizontal</p><p>Devemos notar que os índices h e l devem ser diferentes, como está expresso na fórmula de b(xi).</p><p>Por fim, precisamos calcular a Largura da Silhueta LS(C), que é a média da soma das</p><p>silhuetas. Sua fórmula matemática é dada por:</p><p> Atenção! Para visualização completa da equação utilize a rolagem horizontal</p><p>Podemos interpretar a largura da silhueta da seguinte forma:</p><p>As observações com um S(xi) próximo de 1 significam que estão muito bem agrupadas.</p><p>Quando o S(xi) é próximo de 0, significa que a observação está entre dois clusters.</p><p>A terceira possibilidade ocorre quando as observações possuem um S(xi) negativo, que</p><p>significa que estão colocadas no cluster errado.</p><p>CRITÉRIOS DE VALIDAÇÃO EXTERNA</p><p>a(xi) = ∑xj∈Cl</p><p>d(xi,xj)1</p><p>|Cl|−1</p><p>b(xi) =  min 1≤h≤K</p><p>h≠l</p><p>{ ∑xj∈Ch</p><p>d(xi,xj)}1</p><p>|Ch|</p><p>LS(C) = ∑n</p><p>i=1 S(xi)</p><p>1</p><p>n</p><p>As medidas externas são úteis para comparar o resultado de um algoritmo de agrupamento com</p><p>uma informação fornecida sobre a expectativa sobre a formação dos grupos. Vamos abordar os</p><p>índices Rand e Jaccard.</p><p>Antes, precisamos de algumas definições.</p><p>Vamos considerar para a comparação de um conjunto C, que representa o resultado de um</p><p>algoritmo de agrupamento com uma partição P, que é o conjunto de referência, ou seja, a estrutura</p><p>esperada sobre o agrupamento dos dados.</p><p>Então, temos que C é dado por:</p><p>Onde Ci é o i-ésimo cluster, ou seja, o conjunto C é composto por m clusters.</p><p>Agora, temos que a partição P é dada por:</p><p>Onde Pj é a j-ésima partição definida para os dados.</p><p>Ainda precisamos fazer mais algumas definições. Precisamos contar a quantidade de vezes com</p><p>que os pares de elementos aparecem nos conjuntos de dados C e P.</p><p>Para isso, usamos os seguintes termos:</p><p>a11: quantidade de pares de elementos que estão no mesmo conjunto C e P.</p><p>a10: quantidade de pares de elementos que estão no mesmo conjunto C, mas em grupos</p><p>diferentes em P.</p><p>a01: quantidade de pares de elementos que estão em grupos diferentes no conjunto C, mas</p><p>nos mesmos grupos em P.</p><p>a00: quantidade de pares de elementos que estão em grupos diferentes tanto do conjunto C,</p><p>como de P.</p><p> EXEMPLO</p><p>Sejam os conjuntos C e P dados por:</p><p>C = {C1, . . . ,Cm}</p><p>P = {P1, . . . ,Ps}</p><p> Atenção! Para visualização completa da equação utilize a rolagem horizontal</p><p>Então, temos que:</p><p>Cálculo de a11: elementos do mesmo cluster e da mesma partição.</p><p> Atenção! Para visualização completa da equação utilize a rolagem horizontal</p><p>Portanto, a11=4.</p><p>Cálculo de a10: elementos do mesmo cluster e de partição diferente.</p><p>Portanto, a10=2.</p><p>Cálculo de a01: elementos de cluster diferente e da mesma partição.</p><p> Atenção! Para visualização completa da equação utilize a rolagem horizontal</p><p>Portanto, a01=5.</p><p>Cálculo de a00: elementos de cluster diferente e de partição diferente.</p><p> Atenção! Para visualização completa da equação utilize a rolagem horizontal</p><p>Portanto, a00=10</p><p>Com essas definições preliminares, podemos calcular os principais índices utilizados em critérios</p><p>de validação externa, que são o Índice Rand e o Índice Jaccard.</p><p>Índice Rand (IR)</p><p>O índice Rand é definido pela fórmula:</p><p>C = {{a, b, c}{d, e, f}{g}}</p><p>P = {{a, b, c, d}{e, f, g}}</p><p>{(a, b), (a, c), (b, c), (e, f)}</p><p>{(d, e), (d, f)}</p><p>{(d, a), (d, b), (d, c), (e, g), (f, g)}</p><p>{(a, e), (a, f), (a, g), (b, e), (b, f), (b, g), (c, e), (c, f), (c, g), (d, g)}</p><p> Atenção! Para visualização completa da equação utilize a rolagem horizontal</p><p>Esse índice retorna valores entre 0 e 1. Quanto mais próximo de 1 for o valor do índice de Rand,</p><p>maior será a similaridade entre o conjunto de cluster e o de partição; em outras palavras, o</p><p>resultado do algoritmo de agrupamento se assemelha ao que era esperado.</p><p>No caso do exemplo que mostramos anteriormente, o cálculo do índice de Rand é:</p><p> Atenção! Para visualização completa da equação utilize a rolagem horizontal</p><p>Índice Jaccard (IJ)</p><p>É semelhante ao índice de Rand. Sua fórmula é dada por:</p><p>O índice de Jaccard faz a razão entre os pares de elementos que estão nos mesmos conjuntos de</p><p>clusters e de partição com os que estão no mesmo grupo. Os valores desse índice também variam</p><p>de 0 a 1, sendo que, quanto mais próximo de 1, melhor é a aderência da solução obtida com a</p><p>partição proposta como referência.</p><p>CRITÉRIOS DE VALIDAÇÃO INTERNA</p><p>Esses critérios utilizam os próprios agrupamentos dos dados para verificar a qualidade de como</p><p>foram ajustados. São bastante utilizados na prática, pois não fazem pressuposições sobre os</p><p>grupos dos dados a priori.</p><p>A seguir, vamos apresentar os índices de Davies-Bouldin e Calinski-Harabasz.</p><p>Índice Davies-Bouldin (IDB)</p><p>IR  =</p><p>a11+a00</p><p>a11+a10+a01+a00</p><p>IR  =   =  0,674+10</p><p>4+2+5+10</p><p>IJ  =</p><p>a11</p><p>a11+a01+a10</p><p>O primeiro passo para obter o índice de Davies-Bouldin é calcular o erro quadrático médio (EQM)</p><p>para cada cluster.</p><p>A fórmula matemática é dada por:</p><p> Atenção! Para visualização completa da equação utilize a rolagem horizontal</p><p>Sendo que:</p><p>: corresponde ao h-ésimo cluster.</p><p>é a cardinalidade de Ch.</p><p>é a distância entre o elemento x e o centroide .</p><p>Utilizamos o EQM para calcularmos a qualidade dos agrupamentos.</p><p>Para isso, aplicamos a fórmula:</p><p>Sendo que:</p><p>, são os erros quadráticos médio dos clusters i e j, respectivamente.</p><p>é a distância entre os clusters 𝑖 e 𝑗.</p><p>é uma medida de similaridade. Quanto mais os grupos estiverem distantes, Ri,j tenderá para</p><p>zero, que é um indicativo de que os grupos são separados entre si.</p><p>Para cada cluster p, precisamos calcular os maiores valores de R que são obtidos por:</p><p>Por fim, calculamos o índice de Davies-Bouldin pela média da soma dos valores de Rp, que é dada</p><p>por:</p><p>Lembrando que K é q quantidade de clusters. A qualidade do agrupamento é refletida quanto mais</p><p>próximo o IDB for de zero.</p><p>Índice Calinski-Harabasz (ICH)</p><p>EQMh  =  ( ∑x∈Ch</p><p>d(x,</p><p>−</p><p>xCh</p><p>)</p><p>2</p><p>)</p><p>1/2</p><p>1</p><p>|Ch|</p><p>Ch</p><p>|Ch|</p><p>d(x,</p><p>−</p><p>xCh</p><p>) −</p><p>xCh</p><p>Ri,j</p><p>=</p><p>EQMi+EQMj</p><p>di,j</p><p>EQMi EQMj</p><p>di,j</p><p>Ri,j</p><p>Rp  =  máxl≠p{Rl,p}</p><p>IDB  =   ∑K</p><p>i=1 Ri</p><p>1</p><p>K</p><p>Essa medida trata da compactação e da separação dos grupos. A avaliação da compactação dos</p><p>clusters é baseada na distância dos elementos do cluster ao seu respectivo centroide e a</p><p>separação é avaliada como a distância do centroide do cluster ao centroide de dados. Esse índice</p><p>também conhecido como critério de razão de variância.</p><p>O cálculo da compactação dos grupos é obtido pela fórmula:</p><p> Atenção! Para visualização completa da equação utilize a rolagem horizontal</p><p>Ou seja, SSW é a soma dos quadrados das distâncias dos elementos aos seus respectivos</p><p>centroides. E o cálculo da separação dos grupos é obtido pela fórmula:</p><p> Atenção! Para visualização completa da equação utilize a rolagem horizontal</p><p>Sendo que SSB é a soma dos quadrados das distâncias dos centroides ao centroide global dos</p><p>dados representado por .</p><p>Passamos a calcular o índice de Calinski-Harabasz pela fórmula:</p><p>Onde N é a quantidade de elementos. Um valor alto de ICH significa que os clusters estão bem</p><p>agrupados e separados.</p><p>ESTUDO DE CASO</p><p>Vamos apresentar um estudo de caso para nos ajudar a entender como aplicar na prática os</p><p>algoritmos de agrupamento. Para isso, vamos trabalhar no nosso exemplo, utilizando a linguagem</p><p>de programação R. As duas principais linguagens de programação para desenvolver aplicações em</p><p>ciência de dados e aprendizado de máquina são R e Python, muitas vezes utilizadas</p><p>conjuntamente.</p><p>No nosso caso, utilizamos a linguagem R no sistema operacional Windows.</p><p> COMENTÁRIO</p><p>SSW  =  ∑K</p><p>h=1 ∑x∈Ch</p><p>d(x,</p><p>−</p><p>xCh</p><p>)</p><p>2</p><p>SSB  =  (∑K</p><p>h=1</p><p>∣</p><p>∣Ch</p><p>∣</p><p>∣d(</p><p>−</p><p>xCh</p><p>,</p><p>−</p><p>x)</p><p>2</p><p>)</p><p>−</p><p>x</p><p>ICH  =   .SSB</p><p>SSW</p><p>N − K</p><p>K − 1</p><p>A linguagem R é muito utilizada para desenvolver aplicações estatísticas, oferecendo muitos</p><p>recursos que facilitam a implementação de programas.</p><p>Aqui, vamos implementar um programa com o algoritmo de agrupamento K-Means, mas não</p><p>vamos precisar implementar cada passo do algoritmo, pois eles já estão disponíveis no R. No</p><p>entanto, vamos precisar do conhecimento teórico que adquirimos para fazer o uso correto dos</p><p>métodos.</p><p>A seguir, vamos mostrar várias etapas do processo: tratamento dos dados, aplicação dos</p><p>algoritmos, visualização e validação dos resultados.</p><p>GERAÇÃO E TRATAMENTO DE DADOS</p><p>Vamos começar o processo de geração e tratamento dos dados. A nossa aplicação tem o seguinte</p><p>escopo: uma rede de supermercados nos contratou para traçar os perfis dos seus clientes.</p><p>Basicamente, os supermercados dessa rede nos disponibilizaram três categorias de dados para</p><p>analisar, que são das seções de laticínios, carnes e padaria. Ou seja, para cada cliente, são</p><p>fornecidos os consumos médios mensais em reais para cada um dos itens dessas seções, de</p><p>forma agregada.</p><p>Agora que entendemos o problema, vamos começar o desenvolvimento. Precisamos criar um</p><p>projeto no R Studio e, em seguida, criar um script. O projeto vai ficar com o aspecto que</p><p>mostramos na imagem seguinte.</p><p>Imagem: Captura de tela de R Studio.</p><p> Projeto no R Studio.</p><p>No script do projeto, vamos escrever uma sequência de códigos a seguir:</p><p>rm(list = ls())</p><p>set.seed(10)</p><p> Atenção! Para visualização completa do código utilize a rolagem horizontal</p><p>Na primeira linha, estamos fazendo uma limpeza do ambiente de desenvolvimento. Isso é</p><p>necessário, pois o R cria objetos ao longo de sua execução e, se não removermos esses objetos</p><p>do ambiente, poderemos ter problemas, pois o programa pode utilizar resultados anteriores que</p><p>não fazem mais sentido no contexto da execução.</p><p>Na segunda linha, usamos o comando “set.seed” para ativar o gerador de números pseudo-</p><p>aleatórios que vamos precisar para gerar nossos dados. Para executar o código, basta selecionar</p><p>as duas linhas de código e acessar a opção do menu “code” e, em seguida, “run selected lines”,</p><p>como mostramos na figura a seguir.</p><p>Imagem: Captura de tela de R Studio.</p><p> Exemplo de como executar um trecho de código.</p><p>A saída serão as linhas:</p><p>> rm(list = ls())</p><p>> set.seed(10)</p><p>O R é uma linguagem interpretada, o que significa que cada comando é lido e tratado de forma</p><p>independente do restante do programa, ficando disponível na memória. É por isso que precisamos</p><p>ter cuidado de limpar a memória sempre que não precisarmos mais de um objeto.</p><p>Vamos gerar os dados. Para isso, vamos executar as linhas de código a seguir:</p><p>num_clientes <- 100;</p><p>consumo_laticinios <- abs(rnorm(num_clientes, mean=50, sd=30))</p><p>consumo_carne <- abs(rnorm(num_clientes, mean=70, sd=40))</p><p>consumo_padaria <- abs(rnorm(num_clientes, mean=30, sd=10))</p><p>dados <-data.frame(laticinios=consumo_laticinios,</p><p>carne=consumo_carne,</p><p>padaria=consumo_padaria)</p><p> Atenção! Para visualização completa do código utilize a rolagem horizontal</p><p>Na primeira linha do código, estabelecemos a quantidade de clientes igual a 100. Devemos</p><p>perceber que o operador de atribuição é o símbolo “<-”.</p><p>Nas três linhas seguintes, geramos os vetores referentes ao consumo de laticínios, carne e</p><p>padaria, seguindo a distribuição normal, sendo que precisamos entrar com a média e o desvio-</p><p>padrão; além disso, precisamos usar a função “abs” para evitar que sejam gerados valores</p><p>negativos.</p><p>No último trecho de código, agregamos os dados em uma estrutura chamada de “data.frame” que é</p><p>essencial para manipularmos estruturas agregadas de uma forma mais fácil.</p><p>Para visualizarmos os dados basta escrevermos a linha de código a seguir:</p><p>head(dados)</p><p> Atenção! Para visualização completa do código utilize a rolagem horizontal</p><p>Vamos fazer a padronização dos dados com o cálculo do z-score, com a execução do comando:</p><p>dados.padronizados <- scale(dados,center=TRUE,scale=TRUE)</p><p> Atenção! Para visualização completa do código utilize a rolagem horizontal</p><p>CALCULAR A QUANTIDADE DE GRUPOS (CLUSTERS)</p><p>Depois de concluirmos a entrada e o tratamento dos dados, vamos calcular a quantidade de</p><p>grupos mais adequada para os nossos dados. Para isso, vamos utilizar a biblioteca “NbClust”.</p><p>Primeiro, precisamos instalá-la e, em seguida, carregá-la, conforme o código a seguir:</p><p>install.packages("NbClust")</p><p>library(NbClust)</p><p> Atenção! Para visualização completa do código utilize a rolagem horizontal</p><p>Pronto! O próximo passo é calcular a quantidade de grupos com o comando:</p><p>num_grupos <- NbClust(dados.padronizados, distance = "euclidean",</p><p>min.nc = 3, max.nc = 10,</p><p>method = "complete", index ="all")</p><p> Atenção! Para visualização completa do código utilize a rolagem horizontal</p><p>Perceba que passamos para o comando “NbClust” a fonte de dados, o critério de similaridade que,</p><p>no caso, é a distância euclidiana, as quantidades mínima e máxima de grupos, e vamos utilizar</p><p>todos os métodos disponíveis no pacote para nos ajudar a obter a quantidade de grupos mais</p><p>adequada.</p><p>Depois disso, vamos visualizar o resultado dessa etapa.</p><p>Precisamos instalar e carregar o pacote “factoextra” conforme a sequência de comando a seguir:</p><p>install.packages("factoextra")</p><p>library(factoextra)</p><p> Atenção! Para visualização completa do código utilize a rolagem horizontal</p><p>Por fim, executamos o comando fviz_nbclust para visualizar o resultado, conforme a linha a seguir:</p><p>fviz_nbclust(num_grupos) + theme_minimal()</p><p> Atenção! Para visualização completa do código utilize a rolagem horizontal</p><p>O resultado vai ficar semelhante ao do gráfico a seguir:</p><p> Gráfico: Visualização dos resultados</p><p>Elaborado por Sérgio Assunção Monteiro</p><p>Nesse exemplo, a melhor quantidade de grupos é 4.</p><p>INSTALAÇÃO DE PACOTE PARA OS MÉTODOS K-MEANS</p><p>E AGRUPAMENTOS HIERÁRQUICOS</p><p>Agora que já tratamos os dados e encontramos a quantidade ideal de grupos, vamos executar os</p><p>métodos K-Means e de agrupamentos hierárquicos.</p><p>Para isso, vamos instalar e carregar o pacote cluster, conforme a sequência a seguir:</p><p>install.packages("cluster")</p><p>library(cluster)</p><p> Atenção! Para visualização completa do código utilize a rolagem horizontal</p><p>MÉTODO K-MEANS</p><p>Para executar o algoritmo K-Means, simplesmente precisamos executar o comando a seguir:</p><p>kmeans.resultado</p><p><- eclust(dados.padronizados, "kmeans", k = 4,</p><p>nstart = 20, graph = FALSE)</p><p> Atenção! Para visualização completa do código utilize a rolagem horizontal</p><p>Para vermos como os elementos foram agrupados em cada grupo (cluster), basta executarmos o</p><p>comando:</p><p>kmeans.resultado$cluster</p><p> Atenção! Para visualização completa do código utilize a rolagem horizontal</p><p>E, para visualizarmos os grupos graficamente, simplesmente, usamos o método “fviz_cluster”,</p><p>conforme a sequência a seguir:</p><p>fviz_cluster(kmeans.resultado,</p><p>geom = "point",</p><p>frame.type = "norm")</p><p> Atenção! Para visualização completa do código utilize a rolagem horizontal</p><p>O resultado vai ficar semelhante ao do próximo gráfico.</p><p> Grafico: Visualização gráfica do resultado do k-means.</p><p>Elaborado por: Sérgio Assunção Monteiro.</p><p>MEDIDA SILHUETA PARA VALIDAÇÃO DO K-MEANS</p><p>A última etapa do nosso exemplo é aplicar um índice de validação para o K-Means. Vamos aplicar</p><p>o índice silhueta. Para isso, vamos usar o método “silhouette” da biblioteca “cluster” que já</p><p>instalamos e carregamos.</p><p>O código é dado por:</p><p>silhueta <- silhouette(kmeans.resultado$ cluster,dist(dados.padronizados))</p><p> Atenção! Para visualização completa do código utilize a rolagem horizontal</p><p>Podemos fazer a visualização do índice silhueta para o K-Means com a execução do comando:</p><p>fviz_silhouette(silhueta)</p><p> Atenção! Para visualização completa do código utilize a rolagem horizontal</p><p>Obtendo o gráfico a seguir:</p><p> Gráfico: Gráfico do índice silhueta.</p><p>Elaborado por: Sérgio Assunção Monteiro.</p><p>Para interpretar o gráfico, precisamos lembrar de como o índice silhueta funciona:</p><p>Valores próximos de 1 significam que os elementos estão bem agrupados;</p><p>Quando estão próximos de zero, os elementos têm características que os assemelham a</p><p>outros grupos;</p><p>Quando os valores são negativos, os elementos estão agrupados em grupos errados.</p><p>No caso do exemplo, vale a pena reexecutar o algoritmo com novos parâmetros, pois a média do</p><p>índice silhueta é 0,27.</p><p>MÉTRICAS DE VALIDAÇÃO PARA</p><p>PROBLEMAS DE AGRUPAMENTO</p><p>Abordamos, no vídeo a seguir, os tópicos sobre a necessidade de validação dos resultados dos</p><p>algoritmos de agrupamento e os índices de validação.</p><p>VERIFICANDO O APRENDIZADO</p><p>1. TER ACESSO A UMA BASE DE DADOS JÁ AGRUPADOS É MUITO ÚTIL EM</p><p>DIVERSAS SITUAÇÕES PARA, POR EXEMPLO, ESTUDAR OS PERFIS DOS</p><p>USUÁRIOS DE UM DETERMINADO SERVIÇO. DESSE MODO, OS ESFORÇOS</p><p>PARA DIRECIONAR CAMPANHAS DE MARKETING TÊM MAIORES CHANCES</p><p>DE SUCESSO. ESSE É UM EXEMPLO DO QUANTO É IMPORTANTE FAZER A</p><p>VALIDAÇÃO DOS RESULTADOS DOS ALGORITMOS DE AGRUPAMENTO.</p><p>NESSE SENTIDO, SELECIONE A OPÇÃO CORRETA A RESPEITO DA</p><p>VALIDAÇÃO DOS RESULTADOS DOS ALGORITMOS DE AGRUPAMENTO.</p><p>A) São úteis para avaliar quão próximos os elementos de grupos distintos estão entre si.</p><p>B) Devem ser aplicados quando não há confiança a respeito dos grupos produzidos.</p><p>C) Podem auxiliar na escolha da quantidade de iterações dos algoritmos de agrupamento.</p><p>D) Apesar de serem inexatos, os índices utilizados pelos critérios de validação auxiliam na escolha</p><p>dos algoritmos mais adequados para tratar um determinado conjunto de dados.</p><p>E) Caso os elementos que estejam em grupos diferentes sejam parecidos entre si, os</p><p>agrupamentos precisam ser revistos.</p><p>2. OS GRUPOS DOS ALGORITMOS DE AGRUPAMENTO PRECISAM PASSAR</p><p>POR UM PROCESSO DE VALIDAÇÃO. PARA ISSO, É NECESSÁRIO</p><p>ESTABELECER UM CRITÉRIO DE VALIDAÇÃO E APLICAR UMA MEDIDA QUE</p><p>PERMITA FAZER UMA ANÁLISE OBJETIVA. NESSE SENTIDO, SELECIONE A</p><p>OPÇÃO CORRETA A RESPEITO DOS CRITÉRIOS DA VALIDAÇÃO DOS</p><p>RESULTADOS DOS ALGORITMOS DE AGRUPAMENTO.</p><p>A) As informações que podem ser obtidas com especialistas são utilizadas para fazer a validação</p><p>pelos critérios internos.</p><p>B) As distâncias dos elementos aos seus respectivos centroides é a única forma confiável de</p><p>validar os grupos por meio de critérios internos.</p><p>C) De um modo geral, é possível aplicar um critério de validação externa, utilizando informações</p><p>apenas dos especialistas.</p><p>D) Quando os próprios grupos são utilizados para fazer a validação, trata-se de um critério interno.</p><p>E) Os critérios de validação externos e internos, quando combinados, garantem que a solução</p><p>fornecida por um algoritmo de agrupamento é ótima.</p><p>GABARITO</p><p>1. Ter acesso a uma base de dados já agrupados é muito útil em diversas situações para,</p><p>por exemplo, estudar os perfis dos usuários de um determinado serviço. Desse modo, os</p><p>esforços para direcionar campanhas de marketing têm maiores chances de sucesso. Esse é</p><p>um exemplo do quanto é importante fazer a validação dos resultados dos algoritmos de</p><p>agrupamento. Nesse sentido, selecione a opção correta a respeito da validação dos</p><p>resultados dos algoritmos de agrupamento.</p><p>A alternativa "E " está correta.</p><p>A qualidade dos resultados dos algoritmos de agrupamentos pode ser verificada por meio de</p><p>medidas de quão semelhantes são entre si os elementos que pertencem ao mesmo grupo e quão</p><p>diferentes são os elementos que estão em grupos diferentes.</p><p>2. Os grupos dos algoritmos de agrupamento precisam passar por um processo de</p><p>validação. Para isso, é necessário estabelecer um critério de validação e aplicar uma medida</p><p>que permita fazer uma análise objetiva. Nesse sentido, selecione a opção correta a respeito</p><p>dos critérios da validação dos resultados dos algoritmos de agrupamento.</p><p>A alternativa "D " está correta.</p><p>Os critérios internos para validação dos resultados dos algoritmos de agrupamento são</p><p>caracterizados por utilizar apenas informações sobre os grupos, com o objetivo de verificar as</p><p>relações de qualidade dos elementos com seus respectivos grupos e quão bem se separam dos</p><p>outros grupos.</p><p>CONCLUSÃO</p><p>CONSIDERAÇÕES FINAIS</p><p>Ao longo de nosso estudo, abordamos os conceitos relacionados aos métodos de aprendizado</p><p>supervisionado com destaque para as terminologias e os problemas que podem ocorrer no</p><p>processo de treinamento de um modelo. A identificação de problemas como o underfitting e o</p><p>overfitting é essencial para evitar que um modelo não confiável seja utilizado. Vimos que existem</p><p>métodos bem conhecidos que oferecem ao desenvolvedor alternativas para evitar que esses</p><p>problemas ocorram e que os modelos sejam úteis.</p><p>Além disso, abordamos os conceitos relacionados aos algoritmos de agrupamento que fazem parte</p><p>das técnicas de aprendizado não supervisionado. Os algoritmos de agrupamento - também</p><p>conhecidos como métodos de clusterização – podem ser aplicados como uma ferramenta de</p><p>análise exploratória dos dados para agrupá-los por critérios de similaridade.</p><p>Por se tratar de métodos probabilísticos, os resultados desses algoritmos precisam ser validados.</p><p>Vimos que existem formas muito bem definidas de como fazer esse processo de validação com</p><p>aplicação de índices.</p><p>Por fim, abordamos um exemplo prático com o uso da linguagem de programação R como uma</p><p>forma concreta de aplicar esses algoritmos. Outras linguagens de programação, como Python, por</p><p>exemplo, também já possuem bibliotecas que facilitam o desenvolvimento de aplicações com os</p><p>algoritmos de agrupamento. Assim, destacamos a importância de investir na compreensão dos</p><p>conceitos para obtermos melhores resultados.</p><p>AVALIAÇÃO DO TEMA:</p><p>REFERÊNCIAS</p><p>BERRY, M. J. A.; LINOFF, G. Data Mining Techniques For Marketing, Sales and Customer</p><p>Support. Nova Jersey: John Wiley & Sons, 1996.</p><p>GHOJOGH, B; CROWLEY, M. The Theory Behind Overfitting, Cross Validation, Regularization,</p><p>Bagging, and Boosting: Tutorial. arXiv:1905.12787, 2019.</p><p>HENNIG, C.; MEILA, M.; MURTAGH, F; ROCCI, R. Handbook of cluster analysis. CRC Press,</p><p>2015.</p><p>RSTUDIO. Download the RStudio IDE. Consultado na internet em: 05 jul. 2021.</p><p>THE COMPREHENSIVE R Archive Network. Consultado na internet em: 05 jul. 2021.</p><p>THEODORIDIS, S.; KOUTROUMBAS, K. Pattern Recognition. Academic Press, 2008.</p><p>VANDERPLAS, J. Python Data Science Handbook: Essential Tools for Working with Data.</p><p>Estados Unidos: O’Reilly, 2016.</p><p>YING, X. An overview of overfitting and its solutions. Journal of Physics Conference Series, IOP</p><p>Publishing, Bristol, v. 1168, n. 2, 2019.</p><p>EXPLORE+</p><p>Para aprimorar os seus conhecimentos no assunto estudado:</p><p>Acesse os conjuntos de dados para aprendizado de máquina disponíveis no site da</p><p>Universidade da Califórnia em Irvine e explore muitos exemplos de aplicações, o que vai</p><p>ajudá-lo a compreender melhor como usar o aprendizado de máquina para resolver</p><p>problemas práticos.</p><p>• Acesse o site oficial do pacote Scikit-learn e procure pelo termo Clustering. Você vai</p><p>encontrar muitos exemplos de aplicação dos algoritmos de agrupamento e vai ter a</p><p>oportunidade de explorar mais sobre essa área fantástica e com aplicações em muitas áreas.</p><p>CONTEUDISTA</p><p>Sérgio Assunção Monteiro</p><p>uma classificação de frutas. Para isso, suponhamos que temos à</p><p>disposição uma cesta com frutas variadas, como mostrado na figura a seguir.</p><p>Foto: manoj phobzads/shutterstock.com</p><p>Nosso primeiro passo é levantar os dados pré-classificados para, em seguida, treinar a máquina</p><p>com várias frutas, conforme observamos:</p><p>Foto: Maks Narodenko/shutterstock.com</p><p>Manga: é uma fruta com formato ovoide e casca não comestível, que pode ser verde escuro ou</p><p>vermelha.</p><p>Foto: bergamont/shutterstock.com</p><p>Banana: é uma fruta com forma de um longo cilindro curvo e casca não comestível, de cor amarela</p><p>ou verde.</p><p>Portanto, elencamos as características: forma, cor e se a casca é ou não comestível, sendo que</p><p>essa última característica não ajuda a máquina a distinguir entre uma manga e uma banana. Por</p><p>outro lado, a característica formato faz uma distinção bem interessante entre banana e manga.</p><p> ATENÇÃO</p><p>Outro ponto que cabe ainda ser destacado é que a pré-classificação não é exata. Ela é feita por um</p><p>supervisor, que elencou determinadas características como relevantes e atribuiu valores para elas.</p><p>Por exemplo, no caso da manga, a característica da casca ser não comestível não é uma verdade</p><p>absoluta, foi apenas o valor que o supervisor utilizou para o processo de classificação.</p><p>Após a máquina ter sido treinada, quando recebe uma entrada de dados como manga e banana,</p><p>se o treinamento for bem-sucedido, ela fará a classificação correta entre as duas frutas. Mas o que</p><p>vai ocorrer se a máquina receber uma laranja que possui as características apresentadas a seguir?</p><p>Foto: Valentyn Volkov/shutterstock.com</p><p>Laranja: é uma fruta com formato esférico e casca não comestível, que pode ser verde ou amarela.</p><p>A máquina terá um desafio, pois, semelhante à manga e à banana, a casca da laranja também não</p><p>é comestível, portanto, essa característica não é relevante para classificá-la. A característica cor da</p><p>casca também não é suficiente para classificar a laranja. Por fim, o formato da laranja também não</p><p>se encaixa no formato de nenhuma das duas frutas.</p><p>A que conclusão chegamos aqui?</p><p>A máquina precisa de um novo conjunto de dados para treinamento, pois ela foi treinada somente</p><p>para classificar bananas e mangas. Assim, a máquina aprende com os dados de treinamento e, em</p><p>seguida, aplica o conhecimento aos dados de teste.</p><p>ETAPAS ENVOLVIDAS NA APRENDIZAGEM</p><p>SUPERVISIONADA</p><p>Existe uma sequência bem definida que deve ser seguida no processo de aprendizado</p><p>supervisionado a seguir (VANDERPLAS, 2016):</p><p>1</p><p>PRIMEIRO PASSO</p><p>Em primeiro lugar, devemos escolher uma categoria do conjunto de dados de treinamento, ou seja,</p><p>devemos selecionar um subconjunto de dados que seja representativo para o treinamento do</p><p>modelo. Se essa escolha não for bem-feita, a máquina, posteriormente, não será capaz de fazer</p><p>boas classificações ou estimativas.</p><p>SEGUNDO PASSO</p><p>O próximo passo é coletar os dados de treinamento pré-classificados.</p><p>2</p><p>3</p><p>TERCEIRO PASSO</p><p>Em seguida, devemos separar o conjunto de dados em três partes:</p><p>Dados de treinamento – Utilizados para treinar a máquina.</p><p>Conjunto de dados de teste – Utilizados para verificar a capacidade de acerto da máquina.</p><p>Conjunto de dados de validação – Utilizados para ajustar a máquina ainda na fase de</p><p>treinamento.</p><p>A imagem a seguir ilustra como esses dados são separados:</p><p>Imagem: Elaborado por Sérgio Assunção Monteiro.</p><p> Separação dos dados.</p><p>QUARTO PASSO</p><p>Determinar as características de entrada do conjunto de dados de treinamento que será utilizado</p><p>para treinar a máquina.</p><p>4</p><p>5</p><p>QUINTO PASSO</p><p>Determinar um algoritmo apropriado para o processo de treinamento.</p><p>SEXTO PASSO</p><p>Durante o período de treinamento, fazer ajustes nos parâmetros do modelo, utilizando, para isso,</p><p>dados de validação.</p><p>6</p><p>7</p><p>SÉTIMO PASSO</p><p>Por último, avaliar a precisão da máquina por meio do conjunto de teste. Se a saída correta for</p><p>prevista pelo modelo, pode-se concluir que a máquina está apta a operar para fazer classificações</p><p>ou estimativas.</p><p>Cabe ressaltar que, ao final do processo, quando a máquina está em operação, é necessário</p><p>garantir que os seus parâmetros e estruturas lógicas sejam armazenados para que possam ser</p><p>usados posteriormente. Além disso, deve-se ter atenção às documentações que descrevam o</p><p>processo para utilização da máquina e o escopo para o qual ela foi projetada, bem como manter</p><p>um controle de versões e comentários sobre possíveis ajustes que tenham sido implementados ao</p><p>longo do tempo.</p><p>TIPOS DE APRENDIZAGEM</p><p>SUPERVISIONADA</p><p>A aprendizagem supervisionada é classificada em dois tipos: regressão e classificação.</p><p>REGRESSÃO</p><p>A técnica de regressão prevê um único valor de saída usando dados de treinamento. O algoritmo</p><p>de regressão é dividido entre os seguintes tipos:</p><p>Regressão linear</p><p>Tenta modelar a relação entre as variáveis de um modelo mediante o ajuste de uma equação linear</p><p>aos dados observados. As variáveis usadas para fazer as estimativas são consideradas</p><p>explicativas, enquanto a variável resposta é chamada de dependente. Por exemplo, uma máquina</p><p>pode estimar as vendas de um determinado produto com as estações do ano usando um modelo</p><p>de regressão linear.</p><p>Regressão logística</p><p>É um algoritmo de classificação, usado quando o valor da variável de destino (variável dependente)</p><p>tem uma natureza categórica. A regressão logística é mais comumente usada quando os dados em</p><p>questão têm saída binária, portanto, quando pertencem a uma classe ou outra, ou são 0 ou 1.</p><p>Alguns dos exemplos de problemas de classificação são: e-mails, de spam ou não; transações on-</p><p>line, fraudulentas ou não; tumor maligno ou benigno.</p><p>CLASSIFICAÇÃO</p><p>A aprendizagem de classificação é usada quando a variável de saída é categórica, isto é, possui</p><p>duas classes, como: 0 ou 1, sim ou não, verdadeiro ou falso etc. Os algoritmos de classificação</p><p>podem ser:</p><p>CLASSIFICADOR DE BAYES INGÊNUO (NAIVE BAYES)</p><p>É usado principalmente no caso de grandes conjuntos de dados. É um classificador probabilístico</p><p>simples baseado na aplicação do teorema de Bayes (da estatística Bayesiana) com suposições de</p><p>independência — por isso, é chamado de ingênuo.</p><p>ÁRVORE DE DECISÃO</p><p>É uma representação simples para classificar exemplos nos quais os dados são continuamente</p><p>divididos de acordo com um determinado parâmetro. O objetivo é criar um modelo que preveja o</p><p>valor de uma variável de destino a partir do aprendizado de regras de decisão simples que são</p><p>inferidas após a análise dos dados. Consiste das seguintes partes:</p><p>Nós – Fazem o teste do valor de um determinado atributo.</p><p>Bordas/ramificação – Correspondem ao resultado de um teste e se conectam ao próximo nó</p><p>ou folha.</p><p>Nós-folha – São nós terminais que preveem o resultado (representam rótulos de classe ou</p><p>distribuição de classe).</p><p>MÁQUINAS DE VETOR DE SUPORTE</p><p>Também é chamada de máquina de suporte vetorial e muito comumente referenciada pela sigla</p><p>SVM (support vector machine). O objetivo do algoritmo da máquina de vetores de suporte é</p><p>encontrar um hiperplano em um espaço N-dimensional — N representa o número de</p><p>características dos dados — que classifica distintamente os pontos de dados. São aplicados, por</p><p>exemplo, na recuperação de informações e reconhecimento de padrões.</p><p>VANTAGENS E DESVANTAGENS DA</p><p>APRENDIZAGEM SUPERVISIONADA</p><p>A aprendizagem supervisionada tem diversas vantagens, tais como transparência na compreensão</p><p>das categorias que serão utilizadas e facilidade de treinamento. Ele também tem várias</p><p>desvantagens, como a incapacidade de aprender por si só.</p><p>VANTAGENS DA APRENDIZAGEM SUPERVISIONADA</p><p>A aprendizagem supervisionada pode ser utilizada para derivar o resultado de experiências</p><p>anteriores ou conhecimento anterior. Algumas das vantagens da aprendizagem supervisionada são</p><p>apresentadas a seguir:</p><p>Por ser capaz de incorporar experiências anteriores, oferece suporte à otimização de</p><p>desempenho.</p><p>É aplicada para resolver vários tipos de problemas práticos de computação.</p><p>O processo é de fácil compreensão.</p><p>É possível descobrir exatamente quantas classes</p><p>existem antes de fornecermos os dados</p><p>para o treinamento.</p><p>Após a conclusão do treinamento, não é necessário manter os dados de treinamento na</p><p>memória. Basta armazenar o limite de decisão como uma fórmula matemática.</p><p>A aprendizagem supervisionada pode ser muito útil em problemas de classificação.</p><p>Outra tarefa típica é fazer a previsão de um valor-alvo numérico a partir de alguns dados e</p><p>rótulos fornecidos.</p><p> Atenção! Para visualização completa da tabela utilize a rolagem horizontal</p><p>DESVANTAGENS DA APRENDIZAGEM SUPERVISIONADA</p><p>A aprendizagem supervisionada possui muitas restrições que dificultam a sua aplicação para tratar</p><p>de algumas das tarefas complexas do aprendizado de máquina. Entre as desvantagens dos</p><p>algoritmos de aprendizado de máquina, temos:</p><p>O aprendizado supervisionado só pode fornecer informações conhecidas dos dados de</p><p>treinamento, ou seja, não pode ser aplicado para fazer descobertas sobre os dados.</p><p>No caso da classificação, se fornecermos uma entrada que não seja de uma das classes nos</p><p>dados de treinamento, a saída pode ser um rótulo de classe errado.</p><p>Antes de iniciar o treinamento da máquina, é necessário selecionar exemplos de boa</p><p>qualidade para cada classe, pois, caso contrário, a precisão da máquina será de baixa</p><p>qualidade.</p><p>Normalmente, o treinamento da máquina requer muito tempo de computação.</p><p> Atenção! Para visualização completa da tabela utilize a rolagem horizontal</p><p>CARACTERÍSTICAS QUE DEMANDAM</p><p>AJUSTES</p><p>Ao projetar um modelo de aprendizado de máquina supervisionado, levamos em consideração a</p><p>adequação do modelo para o problema que queremos resolver. Depois do treinamento da máquina</p><p>e dos testes, verificamos o percentual de acerto do modelo. Nesse processo, podemos verificar</p><p>que o modelo não se ajustou bem aos dados. Por isso, precisamos entender dois termos</p><p>importantes para aprofundarmos o nosso estudo:</p><p>Viés</p><p>Mais comumente referenciado pelo termo em inglês bias. São as premissas feitas por um modelo,</p><p>isto é, são simplificações de regras para tornar uma função mais fácil de aprender.</p><p>Variância</p><p>É o erro em torno da média. Se a variância dos dados de treinamento for muito baixa, isso pode</p><p>significar que a máquina não foi bem treinada e, assim, quando ela receber um dado um pouco</p><p>diferente dos utilizados para treinamento, a máquina terá dificuldades de fazer a classificação.</p><p>Podemos ter duas situações negativas, detalhadas a seguir, em relação ao ajuste de uma</p><p>máquina: a de subajuste e a de sobreajuste.</p><p>Subajuste</p><p>É mais referenciado pelo termo em inglês underfitting. Uma máquina é considerada insuficiente</p><p>quando não consegue capturar a tendência dos dados (é como tentar caber em calças menores!).</p><p>A falta de ajuste destrói a precisão do nosso modelo de aprendizado de máquina. Sua ocorrência</p><p>simplesmente significa que o modelo ou o algoritmo não se ajusta bem aos dados. Geralmente,</p><p>acontece quando temos menos dados para construir um modelo preciso e, também, quando</p><p>tentamos construir um modelo linear com dados não lineares.</p><p>Sobreajuste</p><p>É mais referenciado pelo termo em inglês overfitting. Ocorre quando um modelo foi treinado</p><p>demais nas particularidades dos dados de treinamento. São situações em que a máquina aprende</p><p>o ruído do conjunto de dados. Um modelo com ajuste excessivo não terá um bom desempenho</p><p>com dados novos e não vistos.</p><p>Na figura a seguir, apresentamos um exemplo (GHOJOGH; CROWLEY, 2019) no qual são exibidas</p><p>as três situações: underfitting, bom ajuste e overfitting.</p><p>Imagem: Ghojogh; Crowley, 2019, p. 6</p><p> Exemplo de underfitting, bom ajuste e overfitting.</p><p>Para detectarmos se houve underfitting ou overfitting, podemos utilizar algumas técnicas. Por</p><p>exemplo, depois que a máquina for treinada, ela pode ser testada para dois subconjuntos de</p><p>dados: um com parte dos dados utilizados no treinamento e outro dos dados de testes.</p><p>Assim, devemos testar a máquina para ambos os conjuntos:</p><p>Se a máquina tiver um desempenho semelhante em ambos os conjuntos de dados, ela está</p><p>bem ajustada.</p><p>Caso a máquina tenha um desempenho nos dados de treinamento muito superior aos de</p><p>teste, temos um caso de overfitting.</p><p>Caso a máquina tenha um desempenho ruim tanto nos dados de teste como nos de</p><p>treinamento, trata-se de um caso de underfitting.</p><p> Atenção! Para visualização completa da tabela utilize a rolagem horizontal</p><p>CARACTERÍSTICAS DE CONJUNTOS DE</p><p>DADOS QUE DEMANDAM AJUSTES</p><p>Assista o vídeo a seguir. Nele, apresentamos o funcionamento do aprendizado de máquina</p><p>supervisionado, destacando os problemas de overfitting e underfitting.</p><p>VERIFICANDO O APRENDIZADO</p><p>1. OS MÉTODOS DE APRENDIZADO SUPERVISIONADO SÃO MUITO</p><p>UTILIZADOS PARA RESOLVER PROBLEMAS PRÁTICOS. ISSO OCORRE</p><p>PORQUE PODEM SER ADAPTADOS PARA INCORPORAR</p><p>CARACTERÍSTICAS DOS PROBLEMAS AOS QUAIS SÃO APLICADOS.</p><p>NESSE SENTIDO, SELECIONE A ALTERNATIVA CORRETA SOBRE OS</p><p>ALGORITMOS DE APRENDIZADO DE MÁQUINA SUPERVISIONADO.</p><p>A) Passam por um processo de treinamento que utiliza um resultado fornecido como referência.</p><p>B) São aplicados, especialmente, para reconhecimento de imagens.</p><p>C) Têm um vasto potencial de aplicação, entretanto, são limitados a situações com poucos dados.</p><p>D) São utilizados como suporte na tomada de decisão, uma vez que fornecem resultados</p><p>determinísticos.</p><p>E) São baseados em estímulos fornecidos durante o treinamento.</p><p>2. OS MÉTODOS DE APRENDIZADO SUPERVISIONADO SÃO MÉTODOS</p><p>PROBABILÍSTICOS ÚTEIS COMO SUPORTE NA TOMADA DE DECISÃO DE</p><p>DIVERSOS PROBLEMAS, COMO O RECONHECIMENTO FACIAL, POR</p><p>EXEMPLO. PARA QUE UM MODELO DE APRENDIZADO DE MÁQUINA POSSA</p><p>SER UTILIZADO, ELE PRECISA SER SUBMETIDO A UM PROCESSO BEM</p><p>DEFINIDO. NESSE SENTIDO, SELECIONE A ALTERNATIVA CORRETA SOBRE</p><p>OS ALGORITMOS DE APRENDIZADO DE MÁQUINA SUPERVISIONADO.</p><p>A) A composição de um modelo envolve a aplicação de uma função probabilística capaz de</p><p>identificar quais dados devem ser utilizados no ambiente de produção.</p><p>B) Antes de treinar o modelo, é necessário fazer um tratamento dos dados.</p><p>C) A escolha de algoritmos de aprendizado de máquina supervisionado ocorre, principalmente, por</p><p>evitar completamente a interferência humana na tomada de decisão.</p><p>D) São modelos úteis, mas que dependem das características do hardware sobre o qual estão</p><p>trabalhando para fornecer resultados úteis.</p><p>E) Também são conhecidos como modelos orientados a dados.</p><p>GABARITO</p><p>1. Os métodos de aprendizado supervisionado são muito utilizados para resolver problemas</p><p>práticos. Isso ocorre porque podem ser adaptados para incorporar características dos</p><p>problemas aos quais são aplicados. Nesse sentido, selecione a alternativa correta sobre os</p><p>algoritmos de aprendizado de máquina supervisionado.</p><p>A alternativa "A " está correta.</p><p>Os algoritmos de aprendizado supervisionado têm como objetivo relacionar a entrada de dados</p><p>com uma saída, semelhante ao que ocorre com as funções matemáticas. Para isso, são</p><p>submetidos a um processo de treinamento que utiliza um conjunto de testes e uma solução-alvo</p><p>que servem como alvo para o método.</p><p>2. Os métodos de aprendizado supervisionado são métodos probabilísticos úteis como</p><p>suporte na tomada de decisão de diversos problemas, como o reconhecimento facial, por</p><p>exemplo. Para que um modelo de aprendizado de máquina possa ser utilizado, ele precisa</p><p>ser submetido a um processo bem definido. Nesse sentido, selecione a alternativa correta</p><p>sobre os algoritmos de aprendizado de máquina supervisionado.</p><p>A alternativa "B " está correta.</p><p>Para que os algoritmos de aprendizado supervisionado sejam utilizados com sucesso, é necessário</p><p>submetê-los a diversas etapas que, entre outras coisas, envolvem o treinamento do modelo por</p><p>intermédio de testes, validação e ajustes. Por isso, a coleta e o tratamento de dados são</p><p>essenciais para a obtenção de resultados de qualidade.</p><p>MÓDULO 2</p><p> Descrever os ajustes mais comuns para adequação dos modelos de aprendizado</p><p>supervisionado</p><p>Imagem: Elnur/shutterstock.com</p><p>VISÃO GERAL</p><p>Os algoritmos de aprendizado supervisionado são caracterizados por possuírem</p><p>uma base de</p><p>dados que é usada como alvo durante o processo de treinamento. Durante o treinamento, a</p><p>máquina é ajustada com um subconjunto chamado de validação. Concluída essa fase, a máquina</p><p>vai utilizar um conjunto de dados como teste. Nesse passo, pode ser constatado um dos três</p><p>casos:</p><p>1. A máquina está bem ajustada e pode ser usada no ambiente de produção.</p><p>2. A máquina tem um desempenho de classificação ruim para os dados de teste, apesar de</p><p>funcionar bem para os dados de treinamento. Essa situação caracteriza um sobreajuste</p><p>(overfitting), o que significa que a máquina está especializada nos dados de treinamento.</p><p>3. O último caso ocorre quando a máquina tem um baixo índice de acertos, tanto para os</p><p>dados de teste como para os de treinamento. Isso caracteriza uma situação de subajuste</p><p>(underfitting), o que significa que foram realizadas simplificações no classificador da máquina</p><p>que a tornaram ineficiente.</p><p> Atenção! Para visualização completa da tabela utilize a rolagem horizontal</p><p>Num caso em que a máquina já esteja bem ajustada, ela pode ser aplicada no ambiente de</p><p>produção. Mesmo nessa situação, é necessário acompanhar o comportamento da máquina ao</p><p>longo do tempo, de modo que seja possível verificar sua taxa de acerto, pois é possível que seja</p><p>necessário fazer ajustes, principalmente se houver uma mudança nos dados de entrada. Agora, no</p><p>caso de detecção de overfitting ou underfitting, é necessário agir rapidamente, para que a máquina</p><p>seja útil.</p><p>TÉCNICAS DE PREVENÇÃO E AJUSTES</p><p>A taxa de acerto de uma máquina de aprendizado supervisionado é a principal medida que deve</p><p>ser analisada, para que ela possa ser considerada útil. Portanto, o primeiro passo que precisamos</p><p>executar logo após o treinamento é detectar em que situação ela se encontra em relação à</p><p>classificação dos dados.</p><p>Podemos fazer isso por meio de testes em um subconjunto de dados do treinamento e outro de</p><p>dados dos testes, como já descrevemos. Outra maneira simples de detectar uma dessas situações</p><p>é mediante a técnica chamada de validação cruzada (cross-validation). Ela examina a máquina</p><p>treinada com um novo conjunto de dados para verificar sua precisão de predição. Basicamente, ela</p><p>trabalha assim: dado um conjunto de dados, uma parte deles é retido enquanto o restante é usado</p><p>no treinamento da máquina. Uma vez que a máquina tenha sido treinada, os dados que separamos</p><p>são usados para verificar a precisão da máquina comparada com a precisão dos dados usados no</p><p>treinamento. Caso percebamos uma variação significativa entre as precisões dos dois testes, isso</p><p>indica um cenário de overfitting.</p><p>Um modelo será mais preciso quanto menor for o erro medido entre os dados de treinamento e os</p><p>resultados que ele obteve. Uma forma de medir o erro de um modelo é a função dada por:</p><p> Atenção! Para visualização completa da equação utilize a rolagem horizontal</p><p>Sendo que:</p><p>N representa a quantidade de dados de entrada;</p><p>y é o valor obtido pelo modelo; e</p><p>Erro(y) = ∑N</p><p>j=1</p><p>(yj − ŷ j)</p><p>2</p><p>2</p><p>é o valor de referência (valor-alvo).</p><p>A detecção de overfitting ou underfitting é útil, mas não resolve o problema. No caso de</p><p>underfitting, podemos utilizar uma das seguintes soluções:</p><p>Tentar outro modelo para a máquina.</p><p>Aumentar a complexidade do modelo atual. Por exemplo, se estamos utilizando uma</p><p>regressão linear, podemos aumentar a complexidade da máquina ao utilizar um modelo de</p><p>ajuste polinomial.</p><p> Atenção! Para visualização completa da tabela utilize a rolagem horizontal</p><p>No caso de overfitting, temos uma variedade de opções. Entre elas, destacam-se as seguintes</p><p>(YING, 2019):</p><p>VALIDAÇÃO CRUZADA</p><p>Mais conhecida pela expressão em inglês cross-validation. Já falamos brevemente sobre essa</p><p>técnica, mas vamos estudá-la com um pouco mais de profundidade. A validação cruzada é uma</p><p>forma de prevenção contra overfitting. A ideia é usarmos os dados iniciais de treinamento para</p><p>gerarmos várias divisões de testes menores. Essas divisões são utilizadas, então, para ajustarmos</p><p>o nosso modelo. O processo segue os seguintes passos:</p><p>Particionamos os dados em k subconjuntos mutuamente exclusivos, chamados de dobras, todos</p><p>com o mesmo comprimento. Essa técnica é chamada de k-fold, sendo que a palavra fold significa</p><p>dobra.</p><p></p><p>Em seguida, treinamos iterativamente o algoritmo com as k-1 dobras. A dobra restante é utilizada</p><p>como conjunto de teste.</p><p></p><p>ŷ</p><p>Devemos observar que a validação cruzada é utilizada para ajustar os parâmetros do modelo</p><p>apenas com o conjunto de dados de treinamento original. Portanto, o conjunto de dados de teste</p><p>que não estava relacionado com o conjunto de treinamento pode ser usado posteriormente para</p><p>verificar a taxa de acerto do método.</p><p>TREINAR COM MAIS DADOS</p><p>Consiste em coletar mais dados de treinamento, de modo que o modelo não se ajuste às amostras,</p><p>forçando, assim, que a máquina generalize o seu comportamento para classificar os dados de</p><p>entrada. Um cuidado que devemos tomar é fornecer dados que sejam relevantes para o</p><p>treinamento e sem ruído, pois, caso contrário, podemos prejudicar o aprendizado da máquina.</p><p>AUMENTAR OS DADOS</p><p>Apesar do nome da técnica ser semelhante ao da anterior, a ideia é aumentar a diversidade dos</p><p>dados relevantes. Por exemplo, no caso de imagens como dados de treinamento, podemos aplicar</p><p>operações inversão, translação, rotação, dimensionamento, alteração do brilho, adição de ruído</p><p>etc. sobre os dados relevantes que já estão na base de treinamento. Outras ações que podemos</p><p>fazer são:</p><p>Adicionar algum ruído aleatório ao conjunto de dados existente.</p><p>Produzir alguns novos dados com base na distribuição do conjunto de dados existente.</p><p> Atenção! Para visualização completa da tabela utilize a rolagem horizontal</p><p>Desse modo, o aumento de dados faz com que uma amostra fique um pouco diferente, ampliando,</p><p>assim, a diversidade conforme é processada pelo modelo.</p><p>REDUÇÃO DA COMPLEXIDADE OU</p><p>SIMPLIFICAÇÃO DE DADOS</p><p>Um dos motivos que levam ao overfitting pode estar relacionado à complexidade de um modelo.</p><p>Nesse caso, mesmo com grandes volumes de dados, o modelo ainda será sobreajustado</p><p>(overfitting) em relação ao conjunto de dados de treinamento. Isso ocorre porque o modelo</p><p>“aprende” o ruído dos dados, isto é, ele perde a capacidade de generalização e fica</p><p>superespecializado, perdendo, assim, seu valor prático. Então, é necessário que façamos a</p><p>redução de ruído para evitar o sobreajuste. Por exemplo, no caso da árvore de decisão — que é</p><p>uma das técnicas de aprendizado de máquina — existem algumas abordagens para evitar o</p><p>overfitting. Entre elas, destacam-se:</p><p>Pré-podas</p><p>Param o crescimento da árvore mais cedo, antes de classificar perfeitamente o conjunto de</p><p>treinamento.</p><p>Pós-poda</p><p>Permite que a árvore classifique perfeitamente o conjunto de treinamento e, em seguida, faz a pós-</p><p>poda da árvore.</p><p>De um modo geral, a abordagem de pós-poda produz resultados melhores do que a pré-poda. A</p><p>simplificação de um modelo também pode ter impacto na melhoria de seu desempenho.</p><p>REGULARIZAÇÕES L1 E L2</p><p>Essa técnica impõe que os pesos de uma rede assumam apenas valores pequenos, de modo que</p><p>a distribuição desses pesos seja mais regular. Isso é chamado de regularização de peso e é feito</p><p>pela adição de termos de penalização para a função de perda da rede que deve ser minimizada. As</p><p>duas versões populares desse método são:</p><p>REGULARIZAÇÃO L1</p><p>Regularização L1 – Também conhecida como mínimos desvios absolutos — do inglês Least</p><p>Absolute Deviations (LAD). A equação que descreve essa regularização é dada por:</p><p> Atenção! Para visualização completa da equação utilize a rolagem horizontal</p><p>Sendo que:</p><p>é o valor estimado, ou seja, o valor-alvo;</p><p>é o valor obtido pelo modelo;</p><p>representa os pesos do modelo;</p><p>é a função módulo, ou seja, retorna o valor absoluto; e</p><p>é um escalar (número) positivo.</p><p>A função é proporcional ao valor absoluto dos coeficientes de peso.</p><p>REGULARIZAÇÃO L2</p><p>Também conhecida como mínimos quadrados — do inglês: Least Square Errors (LSE). A</p><p>equação</p><p>que descreve essa regularização é dada por:</p><p> Atenção! Para visualização completa da equação utilize a rolagem horizontal</p><p>Em comparação com a regularização L1, a regularização L2 faz com que os modelos tendam a</p><p>priorizar o aprendizado de características com pesos pequenos. Isso significa que as</p><p>características menos importantes não serão ignoradas, apenas vão receber um peso</p><p>proporcionalmente menor. Apenas as características consideradas mais importantes, ou seja, as</p><p>que reduzem significativamente o valor da função objetivo vão receber pesos maiores.</p><p>JL1(W) = ∑m</p><p>i=1</p><p>∣∣ȳ</p><p>(i) −  y(i)∣∣ + λ||w||1,  ||w||1 = ∑n</p><p>j=1</p><p>∣∣wj∣∣ ,</p><p>ȳ</p><p>y</p><p>w</p><p>|. |</p><p>λ</p><p>JL1</p><p>JL2(W) = ∑m</p><p>i=1 (ȳ</p><p>(i) −  y(i))</p><p>2</p><p>+ λ||w||2,  ||w||2 = ∑n</p><p>j=1 wj</p><p>2</p><p>CLASSIFICADORES ENSEMBLE</p><p>Não há uma tradução do nome desse método para o português, por isso, se utiliza o nome em</p><p>inglês ensemble. Em alguns textos, ele também é chamado de comitê de learners, mistura de</p><p>especialistas ou sistemas de classificadores múltiplos. É uma técnica que combina as</p><p>previsões de vários modelos separados. Os dois métodos mais comuns de ensemble são:</p><p>Boosting</p><p>Neste método, os classificadores são considerados homogêneos e treinados de modo sequencial,</p><p>isto é, o aprendizado de um modelo depende do anterior, formando, assim, um aprendizado</p><p>evolutivo. Dessa forma, o modelo final incorpora, em tese, o aprendizado dos demais modelos e</p><p>suas previsões são otimizadas.</p><p>Bagging</p><p>Também conhecido como bootstrap aggregating. Neste método, os classificadores são</p><p>considerados homogêneos e treinados de modo independente. Em seguida, eles são combinados</p><p>em um único modelo, de modo a otimizar suas previsões.</p><p>PARADA ANTECIPADA</p><p>Quando treinamos, iterativamente, um modelo de aprendizado, temos a possibilidade de medir o</p><p>seu desempenho a cada iteração. O que normalmente ocorre é que o aprendizado do modelo</p><p>melhora até um certo número de iterações. A partir de determinado ponto, o modelo perde a</p><p>capacidade de generalizar o aprendizado e ainda pode começar a se superajustar (overfitting) aos</p><p>dados de treinamento. A parada antecipada, portanto, visa evitar que isso ocorra, interrompendo o</p><p>processo de treinamento antes que o modelo ultrapasse esse ponto.</p><p>Assim sendo, devemos ficar atentos ao processo de aprendizado de modelo, uma vez que ele</p><p>envolve, além do treinamento, a validação, os testes e o ajuste da máquina. Essa atenção é</p><p>necessária porque o modelo pode ficar superajustado aos dados de treinamento, o que chamamos</p><p>de overfitting, ou, ao contrário, ficar subajustado, o que chamamos de underfitting.</p><p>No caso de modelos de regressão linear e de máquina de suporte vetorial (SVM), precisamos</p><p>adicionar regularização. Em modelos de árvore de decisão, podemos limitar a profundidade</p><p>máxima para evitar o overfitting.</p><p>AJUSTES COMUNS AOS DADOS PARA</p><p>ADEQUAÇÃO DE MODELO</p><p>No vídeo a seguir, abordamos a validação cruzada, o treinamento com mais dados, o aumento de</p><p>dados e as regularizações L1 e L2.</p><p>VERIFICANDO O APRENDIZADO</p><p>1. O APRENDIZADO DE MÁQUINA SUPERVISIONADO É MUITO ÚTIL EM</p><p>CENÁRIOS EM QUE PODEM SER FEITAS GENERALIZAÇÕES. POR</p><p>GENERALIZAÇÕES, ENTENDE-SE QUE OS RESULTADOS SÃO</p><p>PROBABILÍSTICOS, COMO NO CASO DE RECONHECIMENTO DE IMAGENS.</p><p>NO ENTANTO, É POSSÍVEL QUE O MODELO NÃO TENHA ESSA</p><p>PROPRIEDADE. A RESPEITO DAS CARACTERÍSTICAS DOS MODELOS DE</p><p>APRENDIZADO DE MÁQUINA SUPERVISIONADO, ASSINALE A</p><p>ALTERNATIVA CORRETA.</p><p>A) Modelos de aprendizado supervisionado são muito sensíveis ao cenário em que são aplicados,</p><p>portanto, quando um modelo falha, o ideal é utilizar outro método de treinamento.</p><p>B) Um dos problemas que pode ocorrer em um modelo é o underfitting, caracterizado por uma</p><p>superespecialização nos dados de validação.</p><p>C) Sempre que for identificada uma falha na previsão de um modelo, é necessário aumentar a</p><p>quantidade de iterações de treinamento.</p><p>D) Por se tratar de modelos probabilísticos, os erros de previsão cometidos por um modelo não são</p><p>considerados falhas.</p><p>E) Uma forma eficiente de prevenir que o modelo fique superespecializado nos dados de</p><p>treinamento é a realização de ajustes nos seus parâmetros de treinamento.</p><p>2. O TREINAMENTO DE UM MODELO DE APRENDIZADO DE MÁQUINA</p><p>SUPERVISIONADO ENVOLVE DIVERSAS ETAPAS. CADA UMA DELAS TEM</p><p>UM PAPEL IMPORTANTE PARA QUE O MODELO POSSA SER UTILIZADO NA</p><p>PRÁTICA. UM DOS PROBLEMAS QUE PODE OCORRER COM UM MODELO É</p><p>QUE ELE SEJA EFICIENTE APENAS PARA OS DADOS DE TREINAMENTO.</p><p>ACERCA DAS FORMAS DE EVITAR QUE OS MODELOS DE APRENDIZADO</p><p>DE MÁQUINA SUPERVISIONADO FIQUEM SUPERESPECIALIZADOS,</p><p>ASSINALE A ALTERNATIVA CORRETA:</p><p>A) A superespecialização é prejudicial para os modelos de aprendizado de máquina</p><p>supervisionado, pois o modelo se torna incapaz de funcionar bem para qualquer entrada de dados.</p><p>B) A redução dos dados de treinamento auxilia o modelo na captura de características realmente</p><p>relevantes e, assim, aumenta a sua taxa de acerto.</p><p>C) Nos problemas que envolvam imagens, pode-se aplicar operações matriciais que aumentem a</p><p>diversidade dos dados de treinamento.</p><p>D) Em problemas de reconhecimento de imagens, deve-se transformar as cores para tons de</p><p>cinza, de modo a reduzir o ruído nos dados de treinamento.</p><p>E) Modelos de aprendizado supervisionado são orientados a funções de custo que podem ser</p><p>regularizadas pelo método de validação cruzada.</p><p>GABARITO</p><p>1. O aprendizado de máquina supervisionado é muito útil em cenários em que podem ser</p><p>feitas generalizações. Por generalizações, entende-se que os resultados são probabilísticos,</p><p>como no caso de reconhecimento de imagens. No entanto, é possível que o modelo não</p><p>tenha essa propriedade. A respeito das características dos modelos de aprendizado de</p><p>máquina supervisionado, assinale a alternativa correta.</p><p>A alternativa "E " está correta.</p><p>A superespecialização de um modelo pode ocorrer quando não há diversidade nos dados de</p><p>treinamento, reduzindo, assim, a utilidade do modelo. Uma das formas de prevenir esse tipo de</p><p>situação é aumentar a aleatoriedade dos dados por meio de um algoritmo para essa finalidade, por</p><p>exemplo, o de validação cruzada.</p><p>2. O treinamento de um modelo de aprendizado de máquina supervisionado envolve</p><p>diversas etapas. Cada uma delas tem um papel importante para que o modelo possa ser</p><p>utilizado na prática. Um dos problemas que pode ocorrer com um modelo é que ele seja</p><p>eficiente apenas para os dados de treinamento. Acerca das formas de evitar que os modelos</p><p>de aprendizado de máquina supervisionado fiquem superespecializados, assinale a</p><p>alternativa correta:</p><p>A alternativa "C " está correta.</p><p>A diversidade dos dados é importante para evitar que um modelo fique superespecializado.</p><p>Quando for pertinente, é interessante aplicar operações matriciais nos dados de treinamento, pois,</p><p>desse modo, o modelo terá um conjunto maior de dados para ser treinado.</p><p>MÓDULO 3</p><p> Descrever os ajustes comuns aos dados para adequação de modelos de agrupamento</p><p>CONCEITOS SOBRE OS ALGORITMOS DE</p><p>AGRUPAMENTO</p><p>Em muitos problemas práticos, temos que explorar um conjunto de dados para encontrar padrões</p><p>para classificá-los em grupos, sem, no entanto, dispor de nenhum rótulo para esses dados. Esse</p><p>tipo de problema faz parte do escopo dos métodos de aprendizado não supervisionado,</p><p>caraterizados exatamente por não terem um conjunto de dados rotulados para treinar o algoritmo.</p><p>Os problemas de agrupamento, também chamados de clusterização, têm diversas aplicações</p><p>práticas, tais como (BERRY; LINOFF, 1996):</p><p>ENCONTRAR SEGMENTOS DE CLIENTES</p><p>Dessa forma, o desenvolvimento de uma estratégia de vendas torna-se mais eficiente.</p><p>DETECTAR PADRÕES DE APRENDIZADO ESCOLAR</p><p>Por meio da compreensão da análise de desempenho escolar em diversas disciplinas, é possível</p><p>direcionar uma estratégia de ensino que auxilie os estudantes a superar deficiências comuns.</p><p>IDENTIFICAR GRUPOS DE RISCO</p><p>Cada organismo reage de uma forma diferente à exposição a determinadas vetores de doenças,</p><p>no entanto, com a identificação de padrões comuns podemos observar de forma</p><p>mais adequada</p><p>segmentos da sociedade e fornecer análises mais focadas para que os especialistas possam fazer</p><p>estudos e propostas com maiores chances de sucesso.</p><p>Esses são apenas alguns exemplos de aplicações dos métodos de agrupamento, pois podemos</p><p>encontrar muitos outros: na Biologia, em que existe uma taxonomia para fazer a classificação</p><p>hierárquica dos seres vivos; na recuperação de informação aplicada às buscas na internet, em que</p><p>os resultados de pesquisa podem ser agrupados em um aspecto específico da consulta.</p><p>Podemos encontrar exemplos, ainda, para encontrar padrões na atmosfera e no oceano, que é</p><p>fundamental para estudos climáticos, além de áreas da Psicologia e Medicina. E poderíamos falar</p><p>sobre muitos outros exemplos.</p><p>Como vimos, são muitas as situações práticas em que podemos aplicar métodos de agrupamento.</p><p>E quais são os motivos que nos levam a utilizar a análise de agrupamentos?</p><p>Devemos notar que um grupo é uma forma muito eficiente de representar um conjunto de dados.</p><p>Isso ocorre porque o grupo fornece informações sobre as características dos dados.</p><p>Portanto, os elementos que estão no mesmo grupo possuem semelhanças nos aspectos que</p><p>impomos para o algoritmo de agrupamento levar em consideração. Essa ideia de</p><p>representatividade nos ajuda a definir uma classe de dados que funciona como um protótipo do</p><p>agrupamento, ou seja, encontrar características que melhor representem um conjunto de dados.</p><p>Além disso, os métodos de agrupamento nos ajudam a analisar os dados sob os seguintes</p><p>aspectos:</p><p>REPRESENTATIVIDADE EFICIENTE</p><p>Em muitas situações reais, precisamos trabalhar com grande quantidade de dados. Para evitarmos</p><p>espera excessiva para analisar os resultados de um algoritmo, podemos fazer um trabalho de pré-</p><p>análise e selecionar um subconjunto de dados representativos do todo, para que o algoritmo possa</p><p>fazer o processamento e encontrar grupos. Essa etapa inicial não é simples, e ela irá influenciar os</p><p>resultados do método; por outro lado, se for feita com qualidade, ela pode poupar bastante tempo e</p><p>resultar em grupos compatíveis aos que seriam obtidos se tivéssemos usado todos os dados.</p><p>COMPRESSÃO</p><p>Em alguns casos, em que os dados são muito parecidos entre si, como em problemas de análise</p><p>de dados de imagem, som e vídeo, os grupos, representados por classes de grupo, podem ser</p><p>usados para compactar esses dados. A ideia é aplicar o algoritmo de agrupamento, em seguida,</p><p>criar uma classe que represente os grupos e, depois, criar uma tabela que relacione os dados</p><p>agrupados com seus respectivos grupos. Esse tipo de compressão é conhecido como quantização</p><p>vetorial. É aceitável que a classe que representa o grupo tenha uma perda de informação que, se</p><p>for necessária, pode ser acessada em qualquer momento na base de dados que foi utilizada pelo</p><p>algoritmo.</p><p>LOCALIZAÇÃO EFICIENTE</p><p>Ao encontrarmos os grupos representativos para um conjunto de dados, podemos fazer buscas</p><p>mais eficientes por um determinado dado, pois, ao invés de pesquisarmos pelo dado em si, em</p><p>uma base que pode ser muito grande, passamos a pesquisar pela tabela de grupos e, ao</p><p>localizarmos o grupo, continuamos a pesquisa em um subconjunto de dados onde está</p><p>armazenado o que procuramos.</p><p>Existem outras situações em que já aplicamos um algoritmo de agrupamentos e queremos analisar</p><p>dados que não foram processados. Nesse caso, também podemos usar os resultados que já</p><p>obtivemos, mas precisamos aplicar o conceito de proximidade que calcula o quão próximo um</p><p>dado não processado está de um determinado grupo.</p><p>COMO MEDIR DISTÂNCIAS E SIMILARIDADES</p><p>Um aspecto fundamental nos algoritmos de agrupamentos é a noção de distância, ou seja, como</p><p>podemos medir de forma objetiva a proximidade entre elementos para poder decidir se eles devem</p><p>ou não estar em um determinado grupo. Por exemplo, vamos observar a imagem a seguir:</p><p>Imagem: Sérgio Assunção Monteiro</p><p> Exemplo de agrupamentos.</p><p>Na imagem anterior, temos um total de 16 elementos. Cada um possui duas características que</p><p>são representadas numericamente nos eixos horizontal e vertical. Por exemplo, o elemento A</p><p>possui duas características dadas pelo par ordenado (7,3).</p><p>Vemos ainda que os elementos estão reunidos em dois grupos.</p><p>Mas qual foi o critério que usamos para fazer esse agrupamento?</p><p>Intuitivamente, percebemos que os elementos de um mesmo grupo estão mais próximos entre si</p><p>do que dos elementos de outro grupo. Essa noção de proximidade é a base dos algoritmos de</p><p>agrupamento. A medida mais comumente utilizada para comparar conjuntos de dados é a distância</p><p>euclidiana, mas existem outras medidas chamadas de similaridade. Vamos analisar um pouco mais</p><p>algumas das principais medidas de distâncias e similaridade:</p><p>Distância euclidiana</p><p>Mede a distância entre dois pontos: x e y. Sua fórmula é dada por:</p><p> Atenção! Para visualização completa da equação utilize a rolagem horizontal</p><p>Sendo que:</p><p>O índice k representa a k-ésima característica.</p><p>d(x, y) = (∑n</p><p>k=1 (xk  −  yk)</p><p>2)</p><p>1/2</p><p>n representa a quantidade de características.</p><p>Para assimilarmos melhor o conceito, vamos supor que temos dois pontos: x e y, cada um deles</p><p>com três características. O ponto x é definido por (1,4,5) e o ponto y é dado por (1, 1, 1). Portanto,</p><p>n é dado por 3, que é a quantidade de características dos pontos.</p><p>Em seguida, precisamos calcular a distância euclidiana entre x e y, que é obtida por meio do</p><p>seguinte cálculo:</p><p> Atenção! Para visualização completa da equação utilize a rolagem horizontal</p><p>Que significa dizer que os pontos x e y tem distância euclidiana igual a 5 unidades de valor.</p><p>Similaridade cosseno</p><p>É usada para calcular a similaridade entre dois vetores. Ela é bastante útil para recuperação de</p><p>informação.</p><p>Um exemplo disso ocorre quando efetuamos buscas por palavras em dois documentos. Quanto</p><p>mais próximo de 1, maior é a semelhança entre os dois documentos. Sua fórmula é dada por:</p><p>Sendo que a função || .|| é chamada de norma. A norma mais usada é a 2, cuja fórmula é dada por:</p><p>Onde n é o comprimento do vetor z. Vamos usar o exemplo anterior com x = (1, 4, 5) e y = (1, 1, 1).</p><p>Agora, precisamos fazer alguns cálculos. Vamos começar pelos cálculos de , e , onde</p><p>obtemos:</p><p>></p><p> Atenção! Para visualização completa da equação utilize a rolagem horizontal</p><p>d(x, y) = ((x1  −  y1)</p><p>2</p><p>+ (x2  −  y2)</p><p>2</p><p>+ (x3  −  y3)</p><p>2)</p><p>1/2</p><p>d(x, y) = ((1  −  1)2 + (4  −  1)2 + (5  −  1)2)</p><p>1/2</p><p>d(x, y) = ((0)2 + (3)2 + (4)2)</p><p>1/2</p><p>= (25)</p><p>1/2 = 5</p><p>s(x, y) =</p><p>xty</p><p>||x|| ||y||</p><p>∣</p><p>∣</p><p>∣</p><p>∣z</p><p>∣</p><p>∣</p><p>∣</p><p>∣ = (∑n</p><p>k=1 zk</p><p>2)</p><p>1/2</p><p>||x|| ||y|| xty</p><p>∣</p><p>∣</p><p>∣</p><p>∣x</p><p>∣</p><p>∣</p><p>∣</p><p>∣ = (x1</p><p>2 + x2</p><p>2 + x3</p><p>2)</p><p>1/2</p><p>= (12 + 42 + 52)</p><p>1/2</p><p>≈ 6,48</p><p>∣</p><p>∣</p><p>∣</p><p>∣y</p><p>∣</p><p>∣</p><p>∣</p><p>∣ = (y1</p><p>2 + y2</p><p>2 + y3</p><p>2)</p><p>1/2 = (12 + 12 + 12)</p><p>1/2</p><p>≈ 1,73</p><p>xty  =  x1y1 + x2y2 + x3y3 = (1)(1) + (4)(1) + (5)(1) = 10</p><p>Por fim, calculamos a similaridade cosseno s(x,y):</p><p> Atenção! Para visualização completa da equação utilize a rolagem horizontal</p><p>Similaridade de Jaccard</p><p>Mede a similaridade entre dois conjuntos. A fórmula é dada por:</p><p> Atenção! Para visualização completa da equação utilize a rolagem horizontal</p><p>Sendo que vai estar entre 0 e 1 e a função representa a cardinalidade de um</p><p>conjunto, ou seja, quantos elementos o conjunto possui.</p><p>Vamos analisar um exemplo para entender melhor como funciona essa distância. Consideremos os</p><p>conjuntos A e B dados por e . Agora, temos:</p><p> Atenção! Para visualização completa da equação utilize a rolagem horizontal</p><p>Portanto, podemos calcular J(A,B):</p><p>s(x, y) =   ≈ 0,8910</p><p>(6,48)(1,73)</p><p>J(A,B)= =</p><p>|A∩B |</p><p>|A∪B |</p><p>|A∩B |</p><p>|A | + |B | − |A∩B |</p><p>J(A,B) | . |</p><p>A = {1,  5,  casa,  dia}  B = {3,  5,  casa,  noite}</p><p>A ∩ B  =  {1,  5,  casa,  dia}  ∩  {3,  5,  casa,  noite}  =  { 5,  casa}</p><p>|A ∩ B|= 2</p><p>|A|= 4</p><p>|B|= 4</p><p>|A ∪ B|  =  |A|  +  |B|  −  |A ∩ B|  =  4  +  4 –  2  =  6</p><p>J(A,B)= ≈ 0,332</p><p>6</p><p>TIPOS DE AGRUPAMENTOS</p><p>Quando temos um conjunto de grupos, chamamos de agrupamento, ou, ainda, de clusterização;</p><p>apesar dessa última forma não existir na língua portuguesa, ela é bastante usada como uma</p><p>referência</p><p>à palavra da língua inglesa “clustering”.</p><p>Temos alguns tipos de agrupamentos, entre eles destacamos os seguintes métodos:</p><p>Hierárquicos</p><p>Faz o agrupamento de objetos semelhantes em uma estrutura hierárquica. A sua principal</p><p>representação é feita por meio de um dendrograma, como podemos ver na imagem seguinte.</p><p>Na figura, podemos notar, por exemplo, que os elementos a e b estão no mesmo grupo.</p><p>Imagem: Sérgio Assunção Monteiro</p><p> Exemplo de dendrograma.</p><p>Método particional</p><p>É um dos métodos mais utilizados e mais intuitivo. Ele faz a divisão dos objetos em k grupos que</p><p>são excludentes, ou seja, não sobrepostos. Em outras palavras, nenhum objeto pode ser membro</p><p>de mais de um grupo.</p><p>Baseados em densidade</p><p>Os grupos são formados a partir da concentração de características em determinadas regiões. Por</p><p>exemplo, na imagem, temos um exemplo de agrupamento baseado em densidade, em que os</p><p>pontos se concentram nas regiões verde e azul.</p><p>Imagem: Chire / Wikipedia Commons / CC BY-SA 3.0</p><p> Exemplo de um agrupamento baseado em densidade.</p><p>Baseados em grade</p><p>Os dados são agrupados em uma estrutura de dados que representa uma grade de células.</p><p>Dessa forma, os dados são distribuídos nessas células e, a partir disso, é feito o agrupamento.</p><p>Baseados em modelos</p><p>Neste método, é necessário criar um modelo matemático que representa aspectos conceituais</p><p>esperados dos dados. Portanto, os dados são agrupados conforme satisfaçam os critérios do</p><p>modelo conceitual.</p><p>BASEADOS EM REDES NEURAIS</p><p>Utilizam modelos de redes chamados de auto-organizáveis (em inglês: self-organizing feature</p><p>maps) ou, ainda, de memórias associativas de filtro competitiva, ou redes de Kohonen. A rede é</p><p>estruturada para ativar determinados neurônios quando os dados satisfazem algumas condições.</p><p>Esse modelo utiliza os conceitos de competição, cooperação e adaptação sináptica para agrupar</p><p>os dados.</p><p>BASEADOS EM LÓGICA FUZZY</p><p>Neste método, os elementos podem ser associados a mais de um grupo. Por essa característica,</p><p>são chamados de métodos não hard, que significa dizer que não é um método rígido. Ele utiliza</p><p>uma função de pertinência, que é uma medida de probabilidade que corresponde ao grau de um</p><p>elemento pertencer a um determinado grupo.</p><p>javascript:void(0)</p><p>javascript:void(0)</p><p>Baseados em kernel</p><p>Faz uma transformação dos dados de entrada, de modo que seja mais fácil de trabalhar. Para isso,</p><p>esse método utiliza funções kernel, que projetam os dados originais em outro espaço, onde os</p><p>dados podem ser separados linearmente. Na imagem a seguir, mostramos um exemplo de</p><p>agrupamentos obtidos sem e com o uso de função kernel.</p><p>Imagem: Sérgio Assunção Monteiro</p><p> Exemplo de agrupamentos - (a) não usa função kernel; (b) usa função kernel.</p><p>Baseados em grafos</p><p>Este método utiliza um grafo para representar o agrupamento dos elementos. Um grafo G é um</p><p>modelo matemático que pode ser formalizado como G = (V,A), onde V é um conjunto de vértices e</p><p>A é um conjunto de arestas que relaciona os vértices dos grafos entre si. O método utiliza os</p><p>vértices para representar os elementos que devem ser agrupados e as arestas representam a</p><p>relação entre os elementos, em que o peso da aresta é a medida de similaridade entre os</p><p>elementos.</p><p>Baseados em computação evolucionária</p><p>Utiliza métodos como o de algoritmos genéticos, que são baseados na reprodução genética para</p><p>representar os dados como cromossomos e genes.</p><p>ASPECTOS DESEJÁVEIS DOS GRUPOS</p><p>O principal objetivo dos métodos de agrupamento é encontrar grupos significativos, que capturem</p><p>as características dos elementos que sejam úteis para desenvolver estratégias de exploração dos</p><p>dados e, mais adiante, dar suporte para a tomada de decisão. Portanto, precisamos abordar alguns</p><p>aspectos práticos, tais como:</p><p>APRESENTAR UMA BOA SEPARAÇÃO</p><p>Quando construímos grupos, temos por meta reunir elementos que tenham características</p><p>semelhantes entre si.</p><p>Para fazer isso, aplicamos um método de agrupamento – e, como vimos, existem muitos métodos</p><p>disponíveis – que faça uso de alguma medida de distância ou similaridade para comparar os</p><p>elementos entre si.</p><p>Portanto, para quaisquer dois pontos que estejam em grupos diferentes, a distância entre eles</p><p>deve ser maior do que a distância para quaisquer dois pontos dentro do mesmo grupo.</p><p>OS GRUPOS DEVEM SER REPRESENTATIVOS</p><p>Os grupos precisam reunir características que funcionem como uma representação adequada dos</p><p>elementos. Como vimos, isso é necessário para explicar os dados de uma forma resumida – o que</p><p>é bastante útil na análise exploratória dos dados – e para otimizar consultas, uma vez que – se os</p><p>grupos forem bons representantes dos elementos – a pesquisa é feita pelo grupo e, depois de</p><p>encontrado, podemos procurar o elemento em um subconjunto mais focado. Às vezes, pode não</p><p>ficar claro o quanto isso é importante, pois é natural pensarmos que, pelo fato de dispormos de</p><p>recursos tecnológicos mais avançados, podemos dispensar a preocupação com o uso eficiente dos</p><p>algoritmos, mas isso é um engano. As consultas são, essencialmente, as operações executadas</p><p>com maior frequência; além disso, vivemos a era do Big Data, em que as bases de dados são cada</p><p>vez maiores e complexas.</p><p>PRINCIPAIS ALGORITMOS DE</p><p>AGRUPAMENTOS</p><p>Como vimos até agora, existem diversos tipos de algoritmos de agrupamentos. Características, tais</p><p>como se um elemento pode ou não ficar em mais de um grupo e qual o tipo de modelo em que o</p><p>algoritmo se baseia, são usadas para fazer a distinção entre os métodos. Apesar dessa diversidade</p><p>de métodos, alguns dos algoritmos de agrupamentos mais conhecidos são (HENNIG et al., 2015):</p><p>K-MEANS</p><p>javascript:void(0)</p><p>Este é o principal método para fazer agrupamentos. Ele usa o conceito de centroides para verificar</p><p>em qual grupo um elemento está mais próximo. Neste método, precisamos fornecer a quantidade</p><p>de grupos, para que o algoritmo possa fazer o seu processamento.</p><p>AGRUPAMENTO HIERÁRQUICO AGLOMERATIVO</p><p>O método inicia com cada elemento sendo um grupo. Em seguida, ele verifica a proximidade entre</p><p>os grupos e reúne os mais próximos em um novo grupo. O processo de verificação de proximidade</p><p>e agrupamento é repetido até que haja apenas um grupo que reúne todos os elementos.</p><p>DBSCAN</p><p>Neste método, o número de grupos é determinado automaticamente. Ele é um algoritmo de</p><p>agrupamento baseado em densidade. Outra caraterística que o distingue dos métodos anteriores é</p><p>que pode ocorrer em alguns pontos que não sejam agrupados, no caso em eles estejam em</p><p>regiões de baixa densidade.</p><p>Agora, vamos analisar esses métodos com mais detalhes.</p><p>K-MEANS</p><p>A ideia desse método é muito simples e bastante eficaz para fazer agrupamentos. Inicialmente,</p><p>devemos fornecer a quantidade de grupos que desejamos obter. Esse valor é representado pela</p><p>letra K – que faz parte do nome do método.</p><p>Os grupos são associados a centroides que são os pontos médios dos elementos que estão dentro</p><p>do grupo – aí está a outra parte do nome do método: K-Means ou K-Médias.</p><p>Em seguida, o algoritmo verifica qual a proximidade dos elementos em relação aos centroides.</p><p>Caso algum elemento esteja mais próximo do centroide de outro grupo, o elemento é removido</p><p>para o grupo do qual ele está mais próximo e o algoritmo recalcula os centroides. Esse processo é</p><p>repetido até que uma condição de parada seja satisfeita, a qual pode ser uma medida de</p><p>aproximação dos elementos aos seus respectivos centroides ou limitação da quantidade de</p><p>iterações ou de tempo de execução.</p><p>A seguir, formalizamos o algoritmo de K-Means:</p><p>PASSO 1</p><p>javascript:void(0)</p><p>javascript:void(0)</p><p>javascript:void(0)</p><p>Fornecer a quantidade K de grupos;</p><p>PASSO 2</p><p>Fornecer uma solução inicial que distribua os elementos nos K grupos;</p><p>PASSO 3</p><p>Calcular os K centróides;</p><p>PASSO 4</p><p>Associar cada elemento ao centróides do qual ele estiver mais próximo;</p><p>PASSO 5</p><p>Verificar a distância de cada ponto aos demais centróides e se o elemento estiver mais próximo de</p><p>outros centroides, associá-lo ao qual ele estiver mais próximo;</p><p>PASSO 6</p><p>Caso a condição</p><p>de parada não seja satisfeita, voltar para o passo 1.</p><p>O K-Means é sensível à distribuição inicial dos elementos nos K grupos que ocorre no passo 2. Por</p><p>isso, podemos executar o algoritmo para rodar algumas vezes com soluções iniciais diferentes e</p><p>utilizarmos a melhor resposta.</p><p>O cálculo de um determinado centroide é dado por:</p><p>Sendo que:</p><p>cj representa o j-ésimo centroide dos elementos do grupo.</p><p>mj é a quantidade de elementos do grupo j.</p><p>cj = ∑</p><p>x∈Cj</p><p>x1</p><p>mj</p><p>javascript:void(0)</p><p>javascript:void(0)</p><p>javascript:void(0)</p><p>javascript:void(0)</p><p>javascript:void(0)</p><p>Cj é o conjunto de elementos que estão no grupo j.</p><p>AGRUPAMENTO HIERÁRQUICO AGLOMERATIVO</p><p>Esse método é uma das categorias mais importantes dos algoritmos de agrupamentos. A ideia</p><p>básica é começar os grupos com apenas um elemento e, sucessivamente, combinar os grupos aos</p><p>pares mais próximos, formando novos grupos até que haja apenas um grupo. A seguir,</p><p>apresentamos o algoritmo básico de agrupamento hierárquico aglomerativo:</p><p>PASSO 1</p><p>Associar cada elemento a um grupo.</p><p>PASSO 2</p><p>Calcular a matriz de proximidade para os grupos.</p><p>PASSO 3</p><p>Agrupar os dois grupos mais próximos em um novo grupo.</p><p>PASSO 4</p><p>Se restar apenas um grupo, terminar o processamento. Caso contrário, voltar para o passo 2.</p><p>A parte mais importante desse método é o cálculo da proximidade entre dois grupos.</p><p>Devemos nos lembrar de que um elemento pode possuir diversas características que nos permite</p><p>calcular a distância ou o grau de similaridade com outros elementos. Por exemplo, vamos</p><p>considerar três pontos dados por x=(5; 2; 3), y =(3; 1; 3) e z=(1; 4; 1). Agora, precisamos calcular</p><p>as distâncias entre os pontos x e y, x e z e y e z:</p><p>d(x, y) = ((5  −  3)</p><p>2</p><p>+ (2  −  1)</p><p>2</p><p>+ (3  − 3)</p><p>2)</p><p>1/2</p><p>≈ 2,24</p><p>d(x, z) = ((5  −  1)2 + (2  −  4)2 + (3  − 1)2)</p><p>1/2</p><p>≈ 4, 90</p><p>javascript:void(0)</p><p>javascript:void(0)</p><p>javascript:void(0)</p><p>javascript:void(0)</p><p> Atenção! Para visualização completa da equação utilize a rolagem horizontal</p><p>Em seguida, obtemos a matriz de proximidades:</p><p>x y z</p><p>x 0 2,24 4,90</p><p>y 2,24 0 4,12</p><p>z 4,90 4,12 0</p><p> Atenção! Para visualização completa da tabela utilize a rolagem horizontal</p><p>Tabela: Matriz de proximidades.</p><p>Elaborada por: Sérgio Assunção Monteiro.</p><p>Da nossa análise, concluímos que os pontos mais próximos são x e y, que ficarão no mesmo</p><p>grupo. Podemos observar, ainda, que a matriz de proximidades é simétrica e os valores da</p><p>diagonal principal são iguais a zero.</p><p>DBSCAN</p><p>Esse método é baseado na análise da densidade da região em que os elementos se encontram.</p><p>Ele utiliza dois conceitos principais:</p><p>Quantidade mínima de pontos na vizinhança de um ponto.</p><p>Raio da vizinhança de um ponto que representa a maior distância possível entre dois</p><p>pontos para que ainda sejam considerados vizinhos.</p><p>Com esses parâmetros estabelecidos, os elementos são classificados em uma das três situações:</p><p>d(y, z) = ((3  −  1)2 + (1  −  4)2 + (3  − 1)2)</p><p>1/2</p><p>≈ 4, 12</p><p>PONTOS CENTRAIS</p><p>São os elementos que estão no interior de um grupo, ou seja, aqueles próximos dos seus vizinhos</p><p>e, além disso, possuem uma quantidade mínima de vizinhos.</p><p>PONTOS DE FRONTEIRA</p><p>Também chamados de pontos de borda, ou de pontos de amostras não centrais. Eles não</p><p>satisfazem o critério de quantidade mínima de pontos vizinhos, mas estão no raio de alcance de,</p><p>pelo menos, um ponto central.</p><p>PONTOS DE RUÍDO</p><p>É qualquer ponto que não seja central, nem de fronteira. São os outliers, ou seja, pontos muito</p><p>diferentes dos demais elementos.</p><p>A ideia básica do algoritmo DBSCAN é colocar no mesmo grupo quaisquer dois pontos centrais</p><p>que satisfaçam a condição de proximidade. De forma semelhante, os pontos de fronteira que</p><p>estejam próximos o suficiente de um ponto central são colocados no mesmo grupo. No caso de</p><p>empates, o ponto de fronteira vai para o grupo em que ele estiver mais próximo do ponto central.</p><p>Os pontos de ruído são descartados.</p><p>A seguir, formalizamos o algoritmo DBSCAN:</p><p>PASSO 1</p><p>Rotular todos os pontos como pontos centrais, de borda ou de ruído, conforme os critérios de</p><p>proximidade e quantidade mínima de vizinhos.</p><p>PASSO 2</p><p>Eliminar os pontos de ruído.</p><p>PASSO 3</p><p>Agrupar os pontos centrais pelo critério de proximidade.</p><p>PASSO 4</p><p>javascript:void(0)</p><p>javascript:void(0)</p><p>javascript:void(0)</p><p>javascript:void(0)</p><p>javascript:void(0)</p><p>javascript:void(0)</p><p>javascript:void(0)</p><p>Agrupar os pontos de fronteira a um dos grupos de seus pontos centrais associados.</p><p>Devemos observar que, nesse método, um ponto pode estar em mais de um grupo. Quando essa</p><p>característica ocorrer, o método de agrupamento é chamado de suave; e, nos casos em que um</p><p>ponto só pode pertencer a um único grupo, o método é chamado de rígido.</p><p>AJUSTES COMUNS AOS DADOS PARA</p><p>ADEQUAÇÃO DE MODELOS DE</p><p>AGRUPAMENTO</p><p>São muitas as situações nas quais podemos aplicar métodos de agrupamentos para entender</p><p>melhor as características dos dados e avançarmos no processo de análise e de tomada de</p><p>decisão. Como vimos, temos à disposição vários algoritmos que fazem abordagens diferentes, mas</p><p>que têm o mesmo objetivo: agrupar os elementos por meio das semelhanças de suas</p><p>características. Antes de aplicarmos os algoritmos, no entanto, precisamos fazer alguns</p><p>tratamentos dos dados para ajustá-los. Pode ser que também seja necessário realizar o processo</p><p>de ajuste depois de executar um algoritmo de agrupamento. Vamos analisar alguns desses</p><p>tratamentos.</p><p>DADOS NUMÉRICOS X CATEGÓRICOS</p><p>O primeiro aspecto que devemos considerar é transformar dados categóricos em numéricos. Em</p><p>geral, esse processo é simples, sendo necessário fazer um mapeamento das categorias para</p><p>números, normalmente, inteiros. Isso pode ser formalizado por meio de uma função:</p><p>Onde x é um dado categórico e y é um dado numérico.</p><p>Como exemplo, vamos usar a situação em que temos de analisar três elementos, denominados de</p><p>A, B e C, com as características de massa e cor, como podemos ver na tabela a seguir.</p><p>f(x) = y</p><p>Elemento Massa (kg) Cor</p><p>A 10 Amarelo</p><p>B 15 Azul</p><p>C 20 Amarelo</p><p> Atenção! Para visualização completa da tabela utilize a rolagem horizontal</p><p>Tabela: Dados originais.</p><p>Elaborada por: Sérgio Assunção Monteiro</p><p>Vamos transformar os dados categóricos em números. A função de transformação que usamos é</p><p>dada por:</p><p>Aplicando a função de transformação nos dados originais, obtemos a seguinte de dados</p><p>numéricos.</p><p>Elemento Massa (kg) Cor</p><p>A 10 1</p><p>B 15 2</p><p>C 20 1</p><p> Atenção! Para visualização completa da tabela utilize a rolagem horizontal</p><p>f(Amarelo)= 1</p><p>f(Azul)= 2</p><p>Tabela: Dados transformados.</p><p>Elaborada por: Sérgio Assunção Monteiro.</p><p>NORMALIZAÇÃO DOS DADOS</p><p>Quando estudamos a função de distância entre dois pontos, vimos que os valores das</p><p>características dos elementos são utilizados para obter as distâncias entre eles. Por exemplo,</p><p>vamos aplicar a função de distância euclidiana no conjunto de dados da tabela a seguir, em que os</p><p>elementos possuem as características: valor de venda e superfície.</p><p>Elemento Valor de Venda (R$) Superfície (m2)</p><p>A 1.000.000 60</p><p>B 150.000 200</p><p>C 750.000 70</p><p> Atenção! Para visualização completa da tabela utilize a rolagem horizontal</p><p>Tabela: Exemplo de dados.</p><p>Elaborada por: Sérgio Assunção Monteiro.</p><p>Podemos ver que os valores das duas características estão em escalas diferentes. Para equilibrar</p><p>a comparação entre elas, utilizamos uma técnica chamada de normalização dos dados, que</p><p>consiste na mudança de escala dos valores das características. Vamos aplicar a normalização aos</p><p>dados da tabela anterior. Para isso, calculamos as normas das características Valor de Venda e</p><p>Superfície por meio da seguinte sequência de passos:</p><p> Atenção! Para visualização completa da equação utilize a rolagem horizontal</p><p>||Valor   de   Venda||= ((1.000.000)2 + (150.000)2 + (750.000)2)</p><p>1/2</p><p>≈ 1.258.967,83</p><p>∣</p><p>∣</p><p>∣</p><p>∣</p><p>∣</p><p>∣</p><p>Superfície</p><p>∣</p><p>∣</p><p>∣</p><p>∣</p><p>∣</p><p>∣</p><p>= ((60)2 + (200)2 + (70)2)</p><p>1/2</p><p>≈ 220.23</p><p>Dividimos os valores das colunas pelas respectivas normas e obtemos a tabela a seguir.</p><p>Elemento</p><p>Valor de Venda (R$)</p><p>[Normalizado]</p><p>Superfície (m2)</p><p>[Normalizado]</p><p>A 0,79 0,27</p><p>B 0,11 0,91</p><p>C 0,59 0,32</p><p> Atenção! Para visualização completa da tabela utilize a rolagem horizontal</p><p>Tabela: Dados normalizados.</p><p>Elaborada por: Sérgio Assunção Monteiro.</p><p>Como podemos ver na tabela anterior, os dados estão na mesma escala.</p><p>PADRONIZAÇÃO DOS DADOS</p><p>É uma técnica com um objetivo semelhante ao da normalização dos dados, que é transformar os</p><p>dados para a mesma ordem de grandeza. Ela é chamada de z-score e a sua fórmula é dada por:</p><p>Sendo que:</p><p>x representa o valor da característica de um determinado elemento;</p><p>μ representa a média dos valores de uma característica;</p><p>σ representa o desvio padrão dos valores de uma característica.</p><p>z =</p><p>x − μ</p><p>σ</p><p>Por exemplo, aplicando a padronização z-score para os dados da tabela Exemplo de dados,</p><p>obtemos a tabela com dados padronizados a seguir.</p><p>Elemento</p><p>Valor de Venda (R$)</p><p>[Padronizado]</p><p>Superfície (m2)</p><p>[Padronizado]</p><p>A 1.02799249 -0.78406256</p><p>B -1.35508101 1.41131261</p><p>C 0.32708852 -0.62725005</p><p> Atenção! Para visualização completa da tabela utilize a rolagem horizontal</p><p>Tabela: Dados padronizados com z-score.</p><p>Elaborada por: Sérgio Assunção Monteiro.</p><p>Essa técnica é uma das formas de detectar outliers. Se o módulo do valor de z estiver acima de um</p><p>determinado limite, isso significa que o elemento é muito distinto dos demais e mantê-lo no</p><p>conjunto de dados que será utilizado pelo algoritmo de agrupamentos pode prejudicar o resultado.</p><p>USAR PESOS PARA DESTACAR A IMPORTÂNCIA DE</p><p>DETERMINADAS CARACTERÍSTICAS</p><p>Quando aplicamos um algoritmo de agrupamento, às vezes, queremos destacar uma determinada</p><p>característica em relação às demais, de modo que a formação dos grupos seja influenciada por</p><p>esse destaque. Para fazer isso, basta adicionar pesos nas diferenças dos termos de distância. A</p><p>fórmula fica assim:</p><p> Atenção! Para visualização completa da equação utilize a rolagem horizontal</p><p>Sendo que pk representa o peso da k-ésima característica.</p><p>d(x, y) = (∑n</p><p>k=1 pk(xk  −  yk)2)</p><p>1/2</p><p>MAIS ASPECTOS A SE CONSIDERAR</p><p>A análise dos dados antes da execução dos algoritmos de agrupamento pode influenciar bastante</p><p>no desempenho computacional e na qualidade dos resultados. Além de todos os aspectos que</p><p>abordamos, ainda há situações que precisamos tratar, tais como:</p><p>REDUÇÃO DA QUANTIDADE DE DADOS QUE DEVEM</p><p>SER AGRUPADOS</p><p>A complexidade de tempo dos algoritmos é diretamente proporcional à quantidade de elementos de</p><p>entrada. Alguns elementos podem ser muito parecidos ou, por outro lado, muito diferentes dos</p><p>demais; em ambos os casos, é útil detectar tais situações e reduzir a quantidade de elementos que</p><p>devem ser analisados.</p><p>COMPENSAR DADOS FALTANTES</p><p>Quando os elementos possuem muitas características, é possível que alguns deles não tenham</p><p>todos os dados; no entanto, em alguns casos, ainda queremos considerar esses elementos na</p><p>análise. Nesse caso, precisamos gerar dados artificiais – também chamados de sintéticos – que</p><p>preencham os dados das características faltantes.</p><p>EQUILIBRAR A QUANTIDADE DE ELEMENTOS DOS</p><p>GRUPOS</p><p>Ao final da execução de um algoritmo, podemos ter grupos com quantidades muito diferentes de</p><p>elementos. Nessas situações, precisamos considerar se a quantidade de grupos pode ser reduzida</p><p>ou se devemos adotar uma estratégia de limitar a quantidade de elementos por grupo.</p><p>AJUSTES DE DADOS EM MODELOS DE</p><p>AGRUPAMENTO</p><p>No vídeo a seguir, abordamos os conceitos importantes sobre os algoritmos de agrupamento e</p><p>quais são alguns dos ajustes mais comuns para fazer adequação dos dados.</p><p>VERIFICANDO O APRENDIZADO</p><p>1. EM MUITAS SITUAÇÕES PRÁTICAS, A TOMADA DE DECISÃO É MAIS BEM</p><p>SUPORTADA QUANTO MAIOR FOR O CONHECIMENTO A RESPEITO DOS</p><p>DADOS SOB ANÁLISE. POR OUTRO LADO, FAZER O ESTUDO DOS DADOS</p><p>É UMA TAREFA QUE EXIGE EXPERIÊNCIA E, EM MUITOS CASOS, O USO DE</p><p>FERRAMENTAS QUE DEEM APOIO NO PROCESSO. AS TÉCNICAS DE</p><p>APRENDIZADO DE MÁQUINA NÃO SUPERVISIONADO SÃO MUITO ÚTEIS</p><p>PARA ESSES CASOS. NESSE SENTIDO, SELECIONE A OPÇÃO CORRETA A</p><p>RESPEITO DE COMO AS TÉCNICAS DE APRENDIZADO DE MÁQUINA</p><p>SUPERVISIONADO AUXILIAM NO PROCESSO DE ANÁLISE DOS DADOS.</p><p>A) São úteis para agrupar dados através da exploração das semelhanças entre suas</p><p>características sem usar uma base de referência.</p><p>B) Aceleram o processo de análise, uma vez que utilizam uma pequena base de dados como</p><p>referência para generalizar os resultados.</p><p>C) Têm um uso prático muito limitado, pois sempre é necessário fazer várias execuções dos</p><p>algoritmos até atingir uma solução de qualidade.</p><p>D) São excelentes para fazer a classificação de dados, de modo que seus resultados podem ser</p><p>usados sem a necessidade de validação.</p><p>E) São baseadas em técnicas exatas, que podem consumir bastante tempo de processamento,</p><p>mas com soluções ótimas.</p><p>2. OS ALGORITMOS DE AGRUPAMENTO SÃO UM IMPORTANTE</p><p>INSTRUMENTO PARA ANALISAR DADOS. EM ESPECIAL, QUANDO O</p><p>VOLUME DE DADOS A SER CONSIDERADO É MUITO GRANDE E, ALÉM</p><p>DISSO, CADA ELEMENTO DESSE CONJUNTO POSSUI DIVERSAS</p><p>CARACTERÍSTICAS, AS TÉCNICAS DE AGRUPAMENTO AJUDAM BASTANTE</p><p>A TER UMA COMPREENSÃO MAIS CLARA SOBRE SEMELHANÇAS E</p><p>DIFERENÇAS ENTRE ESSES DADOS. NESSE SENTIDO, SELECIONE A</p><p>OPÇÃO CORRETA A RESPEITO DO TRATAMENTO DO CONJUNTO DE</p><p>DADOS PARA APLICAÇÃO DOS ALGORITMOS DE AGRUPAMENTO.</p><p>A) Pelo fato de não precisar de dados de treinamento, os algoritmos de agrupamento são</p><p>insensíveis à escala dos dados de entrada.</p><p>B) Uma das formas mais eficazes de ajustar os dados é através da subtração dos valores de todos</p><p>os dados pela média global deles.</p><p>C) Uma das formas de ajustar os dados, para que sejam comparáveis, é fazer a mudança de</p><p>escala deles.</p><p>D) Quando os dados possuem escalas diferentes, o ideal é trabalhar com amostragens do conjunto</p><p>de entrada e aplicar o algoritmo de agrupamento.</p><p>E) As características que tiverem escalas muito diferentes das demais devem ser excluídas da</p><p>entrada de dados.</p><p>GABARITO</p><p>1. Em muitas situações práticas, a tomada de decisão é mais bem suportada quanto maior</p><p>for o conhecimento a respeito dos dados sob análise. Por outro lado, fazer o estudo dos</p><p>dados é uma tarefa que exige experiência e, em muitos casos, o uso de ferramentas que</p><p>deem apoio no processo. As técnicas de aprendizado de máquina não supervisionado são</p><p>muito úteis para esses casos. Nesse sentido, selecione a opção correta a respeito de como</p><p>as técnicas de aprendizado de máquina supervisionado auxiliam no processo de análise dos</p><p>dados.</p><p>A alternativa "A " está correta.</p><p>Os algoritmos de aprendizado não supervisionado não utilizam uma base de dados pré-classificada</p><p>como referência para obter resultados. Isso é muito útil, por exemplo, para os problemas de</p><p>agrupamento que analisam as características de um conjunto de dados e fazem partições,</p><p>conforme um critério de semelhança.</p><p>2. Os algoritmos de agrupamento são um importante instrumento para analisar dados. Em</p><p>especial, quando o volume de dados a ser considerado é muito grande e, além disso, cada</p><p>elemento desse conjunto possui diversas características, as técnicas de agrupamento</p><p>ajudam bastante a ter uma compreensão mais clara sobre semelhanças e diferenças entre</p><p>esses dados. Nesse sentido, selecione a opção correta a respeito do tratamento do conjunto</p><p>de dados para aplicação dos algoritmos de agrupamento.</p><p>A alternativa "C " está correta.</p><p>Os algoritmos de agrupamento podem trabalhar com grandes volumes de dados, que podem</p><p>conter características muito diferentes entre si. Então, é necessário fazer um tratamento desses</p><p>dados, de modo que as medidas de comparação entre eles sejam mais efetivas. Alguns desses</p><p>ajustes incluem a mudança de escala dos dados por meio de técnicas como a normalização e</p><p>padronização.</p><p>MÓDULO 4</p><p> Distinguir as métricas de validação para problemas de agrupamento</p><p>NECESSIDADE DE VALIDAÇÃO DOS</p><p>RESULTADOS</p><p>Os algoritmos de agrupamento têm por objetivo encontrar grupos significativos em um conjunto de</p><p>dados a partir da avaliação das características, por meio de um critério de similaridade. O ideal é</p><p>que esses grupos sejam compostos por membros que tenham muitas semelhanças entre</p>

Mais conteúdos dessa disciplina