Prévia do material em texto
<p>Aula 05</p><p>Concursos da Área Fiscal Especialidade</p><p>TI - Ciência de Dados</p><p>Autor:</p><p>Thiago Rodrigues Cavalcanti,</p><p>Equipe Informática e TI</p><p>24 de Maio de 2024</p><p>39471799600 - Naldira Luiza Vieria</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Índice</p><p>..............................................................................................................................................................................................1) Aprendizado Supervisionado 3</p><p>..............................................................................................................................................................................................2) Questões Comentadas - Aprendizado Supervisionado - Cesgranrio 168</p><p>..............................................................................................................................................................................................3) Lista de Questões - Aprendizado Supervisionado - Cesgranrio 178</p><p>..............................................................................................................................................................................................4) Questões Comentadas - Aprendizado Supervisionado - FGV - Completo 185</p><p>..............................................................................................................................................................................................5) Lista de Questões - Aprendizado Supervisionado - FGV - Completo 188</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>2</p><p>191</p><p>Dicionário ......................................................................................................................... 3</p><p>Aprendizado de Máquina............................................................................................................................ 3</p><p>Aprendizado de Máquina .................................................................................................. 5</p><p>Introdução..................................................................................................................................................... 5</p><p>Tipos de Sistemas de Aprendizado de Máquina ...................................................................................... 6</p><p>Fontes de erro em modelos preditivos ....................................................................................................10</p><p>Aprendizado Supervisionado........................................................................................... 15</p><p>Conjunto de Treino, Validação e Teste ....................................................................................................16</p><p>Descrevendo um modelo...........................................................................................................................18</p><p>Otimização de hiperparâmetros ..............................................................................................................19</p><p>Métricas de avaliação ...............................................................................................................................24</p><p>Underfitting, overfitting e técnicas de regularização ...........................................................................36</p><p>Trade-off entre viés e variância ...............................................................................................................47</p><p>Tarefas de aprendizado supervisionado .......................................................................... 51</p><p>Classificação.................................................................................................................... 51</p><p>KNN ..............................................................................................................................................................53</p><p>Árvores de decisão .....................................................................................................................................61</p><p>Floretas aleatórias .....................................................................................................................................70</p><p>SVM – Máquinas de vetores de suporte .................................................................................................74</p><p>Redes neurais..............................................................................................................................................79</p><p>Classificador Naive Bayes .........................................................................................................................89</p><p>Regressão ..................................................................................................................... 101</p><p>Regressão linear ...................................................................................................................................... 102</p><p>Regressão logística ................................................................................................................................. 104</p><p>Redes neurais para regressão ............................................................................................................... 106</p><p>Árvores de decisão para regressão....................................................................................................... 109</p><p>Máquinas de vetores de suporte para regressão. .............................................................................. 111</p><p>Ensamble ...................................................................................................................... 115</p><p>Bagging .................................................................................................................................................... 118</p><p>Comitês de classificadores (Boosting) .................................................................................................. 119</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>3</p><p>191</p><p>Stacking .................................................................................................................................................... 121</p><p>Seleção de modelos ...................................................................................................... 123</p><p>Considerações para a seleção do modelo............................................................................................ 124</p><p>Técnicas de Seleção de Modelos ........................................................................................................... 125</p><p>Medidas probabilísticas ......................................................................................................................... 127</p><p>Métodos de reamostragem ................................................................................................................... 128</p><p>Validação Cruzada .................................................................................................................................. 129</p><p>Aprendizado supervisionado com Python scikit-learn.................................................... 131</p><p>O que é o scikit-learn? ............................................................................................................................ 131</p><p>Questões comentadas ................................................................................................... 138</p><p>Exercícios .................................................................................................................................................. 158</p><p>Gabarito ................................................................................................................................................... 165</p><p>Thiago Rodrigues Cavalcanti,</p><p>quantos foram classificados corretamente.</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>34</p><p>191</p><p>F1- Score</p><p>F1-Score é a média harmônica entre o recall e a precisão (precision). Utilizada quando</p><p>temos classes desbalanceada.</p><p>Vejamos como esse assunto já foi cobrado em provas anteriores:</p><p>2. CGE-PB - TI - FGV – 2024 (63)</p><p>O cientista de dados João deverá criar um modelo de aprendizado de máquina com o objetivo de</p><p>classificar transações de cartão de crédito como "fraudulentas" ou "não fraudulentas". Dentre as</p><p>métricas de avaliação da qualidade geral do modelo criado, João deverá utilizar a que avalia o</p><p>equilíbrio entre precisão e sensibilidade (recall):</p><p>(A) acurácia;</p><p>(B) F1-score;</p><p>(C) especificidade;</p><p>(D) índice Jaccard (J);</p><p>(E) área sob a curva ROC (AUC-ROC).</p><p>Comentário: A métrica que avalia o equilíbrio entre precisão e sensibilidade (recall) é o F1-</p><p>score. O F1-score é uma medida que combina precisão e recall em um único valor, fornecendo</p><p>uma maneira de avaliar o desempenho de um modelo de classificação binária levando em</p><p>consideração tanto os falsos positivos quanto os falsos negativos. Portanto, o gabarito correto é a</p><p>opção (B) F1-score.</p><p>Gabarito: B</p><p>Área sob a Curva ROC</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>35</p><p>191</p><p>A curva ROC (Receiver Operating Characteristic Curve) é a curva gerada pela taxa de</p><p>verdadeiros positivos (sensibilidade) e pela taxa de falsos positivos (1 – especificidade)</p><p>para diferentes pontos de cortes (c). A curva ROC oferece uma visão geral de um</p><p>classificador e pode ser utilizada para encontrar pontos de corte ideias. O corte que deixa</p><p>a curva mais próxima do vértice (0, 1) maximiza a sensibilidade conjuntamente com a</p><p>especificidade.</p><p>Uma medida decorrente da curva ROC é o AUC (Area Under the Curve), que nada mais é</p><p>que a área abaixo da curva. O AUC varia entre 0 e 1 e quanto maior o AUC melhor o</p><p>modelo.</p><p>Utilizada quando temos classes desbalanceada e sua principal vantagem é poder escolher</p><p>o melhor ponto de corte para otimizar o desempenho do modelo.</p><p>Figura 11 - Curva ROC</p><p>Todas essas métricas variam no intervalo [0,1] e quanto mais próximos de 1, melhor é o</p><p>modelo.</p><p>Vejamos algumas questões sobre o assunto ...</p><p>3. IPEA/2024/Ciência de Dados</p><p>54. Na avaliação de um modelo criado por aprendizado de máquina em um experimento</p><p>que buscava identificar textos de opinião sobre o desempenho da economia, separando-</p><p>os dos que não forneciam opinião alguma, só fatos e dados, foi encontrada a seguinte</p><p>matriz de confusão</p><p>Representa a capacidade do</p><p>modelo prever a classe</p><p>positiva corretamente.</p><p>Representa a capacidade do</p><p>modelo prever a classe</p><p>negativa corretamente.</p><p>(1 – Especificidade)</p><p>Representa a capacidade do</p><p>modelo prever a classe</p><p>negativa incorretamente.</p><p>Quanto MENOR</p><p>esse valor:</p><p>MELHOR!!</p><p>Quanto MAIOR</p><p>esse valor:</p><p>MELHOR!!</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>36</p><p>191</p><p>Considerando-se que, nessa matriz, as linhas indicam a resposta correta e as colunas</p><p>indicam a previsão, a acurácia é de</p><p>(A) 8%</p><p>(B) 44%</p><p>(C) 48%</p><p>(D) 88%</p><p>(E) 92%</p><p>Comentário: A acurácia é uma métrica comum para avaliar a performance de um modelo</p><p>de classificação e é calculada a partir da matriz de confusão. A matriz de confusão é uma</p><p>tabela que mostra as frequências de classificação corretas e incorretas feitas pelo modelo</p><p>em cada classe. Ela é composta por quatro elementos:</p><p>● Verdadeiro positivo (TP): número de observações da classe positiva que foram</p><p>corretamente classificadas como positivas pelo modelo.</p><p>● Falso positivo (FP): número de observações da classe negativa que foram</p><p>erroneamente classificadas como positivas pelo modelo.</p><p>● Falso negativo (FN): número de observações da classe positiva que foram</p><p>erroneamente classificadas como negativas pelo modelo.</p><p>● Verdadeiro negativo (TN): número de observações da classe negativa que foram</p><p>corretamente classificadas como negativas pelo modelo.</p><p>Com base nesses elementos da matriz de confusão, a acurácia é calculada da seguinte</p><p>forma:</p><p>Em palavras, a acurácia é a proporção de todas as classificações corretas (verdadeiros</p><p>positivos e verdadeiros negativos) em relação ao total de observações. É uma medida</p><p>geral da performance do modelo e indica a porcentagem de previsões corretas que o</p><p>modelo fez em relação ao total de previsões.</p><p>Assim temos que a acurácia é igual a 440 + 480/1000 = 920/1000 = 92%. Logo, a nossa</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>37</p><p>191</p><p>resposta encontra-se na alternativa E.</p><p>Gabarito: E</p><p>4. Questão inédita</p><p>Sobre avaliação e validação de modelo, assinale a afirmativa correta:</p><p>a) Acurácia é a proporção de exemplos verdadeiramente positivos que foram</p><p>classificados corretamente.</p><p>b) Especificidade trata da proporção de exemplos que foram classificados</p><p>corretamente.</p><p>c) Recall é a proporção de exemplos previstos para estar na classe positiva que</p><p>foram classificados corretamente</p><p>d) Precisão é a proporção dos Verdadeiros Negativos entre todas as observações</p><p>que realmente são negativas no seu conjunto de dados</p><p>e) F1-Score é a média harmônica entre o recall e a precisão</p><p>Comentário: Vamos analisar cada uma das alternativas:</p><p>a) (ERRADA) Acurácia a proporção de exemplos que foram classificados corretamente. (a</p><p>definição está relacionada a sensibilidade – Recall - O recall mede a proporção de</p><p>instâncias verdadeiramente positivas que foram corretamente identificadas pelo modelo,</p><p>em relação ao total de instâncias verdadeiramente positivas, ou seja, é a capacidade do</p><p>modelo de encontrar todas as instâncias positivas.)</p><p>b) (ERRADA) Especificidade é a proporção dos Verdadeiros Negativos entre todas as</p><p>observações que realmente são negativas no seu conjunto de dados. (A definição está</p><p>relacionada com a acurácia)</p><p>c) (ERRADA) Recall (Sensibilidade) é a proporção de exemplos em que a verdade</p><p>fundamental é positiva que o classificador identificou corretamente. (A definição está</p><p>associada ao termo precisão - A precisão mede a proporção de instâncias classificadas</p><p>como positivas que são verdadeiramente positivas em relação ao total de instâncias</p><p>classificadas como positivas, ou seja, é a capacidade do modelo de classificar</p><p>corretamente as instâncias positivas.)</p><p>d) (ERRADA) Precisão a proporção de exemplos previstos para estar na classe positiva</p><p>que foram classificados corretamente (A definição descreve o conceito de especificidade)</p><p>e) Correto!</p><p>Gabarito: E</p><p>UNDERFITTING, OVERFITTING E TÉCNICAS DE REGULARIZAÇÃO</p><p>Imagine que você está em um país estrangeiro, como a Argentina, e ao pegar um táxi, o</p><p>motorista acaba roubando você. Diante dessa situação desagradável, você pode sentir -se</p><p>tentado a generalizar e pensar que todos os taxistas daquele país são desonestos. Essa</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>38</p><p>191</p><p>atitude é um exemplo claro de generalização excessiva, algo comum entre os seres</p><p>humanos e que, infelizmente, também pode ocorrer com máquinas se não tomarmos</p><p>cuidado. No contexto do Aprendizado de Máquina, isso é conhecido como overfitting, que</p><p>acontece</p><p>quando o modelo se ajusta muito bem aos dados de treinamento, mas não</p><p>consegue generalizar de forma adequada para novos dados.</p><p>Na figura abaixo, ilustramos um exemplo de overfitting com um modelo polinomial de alto</p><p>grau que relaciona a satisfação com a vida ao PIB per capita. Esse modelo se ajusta de</p><p>forma excessiva aos dados de treinamento, o que pode comprometer sua capacidade de</p><p>fazer previsões precisas em situações reais.</p><p>Figura 12 - Overfitting nos dados de treinamento</p><p>Modelos complexos, como redes neurais profundas, têm a capacidade de identificar</p><p>padrões sutis nos dados. No entanto, se o conjunto de treinamento for pequeno ou estiver</p><p>sujeito a muito ruído, o modelo pode detectar padrões no próprio ruído, o que prejudica</p><p>sua capacidade de generalização. Por exemplo, ao alimentar um modelo de satisfação</p><p>com a vida com muitos atributos, incluindo informações irrelevantes como o nome do país,</p><p>o modelo pode acabar identificando padrões que surgem por acaso nos dados de</p><p>treinamento, o que não se aplica a outros países.</p><p>Para evitar o overfitting, existem algumas estratégias:</p><p>1. Simplificar o modelo: Optar por um modelo com menos parâmetros, como um</p><p>modelo linear simples em vez de um polinomial de alto grau, reduzindo o número de</p><p>atributos nos dados de treinamento ou restringindo a complexidade do modelo.</p><p>2. Aumentar o tamanho do conjunto de treinamento: Quanto mais dados</p><p>disponíveis para o treinamento, melhor o modelo poderá capturar a verdadeira</p><p>relação entre as variáveis e evitar o overfitting.</p><p>3. Reduzir o ruído nos dados de treinamento: Corrigir erros nos dados e remover</p><p>outliers podem ajudar a reduzir o ruído e melhorar a capacidade de generalização</p><p>do modelo.</p><p>A prática de restringir um modelo para evitar overfitting é chamada de</p><p>regularização. Por exemplo, podemos restringir um modelo linear forçando um de seus</p><p>parâmetros a ser zero, o que reduz sua complexidade e melhora sua capacidade de</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>39</p><p>191</p><p>generalização. O equilíbrio entre ajustar os dados de treinamento e manter o modelo</p><p>simples é essencial para garantir um bom desempenho em situações reais.</p><p>A figura abaixo mostra três modelos: o primeiro é treinado apenas com países</p><p>representados como círculos, o segundo é treinado com todos os países (círculos e</p><p>quadrados), e o terceiro é treinado com os mesmos dados do primeiro, mas com uma</p><p>restrição de regularização. Como podemos ver, a regularização força o modelo a ser</p><p>menos complexo e, consequentemente, a generalizar melhor para novos exemplos que</p><p>não foram vistos durante o treinamento.</p><p>Figura 13 - A regularização reduz o risco de sobreajuste</p><p>Controlar a quantidade de regularização durante o treinamento é importante e é feito por</p><p>meio de um hiperparâmetro. Esse hiperparâmetro é definido antes do treinamento e</p><p>permanece constante durante o processo. Ajustar corretamente os hiperparâmetros é</p><p>essencial para obter um modelo com bom desempenho e capacidade de generalização.</p><p>Se você definir o hiperparâmetro de regularização para um valor muito grande, obterá um</p><p>modelo quase plano (uma inclinação próxima de zero); o algoritmo de aprendizado quase</p><p>certamente não superestimará os dados de treinamento, mas será menos provável que</p><p>encontre uma boa solução. O ajuste de hiperparâmetros é uma parte importante da</p><p>construção de um sistema de aprendizado de máquina (você verá um exemplo detalhado</p><p>na próxima seção).</p><p>Ajustando os dados de treinamento</p><p>Como você pode imaginar, o underfitting é o oposto do overfitting: ocorre quando o</p><p>modelo é muito simples para capturar a estrutura subjacente dos dados. Por exemplo, um</p><p>modelo linear de satisfação com a vida pode ser insuficiente, já que a realidade é mais</p><p>complexa do que o modelo pode representar, resultando em previsões imprecisas, mesmo</p><p>nos exemplos de treinamento. Aqui estão algumas opções principais para lidar com esse</p><p>problema:</p><p>• Seleção de um modelo mais poderoso: Escolher um modelo com mais</p><p>parâmetros pode ajudar a capturar melhor a complexidade dos dados. Modelos</p><p>mais complexos, como redes neurais profundas, têm mais capacidade de</p><p>aprendizado.</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>40</p><p>191</p><p>• Engenharia de recursos: Melhorar os recursos de entrada fornecidos ao algoritmo</p><p>de aprendizado pode ajudar a fornecer mais informações úteis para o modelo. Isso</p><p>pode envolver a criação de novos recursos ou a seleção cuidadosa dos recursos</p><p>existentes.</p><p>• Redução das restrições do modelo: Reduzir as restrições impostas ao modelo,</p><p>como o hiperparâmetro de regularização, pode permitir que o modelo se ajuste</p><p>melhor aos dados de treinamento. Isso pode ser feito aumentando o valor do</p><p>hiperparâmetro de regularização ou removendo completamente as penalidades de</p><p>regularização.</p><p>As redes neurais feedforward são essencialmente funções complexas que mapeiam uma</p><p>entrada para uma saída correspondente, aprendendo a distribuição subjacente dos dados</p><p>durante o treinamento. Durante o processo de treinamento, a retropropagação é usada</p><p>para atualizar os parâmetros do modelo, reduzindo a perda e aproximando melhor a</p><p>distribuição dos dados.</p><p>O objetivo da regularização é evitar que o modelo se ajuste demais aos dados de</p><p>treinamento, o que pode levar ao overfitting. Encontrar o equilíbrio certo entre overfitting e</p><p>underfitting é essencial para obter um modelo com boa capacidade de generalização e</p><p>desempenho em novos dados. Existem várias técnicas de regularização disponíveis para</p><p>redes neurais, que exploraremos a seguir.</p><p>Antes de continuarmos, vejamos uma questão recente sobre o assunto:</p><p>5. CGE-PB - TI - FGV – 2024 (64)</p><p>O auditor de contas públicas João está desenvolvendo um modelo de aprendizado de máquina</p><p>para identificar transações financeiras suspeitas em uma auditoria de contas. Após treinar o</p><p>modelo, João observa que esse tem um desempenho excelente nos dados de treinamento, mas</p><p>apresenta um desempenho ruim nos dados de teste, com uma alta taxa de erro.</p><p>Nesse contexto, o problema observado por João, do modelo ajustar-se excessivamente aos</p><p>dados de treinamento, é denominado:</p><p>(A) bias (viés);</p><p>(B) overfitting;</p><p>(C) underfitting;</p><p>(D) oversampling;</p><p>(E) undersampling.</p><p>Comentário: O problema observado por João, em que o modelo tem um desempenho</p><p>excelente nos dados de treinamento, mas um desempenho ruim nos dados de teste, é</p><p>conhecido como overfitting (sobreajuste). Portanto, a opção correta é a (B) overfitting.</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>41</p><p>191</p><p>Agora, vou explicar os conceitos das outras alternativas:</p><p>• Bias (Viés): Refere-se à simplificação excessiva do modelo, levando a resultados</p><p>imprecisos tanto nos dados de treinamento quanto nos de teste. Isso ocorre quando o</p><p>modelo não consegue capturar corretamente a relação entre os recursos e a variável de</p><p>saída, resultando em previsões sistematicamente equivocadas.</p><p>• Underfitting: É o oposto do overfitting. Ocorre quando o modelo é muito simples para</p><p>capturar a estrutura subjacente dos dados. Isso resulta em desempenho ruim tanto nos</p><p>dados de treinamento quanto nos de teste, devido à incapacidade do modelo de aprender</p><p>os padrões presentes nos dados.</p><p>• Oversampling: É uma técnica usada para lidar com conjuntos de dados desbalanceados,</p><p>onde uma classe é representada por um número significativamente menor de exemplos do</p><p>que a outra. No oversampling, os exemplos da classe minoritária são aumentados por meio</p><p>da duplicação ou geração sintética de dados, a fim de equilibrar as proporções das classes</p><p>no conjunto de dados.</p><p>• Undersampling: Assim como o oversampling, o undersampling é uma técnica usada para</p><p>tratar conjuntos de dados desbalanceados. No entanto, em vez de aumentar os exemplos</p><p>da classe minoritária, o undersampling reduz os exemplos da classe majoritária para</p><p>equilibrar as proporções das classes no conjunto de dados. Isso é feito selecionando</p><p>aleatoriamente uma amostra da classe majoritária para que ela corresponda ao tamanho</p><p>da classe minoritária.</p><p>Em resumo, o overfitting é o fenômeno em que o modelo se ajusta excessivamente aos dados de</p><p>treinamento, enquanto bias (viés), underfitting, oversampling e undersampling são outros</p><p>problemas relacionados ao desempenho e à generalização do modelo de aprendizado de</p><p>máquina.</p><p>Gabarito: B</p><p>Adicionar uma penalidade de norma de parâmetro à função objetivo é um dos métodos</p><p>clássicos de regularização, que tem sido utilizado há várias décadas e antecede o advento</p><p>do aprendizado profundo. Essa técnica visa limitar a capacidade do modelo, impedindo-o</p><p>de se ajustar excessivamente aos dados de treinamento. A penalidade de norma de</p><p>parâmetro é aplicada aos pesos do modelo na função de custo regularizada.</p><p>A equação que descreve essa penalidade é:</p><p>Onde J(θ) representa a função de custo original, Ω(θ) é a penalidade de regularização que</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>42</p><p>191</p><p>depende dos pesos do modelo θ, e α é um hiperparâmetro que controla a intensidade da</p><p>regularização. Quanto maior o valor de α, mais forte é a regularização aplicada, e quanto</p><p>menor o valor, menor é o efeito da regularização na função de custo.</p><p>No contexto de redes neurais, as penalidades de norma de parâmetro são aplicadas</p><p>apenas aos pesos, uma vez que estes controlam as interações entre os nós em camadas</p><p>sucessivas. Os vieses são deixados inalterados. Existem diferentes tipos de normas de</p><p>parâmetro que podem ser aplicadas, e cada uma tem um efeito distinto na solução final do</p><p>modelo. Os dois principais métodos de regularização usados são: LASSO e RIDGE.</p><p>L2 regularization</p><p>O método de regularização L2, frequentemente referido como regressão Ridge ou</p><p>decaimento de peso, é uma técnica comum utilizada para evitar o overfitting em modelos</p><p>de aprendizado de máquina. Essa abordagem visa reduzir os pesos da rede na direção da</p><p>origem, introduzindo um termo de regularização na função objetivo. Supondo que θ</p><p>represente os pesos da rede (ou w, para simplificação) e considerando que todas as letras</p><p>representam matrizes, a função objetivo regularizada fica assim: 𝐽′(𝜃) = 𝐽(𝜃) + 𝜆‖𝜃‖22</p><p>Onde 𝐽(𝜃) é a função de custo original, λ é o parâmetro de regularização e ‖𝜃‖22 é a norma L2</p><p>dos pesos.</p><p>Ao calcular o gradiente dessa função, obtemos: 𝛻𝐽′(𝜃) = 𝛻𝐽(𝜃) + 2𝜆𝜃</p><p>Utilizando esse gradiente, podemos atualizar os pesos em cada etapa do gradiente descendente: 𝜃 = 𝜃 − 𝛼(𝛻𝐽(𝜃) + 2𝜆𝜃)</p><p>Expandindo e reescrevendo essa atualização, obtemos: 𝜃 = (1 − 2𝛼𝜆)𝜃 − 𝛼𝛻𝐽(𝜃)</p><p>Essa equação nos mostra que a regra de aprendizado modificada faz com que nossos</p><p>pesos diminuam a cada passo, como ilustrado no diagrama abaixo:</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>43</p><p>191</p><p>Figura 14 - Ridge Regularization - observe que o termo regularizador é um círculo.</p><p>No diagrama acima, os círculos sólidos representam os contornos da função de objetivo</p><p>original J(𝜃), antes da aplicação da regularização. O ponto w central aos círculos sólidos</p><p>seria o ponto ótimo calculado usando o gradiente descendente, porém este valor é</p><p>sobrestimado. Os círculos pontilhados representam os contornos do termo de</p><p>regularização 𝜆||𝜃||22. O ponto onde ambos os contornos se encontram representa o</p><p>equilíbrio entre os objetivos concorrentes, indicando a convergência para uma solução</p><p>regularizada.</p><p>L1 regularization</p><p>Outra forma comum de penalidade de norma é a regularização L1, também conhecida</p><p>como regressão de menor encolhimento absoluto e operador de seleção (LASSO). Nesse</p><p>caso, o termo de regularização é definido da seguinte forma: 𝑅(𝜃) = 𝜆‖𝜃‖1</p><p>Essa regularização soma os valores absolutos dos parâmetros, introduzindo assim</p><p>esparsidade no modelo, o que significa que alguns dos valores dos parâmetros são</p><p>zerados, indicando que eles não são considerados muito importantes. Isso pode ser</p><p>interpretado como uma forma de seleção de recursos.</p><p>Assim como na regularização L2, o hiperparâmetro λ controla o efeito da regularização na</p><p>função objetivo: 𝐽′(𝜃) = 𝐽(𝜃) + 𝜆‖𝜃‖1</p><p>Essa influência da regularização pode ser visualizada no diagrama abaixo:</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>44</p><p>191</p><p>Figura 15 - Lasso regularization - perceba que a figura do termo de regularização é um losango.</p><p>No diagrama acima, os contornos da função objetivo se encontram nos eixos, em vez de</p><p>em um ponto distante. Essa é a representação da esparsidade introduzida pelo método de</p><p>regularização L1.</p><p>Parada antecipada</p><p>A parada antecipada, também conhecida como "early stopping" em inglês, é uma técnica</p><p>de regularização usada durante o treinamento de modelos de aprendizado de máquina</p><p>para evitar o overfitting e melhorar a generalização do modelo. A ideia básica por trás da</p><p>parada antecipada é interromper o processo de treinamento assim que o desempenho do</p><p>modelo começa a piorar em um conjunto de validação, em vez de continuar o treinamento</p><p>até que o modelo se ajuste completamente aos dados de treinamento.</p><p>Aqui está como a parada antecipada funciona:</p><p>1. Durante o treinamento do modelo, uma parte dos dados, geralmente chamada de</p><p>conjunto de validação, é separada dos dados de treinamento. Este conjunto de</p><p>validação é usado para avaliar o desempenho do modelo em dados não vistos</p><p>durante o treinamento.</p><p>2. O treinamento do modelo continua por um número fixo de épocas ou iterações.</p><p>3. A cada época ou iteração, o desempenho do modelo no conjunto de validação é</p><p>monitorado. Isso geralmente é feito calculando uma métrica de avaliação, como a</p><p>perda ou a precisão.</p><p>4. Se o desempenho do modelo no conjunto de validação começar a piorar por um</p><p>número predefinido de épocas consecutivas (chamado de "patience"), o treinamento</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>45</p><p>191</p><p>é interrompido e o modelo resultante é retornado como o modelo final.</p><p>A ideia por trás da parada antecipada é que, à medida que o treinamento continua, o</p><p>modelo começa a se ajustar demais aos dados de treinamento, resultando em um</p><p>aumento da perda no conjunto de validação devido ao overfitting. Interromper o</p><p>treinamento nesse ponto permite que o modelo mantenha uma melhor capacidade de</p><p>generalização, ou seja, sua capacidade de fazer previsões precisas em dados não vistos.</p><p>A escolha do número de épocas de paciência é um hiperparâmetro que pode variar</p><p>dependendo do problema e do modelo. É comum ajustar esse valor por tentativa e erro,</p><p>avaliando o desempenho do modelo em um conjunto de validação separado. A parada</p><p>antecipada é uma técnica simples e eficaz que é comumente usada para regularizar</p><p>modelos de aprendizado de máquina e melhorar sua capacidade de generalização.</p><p>Durante o treinamento, sabemos que nossas redes neurais (que têm capacidade</p><p>suficiente para</p><p>aprender os dados de treinamento) tendem a se ajustar demais aos dados</p><p>de treinamento em muitas iterações e, portanto, são incapazes de generalizar o que</p><p>aprenderam para ter um bom desempenho no conjunto de teste. Uma maneira de superar</p><p>esse problema é plotar o erro nos conjuntos de treinamento e teste em cada iteração e</p><p>avaliar analiticamente a iteração em que o erro dos conjuntos de treinamento e teste é o</p><p>mais próximo. Em seguida, escolhemos esses parâmetros para o nosso modelo.</p><p>Outra vantagem deste método é que em nada altera a função objetivo, o que facilita o uso</p><p>e não interfere na dinâmica de aprendizado da rede, que é mostrada no diagrama a</p><p>seguir:</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>46</p><p>191</p><p>No entanto, essa abordagem não é perfeita – ela tem um lado negativo. É</p><p>computacionalmente caro porque temos que treinar a rede por mais tempo do que o</p><p>necessário e coletar mais dados para ela, e então observar o ponto em que o</p><p>desempenho começou a degradar. Pense que, para construir o gráfico acima, você</p><p>precisa estender o treinamento por mais tempo.</p><p>Dropout</p><p>O dropout é uma técnica de regularização frequentemente utilizada em redes neurais</p><p>profundas para evitar o overfitting e permitir que redes maiores explorem uma variedade</p><p>maior de regiões no espaço amostral. Essa abordagem simples e eficaz envolve, durante</p><p>cada etapa de treinamento, a seleção aleatória de uma porcentagem predefinida de</p><p>unidades de entrada em uma camada e a configuração dessas unidades para zero. Essa</p><p>operação é realizada apenas durante a fase de treinamento e é completamente removida</p><p>quando o modelo é utilizado para fazer novas previsões.</p><p>A aplicação do dropout pode ser interpretada de várias maneiras. Ao selecionar</p><p>aleatoriamente unidades de entrada e definir seus valores como zero, estamos</p><p>efetivamente criando uma sub-rede com capacidade reduzida. Isso pode ajudar a evitar o</p><p>overfitting, pois cada sub-rede treinada captura diferentes aspectos dos dados de</p><p>treinamento. Quando várias sub-redes treinadas com diferentes eliminações de unidades</p><p>de entrada são sobrepostas, compõe-se um conjunto implícito de modelos, cuja previsão é</p><p>uma média sobre todos eles. Além disso, a aplicação do dropout em camadas de entrada</p><p>adiciona ruído aleatório às amostras, enquanto o uso em camadas intermediárias permite</p><p>explorar diversas configurações potenciais que são continuamente combinadas e</p><p>refinadas.</p><p>Embora essa estratégia seja probabilística e o resultado possa ser afetado por diversos</p><p>fatores imprevisíveis, estudos têm demonstrado que o dropout é uma escolha eficaz,</p><p>especialmente em redes profundas. As sub-redes resultantes têm capacidade residual</p><p>para modelar uma grande parte das amostras, sem levar toda a rede a fixar sua</p><p>configuração no conjunto de treinamento. No entanto, o dropout pode não ser tão eficaz</p><p>em redes rasas ou com um pequeno número de neurônios, nestes casos, a regularização</p><p>L2 pode ser uma escolha mais apropriada.</p><p>Ao usar o dropout, é introduzido um novo hiperparâmetro que especifica a probabilidade</p><p>de eliminação das saídas da camada ou, inversamente, a probabilidade de retenção das</p><p>saídas da camada (em outras palavras o algoritmo zera a saída do neurônio</p><p>selecionado!). Um valor comum é uma probabilidade de 0,5 para reter a saída de cada nó</p><p>em uma camada oculta. A interpretação exata pode variar de acordo com a biblioteca de</p><p>código utilizada. A figura abaixo ilustra a aplicação do dropout em uma rede neural, onde</p><p>tanto os neurônios da camada de entrada quanto das camadas intermediárias podem ser</p><p>excluídos. Veja que é possível reter as saídas da camada de entrada. No artigo original</p><p>sobre o assunto, os autores sugerem 0.8 de retenção. A interpretação padrão do</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>47</p><p>191</p><p>hiperparâmetro de abandono é a probabilidade de treinar um determinado nó em uma</p><p>camada, onde 1,0 significa nenhum abandono e 0,0 significa que não há saídas da</p><p>camada.</p><p>Figura 16 - - (a) Rede Neural completa. (b) Rede Neural após o dropout</p><p>6. Questão inédita.</p><p>Sobre regularização, assinale a alternativa correta.</p><p>a) A regularização, uma técnica para estruturar os parâmetros da forma que você</p><p>preferir, não resolve o problema de sobreajuste.</p><p>b) Na regularização L1, também conhecida como RIDGE, a complexidade do modelo</p><p>é expressa como a soma dos valores absolutos dos pesos.</p><p>c) Na regularização L2, também conhecido como Lasso, a complexidade do modelo</p><p>é expressa como a soma dos quadrados dos pesos.</p><p>d) Não existe a possibilidade de combinação da regularização L1 e L2.</p><p>e) Para influenciar o algoritmo de aprendizado a produzir um vetor de coeficiente</p><p>menor, deve-se adicionar uma penalidade ao termo de perda.</p><p>Comentário: Vamos comentar cada uma das alternativas abaixo:</p><p>a) Errado. A regularização é uma técnica que envolve um conjunto de métodos para evitar</p><p>o sobreajuste.</p><p>b) Errado. A regularização usando a norma L1 é conhecida como Lasso.</p><p>c) Errado. A regularização usando a norma L2 é conhecida como Ridge</p><p>d) Errado. Existe a possibilidade de combinação da regularização L1 e L2, que é</p><p>conhecida como elástica. Neste caso a complexidade do modelo é capturada por uma</p><p>combinação das duas técnicas (L1 e L2).</p><p>e) Certo! Essa é a nossa resposta!</p><p>Gabarito: E</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>48</p><p>191</p><p>TRADE-OFF ENTRE VIÉS E VARIÂNCIA</p><p>O objetivo dos modelos de Aprendizado de Máquina é estimar a função que melhor se</p><p>ajusta aos dados de entrada para realizar previsões corretas de forma generalizada. Para</p><p>avaliar e otimizar o desempenho do modelo, consideramos dois aspectos fundamentais:</p><p>viés e variância. Vamos definir cada um desses conceitos e explorar sua importância.</p><p>Viés (ou bias, em inglês) é o erro resultante da diferença entre as previsões médias do</p><p>modelo e os valores corretos que estamos tentando prever. Em termos simples, é a</p><p>tendência do modelo em fazer previsões incorretas devido a suposições simplificadas</p><p>feitas durante o treinamento. Matematicamente, o viés é a diferença entre a tendência</p><p>central das previsões do modelo e a verdadeira função subjacente que estamos tentando</p><p>aprender.</p><p>Variância, por outro lado, é o erro resultante da variabilidade das previsões do modelo</p><p>para um determinado conjunto de dados. Reflete o quão sensíveis são as previsões do</p><p>modelo a pequenas flutuações nos dados de treinamento. Quando um modelo tem alta</p><p>variância, suas previsões podem ser muito diferentes em diferentes realizações do</p><p>modelo, o que pode levar a uma baixa capacidade de generalização.</p><p>Ambos viés e variância têm impacto direto no desempenho do modelo e na sua</p><p>capacidade de generalização para novos dados. Um modelo com alto viés e baixa</p><p>variância tende a subestimar a complexidade dos dados, enquanto um modelo com baixo</p><p>viés e alta variância pode estar superajustando aos dados de treinamento, não</p><p>generalizando bem para novos dados.</p><p>Idealmente, buscamos um equilíbrio entre viés e variância para obter um modelo que</p><p>generalize bem e tenha um bom desempenho em dados não vistos. Isso nos leva à noção</p><p>de trade-off viés-variância, onde ajustamos a complexidade do modelo para minimizar</p><p>ambos os erros.</p><p>Além de viés e variância, há também os ruídos ou erros irredutíveis, que são inerentes</p><p>ao processo de modelagem e não podem ser eliminados. Esses erros são causados por</p><p>fatores desconhecidos que influenciam a relação entre as variáveis do modelo.</p><p>Resumidamente,</p><p>podemos descrever o Erro Total do modelo: 𝐸𝑟𝑟𝑜 𝑇𝑜𝑡𝑎𝑙 = 𝑉𝑖é𝑠² + 𝑉𝑎𝑟𝑖â𝑛𝑐𝑖𝑎 + 𝐸𝑟𝑟𝑜𝑠 𝐼𝑟𝑟𝑒𝑑𝑢𝑡í𝑣𝑒𝑖𝑠</p><p>Para lidar com o trade-off entre viés e variância, podemos adotar diferentes estratégias,</p><p>como técnicas de reamostragem para reduzir a variância das previsões do modelo e</p><p>ajustar os hiperparâmetros do modelo para controlar sua complexidade.</p><p>Em resumo, compreender e gerenciar o viés e a variância é essencial para o</p><p>desenvolvimento de modelos de aprendizado de máquina eficazes e robustos. Ao</p><p>encontrar o equilíbrio adequado entre esses dois componentes, podemos construir</p><p>modelos que generalizam bem e produzem previsões precisas em uma variedade de</p><p>situações. Observando a ilustração abaixo, podemos descrever os diferentes tipos de viés</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>49</p><p>191</p><p>e variância que o modelo pode apresentar.</p><p>Figura 17 - Viés e Variância</p><p>Na figura acima, analogamente o centro do alvo é o modelo que realiza as previsões</p><p>perfeitamente corretas. Conforme nos afastamos do centro do alvo, as previsões ficam</p><p>cada vez piores. Assim temos que:</p><p>Baixo Viés e Baixa Variância - É o modelo ideal e o que desejamos obter, com uma boa</p><p>acurácia e precisão nas previsões.</p><p>Baixo Viés e Alta Variância - O modelo está superestimando (overfitting) nos dados de</p><p>treino e não generaliza bem com dados novos.</p><p>Alto Viés e Baixa Variância - O modelo está subestimando (underfitting) nos dados de</p><p>treino e não captura a relação verdadeira entre as variáveis preditoras e a variável</p><p>resposta.</p><p>Alto Viés e Alta Variância - O modelo está inconsistente e com um acurácia muito baixa</p><p>nas previsões.</p><p>À medida que mais e mais</p><p>parâmetros são adicionados a um</p><p>modelo, a complexidade dele</p><p>aumenta e a variância se torna a</p><p>principal preocupação, enquanto o</p><p>viés diminui constantemente, por</p><p>exemplo. Podemos ver na ilustração</p><p>da figura ao lado.</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>50</p><p>191</p><p>Então o melhor a se fazer é encontrarmos o equilíbrio entre esses dois erros, que melhor</p><p>atenda ao modelo em treinamento, conforme mostrado na figura abaixo.</p><p>Figura 18 - Overfitting x Underfitting</p><p>Em geral:</p><p>• Modelos Lineares: frequentemente, esses algoritmos têm Alta Viés e Baixa</p><p>Variância</p><p>• Modelos Não-Lineares: frequentemente, esses algoritmos têm Baixo Viés e Alta</p><p>Variância.</p><p>Mas, como encontrar o ajuste correto?</p><p>Bagging e outras técnicas de reamostragem podem ser usadas para reduzir a variação</p><p>nas previsões do modelo. Usar mais dados no treinamento também ajuda, pois</p><p>aumentamos o aprendizado do modelo sobre os padrões existentes.</p><p>Quanto a parametrização de algoritmos de Machine Learning, costuma ser uma batalha</p><p>para equilibrar o Viés e a Variância. Abaixo, dois exemplos de trade-off do Viés-Variância</p><p>específicos (escolha entre os melhores hiperparâmetros para o ajuste ideal):</p><p>• O algoritmo de KNN, tem baixo Viés e alta Variância, mas o trade-off pode ser</p><p>alterado aumentando o valor de k que aumenta o número de vizinhos que</p><p>contribuem para a previsão e, por sua vez, aumenta Viés do modelo.</p><p>• O algoritmo do Support Vector Machine (SVM) tem baixo Viés e alta Variância, mas</p><p>a compensação pode ser alterada aumentando o parâmetro C que influencia o</p><p>número de violações da margem permitida nos dados de treinamento, o que</p><p>aumenta a Viés, mas diminui a Variância.</p><p>O CEPSE já cobrou esse assunto recentemente ... vejamos</p><p>7. CEBRASPE (CESPE) - Auditor de Finanças e Controle de Arrecadação da</p><p>Fazenda Estadual (SEFAZ-AL)/2021</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>51</p><p>191</p><p>Acerca de conceitos de modelagem preditiva e algoritmos de classificação, julgue o</p><p>item a seguir.</p><p>O dilema bias-variância é evitado quando o treinamento é feito de modo que o</p><p>modelo capture todas as irregularidades estatísticas dos dados, com uma quantidade</p><p>maior de rodadas de treinamento.</p><p>Comentário: A questão trata de conceitos relativos ao aprendizado de máquina. A</p><p>questão diz respeito ao dilema bias-variância. Esse dilema diz respeito ao bias (viés),</p><p>decorrente do erro relativo as diferenças de previsões médias. Já a variância, diz respeito</p><p>a variabilidade das previsões para determinados pontos. Esses erros distorcem a acurácia</p><p>de um processo em machine learning.</p><p>Entretanto, existem formas de minimizar o impacto desses erros nos sistemas de</p><p>aprendizado de máquina. Isso inclui: usar mais dados no treinamento também</p><p>ajuda, para aumentar a aprendizagem do modelo para os padrões existentes.</p><p>Quanto a parametrização de algoritmos de Machine Learning, costuma ser uma batalha</p><p>para equilibrar o Viés e a Variância. Sendo assim, percebe-se que o melhor a fazer é</p><p>aumentar a amostra dos dados e não realizar mais treinamentos. Além disso, essas</p><p>irregularidades são bem complexas para serem 100% sanadas, já que se trabalhe com</p><p>estatística. A questão fala em evitar, dando a entender que esses problemas serão</p><p>extintos. Isso não é verdade.</p><p>Gabarito: E</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>52</p><p>191</p><p>TAREFAS DE APRENDIZADO SUPERVISIONADO</p><p>Até este momento, exploramos os fundamentos associados ao aprendizado de máquina</p><p>supervisionado. Passamos pela divisão do conjunto de dados em treino, validação e teste,</p><p>discutimos os diferentes tipos de modelos, abordamos conceitos como parâmetros e</p><p>hiperparâmetros, além de métricas de avaliação e viés e variância. Agora é o momento de</p><p>aprofundar nosso conhecimento nos algoritmos de aprendizado em si e entender como</p><p>são cobrados em concursos públicos.</p><p>Vamos começar essa jornada mergulhando nos algoritmos em detalhes, dividindo-os em</p><p>duas categorias principais: classificação e regressão. Em cada uma dessas categorias,</p><p>examinaremos os principais algoritmos e suas características distintas.</p><p>Para a classificação, discutiremos algoritmos como árvores de decisão, k -vizinhos mais</p><p>próximos (KNN), máquinas de vetores de suporte (SVM), entre outros. Analisaremos como</p><p>cada algoritmo funciona, suas vantagens e limitações, e como aplicá-los em diferentes</p><p>cenários.</p><p>Já na regressão, exploraremos algoritmos como regressão linear, regressão logística,</p><p>regressão polinomial, e muitos outros. Iremos entender como esses algoritmos modelam a</p><p>relação entre variáveis de entrada e saída, e como interpretar seus resultados.</p><p>Além disso, vamos abordar exemplos práticos de como esses algoritmos são cobrados em</p><p>concursos públicos, examinando questões típicas e estratégias para resolvê-las de forma</p><p>eficiente.</p><p>Com este novo conhecimento em mãos, estaremos mais preparados para enfrentar</p><p>desafios reais de aprendizado de máquina. Vamos mergulhar fundo e dominar os</p><p>algoritmos de aprendizado de máquina!</p><p>CLASSIFICAÇÃO</p><p>Na tarefa de classificação, a função alvo f é responsável por mapear cada conjunto de</p><p>atributos x para um rótulo de classe predefinido y. Isso implica que, dado um conjunto de</p><p>dados de entrada contendo várias instâncias, cada uma caracterizada por um conjunto de</p><p>atributos, o objetivo é prever a classe à qual cada instância pertence.</p><p>Essa tarefa é essencial em muitas áreas, incluindo mineração de dados, reconhecimento</p><p>de padrões, inteligência artificial e aprendizado de máquina. Ela é amplamente utilizada</p><p>em uma variedade de aplicações do mundo real, como reconhecimento facial,</p><p>detecção</p><p>de spam em e-mails, diagnóstico médico, previsão de vendas e muito mais.</p><p>A classificação é supervisionada, o que significa que é necessário um conjunto de dados</p><p>de treinamento contendo instâncias de entrada juntamente com suas classes</p><p>correspondentes. Esses dados de treinamento são usados para aprender um modelo</p><p>capaz de generalizar para instâncias não vistas durante o treinamento.</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>53</p><p>191</p><p>A tarefa de classificação desempenha um papel fundamental na análise de dados e na</p><p>tomada de decisões em uma ampla variedade de domínios, permitindo automatizar o</p><p>processo de atribuição de rótulos a novos dados com base em padrões identificados nos</p><p>dados de treinamento.</p><p>O modelo construído baseia-se na análise prévia de um conjunto de dados de</p><p>amostragem ou dados de treinamento, contendo objetos corretamente classificados.</p><p>Imagine, por exemplo, um supermercado que deseja distinguir entre bons e maus</p><p>compradores com base em características como faixa etária e classe econômica. Um</p><p>modelo de classificação poderia ser construído para prever se um cliente é um bom</p><p>comprador ou não com base nessas características.</p><p>As técnicas comuns de classificação incluem árvores de decisão e redes neurais, que</p><p>utilizam métodos estatísticos e de aprendizado de máquina para criar modelos capazes de</p><p>separar classes distintas. No aprendizado supervisionado, esses modelos são treinados</p><p>em um conjunto de dados rotulado, onde cada objeto já possui uma classe atribuída.</p><p>Uma vez treinado, o modelo pode ser aplicado a novos dados não classificados para</p><p>predizer suas classes. Por exemplo, pode ser usado para classificar pedidos de crédito em</p><p>categorias de risco, selecionar conteúdo personalizado para uma página da web ou</p><p>identificar e-mail do tipo spam na caixa de entrada:</p><p>Na classificação, o objetivo é a construção de um modelo que possa ser aplicado a dados</p><p>não classificados e classificá-los. Em todos os exemplos, há um número limitado de</p><p>classes, e espera-se ser capaz de atribuir qualquer registo em um ou outra. Vejam na</p><p>figura a seguir um fluxo que mostra o funcionamento de um algoritmo de classificação:</p><p>MODELO DE</p><p>CLASSIFICAÇÃO</p><p>ENTRADA SAÍDA</p><p>CONJUNTO DE ATRIBUTOS</p><p>(X)</p><p>RÓTULO DE CLASSE</p><p>(Y)</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>54</p><p>191</p><p>Figura 19 - Processo de construção de um classificador</p><p>KNN</p><p>A parte da aula que vamos abordar agora foca em um importante algoritmo de</p><p>aprendizado de máquina chamado k-vizinhos mais próximos (kNN), onde k é um número</p><p>inteiro maior que 0. O problema de classificação kNN consiste em encontrar os k pontos</p><p>de dados mais próximos em um conjunto de dados para um determinado ponto de</p><p>consulta. Essa operação também é conhecida</p><p>como uma junção kNN e pode ser definida da</p><p>seguinte forma: dados dois conjuntos R e S,</p><p>queremos encontrar os k vizinhos mais</p><p>próximos de S para cada objeto em R.</p><p>Na mineração de dados, R e S são</p><p>denominados conjuntos de dados de consulta e</p><p>treinamento, respectivamente. O conjunto de</p><p>dados de treinamento (S) refere-se a dados que</p><p>já foram classificados, enquanto o conjunto de</p><p>dados de consulta (R) refere-se a dados que</p><p>ainda serão classificados usando as</p><p>classificações de S.</p><p>Na ilustração, S seria o conjunto de estrelas e triângulos já classificados. A interrogação</p><p>representa um elemento do conjunto R que será classificado. Precisamos decidir se</p><p>classificá-lo como um elemento da classe A (estrela) ou classe B (triângulo). Para isso,</p><p>precisamos de um valor de K. Se K for igual a 1, o elemento mais próximo da interrogação</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>55</p><p>191</p><p>determinará a classe à qual o novo elemento será classificado.</p><p>Lembre-se de que cada objeto vota em sua classe e a classe com mais votos é</p><p>considerada para a previsão. Para encontrar os pontos semelhantes mais próximos,</p><p>calculamos a distância entre os pontos usando medidas de distância como distância</p><p>euclidiana, distância de Hamming, distância de Manhattan e distância de Minkowski.</p><p>Resumindo, o algoritmo kNN tem as seguintes etapas básicas:</p><p>1. Calcular a distância entre os pontos.</p><p>2. Encontrar os k vizinhos mais próximos.</p><p>3. Votar nos rótulos das classes.</p><p>Veja um exemplo dessa sequência na figura abaixo, onde K é igual a 3.</p><p>Figura 20 - Processo de KNN</p><p>O algoritmo K-vizinhos mais próximos (KNN) pode ser usado como um algoritmo de</p><p>aprendizado de máquina supervisionado e pode ser aplicado a problemas de</p><p>classificação, regressão e detecção de outlier. KNN assume que pontos semelhantes</p><p>estão mais próximos, conforme ilustrado na figura abaixo.</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>56</p><p>191</p><p>Figura 21 - Um conjunto de dados de classificação com duas dimensões quando usado com KNN mostra os limites de decisão.</p><p>K-vizinhos mais próximo encontra os K registros mais próximos do ponto que deve ser</p><p>previsto. Este K pode ser definido pelo usuário. E a proximidade, portanto a distância,</p><p>pode ser calculada por diferentes métricas, como distância euclidiana, distância de</p><p>Manhattan e assim por diante. Para encontrar esses pontos mais próximos, algoritmos de</p><p>indexação como kd-tree e ball tree são usados. Vamos discutir esses hiperparâmetros.</p><p>• Número K do vizinho mais próximo: Definimos o valor de K, que é um número inteiro</p><p>positivo que decide o número de amostras rotuladas do conjunto de dados de</p><p>treinamento que devem ser consideradas para prever o novo ponto de dados. A</p><p>figura abaixo mostra como aumentar o K pode resultar em limites mais suaves.</p><p>Figura 22 - Imagem a esquerda com k = 3 e imagem a direita com k = 15</p><p>• Pesos: podemos dar aos nossos vizinhos mais próximos a mesma prioridade ou</p><p>decidir seus pesos com base na distância do ponto de consulta; quanto mais longe</p><p>o ponto, menor o peso.</p><p>• Algoritmo de indexação: algoritmos de indexação são usados para mapear os</p><p>pontos mais próximos. Se usarmos o método de força bruta resultaria no cálculo da</p><p>distância de todos os pares de pontos de dados em um conjunto de dados. Sendo</p><p>assim, usamos algoritmos de indexação baseados em árvore, como kd-tree e ball</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>57</p><p>191</p><p>tree. Quando o número de dimensões é maior, o ball tree é mais eficiente do que o</p><p>kd-tree.</p><p>• Métrica de distância: uma métrica deve ser usada para calcular a distância entre os</p><p>pontos. Pode ser a Euclidiana ou a Manhattan ou ordens superiores da métrica de</p><p>Minkowski. Vamos aproveitar o ensejo e falar um poucos sobre as diferentes</p><p>métricas de distância:</p><p>Métricas de distância</p><p>Existem várias medidas de distância comumente usadas em problemas de aprendizado</p><p>de máquina, cada uma adequada para diferentes tipos de dados e contextos. Aqui estão</p><p>algumas das medidas de distância mais populares:</p><p>1. Distância Euclidiana:</p><p>• É a distância mais comum e amplamente</p><p>usada em muitos algoritmos de aprendizado de</p><p>máquina.</p><p>• Calculada como a raiz quadrada da soma</p><p>dos quadrados das diferenças entre as</p><p>coordenadas dos pontos.</p><p>• É ideal para dados contínuos e numéricos.</p><p>• Fórmula:</p><p>𝑑(𝑥, 𝑦)</p><p>= √∑(𝑥𝑖 − 𝑦𝑖)2𝑛</p><p>𝑖=1</p><p>2. Distância de Manhattan:</p><p>• Também conhecida como distância de</p><p>taxicab ou distância L1.</p><p>• Calculada como a soma das diferenças</p><p>absolutas entre as coordenadas dos pontos.</p><p>• Ideal para dados que estão em uma grade</p><p>ou em espaços discretos.</p><p>• Fórmula: 𝑑(𝑥, 𝑦) = ∑ |𝑥𝑖 − 𝑦𝑖|𝑛</p><p>𝑖=𝑛</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>58</p><p>191</p><p>3. Distância de Chebyshev:</p><p>• Também conhecida como distância</p><p>infinita ou distância máxima.</p><p>• É a maior diferença absoluta entre as</p><p>coordenadas dos pontos ao longo de todos os</p><p>eixos.</p><p>• É útil quando você deseja considerar</p><p>apenas a maior diferença entre as</p><p>características.</p><p>• Fórmula: 𝑑(𝑥, 𝑦) = max𝑖 |𝑥𝑖 − 𝑦𝑖 |</p><p>4. Distância de Hamming:</p><p>• Usada principalmente para dados</p><p>categóricos ou binários.</p><p>• Calcula o número de posições nas quais os</p><p>símbolos correspondentes são diferentes.</p><p>• Fórmula: 𝑑(𝑥, 𝑦) = ∑(𝑥𝑖 ≠ 𝑦𝑖)𝑛</p><p>𝑖=1</p><p>5. Distância de Minkowski:</p><p>• É uma generalização da distância</p><p>Euclidiana e da distância de Manhattan.</p><p>• Pode ser ajustada usando um parâmetro</p><p>p, onde p=1 representa a distância de</p><p>Manhattan, p=2 representa a distância</p><p>Euclidiana e p→∞ representa a distância de</p><p>Chebyshev.</p><p>• Fórmula: 𝑑(𝑥, 𝑦) = (∑ |𝑥𝑖 − 𝑦𝑖|𝑃)1 𝑃⁄𝑛</p><p>𝑖=1</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>59</p><p>191</p><p>6. Distância de Jaccard:</p><p>• Usada principalmente para calcular a</p><p>similaridade entre conjuntos.</p><p>• É a razão entre o tamanho da interseção e</p><p>o tamanho da união de dois conjuntos.</p><p>• Útil para dados binários ou categóricos.</p><p>• Fórmula: 𝑑(𝑥, 𝑦) = 1 − |𝑋 ∩ 𝑌||𝑋 ∪ 𝑌|</p><p>A distância de Jaccard é particularmente útil em</p><p>problemas onde a presença ou ausência de</p><p>determinados elementos é mais relevante do</p><p>que sua contagem. Por exemplo, na análise de documentos ou na comparação</p><p>de perfis de usuário com base em suas preferências</p><p>Cada uma dessas medidas de distância tem suas próprias características e aplicações</p><p>específicas, e a escolha da medida correta depende do problema em questão e da</p><p>natureza dos dados envolvidos.</p><p>8. IPEA/2024/Ciência de Dados</p><p>No gráfico XY, são apresentados pontos que representam duas propriedades de</p><p>elementos de duas classes, R e S. Os pontos da classe R, representados como círculos,</p><p>são [(3,5),(3,4),(2,3)], enquanto os pontos da classe S, representados como quadrados,</p><p>são [(4,3),(4,2),(4,1),(3,1),(2,2)]. É necessário classificar pontos novos, de acordo com o</p><p>algoritmo K-NN, com K=3, considerando a distância euclidiana.</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>60</p><p>191</p><p>Nesse contexto, as classes dos pontos [(3,2),(3,3) e (4,4)] são, respectivamente:</p><p>(A) [R,R,S]</p><p>(B) [R,S,R]</p><p>(C) [S,R,R]</p><p>(D) [S,R,S]</p><p>(E) [R,R,R]</p><p>Comentário: Para resolver a questão basta plotar sobre o gráfico os pontos em questão.</p><p>Assim, podemos determinar a classe com base nos vizinhos mais próximos:</p><p>● Para o ponto (3,2), 3 dos 3 vizinhos mais próximos são da classe S e 0 são da</p><p>classe R. Logo, o ponto é classificado como S.</p><p>● Para o ponto (3,3), 2 dos 3 vizinhos mais próximos são da classe S e 1 é da classe</p><p>R. Logo, o ponto é classificado como R.</p><p>● Para o ponto (4,4), 2 dos 3 vizinhos mais próximos são da classe R e 1 é da classe</p><p>S. Logo, o ponto é classificado como R.</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>61</p><p>191</p><p>Assim, a nossa resposta encontra-se na alternativa C.</p><p>Gabarito: C</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>62</p><p>191</p><p>ÁRVORES DE DECISÃO</p><p>Os algoritmos de árvore de decisão são uma ferramenta essencial em aprendizado de</p><p>máquina supervisionado, frequentemente utilizada para suporte à decisão em diversos</p><p>domínios. Esses algoritmos se baseiam em estruturas de árvore para representar e tomar</p><p>decisões com base em condições sobre os dados.</p><p>Em essência, uma árvore de decisão é uma estrutura de ramificação que ilustra os</p><p>possíveis resultados de uma decisão com base em condições específicas. Ela consiste</p><p>em nós internos, também chamados de ramos, que representam condições ou</p><p>características dos dados, e nós finais, conhecidos como folhas, que representam as</p><p>classes de saída ou distribuições de probabilidade sobre essas classes.</p><p>Cada nó interno da árvore de decisão representa um atributo dos dados e é conectado por</p><p>arcos rotulados com os valores possíveis desse atributo. Os ramos da árvore representam</p><p>as possíveis decisões que podem ser tomadas com base nos valores dos atributos,</p><p>enquanto as folhas representam as classes previstas ou as distribuições de probabilidade</p><p>associadas a essas classes.</p><p>Ao percorrer o caminho da raiz até uma folha ao longo dos ramos da árvore, podemos</p><p>determinar a classificação ou a distribuição de probabilidade de um dado conjunto de</p><p>entrada. Essa estrutura hierárquica reflete a lógica de tomada de decisão humana e é</p><p>altamente interpretável.</p><p>Existem diversos algoritmos de árvore de decisão, sendo os mais comuns o ID3 (Iterative</p><p>Dichotomiser 3), o C4.5 e o CART (Classification and Regression Trees). Cada um desses</p><p>algoritmos tem suas próprias características e métodos de construção de árvores, mas</p><p>todos compartilham o mesmo objetivo de criar modelos de decisão eficazes e</p><p>interpretáveis a partir dos dados de treinamento disponíveis.</p><p>A árvore de decisão foi desenvolvida por J. Ross Quinlan enquanto ele estava associado à</p><p>Universidade de Sydney. Seu primeiro algoritmo para a criação da árvore de decisão foi</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>63</p><p>191</p><p>chamado de Dicotomizador Iterativo 3 (ID3).</p><p>A árvore de decisão é um algoritmo de Classificação e aprendizado Supervisionado</p><p>bastante utilizado. Árvores de decisão podem ser os melhores candidatos para o tipo de</p><p>problema de limite de decisão linear quando a precisão e a velocidade são importantes.</p><p>Podemos implementá-la de várias maneiras, pois existem muitas ferramentas disponíveis.</p><p>No entanto, Apache Mahout e Microsoft Azure ML são algumas ferramentas populares</p><p>para implementar esse algoritmo. Mas, novamente, depende do cenário e dos requisitos</p><p>do projeto.</p><p>Vantagens das árvores de decisão</p><p>• É rápido, preciso (em comparação com outras técnicas de classificação), simples e</p><p>barato construir e classificar registros desconhecidos.</p><p>• Gera regras compreensíveis e facilmente interpretáveis.</p><p>• Dá uma imagem clara de quais campos são mais importantes para classificação e</p><p>previsões.</p><p>• C4.5, que é uma árvore de decisão e extensão do ID3, é usado em vários setores</p><p>por sua capacidade de fornecer qualificação rápida e alta precisão.</p><p>• O CART, outro algoritmo de árvore de decisão importante, é muito eficiente na</p><p>geração de uma árvore de regressão, que é usada em muitos setores onde é</p><p>necessária uma tomada de decisão rápida, como o setor de comércio eletrônico.</p><p>• É capaz de lidar com dados numéricos e categóricos. Essa qualidade dá</p><p>a ele uma</p><p>vantagem sobre os outros algoritmos porque a maioria deles geralmente é</p><p>especializada na análise de conjuntos de dados que possuem apenas um tipo de</p><p>variável. Por exemplo, as regras de relação podem ser usadas apenas com</p><p>variáveis nominais, enquanto as redes neurais podem ser usadas apenas com</p><p>variáveis numéricas.</p><p>Desvantagens das Árvores de Decisão</p><p>• O desempenho das árvores de decisão não é bom se houver muitas variáveis não</p><p>correlacionadas no conjunto de dados.</p><p>• Computacionalmente caro para treinar</p><p>• As árvores de decisão geralmente são fáceis de usar, mas criá-las, especialmente</p><p>aquelas grandes com várias divisões ou ramificações, é complexo. É um esforço</p><p>que exige muito tempo.</p><p>Aplicações de Árvores de Decisão</p><p>• Usada para vários fins durante a tomada de decisões. Por exemplo, amplamente</p><p>utilizado para identificação e análise de riscos.</p><p>• Usado para otimização de processos. Por exemplo, a Shell o usa para a otimização</p><p>de seus processos baseados em petróleo e gás.</p><p>• Eficiente e eficaz na classificação de objetos, produtos e mercadorias, portanto,</p><p>muitas organizações de e-commerce o utilizam. Algumas das principais</p><p>organizações que usam esses algoritmos são Amazon e FlipKart.</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>64</p><p>191</p><p>• Usada no domínio financeiro para preços. Além disso, instituições financeiras como</p><p>bancos usam esses algoritmos para classificar os solicitantes de empréstimos para</p><p>separar os clientes bons dos ruins.</p><p>• Usada em aplicações baseadas em sensoriamento remoto para reconhecimento de</p><p>padrões.</p><p>O mercado de ações é baseado na oferta, demanda e crescimento da economia. No</p><p>mercado de ações, a previsão é muito importante e várias técnicas matemáticas e</p><p>estatísticas são normalmente aplicadas aos dados para obter melhores resultados e</p><p>percepções. Os traders e analistas usam uma série de abordagens diferentes para</p><p>previsões baseadas em cenários financeiros e de clientes, que são derivados de análises</p><p>técnicas e psicológicas fundamentais. Na era do aprendizado de máquina, vários</p><p>algoritmos de aprendizado de máquina de árvore de decisão são usados para previsão de</p><p>preço e participação. Normalmente, os traders e corretores usam softwares movidos por</p><p>uma combinação de algoritmos, como LR e SVR, juntamente com algoritmos de árvore de</p><p>decisão para obter resultados eficazes e eficientes.</p><p>Algoritmos ID3 e C4.5</p><p>Os algoritmos ID3 e C4.5 foram introduzidos por Quinlan para indução de modelos de</p><p>classificação, mais conhecidos por árvores de decisão. O algoritmo ID3 foi um dos</p><p>primeiros algoritmos de árvore de decisão, tendo sua elaboração baseada em sistemas de</p><p>inferência e em conceitos de sistemas de aprendizagem. Ele constrói árvores de decisão a</p><p>partir de um dado conjunto de exemplos, sendo a árvore resultante usada para classificar</p><p>amostras futuras.</p><p>O ID3 separa um conjunto de treinamento em subconjuntos, de forma que estes</p><p>contenham exemplos de uma única classe. A divisão é efetuada através de um único</p><p>atributo, que é selecionado a partir de uma propriedade estatística, denominada ganho de</p><p>informação, que mede quanto informativo é um atributo.</p><p>O algoritmo ID3 começa com o conjunto original S como o nó raiz. Em cada iteração do</p><p>algoritmo, ele itera por meio de cada atributo não utilizado do conjunto S e calcula a</p><p>entropia H(S) ou o ganho de informação IG (S) desse atributo. Em seguida, ele seleciona</p><p>o atributo que possui o menor valor de entropia (ou maior ganho de informação). O</p><p>conjunto S é então dividido ou particionado pelo atributo selecionado para produzir</p><p>subconjuntos dos dados. (Por exemplo, um conjunto pode ser dividido em nós filhos com</p><p>base nos subgrupos da população baseado na sua idade). O algoritmo continua a</p><p>recursividade em cada subconjunto, considerando apenas os atributos não selecionados</p><p>anteriormente.</p><p>A recursão em um subconjunto pode parar em um destes casos:</p><p>• cada elemento do subconjunto pertence à mesma classe; nesse caso, o nó é</p><p>transformado em um nó folha e rotulado com a classe dos exemplos.</p><p>• não há mais atributos a serem selecionados, mas os exemplos ainda não pertencem</p><p>à mesma classe. Nesse caso, o nó é transformado em nó folha e rotulado com a</p><p>classe mais comum dos exemplos no subconjunto.</p><p>• não há exemplos no subconjunto, o que acontece quando nenhum exemplo no</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>65</p><p>191</p><p>conjunto pai foi encontrado para corresponder a um valor específico do atributo</p><p>selecionado. Um exemplo pode ser a ausência de uma pessoa na população com</p><p>idade superior a 100 anos. Em seguida, um nó folha é criado e rotulado com a</p><p>classe mais comum dos exemplos no conjunto do nó pai.</p><p>Ao longo do algoritmo, a árvore de decisão é construída com cada nó não terminal (nó</p><p>interno) representando o atributo selecionado no qual os dados foram divididos e nós</p><p>terminais (nós folha) representando o rótulo de classe do subconjunto final desta</p><p>ramificação.</p><p>C4.5 constrói árvores de decisão a partir de um conjunto de dados de treinamento da</p><p>mesma forma que ID3, usando o conceito de entropia de informação. C4.5 fez uma série</p><p>de melhorias no ID3. Alguns deles são:</p><p>• Manipulação de atributos contínuos e discretos - Para tratar atributos contínuos, o</p><p>C4.5 cria um limite e então divide a lista em aqueles cujo valor de atributo está</p><p>acima do limite e aqueles que são menores ou iguais a ele.</p><p>• Tratamento de dados com valores de atributos ausentes - C4.5 permite que os</p><p>valores de atributos sejam marcados como ausentes. Valores de atributo ausentes</p><p>simplesmente não são usados em cálculos de ganho e entropia.</p><p>• Manipulando atributos com custos diferenciados.</p><p>• Poda das árvores após a criação - o C4.5 volta à árvore depois que ela foi criada e</p><p>tenta remover galhos que não ajudam, substituindo-os por nós de folha.</p><p>Árvores de decisão são algoritmos de aprendizado de máquina versáteis que podem</p><p>realizar tarefas de classificação e regressão. Vamos usar a base de dados de Iris (flores)</p><p>para entendermos um pouco mais sobre a dinâmica deste tipo de tarefas:</p><p>Ao observar as um conjunto de informações sobre diversas flores, incluindo as</p><p>informações de comprimento das pétalas e espetais, podemos montar um árvore de</p><p>decisão conforme mostrada na figura abaixo. Um dos hiperparâmentros que podemos</p><p>usar para nossa árvore é a profundidade máxima, neste caso, definimos max_depth como</p><p>2.</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>66</p><p>191</p><p>Em cada um dos nós da nossa árvore, a</p><p>primeira informação representa o atributo</p><p>que está sendo verificado. No nó raiz, o</p><p>comprimento da pétala é comparado com</p><p>uma constante (2,45). Caso o valor da</p><p>instância analisada seja menor do que 2,45,</p><p>a instância segue para a esquerda, caso</p><p>contrário, segue para a direita. Essa</p><p>verificação é feita em todos os nós internos.</p><p>Quando chegamos a um nó folha, este deve</p><p>especifica uma classe na qual nossa</p><p>instância deve ser classificada.</p><p>Entretanto, existem outros atributos</p><p>presentes em cada um dos nós, vamos dar</p><p>uma olhada nas definições deles ...</p><p>O atributo samples de um nó conta a quantas instâncias de treinamento ele se aplica. Por</p><p>exemplo, 100 instâncias de treinamento têm um comprimento (length) de pétala maior que</p><p>2,45 cm (profundidade 1, direita) e, dessas 100, 54 têm uma largura de pétala menor que</p><p>1,75 cm (profundidade 2, esquerda).</p><p>O atributo value de um nó informa a quantas instâncias de treinamento de cada classe</p><p>este nó se</p><p>aplica: por exemplo, o nó inferior direito se aplica a 0 Iris setosa, 1 versicolor e</p><p>45 Iris virginica.</p><p>Finalmente, o atributo gini de um nó mede sua impureza: um nó é “puro” (gini=0) se todas</p><p>as instâncias de treinamento a que se aplica pertencem à mesma classe. Por exemplo, o</p><p>nó esquerdo de profundidade 1 só se aplica a casos de treinamento da classe Iris setosa,</p><p>é pura e sua pontuação gini é 0.</p><p>Agora vamos ver como o algoritmo de treinamento calcula a pontuação gini Gi do nó</p><p>esquerdo de profundidade 2. Para tal, devemos usar a seguinte fórmula:</p><p>𝐺𝑖 = 1 − ∑ 𝑝𝑖,𝑘 2𝑛</p><p>𝑘=1</p><p>Calculando temos: = 1 − (0/54)2</p><p>− (49/54)2</p><p>− (5/54)2</p><p>≈ 0,168.</p><p>Perceba que a árvore de decisão é um algoritmo preditivo, ou seja, ela nem sempre acerta</p><p>na previsão de uma classe para uma instância do modelo.</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>67</p><p>191</p><p>A figura acima mostra os limites de decisão da Árvore de Decisão que usamos acima. A</p><p>linha vertical espessa representa o limite de decisão do nó raiz (profundidade 0):</p><p>comprimento da pétala = 2,45 cm. Como a área do lado esquerdo é pura (apenas Iris</p><p>setosa), ela não pode ser mais dividida. No entanto, a área do lado direito é impura, então</p><p>o nó direito de profundidade-1 divide-a na largura da pétala = 1,75 cm (representada pela</p><p>linha tracejada). Como max_depth foi definido como 2, a árvore de decisão para bem</p><p>aí. Se você definir max_depth como 3, então os dois nós de profundidade 2 adicionarão</p><p>cada um outro limite de decisão (representado pelas linhas pontilhadas).</p><p>Árvore de Classificação e Regressão (CART)</p><p>Agora vamos apresentar um dos principais algoritmos de árvore de decisão: o CART. O</p><p>algoritmo funciona dividindo primeiro o conjunto de treinamento em dois subconjuntos</p><p>usando um único recurso k e um limite tk (por exemplo, “comprimento da pétala ≤ 2,45</p><p>cm”). Como ele escolhe k e tk? Ele procura o par (k e tk) que produz os subconjuntos mais</p><p>puros (ponderados por seu tamanho).</p><p>Ele para de repetir essa lógica nos subconjuntos gerados quando atinge a profundidade</p><p>máxima (definida pelo hiperparâmetro max_depth) ou se não consegue encontrar uma</p><p>divisão que reduza a impureza.</p><p>Alguns outros hiperparâmetros podem ser usados para controlar as condições de parada</p><p>(min_samples_split, min_samples_leaf, min_weight_fraction_leaf e max_leaf_nodes).</p><p>Como você pode ver, o algoritmo CART é um algoritmo ganancioso: ele procura</p><p>avidamente por uma divisão ideal no nível superior e, a seguir, repete o processo em cada</p><p>nível subsequente. Ele não verifica se a divisão levará ou não à menor impureza possível</p><p>vários níveis abaixo. Um algoritmo ganancioso geralmente produz uma solução que é</p><p>razoavelmente boa, mas não é garantida como ideal.</p><p>Infelizmente, encontrar a árvore ideal é conhecido por ser um problema NP-Completo:</p><p>requer tempo O(exp(m)), tornando o problema intratável mesmo para pequenas séries de</p><p>treinamento. É por isso que devemos nos contentar com uma solução “razoavelmente</p><p>boa”.</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>68</p><p>191</p><p>As árvores de Decisão fazem muito poucas suposições sobre os dados de treinamento</p><p>(ao contrário dos modelos lineares, que presumem que os dados são lineares, por</p><p>exemplo).</p><p>Se não for restringida, a estrutura em árvore se adaptará aos dados de treinamento,</p><p>ajustando-se muito bem - na verdade, muito provavelmente ajustando-se em excesso.</p><p>Tal modelo geralmente é chamado de modelo não paramétrico, porque não possui</p><p>nenhum parâmetro que seja ajustado pelo modelo. Ele apresenta apenas um conjunto de</p><p>hiperparâmetros. Para evitar o sobreajuste dos dados de treinamento, você precisa</p><p>restringir a liberdade da Árvore de Decisão durante o treinamento e isso é feito por meio</p><p>dos hiperparâmetros. Abaixo temos alguns exemplos:</p><p>• Profundidade máxima</p><p>• Número mínimo de amostras que um nó deve ter antes de ser dividido</p><p>• Número mínimo de amostra em um nó folha.</p><p>• Número máximo de nós folhas</p><p>• Número máximo de recursos que são avaliados em cada divisão.</p><p>9. Questão inédita</p><p>Sobre árvore de decisão, assinale a alternativa correta.</p><p>A) A árvore de decisão são modelos chamados de paramétricos por ter um</p><p>número predeterminado de parâmetros antes do treinamento.</p><p>B) Entropia, diferentemente do índice de Gini, não é uma medida de impureza.</p><p>C) Árvores de decisão são usadas em tarefas de aprendizado de regressão e</p><p>classificação.</p><p>D) Por ser um modelo não paramétrico, as árvores de decisão não possuem</p><p>hiperparâmetros para reduzir o overfitting</p><p>E) O algoritmo de CART não é considerado um algoritmo ganancioso.</p><p>Comentário: Vamos comentar cada uma das alternativas acima:</p><p>a) Errado. Modelos não paramétricos!!</p><p>b) Errado. Entropia é uma medida de impureza ... a entropia de um conjunto é zero</p><p>quando ele contém instâncias de apenas uma classe.</p><p>c) Certo! Essa é a nossa resposta!</p><p>d) Errado. Tem hiperparâmetros!!</p><p>E) Errado. É ganancioso como você já sabe, o algoritmo CART é um algoritmo</p><p>ganancioso: ele procura avidamente por uma divisão ideal no nível superior e, a seguir,</p><p>repete o processo em cada nível subsequente. Ele não verifica se a divisão levará ou não</p><p>à menor impureza possível vários níveis abaixo. Um algoritmo ganancioso geralmente</p><p>produz uma solução que é razoavelmente boa, mas não é garantida como ideal.</p><p>Gabarito: C</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>69</p><p>191</p><p>A árvore de decisão é semelhante a um monte de instruções if-else, um algoritmo simples,</p><p>mas elegante, com uma visualização muito intuitiva. É realmente fácil entender o que está</p><p>acontecendo, ao contrário das redes neurais. Além disso, pouco ou nenhum pré-</p><p>processamento de dados é necessário.</p><p>Como o nome sugere, é uma árvore, portanto, começa com um nó raiz, que é um dos</p><p>recursos. Com base no valor desse recurso para nosso ponto de dados, selecionamos o</p><p>próximo nó da árvore. Isso continua até chegarmos à folha e, portanto, ao valor de</p><p>previsão.</p><p>Criar esta árvore é um pouco complicado; vários algoritmos diferentes são usados para</p><p>selecionar qual recurso vai para o topo, qual vai para o segundo e assim por diante.</p><p>Alguns dos algoritmos que calculam a importância dos recursos são o índice de Gini, o de</p><p>ganho de informação e o qui-quadrado. A seleção desse algoritmo pode ser considerada</p><p>um dos hiperparâmetros importantes no algoritmo da árvore de decisão.</p><p>Vejamos o exemplo de um conjunto de dados Iris clássico. Aqui, o objetivo é classificar as</p><p>três espécies de flores de íris, Setosa, Versicolor e Virginica, com base em quatro</p><p>características, comprimento da sépala, largura da sépala, comprimento da pétala e</p><p>largura da pétala.</p><p>Como eu disse antes, a visualização de uma árvore de decisão é muito fácil; sklearn</p><p>fornece uma função, tree.plot_tree() , onde você apenas tem que inserir seu classificador</p><p>treinado e ele irá plotar a árvore (veja a figura abaixo).</p><p>Figura 23 - Um classificador de árvore de decisão treinado no conjunto de dados Iris</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>70</p><p>191</p><p>Como você pode ver na figura acima, existem índices de gini para todos os nós, com base</p><p>em quais recursos são colocados na árvore. Conforme descemos na árvore, o valor do</p><p>índice de gini diminui. No topo dos nós, uma condição é especificada; se for verdadeiro, o</p><p>ponto de</p><p>dados vai para o filho da direita e, se for falso, o ponto de dados vai para o filho</p><p>esquerdo. O valor das amostras nos diz o número de instâncias que se encontram na</p><p>condição verdadeira e falsa do nó pai.</p><p>Um dos problemas que enfrentamos com as árvores de decisão é que, quando a árvore</p><p>fica complexa, há uma grande chance de que o modelo se ajuste demais aos dados de</p><p>treinamento. Alguns dos hiperparâmetros podem ajudar a reduzir essa complexidade.</p><p>Para resolver este problema, podemos podar a árvore, usando hiperparâmetros como</p><p>profundidade máxima da árvore e número mínimo de amostras no nó folha: Aqui estão os</p><p>hiperparâmetros:</p><p>• Algoritmo: Como mencionado anteriormente, este algoritmo decide a prioridade dos</p><p>recursos e, portanto, sua ordem na estrutura em árvore.</p><p>• Profundidade da árvore: define a profundidade máxima da árvore. Isso certamente</p><p>pode afetar a complexidade estrutural e o tempo de processamento da árvore.</p><p>Podemos remover nós sem importância e reduzir a profundidade.</p><p>• Divisão de amostra mínima: este é um valor inteiro que define o número mínimo de</p><p>amostras necessárias para dividir um nó interno. Na figura acima, se tivéssemos</p><p>escolhido 101, a árvore teria parado após a segunda camada.</p><p>• Quantidade de amostra mínima na folha: define o número mínimo de amostras na</p><p>folha. Este hiperparâmetro pode ajudar a reduzir o sobreajuste, reduzindo a</p><p>profundidade da árvore.</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>71</p><p>191</p><p>FLORETAS ALEATÓRIAS</p><p>Random Forest é um algoritmo de aprendizado de máquina supervisionado poderoso e</p><p>versátil que cresce e combina várias árvores de decisão para criar uma "floresta". Ele</p><p>pode ser usado para problemas de classificação e regressão em R e Python.</p><p>A Random Forest desenvolve várias árvores de decisão que são mescladas para uma</p><p>previsão mais precisa.</p><p>A lógica por trás do modelo Random Forest é que vários modelos não correlacionados (as</p><p>árvores de decisão individuais) têm um desempenho muito melhor como um grupo do que</p><p>sozinhos. Ao usar Random Forest para classificação, cada árvore dá uma classificação ou</p><p>um “voto”. A floresta escolhe a classificação com a maioria dos “votos”. Ao usar Random</p><p>Forest para regressão, a floresta escolhe a média dos resultados de todas as árvores.</p><p>A chave aqui reside no fato de que há baixa (ou nenhuma) correlação entre os modelos</p><p>individuais - isto é, entre as árvores de decisão que compõem o modelo Random Forest</p><p>maior. Embora as árvores de decisão individuais possam produzir erros, a maioria do</p><p>grupo estará correta, movendo assim o resultado geral na direção certa.</p><p>É fácil ficar confuso com uma única árvore de decisão e uma floresta de decisão. Parece</p><p>que uma floresta de decisão seria um monte de árvores de decisão únicas e é ... mais ou</p><p>menos. É um monte de árvores de decisão únicas, mas todas as árvores são misturadas</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>72</p><p>191</p><p>aleatoriamente em vez de árvores separadas crescendo individualmente.</p><p>Ao usar uma árvore de decisão regular, você deve inserir um conjunto de dados de</p><p>treinamento com recursos e rótulos e formular um conjunto de regras que usará para fazer</p><p>previsões. Se você inserir as mesmas informações em um algoritmo de floresta aleatória,</p><p>ele selecionará observações e recursos aleatoriamente para construir várias árvores de</p><p>decisão e, em seguida, calcular a média dos resultados.</p><p>Por exemplo, se você quiser prever quanto o cliente de um banco usará um serviço</p><p>específico que um banco oferece com uma única árvore de decisão, você deve reunir</p><p>quantas vezes ele usou o banco no passado e que serviço utilizou durante suas visitas.</p><p>Você adicionaria alguns recursos que descrevem as decisões desse cliente. A árvore de</p><p>decisão gerará regras para ajudar a prever se o cliente usará o serviço do banco.</p><p>Se você inserir o mesmo conjunto de dados em uma floresta aleatória, o algoritmo</p><p>construirá várias árvores a partir das visitas de clientes e do uso de serviço selecionados</p><p>aleatoriamente. Em seguida, produziria os resultados médios de cada uma dessas</p><p>árvores.</p><p>As árvores de decisão em um conjunto, como as árvores em uma floresta aleatória,</p><p>geralmente são treinadas usando o método de bagging (ensacamento). O método</p><p>“bagging” é um tipo de algoritmo de aprendizado de máquina de conjunto denominado</p><p>Bootstrap Aggregation. Um método de conjunto combina previsões de vários algoritmos</p><p>de aprendizado de máquina para fazer previsões mais precisas do que um modelo</p><p>individual. Random Forest também pode ser visto um método de conjunto.</p><p>A floresta aleatória é usada no trabalho por cientistas de dados em muitos setores,</p><p>incluindo bancos, ações, medicamentos e e-commerce. É usado para prever coisas que</p><p>ajudam essas indústrias a funcionarem com eficiência, como atividade do cliente, histórico</p><p>do paciente e segurança.</p><p>A Random Forest é usada no setor bancário para detectar clientes com maior</p><p>probabilidade de pagar suas dívidas em dia. Também é usado para prever quem usará os</p><p>serviços de um banco com mais frequência. Eles até o usam para detectar fraudes. Os</p><p>corretores de ações usam a Random Forest para prever o comportamento futuro de uma</p><p>ação. É usado por empresas de varejo para recomendar produtos e prever a satisfação do</p><p>cliente.</p><p>Na área da saúde, o Random Forest pode ser usado para analisar o histórico médico de</p><p>um paciente para identificar doenças. Cientistas farmacêuticos usam Random Forest para</p><p>identificar a combinação correta de componentes em um medicamento ou prever a</p><p>sensibilidade ao medicamento. Às vezes, a Random Forest é até usada para biologia</p><p>computacional e o estudo da genética.</p><p>Random Forest é popular, e por um bom motivo! Ele oferece uma variedade de</p><p>vantagens, desde precisão e eficiência até relativa facilidade de uso. Para cientistas de</p><p>dados que desejam usar Random Forests em Python, o scikit-learn oferece uma biblioteca</p><p>de classificação de floresta aleatória que é simples e eficiente.</p><p>O benefício mais conveniente de usar floresta aleatória é sua capacidade padrão de</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>73</p><p>191</p><p>corrigir o hábito de sobreajuste das árvores de decisão em seu conjunto de treinamento.</p><p>Usar o método de ensacamento e a seleção aleatória de recursos resolve quase</p><p>completamente o problema de sobreajuste, o que é ótimo porque o sobreajuste leva a</p><p>resultados imprecisos. Além disso, mesmo se alguns dados estiverem faltando, a Random</p><p>Forest geralmente mantém sua precisão.</p><p>A floresta aleatória é muito mais eficiente do que uma única árvore de decisão ao realizar</p><p>análises em um grande banco de dados. Por outro lado, a Random Forest é menos</p><p>eficiente do que uma rede neural. Uma rede neural é uma série de algoritmos que revelam</p><p>a relação subjacente em um conjunto de dados, imitando a maneira como o cérebro</p><p>humano pensa.</p><p>As redes neurais são mais complicadas do que as florestas aleatórias, mas geram os</p><p>melhores resultados possíveis ao se adaptar às mudanças de entrada. Ao contrário das</p><p>redes neurais, o Random Forest é configurado de uma forma que permite um</p><p>desenvolvimento rápido com hiperparâmetros mínimos (diretrizes de arquitetura de alto</p><p>nível), o que reduz o tempo de configuração.</p><p>Uma vez que leva menos tempo e conhecimento para desenvolver uma floresta aleatória,</p><p>esse método geralmente supera a eficiência de longo prazo da rede neural para cientistas</p><p>de dados menos experientes. Portanto, para resumir, os principais benefícios</p><p>Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>4</p><p>191</p><p>DICIONÁRIO</p><p>Faremos uma lista de termos que são relevantes ao entendimento do assunto desta aula!</p><p>Mais uma vez, se durante sua leitura texto, você tenha alguma dúvida sobre conceitos</p><p>básicos, esta parte da aula pode ajudar a esclarecer.</p><p>APRENDIZADO DE MÁQUINA</p><p>Agente - No aprendizado por reforço, a entidade que usa uma política para maximizar o</p><p>retorno esperado obtido com a transição entre os estados do ambiente.</p><p>Árvore de decisão - É um algoritmo de aprendizado de máquina supervisionado que é</p><p>utilizado para classificação e para regressão. Ela estabelece nós (decision nodes) que se</p><p>relacionam entre si por uma hierarquia. Existe o nó-raiz (root node), que é o mais</p><p>importante, e os nós-folha (leaf nodes), que são os resultados. No contexto de machine</p><p>learning, o raiz é um dos atributos da base de dados e o nó-folha é a classe ou o valor que</p><p>será gerado como resposta.</p><p>AUC (Area under the ROC Curve) - Uma métrica de avaliação que considera todos os</p><p>limites de classificação possíveis. A área sob a curva ROC é a probabilidade de um</p><p>classificador estar mais confiante de que um exemplo positivo escolhido aleatoriamente</p><p>seja realmente positivo e de que um exemplo negativo escolhido aleatoriamente seja</p><p>negativo.</p><p>Boosting - Uma técnica de aprendizado de máquina que combina iterativamente um</p><p>conjunto de classificadores simples e não muito precisos (chamados de classificadores</p><p>"fracos") em um classificador com alta precisão (um classificador "forte"), valorizando os</p><p>exemplos que o modelo está classificando incorretamente.</p><p>Centroide - O centro de um cluster determinado por um algoritmo k-means ou k-median.</p><p>Por exemplo, se k é 3, então o algoritmo k-means ou k-median encontra 3 centróides.</p><p>Classificador binário - Um tipo de tarefa de classificação que gera uma das duas classes</p><p>mutuamente exclusivas. Por exemplo, um modelo de aprendizado de máquina que avalia</p><p>mensagens de e-mail e gera "spam" ou "não spam" é um classificador binário.</p><p>Clustering - Agrupar exemplos relacionados, particularmente durante a aprendizagem</p><p>não supervisionada. Uma vez que todos os exemplos são agrupados, um humano pode</p><p>opcionalmente fornecer significado a cada cluster.</p><p>Cross-validation - Um mecanismo para estimar quão bem um modelo será generalizado</p><p>para novos dados, testando o modelo em relação a um ou mais subconjuntos de dados</p><p>não sobrepostos retidos do conjunto de treinamento.</p><p>Detecção de anomalia - O processo de identificação de outliers. Por exemplo, se a média</p><p>de um determinado recurso for 100 com um desvio padrão de 10, a detecção de</p><p>anomalias deverá sinalizar um valor de 200 como suspeito.</p><p>Dropout - Uma forma de regularização útil no treinamento de redes neurais. A</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>5</p><p>191</p><p>regularização de dropout funciona removendo uma seleção aleatória de um número fixo</p><p>de unidades em uma camada de rede para uma única etapa de gradiente.</p><p>Early stopping - Um método para regularização que envolve encerrar o treinamento do</p><p>modelo antes que a perda de treinamento termine de diminuir. Na parada antecipada,</p><p>você termina o treinamento do modelo quando a perda em um conjunto de dados de</p><p>validação começa a aumentar, ou seja, quando o desempenho da generalização piora.</p><p>Função de ativação - Uma função (por exemplo, ReLU ou sigmoid) que recebe a soma</p><p>ponderada de todas as entradas da camada anterior e, em seguida, gera e passa um valor</p><p>de saída (normalmente não linear) para a próxima camada.</p><p>Função convexa - Uma função na qual a região acima do gráfico da função é um</p><p>conjunto convexo. A função convexa típica tem a forma da letra U.</p><p>Gradiente - O vetor de derivadas parciais em relação a todas as variáveis independentes.</p><p>No aprendizado de máquina, o gradiente é o vetor de derivadas parciais da função do</p><p>modelo. O gradiente aponta na direção de subida/decida mais íngreme.</p><p>Linha de base - Um modelo usado como ponto de referência para comparar o</p><p>desempenho de outro modelo (normalmente, um mais complexo). Por exemplo, um</p><p>modelo de regressão logística pode servir como uma boa linha de base para um modelo</p><p>de aprendizado profundo.</p><p>Matriz de confusão - Uma tabela NxN que resume o sucesso das previsões de um</p><p>modelo de classificação; ou seja, a correlação entre o rótulo e a classificação do modelo.</p><p>Um eixo de uma matriz de confusão é o rótulo que o modelo previu e o outro eixo é o</p><p>rótulo real. N representa o número de classes. Em um problema de classificação binária,</p><p>N=2.</p><p>Rede neural - Um modelo que, inspirando-se no cérebro, é composto por camadas</p><p>(sendo pelo menos uma oculta) constituídas por unidades simples ou neurónios ligados</p><p>seguidos de não linearidades.</p><p>Retropropagação - O algoritmo primário para executar gradiente descendente em redes</p><p>neurais. Primeiro, os valores de saída de cada nó são calculados (e armazenados em</p><p>cache) em uma passagem direta. Em seguida, a derivada parcial do erro em relação a</p><p>cada parâmetro é calculada em uma passagem para trás pela rede.</p><p>Viês (bias/math) - Uma interceptação ou deslocamento de uma origem. O viés (também</p><p>conhecido como termo de bias) é chamado de b ou w0 em modelos de aprendizado de</p><p>máquina.</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>6</p><p>191</p><p>APRENDIZADO DE MÁQUINA</p><p>Prezado aluno, hoje começamos uma conjunto de aulas que falam sobre ciência de dados</p><p>no âmbito de aprendizado de máquina. Teremos algumas aulas que vão reunir o conteúdo</p><p>em blocos sistemáticos e organizados. A nossa primeira aula apresenta os conceitos</p><p>básicos de aprendizado de máquina e se aprofunda no conteúdo de aprendizado</p><p>supervisionado. Vamos a ela!</p><p>INTRODUÇÃO</p><p>Machine learning ou aprendizado de máquina é um subcampo da inteligência artificial</p><p>que se concentra no desenvolvimento de algoritmos e modelos computacionais que</p><p>aprendem padrões e relações a partir de dados, sem uma programação explícita. O</p><p>objetivo do machine learning é capacitar os computadores a aprenderem</p><p>automaticamente com os dados e melhorar seu desempenho ao longo do tempo, sem</p><p>intervenção humana direta.</p><p>Existem várias maneiras de usar machine learning, que podem incluir reconhecimento de</p><p>padrões, previsão, classificação, agrupamento e otimização, entre outras aplicações.</p><p>Essas técnicas são amplamente utilizadas em diversas áreas, incluindo medicina,</p><p>finanças, marketing, ciência de dados, engenharia, jogos e muitas outras.</p><p>Um dos autores mais influentes em machine</p><p>learning, Tom Mitchell (a esquerda), definiu</p><p>machine learning como "um programa de</p><p>computador é dito aprender a partir de experiência E</p><p>com respeito a alguma classe de tarefas T e medida</p><p>de performance P, se seu desempenho na tarefa T,</p><p>como medido por P, melhora com a experiência E."</p><p>Essa definição destaca três elementos-chave:</p><p>1. Experiência (E): Refere-se aos dados de</p><p>entrada ou exemplos utilizados para treinar o</p><p>algoritmo de machine learning. Esse conjunto de</p><p>dados é essencial para que o algoritmo aprenda</p><p>padrões e relações.</p><p>2. Tarefa (T): Refere-se à atividade específica que</p><p>o algoritmo de machine learning está tentando</p><p>executar, como classificação, previsão, agrupamento, entre outros. A escolha da</p><p>tarefa depende do problema que se deseja resolver.</p><p>3. Medida de desempenho (P): Refere-se à métrica utilizada para avaliar o</p><p>desempenho do algoritmo na realização da tarefa. Essa medida pode variar de</p><p>acordo com a natureza da tarefa, e seu objetivo é quantificar o quão bem o</p><p>algoritmo</p><p>do uso da</p><p>Random Forest são:</p><p>• Fácil de usar</p><p>• Eficiência</p><p>• Precisão</p><p>• Versatilidade - pode ser usado para classificação ou regressão</p><p>• Mais amigável para iniciantes do que algoritmos de precisão semelhante, como</p><p>redes neurais</p><p>10. IPEA/2024/Ciência de Dados</p><p>66. Em uma nota técnica do Ipea sobre emprego público nos governos subnacionais</p><p>brasileiros, no ano de 2016, aparece menção sobre o fato de as bases utilizadas</p><p>possuírem outliers, ou valores atípicos.</p><p>A construção de um modelo preditivo a partir dos dados dessas bases, usando árvores</p><p>aleatórias, Random Forests,</p><p>(A) apresentaria uma redução de variância.</p><p>(B) seria inadequado, devido à sensibilidade a outliers de Random Forests.</p><p>(C) teria uma tendência a overfitting.</p><p>(D) teria propensão a underfitting.</p><p>(E) teria dependência de linearidade nos dados.</p><p>Comentário: A técnica de Random Forests é conhecida por sua capacidade de lidar com</p><p>valores atípicos ou outliers de forma robusta. Dado que cada árvore na floresta é treinada</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>74</p><p>191</p><p>em uma amostra aleatória dos dados e considera apenas um subconjunto das</p><p>características em cada divisão, é menos sensível a valores extremos do que métodos</p><p>lineares, por exemplo. Portanto, a resposta correta é: (A) apresentaria uma redução de</p><p>variância.</p><p>A técnica de Random Forests é conhecida por sua robustez em lidar com diversos</p><p>desafios comuns em conjuntos de dados, incluindo a presença de valores atípicos ou</p><p>outliers. Isso ocorre por alguns motivos:</p><p>1. Amostragem aleatória: Cada árvore na floresta é treinada em uma amostra</p><p>aleatória dos dados, o que reduz a influência de pontos extremos em comparação</p><p>com métodos que consideram todos os dados.</p><p>2. Subconjuntos de características: Em cada divisão de uma árvore na floresta,</p><p>apenas um subconjunto aleatório das características é considerado. Isso significa</p><p>que os outliers podem ter menos impacto nas decisões de divisão, já que algumas</p><p>características são ignoradas em cada árvore.</p><p>3. Votação majoritária: Na etapa de predição, a Random Forest combina as</p><p>previsões de todas as árvores individuais. Portanto, mesmo que algumas árvores</p><p>sejam influenciadas por outliers, a votação majoritária geralmente compensa essas</p><p>influências individuais.</p><p>Devido a essas propriedades, a Random Forest tende a reduzir a variância em</p><p>comparação com modelos mais sensíveis a outliers, como modelos lineares. Isso significa</p><p>que ela pode fornecer previsões mais estáveis e robustas, mesmo na presença de valores</p><p>atípicos</p><p>Gabarito: A</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>75</p><p>191</p><p>SVM – MÁQUINAS DE VETORES DE SUPORTE</p><p>Uma máquina de vetores de suporte (SVM) pode ser pensado como uma superfície que</p><p>cria um limite entre pontos de dados plotados em espaços multidimensionais. Os pontos</p><p>representam exemplos e seus valores de características. O objetivo de um SVM é criar um</p><p>limite plano chamado hiperplano, que divide o espaço para criar partições homogêneas</p><p>em ambos os lados. Dessa forma, a aprendizagem SVM combina aspectos da</p><p>aprendizagem do vizinho mais próximo baseada em instância, e a modelagem de</p><p>regressão linear. A combinação é extremamente poderosa, permitindo que os SVMs</p><p>modelem relacionamentos altamente complexos.</p><p>Embora a matemática básica que impulsiona as SVMs já exista há décadas, sua</p><p>popularidade explodiu recentemente. Isso, é claro, está enraizado em seu desempenho,</p><p>mas talvez também devido ao fato de que algoritmos SVM premiados foram</p><p>implementados em várias bibliotecas populares e bem suportadas em muitas linguagens</p><p>de programação, incluindo R. SVMs foram, portanto, adotados por um público muito mais</p><p>amplo, caso contrário, poderiam ter sido incapazes de aplicar a matemática um tanto</p><p>complexa necessária para implementar um SVM. A boa notícia é que, embora a</p><p>matemática possa ser difícil, os conceitos básicos são compreensíveis.</p><p>Os SVMs podem ser adaptados para uso com quase qualquer tipo de tarefa de</p><p>aprendizagem, incluindo classificação e previsão numérica. Muitos dos principais</p><p>sucessos do algoritmo vêm do reconhecimento de padrões. Os aplicativos incluem:</p><p>• Classificação de dados de expressão de genes no campo da bioinformática para</p><p>identificar câncer ou outras doenças genéticas</p><p>• Categorização de texto, como identificação do idioma usado em um documento ou a</p><p>classificação de documentos por assunto</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>76</p><p>191</p><p>• A detecção de eventos raros, mas importantes, como falha do motor de combustão,</p><p>falhas de segurança ou terremotos</p><p>Os SVMs são mais facilmente compreendidos quando usados para classificação binária,</p><p>que é como o método tem sido tradicionalmente aplicado. Portanto, vamos nos concentrar</p><p>apenas nos classificadores SVM. Não se preocupe, entretanto, pois os mesmos princípios</p><p>que você aprender aqui são aplicados durante a adaptação de SVMs a outras tarefas de</p><p>aprendizagem, como predição numérica.</p><p>Classificação com hiperplanos</p><p>Conforme observado anteriormente, SVMs usam um limite chamado hiperplano para</p><p>particionar dados em grupos de valores de classe semelhantes. Por exemplo, a figura a</p><p>seguir descreve hiperplanos que separam grupos de círculos e quadrados em duas e três</p><p>dimensões. Como os círculos e quadrados podem ser separados perfeitamente pela linha</p><p>reta ou pela superfície plana, eles são considerados linearmente separáveis. A princípio,</p><p>consideraremos apenas o caso simples em que isso é verdade, mas os SVMs também</p><p>podem ser estendidos para problemas em que os pontos não são linearmente separáveis.</p><p>Figura 24 - Hiperplano no espaço de 2 e 3 dimensões</p><p>Por conveniência, o hiperplano é tradicionalmente representado como uma linha no</p><p>espaço 2D, mas isso ocorre simplesmente porque é difícil ilustrar o espaço em mais de</p><p>duas dimensões. Na realidade, o hiperplano é uma superfície plana em um espaço de alta</p><p>dimensão - um conceito que pode ser difícil de entender.</p><p>Em duas dimensões, a tarefa do algoritmo SVM é identificar uma linha que separa as duas</p><p>classes. Conforme mostrado na figura a seguir, há mais de uma escolha de linha divisória</p><p>entre os grupos de círculos e quadrados. Três dessas possibilidades são rotuladas de</p><p>a, b, e c. Como o algoritmo escolhe?</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>77</p><p>191</p><p>A resposta a essa pergunta envolve uma busca pelo Hiperplano de margem máxima</p><p>(MMH) que cria a maior separação entre as duas classes. Embora qualquer uma das três</p><p>linhas que separam os círculos e quadrados classificaria corretamente todos os pontos de</p><p>dados, é provável que a linha que leva à maior separação que se adeque melhor os dados</p><p>futuros. A margem máxima aumentará a chance de que, apesar do ruído aleatório, os</p><p>pontos permaneçam no lado correto do limite.</p><p>Os vetores de suporte (indicados por setas na figura a seguir) caracteriza os pontos de</p><p>cada classe que estão mais próximos do MMH; cada classe deve ter pelo menos um vetor</p><p>de suporte, mas é possível ter mais de um. Usando apenas os vetores de suporte, é</p><p>possível definir o MMH. Este é um recurso chave dos SVMs; os vetores de suporte</p><p>fornecem uma maneira muito compacta de armazenar um modelo de classificação,</p><p>mesmo se o número de recursos for extremamente grande.</p><p>Figura 25 - Vetor de</p><p>suporte e margem máxima</p><p>O algoritmo para identificar os vetores de suporte depende da geometria vetorial e envolve</p><p>matemática bastante complicada que está fora do escopo desta aula. No entanto, os</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>78</p><p>191</p><p>princípios básicos do processo são bastante diretos.</p><p>É mais fácil entender como encontrar a margem máxima sob a suposição de que as</p><p>classes são linearmente separáveis. Neste caso, o MMH está o mais longe possível dos</p><p>limites externos dos dois grupos de pontos de dados. Esses limites externos são</p><p>conhecidos como casco convexo (convex hull). O MMH é então a bissetriz</p><p>perpendicular da linha mais curta entre os dois cascos convexos. Algoritmos de</p><p>computador sofisticados que usam uma técnica conhecida como a otimização</p><p>quadrática é capaz de encontrar a margem máxima dessa forma.</p><p>Máquina de vetores de suporte (SVM) é um algoritmo poderoso que encontra um plano</p><p>hiperdimensional que separa classes distintas. Um exemplo é mostrado na figura a seguir,</p><p>na qual temos duas classes denotadas pelas cores vermelha e azul. A linha preta que os</p><p>divide é o nosso hiperplano (uma linha neste caso, já que estamos visualizando em duas</p><p>dimensões). O SVM encontra o hiperplano de forma que a margem (a distância entre as</p><p>duas linhas pontilhadas) seja máxima.</p><p>Os pontos de dados próximos às linhas pontilhadas são chamados de vetores de suporte.</p><p>Eles são altamente responsáveis pela formação do hiperplano. Usamos o método de</p><p>otimização de multiplicadores de Lagrange para encontrar este hiperplano.</p><p>Figura 26 - Classes separadas por hiperplano</p><p>Mas esse era um problema linearmente separável. Na vida real, os conjuntos de dados</p><p>não são linearmente separáveis. Portanto, vamos dar outro exemplo e ver como o SVM</p><p>funcionaria:</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>79</p><p>191</p><p>Figura 27 - Conjunto de dados com duas classes, azul e vermelho</p><p>A figura acima não é linearmente separável. Portanto, é necessário projetá-la para uma</p><p>dimensão superior (três dimensões, neste caso), como mostrado na figura a seguir e</p><p>agora podemos aplicar SVM e encontrar o plano separando-o.</p><p>Figura 28 - Dados projetados em dimensões superiores e separados por um plano</p><p>Precisamos encontrar a função de mapeamento correta para projetar dados em</p><p>dimensões superiores. É aí que diferentes kernels entram em jogo. As funções de</p><p>mapeamento corretas podem ser obtidas usando as funções de kernel corretas, que é um</p><p>dos hiperparâmetros mais importantes em SVMs. Vamos agora discutir os diferentes</p><p>hiperparâmetros:</p><p>• Kernel: conforme descrito anteriormente, um kernel ajuda a obter a função de</p><p>mapeamento correta, que é essencial para o desempenho eficiente do SVM.</p><p>Encontrar apenas o kernel reduz a complexidade de encontrar a função de</p><p>mapeamento; há uma relação matemática direta entre a função de mapeamento e a</p><p>função de kernel. A Figura acima é um exemplo de problema que pode ser resolvido</p><p>usando o kernel da função de base radial (RBF). Alguns dos kernels amplamente</p><p>usados são o polinomial, Gaussian, sigmoid e, claro, o RBF, a maioria deles estão</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>80</p><p>191</p><p>definidos na implementação SVM no scikit-learn (o sklearn também permite que</p><p>você defina seu próprio kernel).</p><p>• C: C é um parâmetro de regularização. Ele cria um trade off entre a precisão do</p><p>treinamento e a largura da margem. Uma diminuição em C resulta em margens</p><p>maiores e menor precisão de treinamento e vice-versa.</p><p>• Gama: Gama (𝛾) define a influência dos pontos de treinamento.</p><p>• Grau: Este hiperparâmetro é usado apenas em kernels polinomiais; um grau mais</p><p>alto significa um limite de decisão mais flexível. O grau 1 resultaria em um kernel</p><p>linear.</p><p>REDES NEURAIS</p><p>As redes neurais são uma classe de algoritmos de aprendizado de máquina que são</p><p>vagamente inspirados por neurônios no cérebro humano. No entanto, sem me aprofundar</p><p>muito nas analogias do cérebro, acho mais fácil simplesmente descrever as redes neurais</p><p>como uma função matemática que mapeia uma determinada entrada para a saída</p><p>desejada. Para entender o que isso significa, vamos dar uma olhada em uma rede neural</p><p>de camada única (conhecida como perceptron). Um Perceptron pode ser ilustrado com o</p><p>seguinte diagrama:</p><p>Figura 29 - Conceito de Perceptron</p><p>Em sua essência, o Perceptron é simplesmente uma função matemática que recebe um</p><p>conjunto de entradas, realiza alguns cálculos matemáticos e produz o resultado do</p><p>cálculo. Nesse caso, essa função matemática é simplesmente esta:</p><p>refere-se aos pesos do Perceptron. Falaremos mais sobre eles adiantes. Neste</p><p>momento, apenas perceba que as redes neurais são simplesmente funções matemáticas</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>81</p><p>191</p><p>que mapeiam uma determinada entrada para uma saída desejada. Entretanto, vale a pena</p><p>entender por que as redes neurais ganharam uma posição tão importante no aprendizado</p><p>de máquina e IA.</p><p>A primeira razão é que as redes neurais são aproximadoras de funções universais. Isso</p><p>significa é que dada qualquer função arbitrária que estamos tentando modelar, não</p><p>importa o quão complexa seja, as redes neurais são sempre capazes de representar</p><p>essa função. Isso tem uma profunda implicação nas redes neurais e na IA em</p><p>geral. Supondo que qualquer problema no mundo possa ser descrito por uma função</p><p>matemática (não importa quão complexa seja), podemos usar redes neurais para</p><p>representar essa função, modelando efetivamente qualquer coisa no mundo. Uma</p><p>advertência a isso é que, embora os cientistas tenham provado a universalidade das redes</p><p>neurais, uma rede neural grande e complexa pode nunca ser treinada e generalizada</p><p>corretamente.</p><p>O segundo motivo é que a arquitetura das redes neurais é altamente escalonável e</p><p>flexível. Como veremos, podemos facilmente empilhar camadas em cada rede neural,</p><p>aumentando a complexidade. Talvez o mais interessante é que as capacidades das redes</p><p>neurais são limitadas apenas por nossa própria imaginação. Por meio de um projeto</p><p>criativo de arquitetura de rede neural, os engenheiros de aprendizado de máquina</p><p>aprenderam como usar redes neurais para prever dados de série temporal (conhecidas</p><p>como redes neurais recorrentes (RNNs)), que são usadas em áreas como</p><p>reconhecimento de voz ou fala.</p><p>Vamos passar ao entendimento básico dos elementos de uma rede neural. As redes</p><p>neurais consistem nos seguintes componentes:</p><p>Uma camada de entrada, x</p><p>Uma quantidade arbitrária de camadas ocultas</p><p>Uma camada de saída, ŷ</p><p>Um conjunto de pesos e vieses entre cada camada, W e b</p><p>Uma escolha de função de ativação para cada camada oculta, σ</p><p>O diagrama a seguir mostra a arquitetura de uma rede neural de duas camadas (observe</p><p>que a camada de entrada é normalmente excluída ao contar o número de camadas em</p><p>uma rede neural):</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>82</p><p>191</p><p>A saída, ŷ, de uma rede neural simples de duas camadas é a seguinte:</p><p>Você pode notar que na equação anterior, os pesos, W , e os vieses, b , são as únicas</p><p>variáveis que afetam a saída, ŷ.</p><p>Naturalmente, os valores adequados para</p><p>os pesos e desvios determinam a força das</p><p>previsões. O processo de ajuste fino dos pesos e tendências dos dados de entrada é</p><p>conhecido como treinamento da rede neural.</p><p>Cada iteração do processo de treinamento consiste nas seguintes etapas:</p><p>1. Calcular a saída prevista ŷ, conhecido como Feedforward</p><p>2. Atualizar os pesos e vieses, conhecido como Backprogation (retropropagação)</p><p>O seguinte gráfico sequencial ilustra o processo:</p><p>Figura 30 - Conceitos de Feedforward e Backpropagation</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>83</p><p>191</p><p>O algoritmo de treinamento de retropropagação é um algoritmo gradiente descendente</p><p>iterativo projetado para minimizar um critério de erro de uma rede feed-forward. O termo</p><p>retropropagação vem da propagação de derivadas de erro de unidades de saída para</p><p>unidades ocultas.</p><p>O algoritmo de retropropagação padrão é uma otimização de primeira ordem. Sua</p><p>convergência é altamente sensível ao tamanho da rede, ao nível de ruído nos dados e à</p><p>escolha da taxa de aprendizagem: a convergência pode ser lenta e pode levar a mínimos</p><p>locais ruins da superfície de erro. O aprimoramento do desempenho dos algoritmos de</p><p>retropropagação pode ser feito pela normalização de dados e pelo uso de alternativas</p><p>aprimoradas para a abordagem de gradiente descendente padrão. Consequentemente, os</p><p>dados são normalmente normalizados para ficarem entre [-1, 1], antes de serem</p><p>apresentados ao MLP (Multi Layer Percetron).</p><p>Funções de ativação: limiar, linear, ReLU, logística, softmax, maxout e gaussiana.</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>84</p><p>191</p><p>Figura 31 - Principais funções de ativação</p><p>As funções de ativação são um elemento extremamente importante das redes neurais</p><p>artificiais. Elas basicamente decidem se um neurônio deve ser ativado ou não. Ou seja, se</p><p>a informação que o neurônio está recebendo é relevante para a informação fornecida ou</p><p>deve ser ignorada.</p><p>A função de ativação simula o comportamento de um neurônio biológico ao decidir</p><p>disparar ou inibir sinais, dependendo de sua lógica interna. O valor de saída é então</p><p>despachado para todas as unidades receptoras conforme determinado pela topologia</p><p>subjacente. Várias ativações foram propostas. As mais amplamente utilizadas incluem a</p><p>função linear, a função degrau ou limiar, a função tangente, sigmóide e hiperbólica.</p><p>Vejamos um pouco mais sobre cada uma delas.</p><p>Função de Etapa Binária (Binary Step Function)</p><p>A primeira coisa que vem à nossa mente quando temos uma função de ativação seria um</p><p>classificador baseado em limiar (threshold), ou seja, se o neurônio deve ou não ser</p><p>ativado. Se o valor Y estiver acima de um valor de limite determinado, ative o neurônio</p><p>senão deixa desativado. Simples! Essa seria a regra: 𝒇(𝒙) = 𝟏, 𝒙 >= 𝟎 𝒇(𝒙) = 𝟎, 𝒙</p><p>entrada for negativa, ela será convertida em zero e o neurônio não será</p><p>ativado. Isso significa que, ao mesmo tempo, apenas alguns neurônios são ativados,</p><p>tornando a rede esparsa, eficiente e fácil para a computação.</p><p>Entretanto, a função ReLU também pode ter problemas com os gradientes que se</p><p>deslocam em direção a zero. Mas quando temos um problema, sempre podemos pensar</p><p>em uma solução. Aliás, isso é o que as empresas procuram nos dias de hoje:</p><p>“resolvedores de problemas”.</p><p>Softmax</p><p>A função softmax também é um tipo de função sigmóide, mas é útil quando tentamos lidar</p><p>com problemas de classificação. A função sigmóide como vimos anteriormente é capaz de</p><p>lidar com apenas duas classes. O que devemos fazer quando estamos tentando lidar com</p><p>várias classes? Apenas classificar sim ou não para uma única classe não ajudaria. A</p><p>função softmax transforma as saídas para cada classe em valores entre 0 e 1 e divide</p><p>pela soma das saídas. Isso essencialmente dá a probabilidade de a entrada estar em uma</p><p>determinada classe. Pode ser definido como:</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>87</p><p>191</p><p>Digamos, por exemplo, que temos as saídas como [1.2, 0.9, 0.75], quando aplicamos a</p><p>função softmax, obteríamos [0.42, 0.31, 0.27]. Então, agora podemos usá-los como</p><p>probabilidades de que o valor seja de cada classe. A função softmax é idealmente usada</p><p>na camada de saída do classificador, onde realmente estamos tentando gerar as</p><p>probabilidades para definir a classe de cada entrada.</p><p>Redes Perceptron de única e múltiplas camadas.</p><p>Já falamos que um perceptron é representado por um conjunto de parâmetros que</p><p>incluem pesos, w e um viés. É capaz de classificar padrões simples em duas classes,</p><p>formando uma região de decisão de meio plano. Um único perceptron, entretanto, é</p><p>incapaz de separar padrões de entrada que requerem limites de decisão mais complexos.</p><p>Por exemplo, um problema de “ou exclusivo” não pode ser resolvido por um perceptron de</p><p>camada única. Para superar essa restrição, pode-se introduzir uma camada oculta de</p><p>neurônios. A rede de três camadas, que inclui um conjunto de recursos de entrada M,</p><p>duas camadas ocultas (ou mais) e uma camada de saída de N nós, é capaz de</p><p>resolver problemas complexos arbitrários. Diferentes aplicações podem exigir o ajuste</p><p>do número de camadas ocultas e do número de respectivos neurônios para atingir um</p><p>nível de precisão desejado.</p><p>Perceptrons multicamadas são redes feed-forward com neurônios que estão totalmente</p><p>interconectados entre camadas adjacentes, mas que são separados dentro de uma</p><p>camada. Os pesos associados aos arcos em todas as camadas podem ser treinados com</p><p>um algoritmo de retropropagação, tornando essas redes muito atraentes para problemas</p><p>de classificação. Expandindo o número de neurônios e camadas usadas, pode-se</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>88</p><p>191</p><p>classificar sinais muito complexos, como aqueles usados em fala, linguagem e</p><p>processamento de vídeo. Para sinais multidimensionais, como imagens, preditores</p><p>profundos mais avançados, conhecidos como redes convolucionais, têm sido comumente</p><p>adotados. Essas redes oferecem suporte a várias dimensões em cada camada.</p><p>Um dos principais avanços no aprendizado profundo (deep learning) é atribuído à</p><p>descoberta do algoritmo de retropropagação. O algoritmo permitiu o treinamento</p><p>supervisionado de perceptrons multicamadas. Lembre-se o backpropagation é</p><p>essencialmente uma técnica de busca de gradiente que minimiza uma função de custo</p><p>entre as saídas desejadas e aquelas geradas pela rede (loss). O objetivo é estabelecer</p><p>uma relação funcional para um determinado problema, ajustando os pesos entre os</p><p>neurônios.</p><p>Depois de selecionar alguns valores iniciais para os pesos e limiares internos, os padrões</p><p>de entrada/ saída são apresentados à rede repetidamente e, em cada apresentação, os</p><p>estados de todos os neurônios são calculados a partir da camada inferior e movendo-se</p><p>para cima até que os estados dos neurônios na camada de saída sejam determinados.</p><p>Nesse nível, um erro é estimado calculando a diferença nos valores entre as saídas da</p><p>rede e as saídas desejadas. As variáveis da rede são então ajustadas propagando os</p><p>erros da camada superior para a primeira camada.</p><p>Uma rede neural básica é composta de nós e camadas de nós, e esses nós nada mais</p><p>são do que a saída da camada anterior multiplicadas pelos pesos. Chamamos pesos e</p><p>vieses, neste contexto, de parâmetros (uma vez que são decididos por um algoritmo de</p><p>modelagem baseado no conjunto de dados) e chamamos o número de nós, número de</p><p>camadas e assim por diante de hiperparâmetros (já que intervimos na sua definição).</p><p>Definir a arquitetura de uma rede neural é uma das tarefas mais desafiadoras enfrentadas</p><p>pelos cientistas de dados em uma tarefa de aprendizado de máquina. A arquitetura não</p><p>pode ser descoberta por força bruta (tentar todos os modelos possíveis) porque a</p><p>complexidade associada ao tempo de processamento das redes neurais é muito alta e</p><p>não é possível experimentar todas as combinações de hiperparâmetros. Portanto, criar</p><p>uma arquitetura de rede neural é mais uma arte, contando com lógica e algoritmos de</p><p>ajuste de hiperparâmetros mais avançados.</p><p>Um grande número de hiperparâmetros diferentes existem no contexto das redes neurais,</p><p>então vamos discutir alguns deles aqui:</p><p>• Número de camadas: adicionar camadas aumenta a profundidade da rede neural e</p><p>a capacidade de aprender recursos mais complexos.</p><p>• Número de nós: O número de nós varia de acordo com as camadas, mas o número</p><p>de nós na primeira camada oculta e na última camada oculta deve ser igual ao</p><p>número de recursos de entrada e de classes a serem previstas, respectivamente.</p><p>Para a camada oculta, por convenção, usamos o número de nós em expoentes de</p><p>2, o que significa 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024 e assim por diante. Isso</p><p>ocorre porque o hardware tem um desempenho mais eficiente quando os números</p><p>são armazenados em potências de dois, embora não haja prova de que essa seja a</p><p>maneira mais eficiente de selecionar esse tipo de hiperparâmetros.</p><p>• Tamanho de lote: Se tomarmos a uma subamostra do conjunto de dados, ela deve</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>89</p><p>191</p><p>representar as propriedades de todo o conjunto de dados. Este lote pode ser usado</p><p>para calcular o gradiente e atualizar os pesos. E iteramos em todas as subamostras</p><p>até cobrir todo o conjunto de dados. A ideia é economizar espaço na memória. Mas</p><p>você precisa escolher o valor ideal do tamanho do subconjunto, porque um tamanho</p><p>de lote menor causaria mais flutuações ao atingir os valores mínimos, e um valor</p><p>maior pode causar erros de memória.</p><p>• Função de ativação: as funções de ativação são usadas para introduzir uma não</p><p>linearidade em cada nó. Poucas coisas que precisamos ter certeza ao decidir as</p><p>funções de ativação são, elas devem ser usadas em milhares e milhões de nós, e a</p><p>retropropagação usa suas derivadas, portanto, a função e sua derivada devem ser</p><p>pouco complexas computacionalmente. Algumas das ativações amplamente</p><p>utilizadas são ReLU, Sigmoid e Leaky ReLU.</p><p>• Função de perda (loss): a função de perda é escolhida com base na saída, seja</p><p>uma classificação binária, classificação multiclasse, regressão e assim por diante.</p><p>Existem também outros fatores. Por exemplo, usar a ativação sigmóide na última</p><p>camada e a função de perda quadrática pode resultar na lentidão do aprendizado.</p><p>Portanto, coisas</p><p>como essas precisam ser observadas. Também existem</p><p>hiperparâmetros internos para a função de perda que podem ser ajustados.</p><p>• Otimizador: anteriormente, discutimos um método de otimização, o de gradiente</p><p>descendente. Existem outros métodos de otimização mais avançados, como</p><p>Adagrad, Adam Optimizer e assim por diante, e esses otimizadores também contêm</p><p>vários hiperparâmetros que afetam a otimização geral.</p><p>Existem muitos outros hiperparâmetros em redes neurais, como normalização em lote</p><p>(batch normalization), eliminação (dropout) e assim por diante. E a cada poucos dias</p><p>essas variáveis estão aumentando com o avanço da tecnologia. Enfim, não vamos</p><p>conseguir esgotar a quantidade de hiperparâmetros possíveis. Esta seção teve como</p><p>objetivo dar uma ideia do que são hiperparâmetros e como funcionam.</p><p>11. Questão inédita</p><p>Não pode ser considerado um exemplo de hiperparâmetro:</p><p>a) Os coeficientes das equações de regressão linear.</p><p>b) Número de camadas de uma rede neural.</p><p>c) O número de vizinhos no algoritmo de KNN.</p><p>d) A profundidade máxima em uma árvore de decisão</p><p>e) A função de ativação de uma rede neural.</p><p>Comentário: Lembre-se a diferença entre parâmetros e hiperparâmetros são conceitos</p><p>distintos. Neste cenário, temos que observar que os coeficientes das equações em</p><p>regressões lineares, assim como os pesos e o viés em uma rede neural são tratados</p><p>como parâmetros pois são ajustados pelo próprio algoritmo durante o treinamento do</p><p>modelo.</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>90</p><p>191</p><p>Gabarito: A.</p><p>CLASSIFICADOR NAIVE BAYES</p><p>Para entendermos um classificador de Bayes precisamos conhecer o conceito de</p><p>probabilidade condicional presentes no teorema.</p><p>O Teorema de Bayes é uma fórmula matemática usada para o cálculo da probabilidade de</p><p>um evento dado que outro evento já ocorreu, o que é chamado de probabilidade</p><p>condicional. A grande questão do Teorema de Bayes é que eu preciso ter alguma</p><p>informação anterior, ou seja, preciso saber que um determinado evento já ocorreu e qual a</p><p>probabilidade desse evento. Sabendo que:</p><p>• 𝑃(𝐴) é a probabilidade de proposição 𝐴</p><p>• 𝑃(𝐴 ∧ 𝐵) é a probabilidade da conjunção de 𝐴 e 𝐵, ou seja, a probabilidade de que</p><p>ambos sejam verdadeiros.</p><p>• 𝑃(𝐴|𝐵) é a probabilidade condicional de 𝐴 dado que é 𝐵 verdade. A linha vertical</p><p>entre 𝐴 e 𝐵 é pronunciado como “dado”.</p><p>Vamos definir 3 teoremas que nos permitem calcular a probabilidade condicional:</p><p>O Teorema 1 nos dá uma maneira de calcular uma probabilidade condicional usando uma</p><p>conjunção: 𝑃(𝐴|𝐵) = 𝑃(𝐴 ∧ 𝐵)𝑃(𝐵)</p><p>O Teorema 2 nos dá uma maneira de calcular uma conjunção usando uma probabilidade</p><p>condicional: 𝑃(𝐴 ∧ 𝐵) = 𝑃(𝐴|𝐵) ∗ 𝑃(𝐵)</p><p>Teorema 3, também conhecido como teorema de Bayes, nos dá uma maneira de</p><p>encontrar P(A|B) a partir de P(B|A), ou o contrário: 𝑃(𝐴|𝐵) = 𝑃(𝐵|𝐴) ∗ 𝑃(𝐴)𝑃(𝐵)</p><p>Para finalizar, a Lei da Probabilidade Total fornece uma maneira de calcular</p><p>probabilidades somando as partes: 𝑃(𝐴) = ∑ 𝑃(𝐵𝑖)𝑃(𝐴|𝐵𝑖)𝑖</p><p>Nesse ponto, você pode perguntar: "E daí?" Se tivermos todos os dados, podemos</p><p>calcular qualquer probabilidade que quisermos, qualquer conjunção ou qualquer</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>91</p><p>191</p><p>probabilidade condicional, apenas contando. Não precisamos usar essas fórmulas.</p><p>E você está certo, SE TIVERMOS TODOS OS DADOS. Mas muitas vezes não temos e,</p><p>nesse caso, essas fórmulas podem ser muito úteis - especialmente o teorema de Bayes</p><p>que pode ser usado para implementar a tarefa de classificação, como veremos a seguir.</p><p>Para esclarecer um pouco mais, nada melhor que um exemplo, não é mesmo? Pergunto:</p><p>qual a probabilidade de um candidato passar no concurso dado que ele estudou pelo</p><p>material do Professor Thiago? Vamos calcular ...</p><p>Pague todos os alunos que fizeram o curso do prof. Thiago. (ex. 100)</p><p>Calcule a fração dos aprovados que fizeram o curso (ex. 20/100) = 20%</p><p>OK! A chance de um aluno passar no concurso, dado que ele fez o curso de aprendizado</p><p>de máquina é de 20%.</p><p>Vamos falar um pouco sobre um classificador que usa o modelo Bayseano ... O</p><p>classificador que usamos nesta seção é chamado de “ingênuo” porque ignora as</p><p>correlações entre os recursos. No nosso exemplo, falaremos sobre os pinguins da</p><p>Antártida:</p><p>A classificação pode ser a aplicação mais conhecida dos métodos Bayesianos, que</p><p>ficaram famosos na década de 1990 como a base da primeira geração de filtros de spam.</p><p>Nesta seção, demonstrarei a classificação Bayesiana usando dados coletados e</p><p>disponibilizados pela Dra. Kristen Gorman no Estação de Pesquisa Ecológica de Longo</p><p>Prazo Palmer na Antártica. Usaremos esses dados para classificar os pinguins por</p><p>espécie.</p><p>Vamos aproveitar para apresentar o exemplo usando Python para fazer os cálculos sobre</p><p>os dados ... isso já é um aquecimento para o que veremos numa próxima aula.</p><p>Vou usar a biblioteca pandas para carregar os dados em um DataFrame:</p><p>import pandas as pd</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>92</p><p>191</p><p>df = pd.read_csv('penguins_raw.csv')</p><p>df.shape</p><p>(344, 17)</p><p>O conjunto de dados contém uma linha para cada pinguim e uma coluna para cada</p><p>variável. Pela descrição dada pela função shape acima, temos 344 registros de pinguins e</p><p>informações sobre 17 atributos para cada um. Um destes atributos é a classe na qual os</p><p>pinguins são rotulados de verdade. Três espécies de pinguins estão representadas no</p><p>conjunto de dados: Adélie, Chinstrap e Gentoo . As medidas que usaremos são:</p><p>• Massa corporal em gramas (g).</p><p>• Comprimento da nadadeira em milímetros (mm).</p><p>• Comprimento de Culmen em milímetros.</p><p>• Profundidade de Culmen em milímetros.</p><p>Se você não está familiarizado com a palavra “culmen”, ela se refere à margem superior</p><p>do bico.</p><p>Essas medições serão mais úteis para classificação se houver diferenças substanciais</p><p>entre as espécies e pequenas variações dentro das espécies. Para ver se isso é verdade</p><p>e em que grau, vou representar graficamente funções de distribuição cumulativa (FDC) de</p><p>cada medição para cada espécie.</p><p>Na teoria de probabilidade e estatística, a função de distribuição cumulativa (FDC) de uma</p><p>variável aleatória de valor real X, ou apenas função de distribuição de X, avaliado em x, é</p><p>a probabilidade de que X terá um valor menor ou igual a x. De uma forma mais simples,</p><p>imagine que você me informe um tamanho de nadadeira 190 (x) eu posso te dizer qual a</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>93</p><p>191</p><p>probabilidade das nadadeiras de uma determinada espécie ser menor do que 190. Se</p><p>essa probabilidade for 100% significa que todas as nadadeiras são menores do que esse</p><p>valor.</p><p>A função a seguir, recebe como parâmetro o DataFrame e o nome de uma das suas</p><p>colunas coluna. Ela retorna um dicionário que mapeia o nome de cada espécie para uma</p><p>FDC utilizando os valores da coluna passada como parâmetro (colname).</p><p>def make_fdc_map(df, colname, by='Species2'):</p><p>"""Constroí uma FDC para cada uma das espécies."""</p><p>fda_map = {}</p><p>grouped = df.groupby(by)[colname]</p><p>for species, group in grouped:</p><p>fdc_map[species] = fdc.from_seq(group, name=species)</p><p>return fdc_map</p><p>Aqui está a aparência das distribuições para o comprimento do culmen:</p><p>Parece que podemos usar o comprimento do culmen</p><p>para identificar os pinguins Adélie</p><p>(quase 100% dos pinguins possuem o comprimento do Culmen menor do que 41), mas as</p><p>distribuições para as outras duas espécies se sobrepõem quase inteiramente. Vamos</p><p>olhar, então, para outro recurso ou atributo. Aqui estão as distribuições para o</p><p>comprimento da nadadeira (flíper):</p><p>Usando o comprimento da nadadeira, podemos distinguir os pinguins Gentoo das outras</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>94</p><p>191</p><p>duas espécies (veja que os valores de comprimento da nadadeira começam em 204).</p><p>Portanto, com apenas esses dois recursos, parece que deveríamos ser capazes de</p><p>classificar os pinguins com alguma precisão. Todas essas FDC ou CDF (em inglês)</p><p>mostram uma forma de sigmoide característica da distribuição normal.</p><p>Para resolver esse problema, vamos usar uma sequência de passos naturais para um</p><p>problema Bayesiano. Vamos usar esses recursos para classificar os pinguins da seguinte</p><p>forma:</p><p>[1] Definindo uma distribuição anterior (a priori) com as três espécies possíveis e</p><p>uma probabilidade anterior para cada uma.</p><p>[2] Calculando a probabilidade dos dados para cada espécie hipotética e, em</p><p>seguida.</p><p>[3] Calculando a probabilidade posterior (a posteriori) de cada hipótese.</p><p>Para calcular a probabilidade dos dados em cada hipótese, usaremos os dados para</p><p>estimar os parâmetros de uma distribuição normal para cada espécie.</p><p>A função a seguir recebe um DataFrame e um nome de coluna; e retorna um dicionário</p><p>que mapeia de cada nome de espécie para um objeto norm. norm é definido no SciPy;</p><p>representa uma distribuição normal com uma determinada média e desvio padrão.</p><p>from scipy.stats import norm</p><p>def make_norm_map(df, colname, by='Species2'):</p><p>"""Constrói um mapa a partir das espécies para um objeto norm."""</p><p>norm_map = {}</p><p>grouped = df.groupby(by)[colname]</p><p>for species, group in grouped:</p><p>mean = group.mean()</p><p>std = group.std()</p><p>norm_map[species] = norm(mean, std)</p><p>return norm_map</p><p>Por exemplo, aqui está o dicionário de objetos norm para comprimento da nadadeira</p><p>(flipper):</p><p>flipper_map = make_norm_map(df, 'Flipper Length (mm)')</p><p>flipper_map.keys()</p><p>dict_keys (['Adelie', 'Chinstrap', 'Gentoo'])</p><p>Agora suponha que medimos um pinguim e descobrimos que sua nadadeira tem 193 cm.</p><p>Qual é a probabilidade dessa medição em cada hipótese?</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>95</p><p>191</p><p>O objeto norm fornece uma função pdf, que calcula a função de densidade de</p><p>probabilidade (FDP) da distribuição normal. Podemos usá-la para calcular a probabilidade</p><p>dos dados observados em uma determinada distribuição.</p><p>data = 193</p><p>flipper_map['Adelie'].pdf(data)</p><p>0.054732511875530694</p><p>O resultado é uma densidade de probabilidade, portanto, não podemos interpretá-lo como</p><p>uma probabilidade. Mas é proporcional à probabilidade dos dados, então podemos usá-lo</p><p>para atualizar a probabilidade anterior (a priori).</p><p>Veja como calculamos a probabilidade dos dados em cada distribuição:</p><p>hypos = flipper_map.keys()</p><p>likelihood = [flipper_map[hypo].pdf(data) for hypo in hypos]</p><p>likelihood</p><p>[0,054732511875530694, 0,05172135615888162, 5,8660453661990634e-05]</p><p>Agora estamos prontos para fazer a atualização. Para tal, usarei um Pmf para representar</p><p>a distribuição a priori. Para simplificar, vamos supor que as três espécies são igualmente</p><p>prováveis.</p><p>from empiricaldist import Pmf</p><p>prior = Pmf(1/3, hypos)</p><p>prior</p><p>Probabilidade</p><p>Adelie 0.333333</p><p>Chinstrap 0.333333</p><p>Gentoo 0.333333</p><p>Neste momento, estamos iniciando o nosso processo, começamos com a suposição de</p><p>que cada uma das espécies tenham a mesma probabilidade de aparecer.</p><p>Agora podemos fazer a atualização. Nossa atualização vai ponderar as probabilidades a</p><p>priori usando os dados da densidade de probabilidade. De uma forma mais simples,</p><p>considerando que o comprimento da nadadeira é 193, queremos saber qual a</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>96</p><p>191</p><p>probabilidade de cada uma das espécies aparecer como classe para essa instância</p><p>específica? Vejamos o código abaixo:</p><p>posterior = prior * likelihood</p><p>posterior.normalize()</p><p>posterior</p><p>Probabilidade</p><p>Adelie 0,513860</p><p>Chinstrap 0,485589</p><p>Gentoo 0,000551</p><p>Assim, é improvável que um pinguim com nadadeira de 193 mm seja um Gentoo, mas</p><p>pode ser um Adélie ou um Chinstrap (assumindo que as três espécies eram igualmente</p><p>prováveis antes da medição).</p><p>A função a seguir encapsula as etapas que acabamos de executar. É necessário um</p><p>objeto Pmf representando a distribuição anterior (prior), os dados observados e um mapa</p><p>de cada hipótese para a distribuição do recurso.</p><p>def update_penguin(prior, data, norm_map):</p><p>""" Atualizando espécies hipotéticas."""</p><p>hypos = prior.qs</p><p>likelihood = [norm_map[hypo].pdf(data) for hypo in hypos]</p><p>posterior = prior * likelihood</p><p>posterior.normalize()</p><p>return posterior</p><p>O valor de retorno é a distribuição posterior.</p><p>Como vimos nas FDCs ou CDFs, o comprimento da nadadeira não distingue fortemente</p><p>entre os pinguins Adélie e Chinstrap. Mas o comprimento do culmen pode fazer essa</p><p>distinção, então vamos usá-la para fazer uma segunda rodada de classificação. Em</p><p>primeiro lugar, estimamos as distribuições do comprimento dos cúmulos para cada</p><p>espécie:</p><p>culmen_map = make_norm_map(df, 'Culmen Length (mm)')</p><p>Agora, suponha que vejamos um pinguim com comprimento de culmen de 48 mm.</p><p>Podemos usar esses dados para atualizar o anterior:</p><p>posterior2 = update_penguin(prior, 48, culmen_map)</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>97</p><p>191</p><p>Probabilidade</p><p>Adelie 0.001557</p><p>Chinstrap 0.474658</p><p>Gentoo 0.523785</p><p>Um pinguim com comprimento de culmen de 48 mm tem a mesma probabilidade de ser</p><p>um Chinstrap ou um Gentoo. Usando um recurso de cada vez, muitas vezes podemos</p><p>descartar uma espécie ou outra, mas geralmente não podemos identificar as espécies</p><p>com confiança. Podemos fazer melhor usando vários recursos.</p><p>Agora sim! Vamos mostrar a grande utilidade do classificador Bayesiano ... Para tornar</p><p>mais fácil fazer várias atualizações, usarei a seguinte função, que toma a Pmf a priori,</p><p>uma sequência de medições e uma sequência correspondente de dicionários contendo</p><p>distribuições estimadas.</p><p>def update_naive(prior, data_seq, norm_maps):</p><p>"""Classificador Bayesiano Ingênuo</p><p>prior: Pmf</p><p>data_seq: sequência de medições</p><p>norm_maps: sequênaica de mapas das espécies para as distribuições</p><p>returns: Pmf representando a distribuição a posteriori</p><p>"""</p><p>posterior = prior.copy()</p><p>for data, norm_map in zip(data_seq, norm_maps):</p><p>posterior = update_penguin(posterior, data, norm_map)</p><p>return posterior</p><p>A função acima realiza uma série de atualizações, usando uma variável por vez, e retorna</p><p>a Pmf a posterior. Para testá-la, usarei os mesmos recursos que examinamos acima:</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>98</p><p>191</p><p>comprimento do culmen e comprimento da nadadeira.</p><p>colnames = ['Flipper Length (mm)', 'Culmen Length (mm)']</p><p>norm_maps = [flipper_map, culmen_map]</p><p>Agora, suponha que encontramos um pinguim com</p><p>nadadeira de 193 mm e culmen 48.</p><p>Aqui está a atualização que vamos fazer:</p><p>data_seq = 193, 48</p><p>posterior = update_naive(prior, data_seq, norm_maps)</p><p>posterior</p><p>Probabilidade</p><p>Adelie 0.003455</p><p>Chinstrap 0.995299</p><p>Gentoo 0.001246</p><p>Assim, é quase certo que essa instância de pinguim seja</p><p>um Chinstrap. Para finalizar, podemos percorrer o conjunto</p><p>de dados e classificar cada pinguim com base nestes dois</p><p>recursos. Para tal vamos usar o seguinte código</p><p>apresentado abaixo:</p><p>import numpy as np</p><p>df['Classification'] = np.nan</p><p>for i, row in df.iterrows():</p><p>data_seq = row[colnames]</p><p>posterior = update_naive(prior, data_seq, norm_maps)</p><p>df.loc[i, 'Classification'] = posterior.max_prob()</p><p>Este loop adiciona uma coluna chamada Classification ao DataFrame que contém as</p><p>espécies com probabilidade posterior máxima para cada pinguim. Então, vamos ver</p><p>quantos acertamos:</p><p>valid = df['Classification'].notna()</p><p>Valeu aí galera!! Agora você entende do</p><p>classificador de Bayes ingênuo!</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>99</p><p>191</p><p>valid.sum()</p><p>342</p><p>same = df['Species2'] == df['Classification']</p><p>same.sum()</p><p>324</p><p>Sabemos que existem 344 pinguins no conjunto de dados, mas dois deles estão sem</p><p>medições, então temos 342 casos válidos. Destes, 324 estão classificados corretamente,</p><p>o que é quase 95%!! Lembrando que o classificador que usamos nesta seção é chamado</p><p>de “ingênuo” porque ignora as correlações entre os recursos.</p><p>Antes de seguirmos, vejamos uma questão sobre o assunto:</p><p>12. IPEA/2024/Ciência de Dados</p><p>Alguns trabalhos publicados como notas técnicas pelo Ipea se utilizam do método de</p><p>classificação denominado de Bayes Ingênuo.</p><p>No contexto do classificador Bayesiano Ingênuo, Naive Bayes, a ingenuidade do modelo é</p><p>caracterizada pela(o)</p><p>(A) dependência direta entre todas as variáveis preditoras</p><p>(B) ênfase na complexidade do modelo</p><p>(C) suposição de independência condicional entre as variáveis preditoras</p><p>(D) utilização de distribuição de probabilidade uniforme</p><p>(E) uso exclusivo de variáveis contínuas</p><p>Comentário: A ingenuidade do classificador Naive Bayes se refere à suposição de</p><p>independência condicional entre as variáveis preditoras, ou seja, a crença de que a</p><p>presença de uma determinada característica em uma classe é independente da presença</p><p>de outras características. Isso significa que o modelo considera cada característica como</p><p>contribuindo individualmente para a probabilidade de pertencer a uma determinada classe,</p><p>sem levar em conta a interação entre as características.</p><p>Essa suposição é chamada de "ingênua" porque, na prática, é improvável que as</p><p>características sejam realmente independentes umas das outras. No entanto, apesar</p><p>dessa simplificação, o classificador Naive Bayes muitas vezes funciona</p><p>surpreendentemente bem em muitas situações do mundo real e é amplamente utilizado</p><p>devido à sua simplicidade, eficiência computacional e bom desempenho em muitos</p><p>problemas de classificação.</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>100</p><p>191</p><p>Gabarito: C</p><p>Resumindo, o algoritmo Naive Bayes é uma técnica de classificação amplamente utilizada</p><p>na área de aprendizado de máquina, especialmente em tarefas de classificação de dados.</p><p>Fundamentado na teoria da probabilidade, o Naive Bayes é reconhecido por sua</p><p>simplicidade e eficácia quando aplicado corretamente, fornecendo previsões precisas em</p><p>uma variedade de cenários.O nome "Naive Bayes" deriva de dois fundamentos essenciais</p><p>que norteiam seu funcionamento:</p><p>1. Suposição Ingênua (Naive): O algoritmo opera com base na suposição ingênua de</p><p>que os atributos que compõem os dados de entrada são independentes entre si.</p><p>Isso significa que o valor de um atributo não é influenciado pelo valor de outro</p><p>atributo, o que nem sempre é verdade na prática. Apesar dessa simplificação, o</p><p>Naive Bayes continua sendo eficaz em muitos casos reais.</p><p>2. Teorema de Bayes: O algoritmo é fundamentado no Teorema de Bayes, uma</p><p>importante ferramenta da teoria da probabilidade que descreve como atualizar as</p><p>probabilidades de uma hipótese à luz de novas evidências. O teorema estabelece</p><p>uma relação entre a probabilidade condicional de uma hipótese ocorrer dado um</p><p>conjunto de evidências e as probabilidades anteriores dessa hipótese e das</p><p>evidências.</p><p>O objetivo do Naive Bayes é classificar instâncias de dados com base nas probabilidades</p><p>dos atributos observados. Para isso, o algoritmo considera três tipos de eventos:</p><p>1. Eventos Independentes: Eventos que não afetam a probabilidade de ocorrência</p><p>um do outro. Por exemplo, receber um e-mail promocional e uma reorganização na</p><p>empresa são eventos independentes.</p><p>2. Eventos Dependentes: Eventos cuja ocorrência afeta a probabilidade de outros</p><p>eventos. Por exemplo, a probabilidade de chegar a uma conferência no horário</p><p>pode ser afetada por uma greve de funcionários da companhia aérea.</p><p>3. Eventos Mutuamente Exclusivos: Eventos que não podem ocorrer</p><p>simultaneamente. Por exemplo, rolar um três e um seis em uma única jogada de</p><p>dados são eventos mutuamente exclusivos.</p><p>O Teorema de Bayes é utilizado para calcular a probabilidade condicional entre dois</p><p>eventos independentes, A e B, representados por P(A) e P(B). A probabilidade</p><p>condicional, P(B∣A), representa a probabilidade de o evento B ocorrer dado que o evento</p><p>A ocorreu.</p><p>Para calcular a probabilidade de eventos ocorrerem simultaneamente, o Naive Bayes</p><p>utiliza regras de multiplicação e adição simples, dependendo se os eventos são</p><p>independentes ou dependentes.</p><p>Após esta introdução à teoria da probabilidade, o Naive Bayes é aplicado a conjuntos de</p><p>dados para classificação. Cada instância de dados é classificada com base na</p><p>probabilidade máxima da classe ocorrer, dadas as evidências observadas. O algoritmo</p><p>calcula a probabilidade de cada classe para a instância de dados e seleciona a classe</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>101</p><p>191</p><p>com a maior probabilidade como a previsão final.</p><p>O Naive Bayes é amplamente utilizado em uma variedade de aplicações, desde filtros de</p><p>spam de e-mail até diagnósticos médicos e sistemas de recomendação. Sua simplicidade,</p><p>rapidez e eficácia o tornam uma escolha popular para problemas de classificação de</p><p>dados.</p><p>Tipos de classificador Naive Bayes</p><p>Os classificadores de Bayes são uma família de algoritmos de aprendizado de máquina</p><p>baseados no Teorema de Bayes, que descreve como atualizar as probabilidades de uma</p><p>hipótese à luz de novas evidências. Existem diferentes tipos de classificadores de Bayes,</p><p>cada um adequado para diferentes tipos de dados e problemas de classificação. Vamos</p><p>explicar os três tipos principais:</p><p>1. Multinomial Naive Bayes:</p><p>• O Multinomial Naive Bayes é amplamente utilizado para problemas de</p><p>classificação de documentos, como determinar se um documento pertence à</p><p>categoria de esportes, política, tecnologia, etc.</p><p>• Os recursos/preditores usados pelo classificador são a frequência das</p><p>palavras presentes no documento. Cada palavra é tratada como uma variável</p><p>discreta e sua frequência é contabilizada.</p><p>• Este classificador assume que os valores dos preditores seguem uma</p><p>distribuição multinomial.</p><p>2. Bernoulli Naive Bayes:</p><p>• O Bernoulli Naive Bayes é semelhante ao Multinomial Naive Bayes, mas os</p><p>preditores são variáveis booleanas.</p><p>• Os parâmetros usados para prever a variável de classe assumem apenas</p><p>valores de sim ou não, por exemplo, se uma palavra ocorre no texto ou não.</p><p>• É comumente usado em problemas de classificação onde os recursos são</p><p>representados como variáveis binárias.</p><p>3. Gaussian Naive Bayes:</p><p>• O Gaussian Naive Bayes é usado quando os preditores assumem valores</p><p>contínuos e não discretos.</p><p>• Este classificador assume que os valores dos preditores seguem uma</p><p>distribuição gaussiana (ou distribuição normal).</p><p>• É adequado para problemas de classificação onde os dados têm uma</p><p>distribuição contínua.</p><p>A escolha do classificador de Bayes depende do tipo de dados e do problema de</p><p>classificação em questão. Cada tipo de classificador tem suas próprias suposições</p><p>subjacentes sobre a distribuição dos dados e pode funcionar melhor em diferentes</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>102</p><p>191</p><p>situações.</p><p>Os algoritmos de Naive Bayes são amplamente utilizados em várias aplicações, como</p><p>análise de sentimento, filtragem de spam, sistemas de recomendação, entre outros. Eles</p><p>são conhecidos por serem rápidos e fáceis de implementar. No entanto, sua maior</p><p>desvantagem é a suposição de que os preditores são independentes, o que nem sempre é</p><p>verdadeiro na prática. Isso pode afetar o desempenho do classificador em casos em que</p><p>os preditores são dependentes entre si.</p><p>É importante entender a lógica por trás dos algoritmos de Naive Bayes, que se baseiam</p><p>em probabilidades e preditores independentes, em vez de memorizar fórmulas</p><p>específicas. O uso desses algoritmos pode ser explorado por meio de bibliotecas como o</p><p>scikit-learn, onde são fornecidas implementações prontas para uso.</p><p>REGRESSÃO</p><p>A importância do uso de modelos de regressão nos negócios modernos e na análise</p><p>econômica é fundamental. Nesta parte da aula, vamos explorar como esses modelos</p><p>podem ser desenvolvidos e aplicados.</p><p>Você não aprenderá tudo o que há para saber sobre regressão neste curso; no entanto,</p><p>ao final, terá um entendimento completo sobre o que é possível e como avaliar modelos</p><p>de regressão. Embora você possa nunca construir um modelo desses por conta própria, é</p><p>muito provável que, em algum momento, você seja exposto a eles em seu trabalho.</p><p>Antes de entrarmos no processo de construção e avaliação de modelos de regressão, é</p><p>importante observar que quase todos os dados usados nos exemplos deste curso são</p><p>dados reais, não dados planejados para fins puramente acadêmicos. Os dados são</p><p>representativos do tipo de informações com os quais você se deparará no mundo real.</p><p>Geralmente, os dados usados em aplicativos de negócios de análise de regressão são</p><p>dados de seção transversal ou dados de série temporal.</p><p>Os dados de seção transversal são coletados em diferentes unidades de observação, mas</p><p>no mesmo período para cada observação. Por exemplo, um estudo de satisfação do</p><p>cliente (ou funcionário) pode envolver a pesquisa de um grupo de pessoas ao mesmo</p><p>tempo, como em um mesmo mês. Um exemplo de conjunto de dados de seção</p><p>transversal são os dados de times de basquete universitário, onde temos muitas variáveis</p><p>relativas a diferentes times, todos na mesma temporada.</p><p>Os dados de série temporal, por sua vez, são coletados ao longo do tempo para uma</p><p>variável específica. Por exemplo, podemos observar as vendas de roupas femininas mês</p><p>a mês nos Estados Unidos ou a ocupação de um hotel ao longo do tempo. Entender se há</p><p>uma tendência ou padrão sazonal nos dados é fundamental para determinar as variáveis</p><p>causais potenciais a serem consideradas ao construir um modelo de regressão.</p><p>Quando se trata de construir modelos de regressão, é importante considerar o tipo de</p><p>dados que você possui. Os dados podem ser classificados em quatro tipos: nominal,</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>103</p><p>191</p><p>ordinal, intervalar e de proporção. Para análise de regressão, é recomendável usar dados</p><p>de intervalo ou de proporção, uma vez que são mais adequados para o processo</p><p>estatístico. Os dados nominais representam características sem qualquer ordem ou</p><p>distância entre as categorias. Os dados ordinais têm uma ordem específica, mas as</p><p>diferenças entre as categorias não são consistentes. Já os dados de intervalo e de</p><p>proporção possuem uma escala constante, sendo os dados de proporção caracterizados</p><p>por um ponto zero verdadeiro, o que os diferencia dos dados de intervalo. A maioria dos</p><p>dados que você encontrará na prática será de intervalo ou proporção e adequados para</p><p>análise de regressão.</p><p>REGRESSÃO LINEAR</p><p>A regressão linear é uma técnica estatística utilizada para entender a relação entre uma</p><p>variável dependente (ou resposta) e uma ou mais variáveis independentes (ou preditoras).</p><p>A ideia por trás da regressão linear é encontrar a melhor linha reta que represente essa</p><p>relação de forma aproximada.</p><p>Na regressão linear simples, temos apenas uma variável independente que é usada para</p><p>prever a variável dependente. A equação geral de uma regressão linear simples é: 𝒀 = 𝜷𝟎 + 𝜷𝟏 × 𝑿 + 𝜺</p><p>Onde:</p><p>• Y é a variável dependente (ou resposta) que estamos tentando prever;</p><p>• X é a variável independente (ou preditora) que estamos usando para fazer a</p><p>previsão;</p><p>• β0 é o intercepto da linha de regressão, que representa o valor de Y quando X é</p><p>zero;</p><p>• β1 é o coeficiente de regressão, que representa a mudança esperada em Y para</p><p>uma mudança unitária em X;</p><p>• ε é o erro aleatório, que representa a variação não explicada pelo modelo.</p><p>O objetivo da regressão linear é estimar os valores dos coeficientes β0 e β1 que</p><p>minimizem a soma dos quadrados dos resíduos, ou seja, a diferença entre os valores</p><p>observados e os valores previstos pelo modelo. Isso é feito usando técnicas de</p><p>otimização, como o método dos mínimos quadrados.</p><p>Na prática, quando temos mais de uma variável independente, utilizamos a regressão</p><p>linear múltipla. Nesse caso, a equação da regressão linear é expandida para incluir</p><p>múltiplas variáveis independentes:</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>104</p><p>191</p><p>Y=β0+β1×X1+β2×X2+…+βp×Xp+ε</p><p>Onde X1,X2,…,Xp são as variáveis independentes adicionais e β1,β2,…,βp são os</p><p>coeficientes de regressão associados a cada variável independente.</p><p>Em resumo, a regressão linear é uma técnica estatística fundamental para modelar a</p><p>relação entre variáveis e fazer previsões com base nessa relação. É amplamente utilizada</p><p>em diversos campos, incluindo ciências sociais, economia, engenharia e ciências da</p><p>saúde, entre outros.</p><p>13. IPEA/2024/Desenvolvimento de sistemas</p><p>O aprendizado supervisionado envolve treinar um modelo em um conjunto de dados</p><p>rotulados, em que o algoritmo aprende a mapear características de entrada para rótulos</p><p>de saída correspondentes. Esse processo permite que o modelo faça previsões sobre</p><p>novos dados não vistos. Uma tarefa típica de aprendizado supervisionado é a regressão.</p><p>É um exemplo de tarefa de regressão em aprendizado de máquina a</p><p>(A) classificação de e-mails como spam ou não spam, com base em várias</p><p>características, como conteúdo, informações do remetente e estrutura do e-mail.</p><p>(B) classificação de sentimento em positivo, negativo ou neutro a partir de um texto, como</p><p>avaliação de clientes, postagem em mídias sociais ou comentários.</p><p>(C) detecção de atividades fraudulentas em transações financeiras, classificando-as como</p><p>legítimas ou suspeitas com base em padrões de transação e comportamento do usuário.</p><p>(D) rotulação de um paciente como portador ou não de câncer, com base em</p><p>características como marcado-resgenéticos, histórico do paciente e resultados de testes</p><p>diagnósticos.</p><p>(E) estimativa do consumo futuro de energia para uma região ou setor específico, com</p><p>base em padrões de uso históricos, indicadores econômicos e fatores ambientais.</p><p>Comentário: A resposta correta é: (E) estimativa do consumo futuro de energia para uma</p><p>região ou setor específico, com base em padrões de uso históricos, indicadores</p><p>econômicos e fatores ambientais.</p><p>A tarefa de regressão em aprendizado de máquina envolve prever um valor contínuo com</p><p>base em um conjunto de características. No caso da estimativa do consumo futuro de</p><p>energia, o objetivo é prever uma quantidade numérica (o consumo de energia) com base</p><p>em várias características, como padrões de uso históricos, indicadores econômicos e</p><p>fatores ambientais. Essa é uma clássica tarefa de regressão, em que o modelo aprende a</p><p>relação entre as características de entrada e a variável de saída (consumo de energia)</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>105</p><p>191</p><p>para fazer previsões precisas sobre o consumo futuro.</p><p>Gabarito: E</p><p>REGRESSÃO LOGÍSTICA</p><p>A regressão logística é uma técnica estatística utilizada para modelar a relação entre uma</p><p>variável dependente categórica binária (ou multinomial) e uma ou mais variáveis</p><p>independentes. Ela é frequentemente empregada em situações em que estamos</p><p>interessados em prever a probabilidade de ocorrência de um evento, como prever se um</p><p>paciente tem uma determinada doença com base em suas características clínicas. Vamos</p><p>explorar em detalhes o conceito de regressão logística, sua formulação matemática,</p><p>métodos de estimação dos parâmetros, interpretação dos resultados e exemplos de</p><p>aplicação.</p><p>A regressão logística é uma extensão da regressão linear que é usada quando a variável</p><p>dependente é categórica, ou seja, quando queremos prever a probabilidade de um</p><p>resultado ocorrer em uma das duas ou mais categorias. Por exemplo, podemos usar a</p><p>regressão logística para prever se um paciente tem uma determinada doença (sim ou não)</p><p>com base em suas características clínicas, como idade, sexo, pressão arterial, etc.</p><p>A principal diferença entre a regressão linear e a regressão logística está na função de</p><p>ligação utilizada para modelar a relação entre as variáveis independentes e a variável</p><p>dependente. Na regressão linear, usamos uma função linear para modelar a relação,</p><p>enquanto na regressão logística, usamos uma função logística.</p><p>Na regressão logística binária, o modelo é formulado da seguinte maneira: 𝑃(𝑌 = 1|𝑋) = 11 + 𝑒−𝛽0−𝛽1𝑋1−⋯−𝛽𝑝𝑋𝑝</p><p>Onde:</p><p>• 𝑃(𝑌 = 1|𝑋) é a probabilidade de Y ser igual a 1, dado um conjunto de valores de X;</p><p>• β0,β1,…,βp são os coeficientes de regressão;</p><p>• X1,X2,…,Xp são os valores das variáveis independentes;</p><p>• e é a base do logaritmo natural.</p><p>Os parâmetros do modelo de regressão logística são estimados usando técnicas de</p><p>máxima verossimilhança ou métodos de mínimos quadrados. O objetivo é encontrar os</p><p>valores dos coeficientes de regressão que maximizam a verossimilhança dos dados</p><p>observados. Este processo é realizado iterativamente até que a convergência seja</p><p>alcançada.</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>106</p><p>191</p><p>Os coeficientes estimados na regressão logística representam o efeito das variáveis</p><p>independentes na log-odds da variável dependente. Para entender o efeito de uma</p><p>variável independente em particular, podemos interpretar o coeficiente associado como a</p><p>mudança na log-odds de Y para uma unidade de mudança em X, mantendo todas as</p><p>outras variáveis constantes.</p><p>Por exemplo, se o coeficiente de uma variável independente for positivo, isso significa que</p><p>um aumento nos valores dessa variável está associado a um aumento na probabilidade de</p><p>Y = 1. Da mesma forma, se o coeficiente for negativo, isso significa que um aumento nos</p><p>valores da variável está associado a uma diminuição na probabilidade de Y=1.</p><p>Um exemplo clássico de aplicação da regressão logística é a previsão de risco de crédito</p><p>em instituições financeiras. Nesse cenário, as variáveis independentes podem incluir</p><p>características do cliente, como histórico de pagamento, idade, renda, etc., enquanto a</p><p>variável dependente seria se o cliente é considerado de baixo ou alto risco de</p><p>inadimplência.</p><p>Outro exemplo é na área médica, onde a regressão logística é frequentemente usada para</p><p>prever a probabilidade de um paciente ter uma determinada condição médica com base</p><p>em seus sintomas, resultados de exames e outros fatores.</p><p>A regressão logística é uma ferramenta poderosa para modelar a relação entre variáveis</p><p>independentes e uma variável dependente categórica. Ela permite prever a probabilidade</p><p>de ocorrência de um evento e entender quais variáveis têm o maior impacto nessa</p><p>probabilidade. Com sua formulação matemática, métodos de estimação de parâmetros e</p><p>interpretação de resultados, a regressão logística é amplamente utilizada em uma</p><p>variedade de campos, incluindo medicina, finanças, marketing e muitos outros.</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>107</p><p>191</p><p>Figura 32 - Comparando regressão logística com a linear</p><p>REDES NEURAIS PARA REGRESSÃO</p><p>As redes neurais consistem em unidades simples de entrada/saída chamadas neurônios</p><p>(inspiradas por neurônios do cérebro humano). Essas unidades de entrada/saída são</p><p>interconectadas e cada conexão tem um peso associado a ela. As redes neurais são</p><p>flexíveis e podem ser usadas para classificação e regressão. As redes neurais podem ser</p><p>aplicadas a problemas de regressão.</p><p>Já vimos que a regressão ajuda a estabelecer uma relação entre uma variável dependente</p><p>e uma ou mais variáveis independentes. Os modelos de regressão funcionam bem apenas</p><p>quando a equação de regressão é um bom ajuste para os dados. A maioria dos modelos</p><p>de regressão não ajustará os dados perfeitamente. Embora as redes neurais sejam</p><p>complexas e computacionalmente caras, elas são flexíveis e podem escolher</p><p>dinamicamente o melhor tipo de regressão e, se isso não for suficiente, camadas ocultas</p><p>podem ser adicionadas para melhorar a previsão.</p><p>. Estrutura básica da rede neural</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>108</p><p>191</p><p>Neurónios de Entrada</p><p>• Este é o número de recursos que sua rede neural usa para fazer suas previsões.</p><p>• O vetor de entrada precisa de um neurônio de entrada como recurso. Para dados</p><p>tabulares, este é o número de recursos relevantes em seu conjunto de dados. Você</p><p>deve selecionar cuidadosamente esses recursos e remover qualquer um que possa</p><p>conter padrões que não se generalizem além do conjunto de treinamento (e causem</p><p>overfitting).</p><p>Neurônios de saída</p><p>• Este é o número de previsões que você deseja fazer.</p><p>• Regressão: para tarefas de regressão, pode ser um valor (por exemplo, preço da</p><p>habitação). Para regressão multivariada, teremos um neurônio por valor predito.</p><p>• Classificação: para classificação binária (spam-não spam), usamos um neurônio de</p><p>saída por classe positiva, em que a saída representa a probabilidade da classe</p><p>positiva.</p><p>Camadas ocultas e neurônios por camadas ocultas</p><p>• O número de camadas ocultas depende muito do problema e da arquitetura de sua</p><p>rede neural.</p><p>• Geralmente, 1–5 camadas ocultas são úteis para a maioria dos problemas. Ao</p><p>trabalhar com dados de imagem ou voz, você deseja que sua rede tenha dezenas e</p><p>Thiago Rodrigues</p><p>Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>109</p><p>191</p><p>centenas de camadas, e nem todas podem estar totalmente conectadas.</p><p>• Em geral, usar o mesmo número de neurônios para todas as camadas ocultas será</p><p>suficiente. Para alguns conjuntos de dados, ter uma primeira camada grande e</p><p>segui-la com camadas menores levará a um melhor desempenho.</p><p>• Normalmente, você obterá mais aumento de desempenho adicionando mais</p><p>camadas do que adicionando mais neurônios em cada camada.</p><p>• Algo para se ter em mente ao escolher menos camadas/neurônios é que, se esse</p><p>número for muito pequeno, sua rede não será capaz de aprender os padrões</p><p>subjacentes em seus dados e, portanto, será inútil. Uma abordagem para neutralizar</p><p>isso é começar com muitas camadas ocultas mais neurônios ocultos e, em seguida,</p><p>usar o dropout cortando os excessos.</p><p>Função de perda</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>110</p><p>191</p><p>• Regressão: o erro quadrático médio é a função de perda mais comum para otimizar, a</p><p>menos que haja um número significativo de outliers.</p><p>Perceba que é possível usar uma rede neural para obter o resultado de uma regressão.</p><p>ÁRVORES DE DECISÃO PARA REGRESSÃO.</p><p>Visão geral do algoritmo de árvore de decisão</p><p>A árvore de decisão é uma das abordagens práticas mais comumente usadas para o</p><p>aprendizado supervisionado. Ele pode ser usado para resolver tarefas de Regressão e</p><p>Classificação, sendo a última mais aplicada na prática.</p><p>Sua organização é baseada em uma estrutura de árvore com três tipos de nós. O nó raiz é</p><p>o nó inicial que representa toda a amostra e pode ser dividido em outros nós. Os nós</p><p>internos representam os recursos (variáveis) de um conjunto de dados e as ramificações</p><p>representam as regras de decisão. Finalmente, os nós folhas representam o resultado.</p><p>Este algoritmo é muito útil para resolver problemas relacionados à decisão.</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>111</p><p>191</p><p>Com um determinado ponto de dados ou registro, ele é percorre a árvore, respondendo a</p><p>perguntas Verdadeiro/Falso até atingir o nó folha. A previsão final é a média do valor da</p><p>variável dependente naquele nó folha particular. Por meio de várias iterações, a Árvore é</p><p>capaz de prever um valor adequado para o ponto de dados.</p><p>Figura 33 - Um exemplo de modelo de árvore de decisão</p><p>O diagrama acima é uma representação para a implementação de um algoritmo de Árvore</p><p>de Decisão. As árvores de decisão têm a vantagem de serem fáceis de entender, menos</p><p>limpeza de dados é necessária, a não linearidade não afeta o desempenho do modelo e o</p><p>número de hiperparâmetros a serem ajustados é quase nulo. No entanto, pode haver um</p><p>problema de sobreajuste, que pode ser resolvido usando o algoritmo Random Forest (que</p><p>foge do escopo desta aula).</p><p>Árvores de regressão são usadas quando a variável dependente é contínua. Para árvores</p><p>de regressão, o valor dos nós terminais é a média das observações que caem naquela</p><p>região. Portanto, se um ponto de dados invisível cair nessa região, prevemos usando o</p><p>valor médio.</p><p>Neste exemplo, passaremos pela implementação da Regressão da Árvore de Decisão, na</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>112</p><p>191</p><p>qual preveremos a receita de uma sorveteria com base na temperatura de uma área por</p><p>500 dias.</p><p>MÁQUINAS DE VETORES DE SUPORTE PARA REGRESSÃO.</p><p>Support Vector Machines (SVM) são popularmente e amplamente usados para problemas</p><p>de classificação em aprendizado de máquina. Então, o que exatamente é Support Vector</p><p>Machine (SVM)? Começaremos entendendo o SVM em termos simples. Digamos que</p><p>temos um gráfico de duas classes de rótulo, conforme mostrado na figura abaixo:</p><p>Você pode decidir uma linha de separação entre os dois conjuntos? Talvez, você possa</p><p>ter pensado nisso:</p><p>A linha separa razoavelmente as classes. Isso é o que o SVM essencialmente faz -</p><p>separação de classes simples. Agora, imagine que os dados apresentados estavam</p><p>organizados da seguinte forma:</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>113</p><p>191</p><p>Aqui, não temos uma linha simples separando essas duas classes. Para tanto,</p><p>estenderemos nossa dimensão e apresentaremos uma nova dimensão ao longo do eixo z.</p><p>Agora podemos separar essas duas classes:</p><p>Quando transformamos essa linha de volta ao plano original, ela mapeia para o limite</p><p>circular, como mostrado na figura abaixo:</p><p>Isso é exatamente o que o SVM faz! Ele tenta encontrar uma linha/hiperplano (no espaço</p><p>multidimensional) que separa essas duas classes. Em seguida, ele classifica o novo ponto</p><p>dependendo se ele está no lado positivo ou negativo do hiperplano, dependendo das</p><p>classes a serem previstas.</p><p>Existem alguns parâmetros importantes do SVM que você deve conhecer antes de</p><p>prosseguir:</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>114</p><p>191</p><p>• Kernel: um kernel nos ajuda a encontrar um hiperplano no espaço dimensional sem</p><p>aumentar o custo computacional. Normalmente, o custo computacional aumentará</p><p>se a dimensão dos dados aumentar. Este aumento na dimensão é necessário</p><p>quando não conseguimos encontrar um hiperplano de separação em uma</p><p>determinada dimensão e precisamos nos mover para uma dimensão superior:</p><p>• Hiperplano: Esta é basicamente uma linha de separação entre duas classes de</p><p>dados no SVM. Mas no Support Vector Regression, esta é a linha que será usada</p><p>para prever a saída contínua.</p><p>• Limite de decisão: Um limite de decisão pode ser pensado como uma linha de</p><p>demarcação (para simplificação) em um lado da qual estão os exemplos positivos e</p><p>do outro lado estão os exemplos negativos. Nesta mesma linha, os exemplos</p><p>podem ser classificados como positivos ou negativos. Este mesmo conceito de SVM</p><p>também será aplicado no Support Vector Regression</p><p>Introdução à regressão de vetores de suporte (SVR)</p><p>O Support Vector Regression (SVR) usa o mesmo princípio do SVM, mas para problemas</p><p>de regressão. Vamos dedicar alguns minutos para entender a ideia por trás do SVR.</p><p>O problema da regressão é encontrar uma função que se aproxime do mapeamento de</p><p>um domínio de entrada para números reais com base em uma amostra de treinamento.</p><p>Então, agora vamos mergulhar fundo e entender como o SVR realmente funciona.</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>115</p><p>191</p><p>Considere essas duas linhas vermelhas como o limite de decisão e a linha verde como o</p><p>hiperplano. Nosso objetivo, ao prosseguirmos com o SVR, é basicamente considerar os</p><p>pontos que estão dentro da linha limite de decisão. Nosso parâmetro de melhor ajuste é o</p><p>hiperplano que possui um número máximo de pontos.</p><p>A primeira coisa que precisamos entender é qual é o limite de decisão (a linha vermelha</p><p>acima). Considere essas linhas como estando a qualquer distância, digamos 'a', do</p><p>hiperplano. Então, essas linhas que</p><p>está realizando a tarefa.</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>7</p><p>191</p><p>A definição de Tom Mitchell ressalta que o objetivo do machine learning é melhorar o</p><p>desempenho na tarefa específica à medida que mais experiência é adquirida. Em outras</p><p>palavras, quanto mais dados o algoritmo recebe e processa, melhor ele se torna na</p><p>execução da tarefa. Essa capacidade de aprender com os dados e melhorar o</p><p>desempenho ao longo do tempo é uma das características fundamentais do machine</p><p>learning.</p><p>Outro autor importante é Andrew Ng, que é</p><p>conhecido por seus cursos de machine learning e</p><p>definiu machine learning como "o campo do estudo</p><p>que dá aos computadores a capacidade de</p><p>aprenderem sem serem explicitamente</p><p>programados".</p><p>Um exemplo comum de aplicação de machine</p><p>learning é a classificação de e-mails como spam ou</p><p>não spam. Os algoritmos de machine learning</p><p>podem aprender com uma grande quantidade de e-</p><p>mails rotulados como spam ou não spam e, em</p><p>seguida, classificar novos e-mails com base nos</p><p>padrões identificados nos dados de treinamento.</p><p>Outro exemplo é o reconhecimento de padrões em imagens médicas para diagnosticar</p><p>doenças. Os algoritmos de machine learning podem aprender a identificar padrões sutis</p><p>em imagens de exames médicos, como radiografias ou ressonâncias magnéticas, para</p><p>auxiliar os médicos no diagnóstico de doenças.</p><p>Em resumo, machine learning é uma poderosa ferramenta que permite aos</p><p>computadores aprenderem com os dados e melhorarem seu desempenho ao longo do</p><p>tempo, e tem uma ampla gama de aplicações em diferentes setores e áreas de pesquisa.</p><p>Agora que já sabemos os conceitos básicos de aprendizado de máquina, vamos entender</p><p>como eles são categorizados.</p><p>TIPOS DE SISTEMAS DE APRENDIZADO DE MÁQUINA</p><p>Já sabermos que o aprendizado de máquina é um campo interdisciplinar que combina</p><p>princípios da ciência da computação e estatística para desenvolver algoritmos que</p><p>permitem que os sistemas aprendam com os dados e melhorem sua performance ao</p><p>longo do tempo. Existem diversos tipos de aprendizado de máquina, cada um com suas</p><p>características e aplicações específicas.</p><p>O aprendizado supervisionado é um dos tipos mais comuns de aprendizado de</p><p>máquina, onde o algoritmo é treinado em um conjunto de dados rotulados, ou seja,</p><p>cada exemplo de treinamento possui uma entrada e a saída desejada correspondente. Um</p><p>exemplo prático é um modelo de classificação de e-mails, onde o algoritmo é treinado com</p><p>exemplos rotulados de e-mails como spam ou não spam.</p><p>Aprendizagem não supervisionada envolve a descoberta de estrutura nos dados sem a</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>8</p><p>191</p><p>necessidade de rótulos. Os algoritmos de aprendizado não supervisionado buscam</p><p>encontrar padrões, agrupamentos ou relações entre os dados. Por exemplo, um algoritmo</p><p>de agrupamento pode ser utilizado para agrupar clientes de uma loja com base em seus</p><p>padrões de compra, sem a necessidade de informações prévias sobre os grupos.</p><p>O aprendizado por reforço envolve a interação de um agente com um ambiente</p><p>dinâmico, onde ele aprende a tomar decisões sequenciais para maximizar uma</p><p>recompensa acumulada ao longo do tempo. Um exemplo prático é um sistema de</p><p>recomendação de filmes, onde o agente aprende a sugerir filmes com base nas</p><p>preferências do usuário e nas avaliações anteriores.</p><p>O sistema de aprendizagem por reforço, também chamado de sistema baseado em</p><p>agentes, pode observar o ambiente, selecionar e executar ações e obter recompensas em</p><p>troca (ou penalidades na forma de recompensas negativas, conforme mostrado na figura</p><p>abaixo). Ele deve, então, aprender por si só qual é a melhor estratégia, chamada de</p><p>política, para obter a maior recompensa ao longo do tempo. Uma política define qual ação</p><p>o agente deve escolher quando estiver em uma determinada situação.</p><p>Figura 1 - Aprendizado por reforço</p><p>Além desses tipos de aprendizado, existem também outros paradigmas como o</p><p>aprendizado semi-supervisionado, que faz uso de uma pequena quantidade de dados</p><p>rotulados e uma grande quantidade de dados não rotulados para treinamento, e o</p><p>aprendizado por transferência, que transfere conhecimento de um domínio de origem</p><p>para um domínio de destino.</p><p>Em resumo, o aprendizado de máquina oferece uma ampla gama de técnicas e</p><p>abordagens para resolver uma variedade de problemas complexos em diferentes áreas,</p><p>como reconhecimento de padrões, processamento de linguagem natural, visão</p><p>computacional, entre outros. A escolha do tipo de aprendizado mais adequado depende</p><p>do problema em questão e das características dos dados disponíveis. Abaixo</p><p>apresentamos as palavras-chave associadas aos 3 principais tipos de aprendizado sob a</p><p>Aprendizado por Reforço</p><p>1. Observa</p><p>2. Seleciona a ação</p><p>baseada na política</p><p>3. Age!</p><p>4. Recebe uma</p><p>recompensa ou</p><p>penalidade</p><p>5. Atualiza a política</p><p>6. Segue o fluxo até</p><p>que um política ótima</p><p>seja encontrada</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>9</p><p>191</p><p>perspectiva de como eles são supervisionados durante o treinamento.</p><p>Figura 2 - Tipos de aprendizado</p><p>Antes de continuarmos, vamos resolver duas questões sobre o assunto ...</p><p>1. Analista de Controle Externo (TCE-MG)/Ciência da Computação/2018</p><p>Em machine learning, a categoria de aprendizagem por reforço identifica as tarefas</p><p>em que</p><p>A) um software interage com um ambiente dinâmico, como, por exemplo, veículos</p><p>autônomos.</p><p>B) as etiquetas de classificação não sejam fornecidas ao algoritmo, de modo a deixá-</p><p>lo livre para entender as entradas recebidas.</p><p>C) o aprendizado pode ser um objetivo em si mesmo ou um meio para se atingir um</p><p>fim.</p><p>D) o objetivo seja aprender um conjunto de regras generalistas para converter as</p><p>entradas em saídas predefinidas.</p><p>E) são apresentados ao computador exemplos de entradas e saídas desejadas,</p><p>fornecidas por um orientador.</p><p>Comentário: A Aprendizagem Por Reforço é o treinamento de modelos de aprendizado</p><p>de máquina para tomar uma sequência de decisões. O agente aprende a atingir uma meta</p><p>em um ambiente incerto, dinâmico e potencialmente complexo.</p><p>No aprendizado por reforço, o sistema de inteligência artificial enfrenta uma situação. O</p><p>computador utiliza tentativa e erro para encontrar uma solução para o problema. Para que</p><p>a máquina faça o que o programador deseja, a inteligência artificial recebe recompensas</p><p>ou penalidades pelas ações que executa. Seu objetivo é maximizar a recompensa total.</p><p>Cabe ao modelo descobrir como executar a tarefa para maximizar a recompensa,</p><p>começando com testes totalmente aleatórios e terminando com táticas sofisticadas.</p><p>Um exemplo é a utilização em veículos autônomos. Vamos imaginar que o veículo deve</p><p>Supervisionado</p><p>Dados rotulados</p><p>Feedback direto</p><p>Previsão de</p><p>resultado/futuro</p><p>Não</p><p>supervisionado</p><p>Sem rótulos</p><p>Sem feedback</p><p>Procura uma estrutura</p><p>escondida nos dados</p><p>Por Reforço</p><p>Processo de decisão</p><p>Sistema de recompensas</p><p>Aprende com a série de</p><p>ações</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>10</p><p>191</p><p>chegar a um destino, porém há muitos obstáculos no caminho. O veículo deve encontrar o</p><p>melhor caminho possível para alcançar a recompensa e quando encontrar um obstáculo,</p><p>deve ser penalizado (pois ele deve escolher o caminho sem obstáculos). Com a</p><p>Aprendizagem Por Reforço, podemos treinar o sistema do</p><p>desenhamos estão a distância de '+a' e '-a' do</p><p>hiperplano. Este 'a' no texto é basicamente referido como épsilon.</p><p>Supondo que a equação do hiperplano seja a seguinte:</p><p>Y = wx + b (equação do hiperplano)</p><p>Então as equações do limite de decisão tornam-se:</p><p>wx + b = + a</p><p>e</p><p>wx + b = -a</p><p>Assim, qualquer hiperplano que satisfaça nosso SVR deve satisfazer:</p><p>-a</p><p>ou</p><p>amostragem com reposição, é usada para gerar réplicas do conjunto de dados de</p><p>treinamento que são diferentes entre si, mas retiradas do conjunto de dados original. Isso</p><p>garante que os aprendizes base treinados em cada uma das réplicas também sejam</p><p>diferentes entre si. Isso resulta em vários modelos, cada um treinado em um conjunto de</p><p>dados ligeiramente diferente. Como os modelos são treinados de forma independente, o</p><p>processo de bagging é paralelizável e eficiente em termos computacionais.</p><p>Finalmente, as previsões dos modelos individuais são combinadas para produzir uma</p><p>previsão final. Em problemas de classificação, isso pode ser feito por votação</p><p>majoritária, onde a classe mais frequente entre os modelos é escolhida como a previsão</p><p>final. Em problemas de regressão, as previsões dos modelos individuais podem ser</p><p>agregadas por média ou mediana.</p><p>O bagging é frequentemente aplicado a modelos de aprendizado de máquina que são</p><p>propensos a sobreajuste, como árvores de decisão profundas. Ao criar variações nos</p><p>conjuntos de dados de treinamento, o bagging ajuda a reduzir a variância dos modelos,</p><p>resultando em modelos mais estáveis e com melhor capacidade de generalização.</p><p>Exemplos populares de algoritmos que utilizam bagging incluem Random Forests e</p><p>Extremely Randomized Trees (Extra Trees).</p><p>A Figura a seguir ilustra o Bagging. O Bagging usa amostragem de bootstrap para gerar</p><p>subconjuntos similares, mas não exatamente idênticos (observe as réplicas) a partir de um</p><p>único conjunto de dados. Modelos são treinados em cada um desses subconjuntos,</p><p>resultando em estimadores base similares, mas não exatamente idênticos. Dado um</p><p>exemplo de teste, as previsões individuais dos estimadores base são agregadas em uma</p><p>previsão de ensemble final. Observe também que os exemplos de treinamento podem se</p><p>repetir nos subconjuntos replicados; isso é uma consequência da amostragem de</p><p>bootstrap.</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>120</p><p>191</p><p>COMITÊS DE CLASSIFICADORES (BOOSTING)</p><p>O boosting é uma técnica de aprendizado de máquina que visa melhorar o desempenho</p><p>de modelos de aprendizado fracos (geralmente árvores de decisão simples) combinando-</p><p>os para formar um modelo mais robusto e preciso. O objetivo do boosting é reduzir o viés</p><p>e a variância do modelo, melhorando sua capacidade de generalização.</p><p>O processo de boosting envolve a criação de uma sequência de modelos de aprendizado</p><p>fracos, geralmente árvores de decisão simples, e a combinação de suas previsões para</p><p>produzir um modelo final mais forte. Cada modelo fraco é treinado sequencialmente, com</p><p>cada novo modelo focando nos erros cometidos pelo modelo anterior.</p><p>Durante o treinamento, o boosting atribui pesos às instâncias de dados, de modo que as</p><p>instâncias mal classificadas pelo modelo atual recebem pesos mais altos para que os</p><p>modelos subsequentes deem mais importância a essas instâncias. Isso permite que o</p><p>modelo se concentre nas áreas em que está tendo dificuldade, melhorando</p><p>progressivamente sua capacidade de generalização.</p><p>Existem várias técnicas de boosting, sendo AdaBoost (Adaptive Boosting) e Gradient</p><p>Boosting Machine (GBM) as mais populares. Aqui está uma breve explicação de cada</p><p>uma:</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>121</p><p>191</p><p>1. AdaBoost (Adaptive Boosting): No AdaBoost, os modelos são treinados em</p><p>sequência, e em cada iteração, o algoritmo ajusta os pesos das instâncias de dados</p><p>com base em quão bem o modelo atual está performando. Instâncias mal</p><p>classificadas recebem pesos maiores, enquanto instâncias bem classificadas</p><p>recebem pesos menores. No final, o modelo final é uma combinação ponderada dos</p><p>modelos fracos, onde os pesos são determinados pela acurácia de cada modelo.</p><p>2. Gradient Boosting Machine (GBM): O GBM também funciona de forma</p><p>sequencial, mas ao contrário do AdaBoost, em vez de ajustar os pesos das</p><p>instâncias de dados, o GBM ajusta os próprios modelos de forma a minimizar uma</p><p>função de perda (como o erro quadrático médio). Em cada iteração, o GBM ajusta</p><p>um novo modelo para prever os resíduos do modelo anterior, de modo que o</p><p>modelo final seja uma soma ponderada dos modelos fracos e de suas previsões</p><p>corrigidas.</p><p>Abaixo apresentamos algumas vantagens do Boosting:</p><p>• Melhora do desempenho: O boosting é capaz de melhorar significativamente a</p><p>precisão de modelos de aprendizado fracos, produzindo modelos finais mais</p><p>poderosos e robustos.</p><p>• Redução do overfitting: Ao combinar vários modelos fracos, o boosting ajuda a</p><p>reduzir a variância do modelo final e, consequentemente, o risco de overfitting.</p><p>• Flexibilidade: O boosting pode ser aplicado a uma ampla variedade de problemas</p><p>de aprendizado supervisionado e pode ser usado com diferentes algoritmos de</p><p>aprendizado fraco, tornando-o uma técnica versátil.</p><p>O boosting é uma técnica eficaz para melhorar o desempenho de modelos de aprendizado</p><p>de máquina, produzindo modelos finais mais precisos e robustos. Ao combinar modelos</p><p>fracos de forma inteligente, o boosting permite que os algoritmos aprendam com seus</p><p>erros e melhorem progressivamente sua capacidade de generalização. Isso faz do</p><p>boosting uma ferramenta valiosa em muitas aplicações de aprendizado de máquina, onde</p><p>a precisão é crucial.</p><p>No algoritmo Boosting cada classificador de base é treinado em uma forma ponderada do</p><p>conjunto de treinamento, em que os pesos dependem do desempenho do classificador</p><p>base anterior. A figura abaixo mostra o funcionamento do aprendizado usando o método</p><p>boosting.</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>122</p><p>191</p><p>STACKING</p><p>Stacking, ou empilhamento, é um método de ensemble que busca melhorar a precisão</p><p>das previsões combinando as saídas de vários modelos de aprendizado de máquina. A</p><p>ideia principal por trás do stacking é treinar um modelo adicional, chamado de blender ou</p><p>meta-learner, para realizar a agregação das previsões dos modelos individuais em um</p><p>conjunto de dados de treinamento.</p><p>O processo de stacking envolve várias etapas. Primeiro, são treinados diversos modelos</p><p>de base, cada um com suas próprias características e algoritmos de aprendizado. Em</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>123</p><p>191</p><p>seguida, as previsões desses modelos de base são usadas como entrada para o blender,</p><p>que aprende a combinar essas previsões de uma maneira que otimize o desempenho</p><p>geral do conjunto.</p><p>Para treinar o blender, é necessário criar um conjunto de dados de treinamento específico,</p><p>chamado de conjunto de treinamento de blending. Isso é feito utilizando a técnica de</p><p>validação cruzada para gerar previsões fora do conjunto de treinamento original para cada</p><p>modelo de base. Essas previsões se tornam as características de entrada para o blender,</p><p>enquanto as classes ou valores alvo originais são mantidos como os alvos.</p><p>Uma vez que o blender é treinado, os modelos de base são re-treinados uma última vez</p><p>no conjunto de treinamento original completo. Este processo permite que o blender</p><p>aprenda a combinar as previsões de forma eficaz, levando em consideração as</p><p>características específicas dos modelos de base.</p><p>É possível criar várias camadas de blenders, onde cada camada recebe as previsões das</p><p>camadas anteriores como entrada. No entanto, isso pode aumentar a complexidade do</p><p>sistema e o tempo</p><p>de treinamento, e pode oferecer benefícios marginais em termos de</p><p>desempenho.</p><p>O scikit-learn fornece duas classes para implementar ensembles de stacking:</p><p>StackingClassifier e StackingRegressor. Essas classes facilitam a criação e o treinamento</p><p>de modelos de stacking, permitindo que você escolha os modelos de base, o blender e o</p><p>número de dobras de validação cruzada.</p><p>Em resumo, o stacking é uma técnica poderosa de ensemble que combina as previsões</p><p>de vários modelos de aprendizado de máquina para melhorar o desempenho geral do</p><p>sistema. Ao treinar um modelo adicional para realizar a combinação das previsões, o</p><p>stacking pode capturar informações complementares dos modelos de base e produzir</p><p>previsões mais precisas e robustas.</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>124</p><p>191</p><p>SELEÇÃO DE MODELOS</p><p>A seleção de modelo é o processo de selecionar um modelo final de aprendizado de</p><p>máquina dentre uma coleção de modelos de aprendizado de máquina candidatos para um</p><p>conjunto de dados de treinamento.</p><p>A seleção de modelo é um processo que pode ser aplicado tanto em diferentes tipos de</p><p>modelos (por exemplo, regressão logística, SVM, KNN, etc.) quanto em modelos do</p><p>mesmo tipo configurados com diferentes hiperparâmetros de modelo (por exemplo,</p><p>kernels diferentes em um SVM).</p><p>Quando temos uma variedade de modelos de complexidade diferente (por exemplo,</p><p>modelos de regressão linear ou logística com polinômios de diferentes graus ou</p><p>classificadores KNN com diferentes valores de K), como devemos escolher o correto?</p><p>Por exemplo, podemos ter um conjunto de dados para o qual estamos interessados em</p><p>desenvolver um modelo preditivo de classificação ou regressão. Não sabemos de</p><p>antemão qual modelo terá melhor desempenho neste problema. Portanto, ajustamos e</p><p>avaliamos um conjunto de diferentes modelos sobre o problema.</p><p>A seleção do modelo é o processo de escolha de um dos modelos como o modelo final</p><p>que aborda o problema. A seleção de modelo é diferente da avaliação do modelo.</p><p>Por exemplo, a avaliação é aplicada a cada um dos modelos candidatos, já o processo de</p><p>escolha do melhor modelo é chamado de seleção de modelos. Perceba que, uma vez que</p><p>um modelo é escolhido, ele pode ser avaliado para comunicar o quão bem se espera que</p><p>ele funcione em geral; esta é a avaliação do modelo.</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>125</p><p>191</p><p>O processo de avaliação do desempenho de um modelo é conhecido como avaliação de</p><p>modelo, enquanto o processo de seleção do nível adequado de flexibilidade para um</p><p>modelo é conhecido como seleção de modelo.</p><p>CONSIDERAÇÕES PARA A SELEÇÃO DO MODELO</p><p>O ajuste de modelos é relativamente simples, embora a seleção entre eles seja o</p><p>verdadeiro desafio do aprendizado de máquina aplicado. Em primeiro lugar, precisamos</p><p>superar a ideia de um “melhor” modelo. Todos os modelos têm algum erro preditivo, dado</p><p>o ruído estatístico nos dados, a incompletude da amostra de dados e as limitações de</p><p>cada tipo de modelo diferente. Portanto, a noção de um modelo perfeito ou melhor não é</p><p>útil. Em vez disso, devemos buscar um modelo que seja “bom o suficiente”.</p><p>Mas, o que nos importa na hora de escolher um modelo final?</p><p>As partes interessadas do projeto podem ter requisitos específicos, como</p><p>manutenibilidade e complexidade limitada do modelo. Como tal, um modelo que tenha</p><p>menor habilidade, mas seja mais simples e fácil de entender, pode ser preferido.</p><p>Alternativamente, se a habilidade do modelo for valorizada acima de todas as outras</p><p>preocupações, então a capacidade do modelo de ter um bom desempenho em dados fora</p><p>da amostra será preferida, independentemente da complexidade computacional envolvida.</p><p>Portanto, um modelo “bom o suficiente” pode se referir a muitas coisas e é específico do</p><p>seu projeto, como:</p><p>• Um modelo que atende aos requisitos e restrições das partes interessadas do</p><p>projeto.</p><p>• Um modelo suficientemente hábil dado o tempo e os recursos disponíveis.</p><p>• Um modelo que é hábil em comparação com os modelos ingênuos.</p><p>• Um modelo que é hábil em relação a outros modelos testados.</p><p>• Um modelo hábil em relação ao estado da arte.</p><p>Alguns algoritmos requerem preparação de dados especializada para melhor expor a</p><p>estrutura do problema ao algoritmo de aprendizado. Portanto, devemos dar um passo</p><p>adiante e considerar a seleção de modelos como o processo de seleção entre os pipelines</p><p>de desenvolvimento de modelos.</p><p>Cada pipeline pode receber o mesmo conjunto de dados de treinamento bruto e gerar um</p><p>modelo que pode ser avaliado da mesma maneira, mas pode exigir etapas</p><p>computacionais diferentes ou sobrepostas, como:</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>126</p><p>191</p><p>• Filtragem de dados.</p><p>• Transformação de dados.</p><p>• Seleção de recursos.</p><p>• Engenharia de recursos.</p><p>• …</p><p>Quanto mais de perto você olhar para o desafio da seleção de modelos, mais nuances</p><p>você descobrirá. Agora que estamos familiarizados com algumas considerações</p><p>envolvidas na seleção de modelos, vamos revisar alguns métodos comuns para selecionar</p><p>um modelo.</p><p>TÉCNICAS DE SELEÇÃO DE MODELOS</p><p>As técnicas de seleção de modelos são utilizadas para escolher o modelo mais apropriado</p><p>para um determinado conjunto de dados, levando em consideração diversos critérios,</p><p>como desempenho, complexidade e capacidade de generalização. Existem várias</p><p>abordagens para selecionar modelos, cada uma com suas próprias características e</p><p>aplicabilidades. Algumas das técnicas mais comuns incluem:</p><p>1. Validação Cruzada (Cross-Validation): A validação cruzada é uma técnica que</p><p>divide o conjunto de dados em subconjuntos de treinamento e teste, permitindo</p><p>avaliar o desempenho do modelo em dados não vistos. Existem diferentes métodos</p><p>de validação cruzada, como k-fold cross-validation e leave-one-out cross-validation</p><p>(LOOCV).</p><p>2. Critérios de Informação: Os critérios de informação, como o Critério de Informação</p><p>Akaike (AIC) e o Critério de Informação Bayesiano (BIC), são medidas que avaliam</p><p>a qualidade de um modelo levando em conta seu ajuste aos dados e sua</p><p>complexidade. Modelos com valores menores de AIC ou BIC são geralmente</p><p>considerados melhores.</p><p>3. Curva de Aprendizado (Learning Curve): A curva de aprendizado mostra como o</p><p>desempenho do modelo varia conforme o tamanho do conjunto de treinamento</p><p>aumenta. Essa técnica permite avaliar se o modelo se beneficiaria de mais dados de</p><p>treinamento ou se está sofrendo de overfitting.</p><p>4. Seleção de Recursos (Feature Selection): Em muitos casos, nem todas as</p><p>variáveis do conjunto de dados são relevantes para a modelagem. A seleção de</p><p>recursos é o processo de identificar e selecionar as variáveis mais importantes para</p><p>a previsão do modelo, o que pode melhorar o desempenho e a generalização do</p><p>modelo.</p><p>5. Regularização: A regularização é uma técnica que adiciona termos de penalidade</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>127</p><p>191</p><p>ao processo de otimização do modelo, com o objetivo de evitar o overfitting.</p><p>Métodos como Lasso (L1 regularization) e Ridge (L2 regularization) são exemplos</p><p>de técnicas de regularização comumente utilizadas.</p><p>6. Ensemble Learning: Ensemble learning envolve a combinação de múltiplos</p><p>modelos de machine learning para melhorar o desempenho preditivo. Técnicas</p><p>como bagging, boosting</p><p>e random forests são exemplos de abordagens de</p><p>ensemble learning que podem ser utilizadas para selecionar modelos mais robustos.</p><p>Essas são apenas algumas das técnicas de seleção de modelos disponíveis, e a escolha</p><p>da abordagem mais adequada dependerá do problema específico em questão, das</p><p>características dos dados e das preferências do analista. O processo de seleção de</p><p>modelos é essencial para garantir que o modelo escolhido seja capaz de fazer previsões</p><p>precisas e generalizáveis em novos dados.</p><p>A melhor abordagem para a seleção de modelos requer dados “suficientes”, que podem</p><p>ser quase infinitos dependendo da complexidade do problema.</p><p>Nessa situação ideal, dividiríamos os dados em conjuntos de treinamento, validação e</p><p>teste , então ajustaríamos os modelos candidatos no conjunto de treinamento,</p><p>avaliaríamos e selecionaríamos eles no conjunto de validação e relataríamos o</p><p>desempenho do modelo final no conjunto de teste.</p><p>Se estivermos em uma situação rica em dados, a melhor abordagem é dividir</p><p>aleatoriamente o conjunto de dados em três partes: um conjunto de treinamento, um</p><p>conjunto de validação e um conjunto de teste. O conjunto de treinamento é usado para</p><p>ajustar os modelos; o conjunto de validação é usado para estimar o erro de previsão para</p><p>a seleção do modelo; o conjunto de teste é utilizado para avaliação do erro de</p><p>generalização do modelo final escolhido.</p><p>Isso é impraticável na maioria dos problemas de modelagem preditiva, uma vez que</p><p>raramente temos dados suficientes ou somos capazes de julgar o que seria suficiente.</p><p>Em muitas aplicações, no entanto, o fornecimento de dados para treinamento e teste será</p><p>limitado e, para construir bons modelos, desejamos usar o máximo possível de dados</p><p>disponíveis para treinamento. No entanto, se o conjunto de validação for pequeno, ele</p><p>fornecerá uma estimativa relativamente ruidosa do desempenho preditivo.</p><p>Em vez disso, existem duas classes principais de técnicas para aproximar o caso ideal de</p><p>seleção de modelo; eles são:</p><p>• Medidas probabilísticas: Escolha um modelo por meio de erro e complexidade na</p><p>amostra.</p><p>• Métodos de reamostragem: Escolha um modelo por meio do erro estimado fora da</p><p>amostra.</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>128</p><p>191</p><p>Vamos dar uma olhada em cada um por sua vez.</p><p>MEDIDAS PROBABILÍSTICAS</p><p>Medidas probabilísticas envolvem a pontuação analítica de um modelo candidato,</p><p>considerando tanto seu desempenho no conjunto de dados de treinamento quanto a</p><p>complexidade do modelo. Essa abordagem busca superar o viés otimista do erro de</p><p>treinamento, que não é uma boa base para a escolha de um modelo. Para isso, o</p><p>desempenho do modelo pode ser penalizado com base em quão otimista o erro de</p><p>treinamento é considerado. Essa penalização é frequentemente realizada por métodos</p><p>específicos de algoritmos, geralmente lineares, que levam em conta a complexidade do</p><p>modelo.</p><p>Historicamente, diversos 'critérios de informação' foram propostos para corrigir o viés de</p><p>máxima verossimilhança, adicionando um termo de penalidade para compensar o ajuste</p><p>excessivo de modelos mais complexos.</p><p>Esses critérios incluem o Critério de Informação Akaike (AIC - Akaike Information</p><p>Criterion), o Critério de Informação Bayesiano (BIC - Bayesian Information Criterion), o</p><p>Comprimento Mínimo da Descrição (MDL - Minimum Description Length) e a Minimização</p><p>de Riscos Estruturais (SRM - Structural Risk Minimization). Vejamos as definições de cada</p><p>uma deles:</p><p>1. Critério de Informação Akaike (AIC): O Critério de Informação Akaike (AIC) é uma</p><p>medida de seleção de modelos que busca encontrar o modelo que melhor se ajusta</p><p>aos dados, levando em consideração a complexidade do modelo. Foi proposto por</p><p>Hirotugu Akaike em 1973. O AIC é calculado como:</p><p>AIC=−2×log(L)+2×k</p><p>Onde:</p><p>• L é a verossimilhança do modelo.</p><p>• k é o número de parâmetros no modelo.</p><p>O AIC penaliza a complexidade do modelo, adicionando 2×k ao logaritmo da</p><p>verossimilhança. O modelo com o menor valor de AIC é considerado o melhor ajuste aos</p><p>dados.</p><p>2. Critério de Informação Bayesiano (BIC): O Critério de Informação Bayesiano</p><p>(BIC), também conhecido como Critério de Schwarz ou BIC de Schwarz, é uma</p><p>medida semelhante ao AIC, mas com uma penalidade maior para a complexidade</p><p>do modelo. Foi proposto por Gideon Schwarz em 1978. O BIC é calculado como:</p><p>BIC=−2×log(L)+k×log(n)</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>129</p><p>191</p><p>Onde:</p><p>• L é a verossimilhança do modelo.</p><p>• k é o número de parâmetros no modelo.</p><p>• n é o número de observações nos dados.</p><p>Assim como o AIC, o modelo com o menor valor de BIC é considerado o melhor ajuste</p><p>aos dados, mas o BIC penaliza a complexidade do modelo de forma mais rigorosa do que</p><p>o AIC.</p><p>3. Comprimento Mínimo da Descrição (MDL): O Comprimento Mínimo da Descrição</p><p>(MDL) é um princípio de seleção de modelo que busca encontrar o modelo mais</p><p>simples que melhor descreve os dados. Foi proposto por Jorma Rissanen em 1978.</p><p>O MDL considera tanto a capacidade do modelo de se ajustar aos dados quanto</p><p>sua complexidade. O MDL sugere que o melhor modelo é aquele que minimiza o</p><p>comprimento total da descrição dos dados e do modelo. O MDL não possui uma</p><p>fórmula específica, mas um princípio geral que pode ser aplicado de diferentes</p><p>maneiras, dependendo do contexto e do problema específico.</p><p>4. Minimização de Riscos Estruturais (SRM): A Minimização de Riscos Estruturais</p><p>(SRM) é uma abordagem para a seleção de modelos que visa encontrar o modelo</p><p>que melhor se ajusta aos dados, levando em consideração tanto a capacidade do</p><p>modelo de se ajustar aos dados quanto sua complexidade. Foi proposta por Vapnik</p><p>e Chervonenkis em 1974, no contexto do aprendizado de máquina.</p><p>A ideia básica por trás do SRM é encontrar o equilíbrio entre a complexidade do</p><p>modelo e sua capacidade de se ajustar aos dados, minimizando o risco empírico</p><p>(erro nos dados de treinamento) e o risco estrutural (complexidade do modelo). O</p><p>SRM busca evitar o overfitting (quando o modelo é muito complexo e se ajusta</p><p>excessivamente aos dados de treinamento) e o underfitting (quando o modelo é</p><p>muito simples e não consegue capturar a estrutura dos dados).</p><p>No contexto das medidas probabilísticas, modelos com menos parâmetros são</p><p>considerados menos complexos e, portanto, são preferíveis, pois é mais provável que</p><p>generalizem melhor na média. Essas medidas são particularmente úteis ao utilizar</p><p>modelos lineares mais simples, como regressão linear ou regressão logística, onde o</p><p>cálculo da penalidade de complexidade do modelo (por exemplo, no viés da amostra) é</p><p>conhecido e tratável.</p><p>MÉTODOS DE REAMOSTRAGEM</p><p>Os métodos de reamostragem são técnicas estatísticas que visam estimar o desempenho</p><p>de um modelo, ou mais precisamente, o processo de desenvolvimento do modelo, em</p><p>dados fora da amostra. Essa abordagem é crucial para avaliar a capacidade de</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>130</p><p>191</p><p>generalização do modelo para dados não vistos.</p><p>A reamostragem é realizada dividindo o conjunto de dados de treinamento em</p><p>subconjuntos de treinamento e teste. O modelo é ajustado usando o subconjunto de</p><p>treinamento e sua performance é avaliada usando o subconjunto de teste. Esse processo</p><p>é repetido várias vezes e o desempenho médio em cada tentativa é relatado como uma</p><p>estimativa do desempenho do modelo em dados fora da amostra.</p><p>Essa abordagem pode ser considerada uma estimativa Monte Carlo do desempenho do</p><p>modelo,</p><p>pois cada tentativa de treinamento e teste representa uma amostra diferente dos</p><p>dados. No entanto, é importante notar que as tentativas de reamostragem podem não ser</p><p>estritamente independentes, pois os mesmos dados podem aparecer em diferentes</p><p>conjuntos de treinamento ou teste, dependendo do método de reamostragem escolhido.</p><p>Três métodos comuns de seleção de modelos de reamostragem incluem a randomização</p><p>do processo de separação de treinamento/teste, a validação cruzada (como k -fold e leave-</p><p>one-out cross-validation) e o bootstrap. Cada método tem suas próprias vantagens e</p><p>limitações, e a escolha do método adequado depende do tamanho do conjunto de dados,</p><p>da natureza do problema e dos recursos computacionais disponíveis.</p><p>VALIDAÇÃO CRUZADA</p><p>A validação cruzada é uma técnica estatística usada para estimar a habilidade de um</p><p>modelo de aprendizado de máquina de generalizar para novos dados não vistos. O</p><p>objetivo é avaliar o desempenho do modelo e, ao mesmo tempo, evitar o</p><p>superajustamento (overfitting) aos dados de treinamento.</p><p>O procedimento básico da validação cruzada envolve dividir o conjunto de dados</p><p>disponível em subconjuntos de treinamento e teste. Em seguida, o modelo é treinado nos</p><p>dados de treinamento e avaliado nos dados de teste. Este processo é repetido várias</p><p>vezes, alternando os subconjuntos usados como dados de treinamento e teste. Os</p><p>resultados são então combinados para fornecer uma estimativa mais robusta do</p><p>desempenho do modelo.</p><p>Existem várias técnicas de validação cruzada, sendo as mais comuns:</p><p>1. Validação Cruzada K-Fold: Divide o conjunto de dados em k partes (ou dobras) de</p><p>tamanho aproximadamente igual. O modelo é treinado k vezes, cada vez usando k -</p><p>1 partes como dados de treinamento e 1 parte como dados de teste. Os resultados</p><p>são então médios.</p><p>2. Validação Cruzada Leave-One-Out (LOOCV): É uma forma especializada da</p><p>validação cruzada k-fold, onde k é igual ao número total de amostras no conjunto de</p><p>dados. Em cada iteração, um único ponto de dados é mantido como conjunto de</p><p>teste e o restante é usado para treinamento.</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>131</p><p>191</p><p>3. Validação Cruzada Holdout: Divide o conjunto de dados em dois conjuntos</p><p>mutuamente exclusivos: um conjunto de treinamento e um conjunto de teste. O</p><p>modelo é treinado no conjunto de treinamento e avaliado no conjunto de teste.</p><p>A escolha da técnica de validação cruzada depende do tamanho do conjunto de dados e</p><p>dos requisitos computacionais. A validação cruzada é uma ferramenta essencial para</p><p>avaliar a performance de modelos de aprendizado de máquina e garantir sua capacidade</p><p>de generalização para novos dados.</p><p>Na maioria das vezes, as medidas probabilísticas não estão disponíveis, portanto,</p><p>métodos de reamostragem são usados. De longe, o mais popular é a família de métodos</p><p>de validação cruzada que inclui muitos subtipos. Provavelmente o método mais simples e</p><p>mais utilizado para estimar o erro de previsão é a validação cruzada. Um exemplo é a</p><p>validação cruzada k-fold amplamente utilizada que divide o conjunto de dados de</p><p>treinamento em k folds, onde cada exemplo aparece em um conjunto de teste apenas uma</p><p>vez.</p><p>Figura 34 - Validação cruzada k-fold</p><p>Vejamos uma questão sobre o assunto:</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>132</p><p>191</p><p>14. IPEA/2024/Ciência de Dados</p><p>Um pesquisador iniciante em aprendizado de máquina trabalhava com um modelo de</p><p>classificação binário com as duas classes equilibradas. Inicialmente, ele fez a avaliação de</p><p>seu modelo, separando 20% dos dados disponíveis para a avaliação, e o treinou com 80%</p><p>dos dados, fazendo o processo apenas uma vez. Depois, a pedido de seu chefe, ele</p><p>trocou a forma de avaliação, separando o conjunto de dados em 10 partes e escolhendo,</p><p>em 10 rodadas, uma parte diferente para avaliação e as outras para treinamento.</p><p>Essas duas formas de avaliar um modelo são conhecidas, respectivamente, como</p><p>(A) estratificação e hold-out</p><p>(B) hold-out e k-fold</p><p>(C) leave-one-out e estratificação</p><p>(D) leave-one-out e k-fold</p><p>(E) Monte Carlo e leave-p-out</p><p>Comentário: A primeira forma de avaliar o modelo, em que os dados são divididos em um</p><p>conjunto de treinamento e um conjunto de teste, e apenas uma divisão é feita, é chamada</p><p>de método hold-out. A segunda forma de avaliar o modelo, em que os dados são divididos</p><p>em k partes (ou dobras), e o modelo é treinado e avaliado k vezes, usando uma parte</p><p>diferente como conjunto de teste em cada iteração, é chamada de método k -fold cross-</p><p>validation. Portanto, as duas formas de avaliação são conhecidas, respectivamente, como</p><p>(B) hold-out e k-fold.</p><p>Gabarito: B</p><p>APRENDIZADO SUPERVISIONADO COM PYTHON SCIKIT-LEARN</p><p>O QUE É O SCIKIT-LEARN?</p><p>O scikit-learn é um projeto de código aberto, o que significa que é gratuito para uso e</p><p>distribuição, e qualquer pessoa pode obter facilmente o código-fonte para ver o que está</p><p>acontecendo nos bastidores. O projeto scikit-learn está em constante desenvolvimento e</p><p>aprimoramento e conta com uma comunidade de usuários muito ativa.</p><p>Ele contém uma série de algoritmos de aprendizado de máquina de última geração, bem</p><p>como uma documentação abrangente sobre cada algoritmo. O scikit-learn é uma</p><p>ferramenta muito popular e a biblioteca Python mais proeminente para aprendizado de</p><p>máquina. É amplamente utilizado na indústria e na academia, e uma grande variedade de</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>133</p><p>191</p><p>tutoriais e trechos de código estão disponíveis online. O scikit -learn funciona bem com</p><p>várias outras ferramentas científicas do Python.</p><p>Recomendo que você também navegue no pelo guia do usuário do scikit-learn e pela</p><p>documentação da API para conhecer detalhes adicionais e as diversas opções e</p><p>parâmetros para cada algoritmo. A documentação online é muito completa.</p><p>O Scikit-learn é um software gratuito e de código aberto que ajuda a resolver problemas</p><p>de aprendizado de máquina supervisionados e não supervisionados. O software é</p><p>construído inteiramente em Python e utiliza algumas das bibliotecas mais populares que o</p><p>Python tem a oferecer, nomeadamente NumPy e SciPy.</p><p>A principal razão pela qual o Scikit-learn é muito popular decorre do fato de que a maioria</p><p>dos algoritmos de aprendizado de máquina mais populares do mundo podem ser</p><p>implementados rapidamente em um formato plug and play, uma vez que você saiba como</p><p>é o pipeline principal. Outra razão é que algoritmos populares de classificação, como</p><p>regressão logística e máquinas de vetores de suporte (SVM), são escritos em Cython.</p><p>Cython é usado para fornecer a esses algoritmos um desempenho semelhante ao do C e,</p><p>portanto, torna o uso do scikit-learn bastante eficiente no processo.</p><p>Existem duas maneiras de instalar o scikit-learn em seu dispositivo pessoal:</p><p>• Usando o método pip</p><p>• Usando o método Anaconda</p><p>Vamos aprender apenas a primeira forma. O método pip pode ser implementado no</p><p>MacOS/Linux Terminal ou no Windows PowerShell, enquanto o método Anaconda</p><p>funcionará com o prompt do Anaconda. O Scikit-learn requer que alguns pacotes sejam</p><p>instalados em seu dispositivo antes que você possa instalá-lo. São os seguintes:</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>134</p><p>191</p><p>• NumPy: versão 1.8.2 ou superior</p><p>• SciPy: Versão 0.13.3 ou superior</p><p>Eles podem ser instalados usando o método pip usando os seguintes comandos:</p><p>pip3 install NumPy</p><p>pip3 install SciPy</p><p>Em seguida, podemos instalar o scikit-learn usando o seguinte código:</p><p>pip3 install scikit-learn</p><p>Com o Scikit-learn instalado, precisamos lembrar que existem algoritmos de aprendizado</p><p>supervisionado e não supervisionado. Vamos relembrar de alguns deles ...</p><p>Algoritmos de aprendizagem supervisionada</p><p>Algoritmos de aprendizado supervisionado podem ser usados para resolver problemas de</p><p>classificação e regressão. Os algoritmos de aprendizado de máquina supervisionados</p><p>populares são aqueles amplamente usados na indústria e na pesquisa e nos ajudaram a</p><p>resolver uma ampla gama de problemas em uma ampla gama de domínios. Os principais</p><p>algoritmos de aprendizagem supervisionada são os seguintes:</p><p>• Regressão linear: este algoritmo de aprendizado supervisionado é usado para</p><p>prever resultados numéricos contínuos, como preços de casas, preços de ações e</p><p>temperatura, para citar alguns</p><p>• Regressão logística: o algoritmo de aprendizagem logística é um algoritmo de</p><p>classificação popular que é especialmente usado na indústria de crédito para prever</p><p>inadimplências de empréstimos</p><p>• k-vizinhos mais próximos: o algoritmo k-NN é um algoritmo de classificação usado</p><p>para classificar dados em duas ou mais categorias e é amplamente usado para</p><p>classificar casas em categorias caras e acessíveis com base no preço, área, quartos</p><p>e uma gama completa de outros atributos.</p><p>• Máquinas de vetor de suporte (SVM): o algoritmo SVM é um algoritmo de</p><p>classificação popular usado na detecção de imagem e rosto, bem como em</p><p>aplicativos de reconhecimento de manuscritos ou texto.</p><p>• Algoritmos baseados árvore: Como árvores de decisão, florestas aleatórias e</p><p>árvores impulsionadas são usadas para resolver problemas de classificação e</p><p>regressão</p><p>• Naive Bayes: o classificador Naive Bayes é um algoritmo de aprendizado de</p><p>máquina que usa o modelo matemático de probabilidade para resolver problemas</p><p>de classificação</p><p>Algoritmos de aprendizagem não supervisionados</p><p>Os algoritmos de aprendizado de máquina não supervisionados são normalmente usados</p><p>para agrupar pontos de dados com base na distância. O principal algoritmo de</p><p>aprendizagem não supervisionado é o seguinte:</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>135</p><p>191</p><p>• k-means: o algoritmo k-means é um algoritmo popular que normalmente é usado</p><p>para segmentar clientes em categorias exclusivas com base em uma variedade de</p><p>recursos/atributos, como seus hábitos de consumo. Esse algoritmo também é usado</p><p>para segmentar casas em categorias com base em suas características, como</p><p>preço e área.</p><p>Conceitos básicos de Scikit-learn</p><p>O aprendizado de máquina é sobre aprender algumas propriedades de um conjunto de</p><p>dados e, em seguida, testar essas propriedades em outro conjunto de dados. Uma prática</p><p>comum no aprendizado de máquina é avaliar um algoritmo dividindo um conjunto de</p><p>dados em dois. Chamamos um desses conjuntos de conjunto de treinamento, no qual</p><p>aprendemos algumas propriedades; chamamos o outro conjunto de conjunto de teste, no</p><p>qual testamos as propriedades aprendidas.</p><p>O scikit-learn vem com alguns conjuntos de dados padrão, por exemplo, os conjuntos de</p><p>dados de íris e dígitos para classificação e o conjunto de dados de diabetes para</p><p>regressão. A seguir, iniciamos um interpretador Python de nosso shell e, em seguida,</p><p>carregamos os conjuntos de dados íris e digits. Nossa convenção de notação é que $</p><p>denota o prompt do shell enquanto >>> denota o prompt do interpretador Python:</p><p>$ python</p><p>>>> from sklearn import datasets</p><p>>>> iris = datasets.load_iris()</p><p>>>> digits = datasets.load_digits()</p><p>Um conjunto de dados é um objeto semelhante a um dicionário que contém todos os</p><p>dados e alguns metadados sobre os dados. Esses dados são armazenados no “.data”</p><p>membro, que é uma matriz com n_samples (eventos), n_features (características). No</p><p>caso de problema supervisionado, uma ou mais variáveis de resposta são armazenadas</p><p>no atributo.target.</p><p>Por exemplo, no caso do conjunto de dados de dígitos, digits.data dá acesso aos recursos</p><p>que podem ser usados para classificar as amostras de dígitos:</p><p>>>> print(digits.data)</p><p>[[ 0. 0. 5. ... 0. 0. 0.]</p><p>[ 0. 0. 0. ... 10. 0. 0.]</p><p>[ 0. 0. 0. ... 16. 9. 0.]</p><p>...</p><p>[ 0. 0. 1. ... 6. 0. 0.]</p><p>[ 0. 0. 2. ... 12. 0. 0.]</p><p>[ 0. 0. 10. ... 12. 1. 0.]]</p><p>e digits.target fornece a verdade básica para o conjunto de dados de dígitos, que é o</p><p>número correspondente a cada imagem de dígito que estamos tentando aprender:</p><p>>>> digits.target</p><p>array([0, 1, 2, ..., 8, 9, 8])</p><p>Os dados são sempre uma matriz 2D, forma (n_samples, n_features), embora os dados</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>136</p><p>191</p><p>originais possam ter uma forma diferente. No caso dos dígitos, cada amostra original é</p><p>uma imagem de formato (8,8) e pode ser acessada usando:</p><p>>>> digits.images[0]</p><p>array([[ 0., 0., 5., 13., 9., 1., 0., 0.],</p><p>[ 0., 0., 13., 15., 10., 15., 5., 0.],</p><p>[ 0., 3., 15., 2., 0., 11., 8., 0.],</p><p>[ 0., 4., 12., 0., 0., 8., 8., 0.],</p><p>[ 0., 5., 8., 0., 0., 9., 8., 0.],</p><p>[ 0., 4., 11., 0., 1., 12., 7., 0.],</p><p>[ 0., 2., 14., 5., 10., 12., 0., 0.],</p><p>[ 0., 0., 6., 13., 10., 0., 0., 0.]])</p><p>O exemplo simples neste conjunto de dados ilustra como, partindo do problema original, é</p><p>possível moldar os dados para consumo no scikit-learn.</p><p>Aprendendo e prevendo</p><p>No caso do conjunto de dados de dígitos, a tarefa é prever, dada uma imagem, qual dígito</p><p>ela representa. Recebemos amostras de cada uma das 10 classes possíveis (os dígitos</p><p>de zero a nove) nas quais ajustamos (fit) um estimador para ser capaz de prever (predict)</p><p>as classes às quais pertencem as amostras invisíveis.</p><p>No scikit-learn, um estimador para classificação é um objeto Python que implementa os</p><p>métodos fit(X, y) e predict(T)</p><p>Um exemplo de estimador é a classe sklearn.svm.SVC, que implementa a classificação de</p><p>vetores de suporte. O construtor do estimador toma como argumentos os parâmetros do</p><p>modelo. Por enquanto, vamos considerar o estimador como uma caixa preta:</p><p>>>> from sklearn import svm</p><p>>>> clf = svm.SVC(gamma=0.001, C=100.)</p><p>Para nosso objetivo não vamos definir os conceitos dos parâmetros do SVM. Só preciso</p><p>que você entenda que cada estimador usa um algoritmo de aprendizado de máquina, e</p><p>que, cada algoritmo vai exigir um grupo diferente de parâmetros.</p><p>Agora vamos voltar aquela ideia de separa o conjunto em dois grupos: um para</p><p>treinamento e outro para teste. Para fazer isso usamos um método chamado</p><p>train_test_split(). Que receberá como parâmetros o conjunto de variáveis independentes</p><p>(ou atributos que são usados para definir a classe) e a variável dependente (lista de</p><p>classes para cada exemplo). Assim, se pegarmos o exemplo do dataset digits podemos</p><p>escrever que:</p><p>X = digits.data</p><p>y = digits.target</p><p>Agora, de posse das variáveis X e y, vamos dividir nosso conjunto entre valores de</p><p>treinamento, que vão ser usados para construção do modelo e valores de teste, que</p><p>servirão para medir a acurácia do nosso modelo de previsão. Usaremos a função</p><p>train_test_split, que recebe os valores de X e y, além da informação sobre o tamanho do</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>137</p><p>191</p><p>grupo de teste como um percentual dos exemplos, neste caso 20% (test_size=0.2) e o</p><p>random_state que controla o embaralhamento aplicado aos dados antes de aplicar a</p><p>divisão.</p><p>X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.2, random_state=42)</p><p>Agora já temos o conjunto de teste e treinamento separados, então precisamos usar</p><p>treinar o modelo baseado em um algoritmo e em seguida usarmos para prever o</p><p>resultado. Vejamos um exemplo com o algoritmo de KNN. Para tal precisamos importar o</p><p>algoritmo, criar uma instância dele e aplicar o fit(). Vejamos o código:</p><p>from sklearn.neighbors import KNeighborsClassifier</p><p># Veja que o parâmentro do mododelo de KNN é diferente do SVM.</p><p>knn = KNeighborsClassifier(n_neighbors=7)</p><p># Ajusta o classifcador aos dados de treinamento.</p><p>knn.fit(X_train,y_train)</p><p># A próxima etapa é usar o modelo para predizer os valores de y da base de teste</p><p>y_pred = knn.predict(X_test)</p><p># Por fim, Podemos usar o método score para medir a acurácia do modelo. Para tal,</p><p>apresentamos os dados de teste o método se encarrega de prever os valores e compara</p><p>os resultados</p><p>knn.score(X_test, y_test)</p><p>Por enquanto, o que eu acredito que vai aparecer em provas de concurso são as</p><p>definições básicas e as funções fit(), predict(), score() e train_test_split.</p><p>15. IPEA/2024/Ciência de Dados</p><p>Um pesquisador possui um conjunto de dados consistindo em características diversas,</p><p>features, e suas respectivas classificações, labels. Ele deseja dividir esse conjunto de</p><p>dados em conjuntos distintos, para treinamento e para teste, com o objetivo de validar a</p><p>eficácia de um modelo de aprendizado de máquina.</p><p>Nesse contexto, qual função do SciKit-learn ele deve utilizar para realizar essa divisão de</p><p>maneira eficiente e adequada?</p><p>(A) sample_test_train</p><p>(B) slice_train_test</p><p>(C) split_learning</p><p>(D) split_test_train</p><p>(E) train_test_split</p><p>Comentário: O pesquisador deve utilizar a função train_test_split do Scikit -learn para</p><p>dividir o conjunto de dados em conjuntos de treinamento e teste de maneira eficiente e</p><p>adequada. Portanto, a resposta correta é: (E) train_test_split</p><p>Gabarito: E</p><p>16. IPEA/2024/Ciência de Dados</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>138</p><p>191</p><p>As árvores de decisão são um modelo de aprendizado de máquina que opera por meio da</p><p>construção de uma estrutura em forma de árvore para tomar decisões e que oferece uma</p><p>compreensão clara da lógica de decisão e da hierarquia de características que contribuem</p><p>para as predições finais. Elas são versáteis e podem ser usadas tanto para tarefas de</p><p>classificação quanto para as de regressão.</p><p>Nesse contexto, considere a construção de uma árvore de regressão usando a classe</p><p>DecisionTreeRegressor do Scikit-Learn e seu treinamento em um conjunto de dados</p><p>quadrático com max_depth=2, conforme mostrado a seguir:</p><p>from sklearn.tree import DecisionTreeRegressor tree_reg =</p><p>DecisionTreeRegressor(max_depth=2) tree_reg.fit(X, y)</p><p>A árvore resultante é representada na Figura a seguir.</p><p>GÉRON, A. Hands-on machine learning with Scikit-Learn, Keras, and TensorFlow:</p><p>Concepts, Tools, and Techniques to Build Intelligent Systems. 2 ed. Sebastopol, CA:</p><p>O’Reilly Media, Inc.: 2019, p. 183.</p><p>Considerando-se o cenário apresentado e que se deseja fazer uma predição para uma</p><p>nova instância, com</p><p>x1 = 0.6, qual será o valor predito?</p><p>(A) 0.015</p><p>(B) 0.074</p><p>(C) 0.111</p><p>(D) 0.259</p><p>(E) 110</p><p>Comentário: Com base na árvore de regressão fornecida e no valor de x1=0.6, podemos</p><p>determinar a previsão seguindo os nós correspondentes na árvore. O valor de x1=0.6 cai</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>139</p><p>191</p><p>no nó da direita no primeiro nível da árvore. Em seguida, ao descermos um nível na</p><p>árvore, o valor de x1=0.6 também cai no nó da esquerda. Assim, a previsão</p><p>correspondente é o valor associado ao nó folha em que esse caminho termina. Pela</p><p>árvore apresentada, o valor associado a esse nó folha é 0.111. Portanto, a resposta</p><p>correta é a alternativa: (C) 0.111</p><p>Gabarito: C</p><p>QUESTÕES COMENTADAS</p><p>1. FGV - FTE (SEFAZ MT)/SEFAZ MT/2023 - TI</p><p>Maria treinou um classificador que distingue fotos de maçãs e laranjas. Após testar o</p><p>classificador com uma amostra de 160 fotos, obteve a matriz de confusão a seguir.</p><p>Classificação Atual</p><p>Maçã Laranja</p><p>Classificação</p><p>Prevista</p><p>Maçã 50 2</p><p>Laranja 10 98</p><p>Com base neste resultado, é correto afirmar que a acurácia deste classificador é</p><p>a) 0,075.</p><p>b) 0,325.</p><p>c) 0,675.</p><p>d) 0,925.</p><p>e) 0,982.</p><p>Comentário:</p><p>A acurácia de um classificador é calculada pela soma das previsões corretas (casos verdadeiros</p><p>positivos e verdadeiros negativos) dividida pelo total de previsões. A matriz de confusão fornecida</p><p>indica:</p><p>• Verdadeiros positivos (maçãs classificadas corretamente): 50</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>140</p><p>191</p><p>• Falsos positivos (laranjas classificadas como maçãs): 2</p><p>• Verdadeiros negativos (laranjas classificadas corretamente): 98</p><p>• Falsos negativos (maçãs classificadas como laranjas): 10</p><p>A acurácia pode ser calculada como: 𝐴𝑐𝑢𝑟á𝑟𝑐𝑖𝑎 = 𝑉𝑒𝑟𝑑𝑎𝑑𝑒𝑖𝑟𝑜𝑠 𝑃𝑜𝑠𝑖𝑡𝑖𝑣𝑜𝑠 + 𝑉𝑒𝑟𝑑𝑎𝑑𝑒𝑖𝑟𝑜𝑠 𝑁𝑒𝑔𝑎𝑡𝑖𝑣𝑜𝑠𝑇𝑜𝑡𝑎𝑙 = 50 + 98160 = 0,925</p><p>Portanto, a acurácia deste classificador é aproximadamente 0,925, o que corresponde à alternativa</p><p>(d).</p><p>Gabarito: D</p><p>2. FGV – Analista Judiciário – Área Administrativa – Tecnologia da Informação (TRT-MA)/2022</p><p>Com relação aos conceitos de aprendizado de máquina, assinale V para a afirmativa verdadeira e</p><p>F para a falsa.</p><p>I. Os três principais paradigmas de aprendizado de máquina são os de aprendizado</p><p>supervisionado, não supervisionado e por inteligência profunda.</p><p>II. os algoritmos de classificação e clusterização estão correlacionados com paradigma de</p><p>aprendizado supervisionado.</p><p>III. os algoritmos de support vector machines e randon forest são paradigmas do aprendizado de</p><p>inteligência profunda.</p><p>As afirmativas são, respectivamente,</p><p>a) V, V e V.</p><p>b) V, V e F.</p><p>c) V, F e V.</p><p>d) F, V e V.</p><p>e) F, F e F.</p><p>Comentários:</p><p>Vamos analisar cada afirmativa:</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>141</p><p>191</p><p>I. Falso. Os três principais paradigmas de aprendizado de máquina são:</p><p>a) Aprendizado supervisionado: Nesse paradigma, os algoritmos são treinados em um conjunto de</p><p>dados rotulados, onde as saídas desejadas são conhecidas. O objetivo é aprender a mapear as</p><p>entradas para as saídas corretas.</p><p>b) Aprendizado não supervisionado: Nesse paradigma, os algoritmos são treinados em um</p><p>conjunto de dados não rotulados, e o objetivo é encontrar padrões e estruturas ocultas nos dados.</p><p>c) Aprendizado por reforço: Nesse paradigma, os algoritmos aprendem por tentativa e erro,</p><p>interagindo com um ambiente e recebendo feedbacks de recompensa ou penalização.</p><p>II. Falso. Os algoritmos de classificação e clusterização estão relacionados a diferentes paradigmas</p><p>de aprendizado de máquina.</p><p>a) Algoritmos de classificação estão associados ao aprendizado supervisionado.</p><p>b) Algoritmos de clusterização estão associados ao aprendizado não supervisionado.</p><p>III. Falso. Os algoritmos</p><p>Support Vector Machines (SVM) e Random Forest são exemplos de</p><p>algoritmos de aprendizado supervisionado tradicional, e não pertencem ao paradigma de</p><p>aprendizado de inteligência profunda (deep learning).</p><p>Portanto, a alternativa correta é a letra e) F, F e F.</p><p>Gabarito: Letra E</p><p>3. FGV – Analista Judiciário – Área Administrativa – Tecnologia da Informação (TRT-MA)/2022</p><p>Analise o script python abaixo:</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>142</p><p>191</p><p>O gráfico plotado como resultado do processamento do script é</p><p>a)</p><p>b)</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>143</p><p>191</p><p>c)</p><p>d)</p><p>e)</p><p>Comentários:</p><p>O script em questão utiliza um classificador de floresta aleatória (Random Forest Classifier) para</p><p>realizar uma classificação binária em um conjunto de dados gerado com a função</p><p>make_hastie_10_2. Após treinar o classificador e realizar a predição, ele plota uma curva ROC</p><p>(Receiver Operating Characteristic) para avaliar o desempenho do modelo.</p><p>A curva ROC é um gráfico que mostra a taxa de verdadeiros positivos (TPR ou sensibilidade) em</p><p>função da taxa de falsos positivos (FPR ou 1-especificidade) para diferentes pontos de corte do</p><p>classificador. É uma forma comum de avaliar a capacidade discriminativa de um modelo de</p><p>classificação binária.</p><p>Portanto, o gráfico plotado como resultado do processamento do script é uma curva ROC.</p><p>A curva ROC é um gráfico que mostra a taxa de verdadeiros positivos (TPR ou sensibilidade) em</p><p>função da taxa de falsos positivos (FPR ou 1-especificidade) para diferentes pontos de corte do</p><p>classificador. Ela é representada no plano cartesiano com o eixo X representando o FPR e o eixo Y</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>144</p><p>191</p><p>representando o TPR.</p><p>A curva ROC é geralmente uma curva que começa no ponto (0, 0) e termina no ponto (1, 1).</p><p>Quanto mais próxima a curva estiver do canto superior esquerdo (ponto (0, 1)), melhor é o</p><p>desempenho do modelo, pois isso indica que ele tem uma alta taxa de verdadeiros positivos</p><p>(sensibilidade) e uma baixa taxa de falsos positivos.</p><p>Aqui está um exemplo de como a curva ROC pode se parecer:</p><p>Logo, temos a nossa resposta na alternativa C.</p><p>Gabarito: Letra C</p><p>4. (FGV - Analista Judiciário (TJ RO)/Analista de Sistemas/2021)</p><p>A Inteligência Artificial (IA) apoia o desenvolvimento de soluções tecnológicas capazes de</p><p>realizar atividades similares às capacidades cognitivas humanas. Como exemplo, a plataforma</p><p>Sinapses, desenvolvida pelo Tribunal de Justiça do Estado de Rondônia (TJRO) e adaptada</p><p>para uso nacional, gerencia o treinamento supervisionado de modelos de IA.</p><p>Em soluções de IA, a tecnologia que possui a capacidade de melhorar o desempenho na</p><p>realização de alguma tarefa por meio da experiência usando dados de treinamento, podendo</p><p>ser supervisionado ou não, é o(a):</p><p>A Motor de Inferência (Inference Engine) de Sistemas Especialistas (Expert Systems);</p><p>B Raciocínio Automatizado (Automated Reasoning);</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>145</p><p>191</p><p>C Compreensão de Linguagem Natural (Natural-Language Understanding);</p><p>D Representação do Conhecimento (Knowledge Representation) usando Lógica de Primeira</p><p>Ordem (First Logic Order);</p><p>E Aprendizado de Máquina (Machine Learning).</p><p>Comentários</p><p>Veja que tratamos de desse conceito de melhoria de eficiência por meio da aprendizagem de</p><p>máquina no início desta seção, logo, temos a resposta na alternativa E. As outras assertivas</p><p>descrevem outras áreas/conceitos da Inteligência Artificial:</p><p>a) Um motor de inferência é uma ferramenta informatizada "caixa preta", também utilizada em</p><p>Sistema Especialista (Inteligência Artificial), que após ser estimulada com solicitações</p><p>predeterminadas, oferece as soluções possíveis. Este é o núcleo da inteligência artificial de um</p><p>sistema especialista, onde a capacidade do motor de inferência é baseada numa combinação de</p><p>procedimentos de raciocínios de forma regressiva (partindo de uma conclusão, feita pelo usuário</p><p>ou pelo sistema, é feita uma pesquisa por meio do conhecimento acumulado para se provar a</p><p>afirmação inicial) e progressiva (respostas fornecidas pelo usuário desencadeando um processo de</p><p>busca até que se encontre a solução ótima). Ela é provocada por requisições e tem que ter base de</p><p>dados de conhecimento. Maior parte baseado em lógica de primeira ordem.</p><p>b) Raciocínio Automatizado (Automated Reasoning): cria formas de simular raciocínio lógico</p><p>c) Compreensão de Linguagem Natural (Natural-Language Understanding); meios para</p><p>Compreensão da linguagem humana a partir de texto, áudio ou vídeo.</p><p>d) Representação do Conhecimento (Knowledge Representation) usando Lógica de Primeira</p><p>Ordem (First Logic Order): descreve objetos e predicados relacionando objetos. Admite</p><p>quantificadores (∀ e ∃). Representação por lógica matemática</p><p>Veja que aprendizado de máquina vai além desses conceitos porque propõe maior independência</p><p>na execução dos sistemas, com base em aprendizado contínuo como se fosse um neurônio.</p><p>Gabarito: E.</p><p>5. (FGV – Auditor de Finanças e Controle (CGU) – 2022)</p><p>Considere uma matriz de confusão de um modelo de classificação binária de relatórios</p><p>financeiros. O modelo classifica os relatórios em fraudulentos ou não fraudulentos. Se essa</p><p>matriz apresenta 200 verdadeiros positivos, 100 verdadeiros negativos, 40 erros do “tipo 1” e</p><p>20 erros do “tipo 2”, podem-se calcular as métricas de desempenho aproximadas como:</p><p>(A) Precision = 0.71. Recall = 0.83;</p><p>(B) Precision = 0.83. Recall = 0.71;</p><p>(C) Precision = 0.83. Recall = 0.90;</p><p>(D) Precision = 0.90. Recall = 0.71;</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>146</p><p>191</p><p>(E) Precision = 0.90. Recall = 0.83.</p><p>Comentários</p><p>Veja que essa questão é uma aplicação direta das fórmulas de Precisão e Recall. Vamos usar a</p><p>tabela abaixo para relembrar quais os termos a serem usados. Só esclarecendo que os erros do</p><p>tipo 1 são os falsos positivos e os erros do tipo 2 são os falso negativos.</p><p>Desta forma temos que: 𝑃𝑟𝑒𝑐𝑖𝑠ã𝑜 = 𝑉𝑃𝑉𝑃 + 𝐹𝑃 = 200200 + 40 = 0,8333 …</p><p>𝑅𝑒𝑐𝑎𝑙𝑙 = 𝑉𝑃𝑉𝑃 + 𝐹𝑁 = 200200 + 20 = 0,909090 …</p><p>Desta forma, podemos encontrar nosso resultado na alternativa C.</p><p>Gabarito: C.</p><p>6. (FGV – Auditor de Finanças e Controle (CGU) – 2022)</p><p>Um time de ciência de dados utilizou um modelo linear para resolver uma tarefa de análise</p><p>de dados financeiros provenientes de diferentes unidades de uma organização. Um membro</p><p>do time, que não participou da modelagem, testa o modelo e verifica que ele apresenta um</p><p>péssimo resultado. Preocupado, ele busca os resultados apresentados no treino e pode</p><p>concluir que ocorreu:</p><p>(A) underfitting, se o resultado do treino foi ótimo. Uma possível solução é a utilização de um</p><p>modelo mais complexo e a redução do tempo de treinamento;</p><p>(B) underfitting, se o resultado do treino também foi péssimo. Uma possível solução é a</p><p>utilização de um modelo menos complexo e métodos de validação cruzada;</p><p>(C) overfitting, se o resultado do treino também foi péssimo. Uma possível solução é a</p><p>utilização de técnicas de regularização e métodos de validação</p><p>cruzada;</p><p>(D) overfitting, se o resultado do treino foi ótimo. Uma possível solução é a utilização de um</p><p>modelo menos complexo e métodos de validação cruzada;</p><p>(E) overfitting, se o resultado do treino foi ótimo. Uma possível solução é a utilização de um</p><p>modelo mais complexo e o aumento do tempo de treinamento.</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>147</p><p>191</p><p>Comentários</p><p>Observe que o erro só foi percebido sobre o conjunto de dados de teste. Ou seja, o modelo</p><p>consegue ter um desempenho bom sobre o conjunto de dados de treinamento, entretanto, não vai</p><p>conseguir generalizar bem, esse é um problema de overfitting que pode ser mitigado usando</p><p>métodos de regularização (que permitem construir um modelo menos complexo). Uma das</p><p>técnicas de regularização é a validação cruzada.</p><p>Para descobrir até qual complexidade devemos treinar o modelo ou ajustar os parâmetros do</p><p>modelo, devemos usar a validação cruzada. Na validação cruzada, dividimos o conjunto de dados</p><p>D em duas partições, ou seja, conjunto de treinamento denotado por T e conjunto de teste</p><p>denotado por R onde a união desses dois subconjuntos é todo o conjunto de dados e a interseção</p><p>deles é o conjunto vazio:</p><p>T ∪ R = D</p><p>T ∩ R = ∅</p><p>O T é usado para treinar o modelo. Depois que o modelo é treinado, o R é usado para testar o</p><p>desempenho do modelo. Temos diferentes métodos para validação cruzada. Dois dos métodos</p><p>mais conhecidos para validação cruzada são o K-fold e o Leave-One-Out (LOOCV).</p><p>Gabarito: D.</p><p>7. (FGV – Auditor de Finanças e Controle (CGU) – 2022)</p><p>Dois colegas de um time de ciência de dados discutem o novo projeto do time: avaliar um</p><p>grupo de unidades de negócio e tentar, através de algumas características compartilhadas,</p><p>separá-las em grupos. O objetivo é migrar de um cenário em que são elaborados contratos</p><p>individuais para um cenário em que possam ser elaborados contratos por grupo. Alice acha</p><p>que deve ser usado um método supervisionado. Ela escolhe o K-means Clustering e propõe</p><p>ajustar os hiperparâmetros C e sigma para alcançar um resultado adequado. Bob prefere</p><p>métodos não supervisionados, já que a base de dados não possui rótulos, e está em dúvida</p><p>entre utilizar Naive Bayes (em razão de a base de dados ser pequena) ou Decision Trees (por</p><p>talvez ser necessário ter um modelo explicável). Analisando as posições de Alice e Bob sobre</p><p>esse projeto, pode-se afirmar que:</p><p>(A) Alice e Bob estão corretos. Entretanto, não é possível realizar uma análise prévia dos</p><p>algoritmos – avaliam-se apenas modelos e suas métricas de desempenho;</p><p>(B) Alice e Bob estão errados. K-means Clustering é um método não supervisionado e não</p><p>possui os parâmetros C e sigma. Naive Bayes e Decision Trees são métodos supervisionados;</p><p>(C) Alice está correta, mas a sugestão de Bob de utilizar Naive Bayes é fraca, pois esse</p><p>algoritmo não apresenta bom desempenho com pequenos conjuntos de dados;</p><p>(D) Bob está correto e Alice está errada. K-means Clustering é um algoritmo não</p><p>supervisionado;</p><p>(E) Bob está errado e Alice está correta. Modelos baseados em Decision Trees não são</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>148</p><p>191</p><p>explicáveis.</p><p>Comentários</p><p>Vamos comentar cada uma das alternativas:</p><p>A. ERRADO. Alice e Bob estão incorretos, eles estão confundindo os conceitos de aprendizado</p><p>supervisionado e não supervisionado.</p><p>B. CERTO. K-means é um algoritmo de aprendizado não supervisionado para clusterização. Os</p><p>parâmetros C e sigma são usados no SVM. Já Naive Bayes e Decision Trees são métodos de</p><p>aprendizados supervisionados que podem ser usados para regressão ou classificação.</p><p>C. ERRADO. Alice e Bob estão errados. O algoritmo de Naive Bayes apresenta um bom</p><p>desempenho em pequenas amostras.</p><p>D. ERRADO. Alice e Bob estão errados.</p><p>E. ERRADO. Alice e Bob estão errados</p><p>Gabarito: B.</p><p>8. (FGV - Auditor Federal de Controle Externo (TCU)/Controle Externo/Auditoria</p><p>Governamental/2022)</p><p>Um analista do TCU recebe o conjunto de dados com covariáveis e a classe a que cada</p><p>amostra pertence na tabela a seguir.</p><p>X1 X2 Classe</p><p>0 1 A</p><p>0 2 B</p><p>1 0 A</p><p>1 -1 B</p><p>2 2 B</p><p>1 2 A</p><p>-1 1 B</p><p>2 3 A</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>149</p><p>191</p><p>Esse analista gostaria de prever a classe dos pontos (1,1), (0,0) e (-1,2) usando o algoritmo de</p><p>k-vizinhos mais próximos com k=3 e usando a distância euclidiana usual.</p><p>Suas classes previstas são, respectivamente:</p><p>a) A, B, A;</p><p>b) B, A, A;</p><p>c) A, B, B;</p><p>d) A, A, B;</p><p>e) A, A, A.</p><p>Comentários</p><p>O examinador quer que se use o algoritmo k-vizinhos (ou k-neighboor). Esse algoritmo classifica</p><p>uma determinada instância dos dados, comparando com os elementos mais próximos a ele. A</p><p>medida de distância é um hiperparâmetro do modelo. Neste caso, o problema usa a distância</p><p>euclidiana que é distância em linha reta entre dois pontos. Vamos colocar os pontos em um</p><p>sistema de coordenadas cartesianas para podermos visualizar a posição e a respectiva classe. Na</p><p>figura, a cor azul os pontos mais próximos de A e a laranja o ponto mais próximos de B:</p><p>O examinador é claro em dizer que estamos usando o algoritmo de k-vizinhos mais próximos com</p><p>k=3, K é a quantidade de vizinhos mais próximos que vão influenciar na escolha da classe do novo</p><p>elemento. Assim, podemos observar as classes de cada um dos pontos requisitados.</p><p>• (1,1) = A</p><p>• (0,0) = A</p><p>• (-1,2) = B</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>150</p><p>191</p><p>Logo, gabarito da questão encontra-se na alternativa.</p><p>Gabarito: D.</p><p>9. (FGV - Auditor Federal de Controle Externo (TCU)/Controle Externo/Auditoria</p><p>Governamental/2022)</p><p>Em um problema de classificação é entregue ao cientista de dados um par de covariáveis, (x1,</p><p>x2), para cada uma das quatro observações a seguir: (6,4), (2,8), (10,6) e (5,2). A variável</p><p>resposta observada nessa amostra foi “Sim”, “Não”, “Sim”, “Não”, respectivamente.</p><p>A partição que apresenta o menor erro de classificação quando feita na raiz (primeiro nível)</p><p>de uma árvore de decisão é:</p><p>a) x1 > 2 (“Sim”) e x1 ≤ 2 (“Não”);</p><p>b) x1 > 5 (“Sim”) e x1 ≤ 5 (“Não”);</p><p>c) x2 > 3 (“Sim”) e x2 ≤ 3 (“Não”);</p><p>d) x2 > 6 (“Sim”) e x2 ≤ 6 (“Não”);</p><p>e) x1 > 1 (“Sim”) e x1 ≤ 1 (“Não”).</p><p>Comentários</p><p>A questão pede para você construir uma árvore de decisão que tenha apenas um nível e a</p><p>capacidade de prever com maior precisão as classe para o conjunto de informações apresentadas.</p><p>Se observarmos todas as alternativas, a única que apresenta 100% de acerto para todas as</p><p>instâncias ou observações apresentadas é a alternativa B. Vejamos:</p><p>Temos 4 observações: (6,4), (2,8), (10,6) e (5,2), o primeiro valor representa x1 o segundo x2.</p><p>Assim temos,</p><p>No caso (6,4), como x1 > 5, o rótulo predito é Sim</p><p>No caso (2,8), como x1 5, o rótulo predito é Sim</p><p>No caso (5,2), como x1</p><p>α deles é sigilosa. O analista quer escolher uma fração β</p><p>dos N documentos para pertencer ao conjunto de teste. O objetivo é garantir que cada uma</p><p>das classes (documentos sigilosos e públicos) seja responsável, em média, por ao menos 10%</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>151</p><p>191</p><p>do total de documentos. Essa restrição precisa ser válida tanto no conjunto de treino quanto</p><p>no conjunto de teste.</p><p>Um par (α,β) que satisfaz as restrições do analista é:</p><p>a) α = 20% e β = 70%;</p><p>b) α = 30% e β = 80%;</p><p>c) α = 40% e β = 60%;</p><p>d) α = 60% e β = 80%;</p><p>e) α = 70% e β = 20%.</p><p>Comentários</p><p>Para resolver essa questão você precisa ter em mente que existem duas variáveis alpha e beta.</p><p>Beta representa a fração dos documentos que pertencem ao conjunto de teste e alpha representa</p><p>os documentos sigilosos. Logo, 1 - alpha representa o percentual de documentos públicos e 1 -</p><p>beta representa o conjunto de elementos de treinamento. A questão pede para que cada grupo</p><p>tenha, pelo menos, 10% da amostra ... assim:</p><p>alpha * beta > 10%</p><p>alpha * (1 - beta) > 10%</p><p>(1 - alpha)* beta > 10%</p><p>(1 - alpha)*(1 - beta) > 10%</p><p>A única alternativa onde os percentuais satisfazem essa regra é a letra C onde:</p><p>alpha * beta = 24%</p><p>alpha * (1 - beta) = 16%</p><p>(1 - alpha) * beta = 36%</p><p>(1 - alpha) * (1 - beta) = 24%</p><p>Gabarito: C.</p><p>11. (FGV - Auditor Federal de Controle Externo (TCU)/Controle Externo/Auditoria</p><p>Governamental/2022)</p><p>Durante o treinamento de uma rede neural artificial para classificação de imagens, foi</p><p>observado o comportamento descrito pelo gráfico abaixo, que mostra a evolução do erro</p><p>conforme o número de iterações.</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>152</p><p>191</p><p>O classificador em questão foi treinado em um conjunto de dados particionado (holdout) em</p><p>60%/30%/10% (treinamento/validação/teste). Entretanto, os especialistas envolvidos</p><p>consideraram o modelo obtido insatisfatório após analisarem o gráfico.</p><p>Considerando essas informações, duas técnicas que poderiam ser utilizadas para contornar o</p><p>problema encontrado são:</p><p>a) Parada precoce, Minimização de Entropia Cruzada;</p><p>b) Validação cruzada, Dropout;</p><p>c) Sobreamostragem, Gradiente Descendente Estocástico;</p><p>d) Dropout, Parada em convergência;</p><p>e) Minimização de Entropia Cruzada, Validação cruzada.</p><p>Comentários</p><p>Primeiramente precisamos entender o gráfico. Este mostra duas curvas, a primeira representa o</p><p>erro de treinamento e a segunda o erro de validação. Percebe-se que o erro de treinamento segue</p><p>diminuindo depois 70ª interação, entretanto o erro de validação começa a aumentar. Esse é um</p><p>típico problema de overfitting e acontece quando o modelo de ajusta demais aos dados</p><p>treinamento, mas não generaliza tão bem.</p><p>Para resolver o problema de Overfitting podemos utilizar técnicas de regularização, aumentar a</p><p>quantidade de dados de treinamento, utilizar parada antecipada do treinamento, dentre outras.</p><p>Dentre as técnicas de regularização para redes neurais podemos utilizar o Dropout. Essa técnica</p><p>elimina, durante o treinamento, alguns itens que ficam ocultos. Isso faz com que os ajuste de</p><p>parâmetros dos outros neurônios seja mais significativo.</p><p>Uma outra ferramenta que pode ser utilizada para essa mesma missão é a Validação Cruzada</p><p>(embora seja mais conhecida por sua utilização na seleção de modelos). Nesse caso, pode-se</p><p>utilizar essa técnica para avaliar os modelos por meio de treinamentos em subconjuntos. Ela pega</p><p>o conjunto de treinamento e o divide em pedacinhos menores chamados de folds.</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>153</p><p>191</p><p>Segundo a própria FGV, " O enunciado da questão direciona à escolha de duas técnicas que</p><p>possibilitam contornar o problema de overfitting apresentado no gráfico. Na ausência de</p><p>informações detalhadas sobre a arquitetura da rede e sobre a qualidade dos dados apresentados a</p><p>esta, a resposta deve trazer apenas técnicas que tenham como objetivo contornar o problema de</p><p>overfitting, não cabendo a interpretação de que essencialmente qualquer alteração na estrutura</p><p>da rede (e.g., funções de ativação, função objetivo) pode vir a mitigar o problema. A alternativa</p><p>“Validação cruzada; Dropout” é a única que contém apenas técnicas utilizadas especificamente</p><p>para minimizar o impacto do overfitting, no treinamento e avaliação do modelo, respectivamente."</p><p>Gabarito: B.</p><p>12. (Questão - FGV - Analista Judiciário (TJDFT)/Apoio Especializado/Análise de Dados/2022)</p><p>Baseado nos dados de infecções coletados durante semanas anteriores, a Secretaria de Saúde</p><p>de uma pequena cidade solicitou a criação de um mecanismo para decidir sobre a priorização</p><p>de vacinas na sua população.</p><p>Como resultado, foi criado o modelo de árvore de decisão ilustrado a seguir.</p><p>Uma evidência de que esse modelo foi construído usando o algoritmo C4.5 ou uma de suas</p><p>variantes é:</p><p>a) a diferença entre a profundidade mínima e máxima da árvore;</p><p>b) os valores dos atributos “idade” e “IMC”;</p><p>c) a árvore não ser binária;</p><p>d) o tipo das folhas;</p><p>e) a quantidade de atributos.</p><p>Comentários</p><p>C4.5 constrói árvores de decisão a partir de um conjunto de dados de treinamento da mesma</p><p>forma que o algoritmo ID3, utilizando o conceito de Entropia. O conjunto de dados de treinamento</p><p>é um conjunto de amostras já classificadas. Cada amostra consiste de um vetor p-dimensional, com</p><p>valores de atributos ou características da amostra, assim como a categoria ou a classe a</p><p>qual pertence.</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>154</p><p>191</p><p>Em cada nó da árvore, o algoritmo C4.5 escolhe o atributo dos dados que mais efetivamente</p><p>particiona o seu conjunto de amostras em subconjuntos tendendo a uma categoria ou a outra. O</p><p>critério de particionamento é o ganho de informação normalizado (diferença em entropia). O</p><p>atributo com maior ganho de informação normalizado é escolhido para tomar a decisão. O</p><p>algoritmo C4.5 então repete a etapa anterior nas partições menores.</p><p>Este algoritmo possui alguns ações básicas:</p><p>• Quando todas as amostras do conjunto pertencem a uma mesma categoria, o algoritmo</p><p>simplesmente cria um nó folha para a árvore de decisão e escolhe a categoria em questão;</p><p>• Quando nenhuma das características fornece ganho de informação, o algoritmo C4.5 cria</p><p>um nó de decisão árvore acima usando o valor esperado;</p><p>• Quanto as instâncias previamente não vistas ou visitadas. Novamente, o algoritmo C4.5 cria</p><p>um nó de decisão árvore acima usando o valor esperado.</p><p>O algoritmo de mineração de dados C4.5 foi desenvolvido por Ross Quinlan. O C4.5 gera Árvores</p><p>de Decisão (DT), que podem ser utilizadas para classificação do conjunto de dados. C4.5 estende o</p><p>algoritmo ID3 (que focava mais em atributos discretos) para trabalhar com mais naturalidade com</p><p>atributos contínuos e discretos. C4.5 também lida com valores perdidos e poda de árvores após a</p><p>construção.</p><p>Gabarito: B.</p><p>13. Analista de Controle Externo (TCE-MG)/Ciência da Computação/2018</p><p>Em machine learning, a categoria de aprendizagem por reforço identifica as tarefas em que</p><p>A um software interage com um ambiente dinâmico, como, por exemplo, veículos</p><p>autônomos.</p><p>B as etiquetas de classificação não sejam fornecidas ao algoritmo, de modo a deixá-lo livre</p><p>para entender as entradas recebidas.</p><p>C o aprendizado</p><p>veículo autônomo para</p><p>encontrar o melhor caminho.</p><p>Logo, temos a resposta na alternativa A.</p><p>Gabarito A.</p><p>Além dos tipos de aprendizado de máquina mencionados anteriormente, existem outras</p><p>distinções importantes que podem ser feitas com base em como os sistemas aprendem e</p><p>processam informações.</p><p>Aprendizado Online versus Aprendizado em Lote</p><p>O aprendizado online ocorre de forma incremental, à medida que novos dados estão</p><p>disponíveis. Os modelos são atualizados continuamente à medida que novos exemplos</p><p>são apresentados ao sistema, o que permite uma adaptação em tempo real às mudanças</p><p>nos dados. Por exemplo, sistemas de recomendação de produtos em sites de compras</p><p>online podem aprender com as preferências do usuário conforme ele navega e interage</p><p>com o site.</p><p>Por outro lado, o aprendizado em lote envolve o treinamento do modelo em um conjunto</p><p>estático de dados, onde todo o conjunto de dados é processado de uma só vez. O modelo</p><p>é treinado uma única vez com o conjunto de dados disponível e não é atualizado com</p><p>novos exemplos posteriormente. Um exemplo de aprendizado em lote é o treinamento de</p><p>um modelo de reconhecimento de imagem com um conjunto de dados fixo de imagens</p><p>rotuladas.</p><p>Aprendizado Baseado em Instância versus Aprendizado Baseado em Modelo</p><p>No aprendizado baseado em instância, o sistema armazena exemplos de treinamento e</p><p>faz previsões para novos exemplos com base na similaridade com os exemplos</p><p>existentes. Em outras palavras, ele compara novos dados com dados de treinamento</p><p>previamente vistos para fazer previsões. Um exemplo disso é o algoritmo k -Nearest</p><p>Neighbors (k-NN), que classifica um ponto de dados com base na maioria dos seus k</p><p>vizinhos mais próximos.</p><p>Já no aprendizado baseado em modelo, o sistema detecta padrões nos dados de</p><p>treinamento e constrói um modelo ou representação abstrata dos dados. Esse modelo é</p><p>então usado para fazer previsões para novos exemplos. Por exemplo, em um modelo de</p><p>regressão linear, o sistema aprende os coeficientes que melhor ajustam os dados de</p><p>treinamento a uma linha ou plano, e esse modelo é usado para prever valores para novos</p><p>pontos de dados.</p><p>Essas distinções são importantes porque diferentes problemas e conjuntos de dados</p><p>podem exigir abordagens diferentes de aprendizado. Compreender essas diferenças</p><p>permite a seleção adequada do algoritmo e da técnica de aprendizado mais adequados</p><p>para resolver um determinado problema.</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>11</p><p>191</p><p>FONTES DE ERRO EM MODELOS PREDITIVOS</p><p>Acho que você já entendeu que a tarefa principal é selecionar um algoritmo de</p><p>aprendizado e treiná-lo com alguns dados, as duas coisas que podem dar errado são</p><p>“algoritmo ruim” e “dados ruins”. Vamos começar falando de dados ruins ...</p><p>Quantidade insuficiente de dados de treinamento</p><p>Para uma criança para aprender o que é uma maçã, basta você apontar para uma maçã e</p><p>dizer “maçã” (possivelmente repetindo este procedimento algumas vezes). Agora a</p><p>criança é capaz de reconhecer maçãs em todos os tipos de cores e formas.</p><p>O aprendizado de máquina ainda não chegou lá; são necessários muitos dados para que</p><p>a maioria dos algoritmos de aprendizado de máquina funcione corretamente. Mesmo para</p><p>problemas muito simples, você normalmente precisa de milhares de exemplos, e para</p><p>problemas complexos, como imagem ou reconhecimento de voz, você pode precisar de</p><p>milhões de exemplos (a menos que você possa reutilizar partes de um modelo existente).</p><p>Em um artigo famoso publicado em 2001, os pesquisadores da Microsoft Michele Banko e</p><p>Eric Brill mostraram que algoritmos de aprendizado de máquina muito diferentes, incluindo</p><p>alguns bastante simples, tiveram um desempenho quase idêntico em um problema</p><p>complexo de desambiguação de linguagem natural, uma vez que receberam dados</p><p>suficientes (como você pode ver na figura abaixo).</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>12</p><p>191</p><p>A importância dos dados versus algoritmos</p><p>Como os autores colocam, "estes resultados sugerem que podemos querer reconsiderar a</p><p>compensação entre gastar tempo e dinheiro no desenvolvimento de algoritmos e gastá-lo</p><p>no desenvolvimento de corpus (conjunto de documentos usados)."</p><p>A ideia de que os dados importam mais do que algoritmos para problemas complexos foi</p><p>posteriormente popularizada por Peter Norvig em um artigo intitulado “The Unreasonable</p><p>Effectiveness of Data”, publicado em 2009. Deve-se notar, no entanto, que conjuntos de</p><p>dados de pequeno e médio porte ainda são muito comuns e nem sempre é fácil ou barato</p><p>obter dados extras de treinamento — então não abandone os algoritmos!</p><p>Dados de treinamento não representativos</p><p>Para generalizar bem, é crucial que seus dados de treinamento sejam representativos em</p><p>relação aos novos casos para os quais você deseja generalizar. Por exemplo, o conjunto</p><p>de países que usamos para treinar um modelo linear não pode não ser perfeitamente</p><p>representativo; alguns países podem estar faltando. A figura a seguir mostra a aparência</p><p>dos dados quando você adiciona os países ausentes.</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>13</p><p>191</p><p>Uma amostra de treinamento mais representativa</p><p>Se você treinar um modelo linear com esses dados (todos os pontos da figura acima),</p><p>obterá a linha sólida, enquanto o modelo sem os elementos em vermelho é representado</p><p>pela linha pontilhada. Como você pode ver, adicionar alguns países ausentes altera</p><p>significativamente o modelo. Parece que os países muito ricos não são mais felizes do</p><p>que os moderadamente ricos (na verdade, eles parecem mais infelizes) e, inversamente,</p><p>alguns países pobres parecem mais felizes do que muitos países ricos.</p><p>Usando um conjunto de treinamento não representativo, treinamos um modelo que</p><p>provavelmente não fará previsões precisas, especialmente para países muito</p><p>pobres e muito ricos.</p><p>É crucial usar um conjunto de treinamento que seja representativo dos casos para os</p><p>quais você deseja generalizar. Isso geralmente é mais difícil do que parece: se a amostra</p><p>for muito pequena, você tem ruído de amostragem (ou seja, dados não representativos</p><p>como resultado do acaso), mas mesmo amostras muito grandes podem ser não</p><p>representativas se o método de amostragem for falho. Isto é chamado de polarização de</p><p>amostragem.</p><p>EXEMPLOS DE VIÉS DE AMOSTRAGEM</p><p>Talvez o exemplo mais famoso de viés de amostragem tenha acontecido durante a eleição</p><p>presidencial dos Estados Unidos em 1936, que colocou Landon contra Roosevelt: o</p><p>Literary Digest conduziu uma pesquisa muito grande, enviando correspondência para</p><p>cerca de 10 milhões de pessoas. Ele obteve 2,4 milhões de respostas e previu com alta</p><p>confiança que Landon obteria 57% dos votos. Em vez disso, Roosevelt venceu com 62%</p><p>dos votos.</p><p>A falha estava no método de amostragem do Literary Digest:</p><p>• Primeiro, para obter os endereços para os quais as pesquisas deveriam ser</p><p>enviadas, o Literary Digest usava listas telefônicas, listas de assinantes de revistas,</p><p>listas de membros de clubes e similares. Todas essas listas tendiam a favorecer</p><p>pessoas mais ricas, que tinham maior probabilidade de votar nos republicanos (que</p><p>votariam em Landon).</p><p>• Em segundo lugar, menos de 25% das pessoas entrevistadas responderam. Mais</p><p>uma vez, isso introduziu um viés de amostragem, potencialmente excluindo pessoas</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>pode ser um objetivo em si mesmo ou um meio para se atingir um fim.</p><p>D o objetivo seja aprender um conjunto de regras generalistas para converter as entradas em</p><p>saídas predefinidas.</p><p>E são apresentados ao computador exemplos de entradas e saídas desejadas, fornecidas por</p><p>um orientador.</p><p>Comentário: A Aprendizagem Por Reforço é o treinamento de modelos de</p><p>aprendizado de máquina para tomar uma sequência de decisões. O agente aprende</p><p>a atingir uma meta em um ambiente incerto, dinâmico e potencialmente complexo.</p><p>No aprendizado por reforço, o sistema de inteligência artificial enfrenta uma situação.</p><p>O computador utiliza tentativa e erro para encontrar uma solução para o problema.</p><p>Para que a máquina faça o que o programador deseja, a inteligência artificial recebe</p><p>recompensas ou penalidades pelas ações que executa. Seu objetivo é maximizar a</p><p>recompensa total. Cabe ao modelo descobrir como executar a tarefa para maximizar</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>155</p><p>191</p><p>a recompensa, começando com testes totalmente aleatórios e terminando com</p><p>táticas sofisticadas.</p><p>Um exemplo é a utilização em veículos autônomos. Vamos imaginar que o veículo</p><p>deve chegar a um destino, porém há muitos obstáculos no caminho. O veículo deve</p><p>encontrar o melhor caminho possível para alcançar a recompensa e quando</p><p>encontrar um obstáculo, deve ser penalizado (pois ele deve escolher o caminho sem</p><p>obstáculos). Com a Aprendizagem Por Reforço, podemos treinar o sistema do veículo</p><p>autônomo para encontrar o melhor caminho.</p><p>Logo, temos a resposta na alternativa A.</p><p>Gabarito A.</p><p>14. (Ano: 2016 Banca: CESPE Órgão: FUNPRESP-JUD Prova: Analista - Tecnologia da Informação)</p><p>Julgue o item subsecutivo, referente às tecnologias de bancos de dados.</p><p>Em Data Mining, as árvores de decisão podem ser usadas com sistemas de classificação para</p><p>atribuir informação de tipo.</p><p>Comentário: A questão mostra uma das técnicas que podem ser usadas para</p><p>implementação da tarefa de classificação. Vimos na parte teórica da aula que essa</p><p>afirmação está correta.</p><p>Gabarito: C.</p><p>15. Questão inédita</p><p>Sobre avaliação e validação de modelo, assinale a afirmativa correta:</p><p>a) Acurácia é a proporção de exemplos previstos para estar na classe positiva que foram</p><p>classificados corretamente.</p><p>b) Especificidade trata da proporção de exemplos que foram classificados corretamente.</p><p>c) Recall é a proporção de exemplos previstos para estar na classe positiva que foram</p><p>classificados corretamente</p><p>d) Precisão é a proporção dos Verdadeiros Negativos entre todas as observações que</p><p>realmente são negativas no seu conjunto de dados</p><p>e) F1-Score é a média harmônica entre o recall e a precisão</p><p>Comentário: Vamos analisar cada uma das alternativas:</p><p>a) (ERRADA) Acurácia a proporção de exemplos que foram classificados</p><p>corretamente. (a definição está relacionada a sensibilidade – Recall)</p><p>b) (ERRADA) Especificidade é a proporção dos Verdadeiros Negativos entre todas</p><p>as observações que realmente são negativas no seu conjunto de dados. (A</p><p>definição está relacionada com a acurácia)</p><p>c) (ERRADA) Recall (Sensibilidade) é a proporção de exemplos em que a verdade</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>156</p><p>191</p><p>fundamental é positiva que o classificador identificou corretamente. (A definição</p><p>está associada ao termo precisão)</p><p>d) (ERRADA) Precisão a proporção de exemplos previstos para estar na classe</p><p>positiva que foram classificados corretamente (A definição descreve o conceito de</p><p>especificidade)</p><p>e) Correto!</p><p>Gabarito: E</p><p>16. Questão inédita.</p><p>Sobre regularização, assinale a alternativa correta.</p><p>a) A regularização, uma técnica para estruturar os parâmetros da forma que você preferir,</p><p>não resolve o problema de sobreajuste.</p><p>b) Na regularização L1, também conhecida como RIDGE, a complexidade do modelo é</p><p>expressa como a soma dos valores absolutos dos pesos.</p><p>c) Na regularização L2, também conhecido como Lasso, a complexidade do modelo é</p><p>expressa como a soma dos quadrados dos pesos.</p><p>d) Não existe a possibilidade de combinação da regularização L1 e L2.</p><p>e) Para influenciar o algoritmo de aprendizado a produzir um vetor de coeficiente menor,</p><p>deve-se adicionar uma penalidade ao termo de perda.</p><p>Comentário: Vamos comentar cada uma das alternativas abaixo:</p><p>a) Errado. A regularização é uma técnica que envolve um conjunto de métodos para</p><p>evitar o sobreajuste.</p><p>b) Errado. A regularização usando a norma L1 é conhecida como Lasso.</p><p>c) Errado. A regularização usando a norma L2 é conhecida como Ridge</p><p>d) Errado. Existe a possibilidade de combinação da regularização L1 e L2, que é</p><p>conhecida como elástica. Neste caso a complexidade do modelo é capturada por</p><p>uma combinação das duas técnicas (L1 e L2).</p><p>e) Certo! Essa é a nossa resposta!</p><p>Gabarito: E</p><p>17. CEBRASPE (CESPE) - Auditor de Finanças e Controle de Arrecadação da Fazenda Estadual</p><p>(SEFAZ AL)/2021</p><p>Acerca de conceitos de modelagem preditiva e algoritmos de classificação, julgue o item a</p><p>seguir.</p><p>O dilema bias-variância é evitado quando o treinamento é feito de modo que o modelo</p><p>capture todas as irregularidades estatísticas dos dados, com uma quantidade maior de</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>157</p><p>191</p><p>rodadas de treinamento.</p><p>Comentário: A questão trata de conceitos relativos ao aprendizado de máquina. A</p><p>questão diz respeito ao dilema bias-variância. Esse dilema diz respeito ao bias</p><p>(viés), decorrente do erro relativo as diferenças de previsões médias. Já a variância,</p><p>diz respeito a variabilidade das previsões para determinados pontos. Esses erros</p><p>distorcem a acurácia de um processo em machine learning.</p><p>Entretanto, existem formas de minimizar o impacto desses erros nos sistemas de</p><p>aprendizado de máquina. Isso inclui: usar mais dados no treinamento também</p><p>ajuda, para aumentar a aprendizagem do modelo para os padrões existentes.</p><p>Quanto a parametrização de algoritmos de Machine Learning, costuma ser uma</p><p>batalha para equilibrar o Viés e a Variância. Sendo assim, percebe-se que o melhor</p><p>a fazer é aumentar a amostra dos dados e não realizar mais treinamentos. Além</p><p>disso, essas irregularidades são bem complexas para serem 100% sanadas, já que</p><p>se trabalhe com estatística. A questão fala em evitar, dando a entender que esses</p><p>problemas serão extintos. Isso não é verdade.</p><p>Gabarito: E</p><p>18. Questão inédita</p><p>Sobre árvore de decisão, assinale a alternativa correta.</p><p>a) A árvore de decisão são modelos chamados de paramétricos por ter um número</p><p>predeterminado de parâmetros antes do treinamento.</p><p>b) Entropia, diferentemente do índice de Gini, não é uma medida de impureza.</p><p>c) Árvores de decisão são usadas em tarefas de aprendizado de regressão e classificação.</p><p>d) Por ser um modelo não paramétrico, as árvores de decisão não possuem hiperparâmetros</p><p>para reduzir o overfitting</p><p>e) O algoritmo de CART não é considerado um algoritmo ganancioso.</p><p>Comentário: Vamos comentar cada uma das alternativas acima:</p><p>a) Errado. Modelos não paramétricos!!</p><p>b) Errado. Entropia é uma medida de impureza ... a entropia de um conjunto é zero</p><p>quando ele contém instâncias de apenas uma classe.</p><p>c) Certo! Essa é a nossa resposta!</p><p>d) Errado. Tem hiperparâmetros!!</p><p>e) Errado. É ganancioso como você já sabe, o algoritmo CART é um algoritmo</p><p>ganancioso: ele procura avidamente por uma divisão ideal no nível superior e, a</p><p>seguir, repete o processo em cada nível subsequente. Ele não verifica se a divisão</p><p>levará</p><p>ou não à menor impureza possível vários níveis abaixo. Um algoritmo</p><p>ganancioso geralmente produz uma solução que é razoavelmente boa, mas não é</p><p>garantida como ideal.</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>158</p><p>191</p><p>Gabarito: C</p><p>19. CEBRASPE (CESPE) - Auditor Fiscal (SEFAZ CE)/Tecnologia da Informação da Receita</p><p>Estadual/2021</p><p>A respeito de inteligência artificial, julgue o item seguinte.</p><p>A classificação Naive Bayes parte da suposição de que as variáveis envolvidas em machine</p><p>learning são independentes entre si.</p><p>Comentário: O padrão Naive Bayes é um dos padrões de classificação utilizados para</p><p>Machine Learning. A classificação é, basicamente, um método de aprendizagem</p><p>supervisionada. Baseado nos atributos, a classificação atribui um rótulo a uma</p><p>amostra de dados.</p><p>O método Naive Bayes parte do pressuposto que todos os dados envolvidos são</p><p>independentes entre si. Isso traz como benefício a capacidade de ser aplicado a</p><p>pequenas amostras. O ponto negativo vem do fato de nunca conseguir capturar</p><p>interações entre os dados envolvidos.</p><p>Portanto, o item é correto ao afirmar que a classificação Naive Bayes parte da</p><p>suposição de que as variáveis envolvidas em machine learning são independentes</p><p>entre si.</p><p>Gabarito: C</p><p>20. Questão inédita</p><p>Não pode ser considerado um exemplo de hiperparâmetro:</p><p>a) Os coeficientes das equações de regressão linear.</p><p>b) Número de camadas de uma rede neural.</p><p>c) O número de vizinhos no algoritmo de KNN.</p><p>d) A profundidade máxima em uma árvore de decisão</p><p>e) A função de ativação de uma rede neural.</p><p>Comentário: Lembre-se a diferença entre parâmetros e hiperparâmetros são</p><p>conceitos distintos. Neste cenário, temos que observar que os coeficientes das</p><p>equações em regressões lineares, assim como os pesos e o viés em uma rede neural</p><p>são tratados como parâmetros pois são ajustados pelo próprio algoritmo durante o</p><p>treinamento do modelo.</p><p>Gabarito: A.</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>159</p><p>191</p><p>EXERCÍCIOS</p><p>1. (FGV - Analista Judiciário (TJ RO)/Analista de Sistemas/2021)</p><p>A Inteligência Artificial (IA) apoia o desenvolvimento de soluções tecnológicas capazes de</p><p>realizar atividades similares às capacidades cognitivas humanas. Como exemplo, a plataforma</p><p>Sinapses, desenvolvida pelo Tribunal de Justiça do Estado de Rondônia (TJRO) e adaptada</p><p>para uso nacional, gerencia o treinamento supervisionado de modelos de IA.</p><p>Em soluções de IA, a tecnologia que possui a capacidade de melhorar o desempenho na</p><p>realização de alguma tarefa por meio da experiência usando dados de treinamento, podendo</p><p>ser supervisionado ou não, é o(a):</p><p>A Motor de Inferência (Inference Engine) de Sistemas Especialistas (Expert Systems);</p><p>B Raciocínio Automatizado (Automated Reasoning);</p><p>C Compreensão de Linguagem Natural (Natural-Language Understanding);</p><p>D Representação do Conhecimento (Knowledge Representation) usando Lógica de Primeira</p><p>Ordem (First Logic Order);</p><p>E Aprendizado de Máquina (Machine Learning).</p><p>2. (FGV – Auditor de Finanças e Controle (CGU) – 2022)</p><p>Considere uma matriz de confusão de um modelo de classificação binária de relatórios</p><p>financeiros. O modelo classifica os relatórios em fraudulentos ou não fraudulentos. Se essa</p><p>matriz apresenta 200 verdadeiros positivos, 100 verdadeiros negativos, 40 erros do “tipo 1” e</p><p>20 erros do “tipo 2”, podem-se calcular as métricas de desempenho aproximadas como:</p><p>(A) Precision = 0.71. Recall = 0.83;</p><p>(B) Precision = 0.83. Recall = 0.71;</p><p>(C) Precision = 0.83. Recall = 0.90;</p><p>(D) Precision = 0.90. Recall = 0.71;</p><p>(E) Precision = 0.90. Recall = 0.83.</p><p>3. (FGV – Auditor de Finanças e Controle (CGU) – 2022)</p><p>Um time de ciência de dados utilizou um modelo linear para resolver uma tarefa de análise</p><p>de dados financeiros provenientes de diferentes unidades de uma organização. Um membro</p><p>do time, que não participou da modelagem, testa o modelo e verifica que ele apresenta um</p><p>péssimo resultado. Preocupado, ele busca os resultados apresentados no treino e pode</p><p>concluir que ocorreu:</p><p>(A) underfitting, se o resultado do treino foi ótimo. Uma possível solução é a utilização de um</p><p>modelo mais complexo e a redução do tempo de treinamento;</p><p>(B) underfitting, se o resultado do treino também foi péssimo. Uma possível solução é a</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>160</p><p>191</p><p>utilização de um modelo menos complexo e métodos de validação cruzada;</p><p>(C) overfitting, se o resultado do treino também foi péssimo. Uma possível solução é a</p><p>utilização de técnicas de regularização e métodos de validação cruzada;</p><p>(D) overfitting, se o resultado do treino foi ótimo. Uma possível solução é a utilização de um</p><p>modelo menos complexo e métodos de validação cruzada;</p><p>(E) overfitting, se o resultado do treino foi ótimo. Uma possível solução é a utilização de um</p><p>modelo mais complexo e o aumento do tempo de treinamento.</p><p>4. (FGV – Auditor de Finanças e Controle (CGU) – 2022)</p><p>Dois colegas de um time de ciência de dados discutem o novo projeto do time: avaliar um</p><p>grupo de unidades de negócio e tentar, através de algumas características compartilhadas,</p><p>separá-las em grupos. O objetivo é migrar de um cenário em que são elaborados contratos</p><p>individuais para um cenário em que possam ser elaborados contratos por grupo. Alice acha</p><p>que deve ser usado um método supervisionado. Ela escolhe o K-means Clustering e propõe</p><p>ajustar os hiperparâmetros C e sigma para alcançar um resultado adequado. Bob prefere</p><p>métodos não supervisionados, já que a base de dados não possui rótulos, e está em dúvida</p><p>entre utilizar Naive Bayes (em razão de a base de dados ser pequena) ou Decision Trees (por</p><p>talvez ser necessário ter um modelo explicável). Analisando as posições de Alice e Bob sobre</p><p>esse projeto, pode-se afirmar que:</p><p>(A) Alice e Bob estão corretos. Entretanto, não é possível realizar uma análise prévia dos</p><p>algoritmos – avaliam-se apenas modelos e suas métricas de desempenho;</p><p>(B) Alice e Bob estão errados. K-means Clustering é um método não supervisionado e não</p><p>possui os parâmetros C e sigma. Naive Bayes e Decision Trees são métodos supervisionados;</p><p>(C) Alice está correta, mas a sugestão de Bob de utilizar Naive Bayes é fraca, pois esse</p><p>algoritmo não apresenta bom desempenho com pequenos conjuntos de dados;</p><p>(D) Bob está correto e Alice está errada. K-means Clustering é um algoritmo não</p><p>supervisionado;</p><p>(E) Bob está errado e Alice está correta. Modelos baseados em Decision Trees não são</p><p>explicáveis.</p><p>5. (FGV - Auditor Federal de Controle Externo (TCU)/Controle Externo/Auditoria</p><p>Governamental/2022)</p><p>Um analista do TCU recebe o conjunto de dados com covariáveis e a classe a que cada</p><p>amostra pertence na tabela a seguir.</p><p>X1 X2 Classe</p><p>0 1 A</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>161</p><p>191</p><p>0 2 B</p><p>1 0 A</p><p>1 -1 B</p><p>2 2 B</p><p>1 2 A</p><p>-1 1 B</p><p>2 3 A</p><p>Esse analista gostaria de prever a classe dos pontos (1,1), (0,0) e (-1,2) usando o algoritmo de</p><p>k-vizinhos mais próximos com k=3 e usando a distância euclidiana usual.</p><p>Suas classes previstas são, respectivamente:</p><p>a) A, B, A;</p><p>b) B, A, A;</p><p>c) A, B, B;</p><p>d) A, A, B;</p><p>e) A, A, A.</p><p>6. (FGV - Auditor Federal de Controle Externo (TCU)/Controle Externo/Auditoria</p><p>Governamental/2022)</p><p>Em um problema</p><p>de classificação é entregue ao cientista de dados um par de covariáveis, (x1,</p><p>x2), para cada uma das quatro observações a seguir: (6,4), (2,8), (10,6) e (5,2). A variável</p><p>resposta observada nessa amostra foi “Sim”, “Não”, “Sim”, “Não”, respectivamente.</p><p>A partição que apresenta o menor erro de classificação quando feita na raiz (primeiro nível)</p><p>de uma árvore de decisão é:</p><p>a) x1 > 2 (“Sim”) e x1 ≤ 2 (“Não”);</p><p>b) x1 > 5 (“Sim”) e x1 ≤ 5 (“Não”);</p><p>c) x2 > 3 (“Sim”) e x2 ≤ 3 (“Não”);</p><p>d) x2 > 6 (“Sim”) e x2 ≤ 6 (“Não”);</p><p>e) x1 > 1 (“Sim”) e x1 ≤ 1 (“Não”).</p><p>7. (FGV - Auditor Federal de Controle Externo (TCU)/Controle Externo/Auditoria</p><p>Governamental/2022)</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>162</p><p>191</p><p>Um analista de dados deseja criar um modelo para classificação de documentos em duas</p><p>categorias: sigilosos e públicos. À sua disposição, existe um conjunto de dados com N</p><p>documentos, dos quais uma fração α deles é sigilosa. O analista quer escolher uma fração β</p><p>dos N documentos para pertencer ao conjunto de teste. O objetivo é garantir que cada uma</p><p>das classes (documentos sigilosos e públicos) seja responsável, em média, por ao menos 10%</p><p>do total de documentos. Essa restrição precisa ser válida tanto no conjunto de treino quanto</p><p>no conjunto de teste.</p><p>Um par (α,β) que satisfaz as restrições do analista é:</p><p>a) α = 20% e β = 70%;</p><p>b) α = 30% e β = 80%;</p><p>c) α = 40% e β = 60%;</p><p>d) α = 60% e β = 80%;</p><p>e) α = 70% e β = 20%.</p><p>8. (FGV - Auditor Federal de Controle Externo (TCU)/Controle Externo/Auditoria</p><p>Governamental/2022 )</p><p>Durante o treinamento de uma rede neural artificial para classificação de imagens, foi</p><p>observado o comportamento descrito pelo gráfico abaixo, que mostra a evolução do erro</p><p>conforme o número de iterações.</p><p>O classificador em questão foi treinado em um conjunto de dados particionado (holdout) em</p><p>60%/30%/10% (treinamento/validação/teste). Entretanto, os especialistas envolvidos</p><p>consideraram o modelo obtido insatisfatório após analisarem o gráfico.</p><p>Considerando essas informações, duas técnicas que poderiam ser utilizadas para contornar o</p><p>problema encontrado são:</p><p>a) Parada precoce, Minimização de Entropia Cruzada;</p><p>b) Validação cruzada, Dropout;</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>163</p><p>191</p><p>c) Sobreamostragem, Gradiente Descendente Estocástico;</p><p>d) Dropout, Parada em convergência;</p><p>e) Minimização de Entropia Cruzada, Validação cruzada.</p><p>9. (Questão - FGV - Analista Judiciário (TJDFT)/Apoio Especializado/Análise de Dados/2022)</p><p>Baseado nos dados de infecções coletados durante semanas anteriores, a Secretaria de Saúde</p><p>de uma pequena cidade solicitou a criação de um mecanismo para decidir sobre a priorização</p><p>de vacinas na sua população.</p><p>Como resultado, foi criado o modelo de árvore de decisão ilustrado a seguir.</p><p>Uma evidência de que esse modelo foi construído usando o algoritmo C4.5 ou uma de suas</p><p>variantes é:</p><p>a) a diferença entre a profundidade mínima e máxima da árvore;</p><p>b) os valores dos atributos “idade” e “IMC”;</p><p>c) a árvore não ser binária;</p><p>d) o tipo das folhas;</p><p>e) a quantidade de atributos.</p><p>10. Analista de Controle Externo (TCE-MG)/Ciência da Computação/2018</p><p>Em machine learning, a categoria de aprendizagem por reforço identifica as tarefas em que</p><p>A um software interage com um ambiente dinâmico, como, por exemplo, veículos</p><p>autônomos.</p><p>B as etiquetas de classificação não sejam fornecidas ao algoritmo, de modo a deixá-lo livre</p><p>para entender as entradas recebidas.</p><p>C o aprendizado pode ser um objetivo em si mesmo ou um meio para se atingir um fim.</p><p>D o objetivo seja aprender um conjunto de regras generalistas para converter as entradas em</p><p>saídas predefinidas.</p><p>E são apresentados ao computador exemplos de entradas e saídas desejadas, fornecidas por</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>164</p><p>191</p><p>um orientador.</p><p>11. (Ano: 2016 Banca: CESPE Órgão: FUNPRESP-JUD Prova: Analista - Tecnologia da Informação)</p><p>Julgue o item subsecutivo, referente às tecnologias de bancos de dados.</p><p>Em Data Mining, as árvores de decisão podem ser usadas com sistemas de classificação para</p><p>atribuir informação de tipo.</p><p>12. Questão inédita</p><p>Sobre avaliação e validação de modelo, assinale a afirmativa correta:</p><p>a) Acurácia é a proporção de exemplos previstos para estar na classe positiva que foram</p><p>classificados corretamente.</p><p>b) Especificidade trata da proporção de exemplos que foram classificados corretamente.</p><p>c) Recall é a proporção de exemplos previstos para estar na classe positiva que foram</p><p>classificados corretamente</p><p>d) Precisão é a proporção dos Verdadeiros Negativos entre todas as observações que</p><p>realmente são negativas no seu conjunto de dados</p><p>e) F1-Score é a média harmônica entre o recall e a precisão</p><p>13. Questão inédita.</p><p>Sobre regularização, assinale a alternativa correta.</p><p>a) A regularização, uma técnica para estruturar os parâmetros da forma que você preferir,</p><p>não resolve o problema de sobreajuste.</p><p>b) Na regularização L1, também conhecida como RIDGE, a complexidade do modelo é</p><p>expressa como a soma dos valores absolutos dos pesos.</p><p>c) Na regularização L2, também conhecido como Lasso, a complexidade do modelo é</p><p>expressa como a soma dos quadrados dos pesos.</p><p>d) Não existe a possibilidade de combinação da regularização L1 e L2.</p><p>e) Para influenciar o algoritmo de aprendizado a produzir um vetor de coeficiente menor,</p><p>deve-se adicionar uma penalidade ao termo de perda.</p><p>14. CEBRASPE (CESPE) - Auditor de Finanças e Controle de Arrecadação da Fazenda Estadual</p><p>(SEFAZ AL)/2021</p><p>Acerca de conceitos de modelagem preditiva e algoritmos de classificação, julgue o item a</p><p>seguir.</p><p>O dilema bias-variância é evitado quando o treinamento é feito de modo que o modelo</p><p>capture todas as irregularidades estatísticas dos dados, com uma quantidade maior de</p><p>rodadas de treinamento.</p><p>15. Questão inédita</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>165</p><p>191</p><p>Sobre árvore de decisão, assinale a alternativa correta.</p><p>a) A árvore de decisão são modelos chamados de paramétricos por ter um número</p><p>predeterminado de parâmetros antes do treinamento.</p><p>b) Entropia, diferentemente do índice de Gini, não é uma medida de impureza.</p><p>c) Árvores de decisão são usadas em tarefas de aprendizado de regressão e classificação.</p><p>d) Por ser um modelo não paramétrico, as árvores de decisão não possuem hiperparâmetros</p><p>para reduzir o overfitting</p><p>e) O algoritmo de CART não é considerado um algoritmo ganancioso.</p><p>16. CEBRASPE (CESPE) - Auditor Fiscal (SEFAZ CE)/Tecnologia da Informação da Receita</p><p>Estadual/2021</p><p>A respeito de inteligência artificial, julgue o item seguinte.</p><p>A classificação Naive Bayes parte da suposição de que as variáveis envolvidas em machine</p><p>learning são independentes entre si.</p><p>Comentário: O padrão Naive Bayes é um dos padrões de classificação utilizados para</p><p>Machine Learning. A classificação é, basicamente, um método de aprendizagem</p><p>supervisionada. Baseado nos atributos, a classificação atribui um rótulo a uma</p><p>amostra de dados.</p><p>O método Naive Bayes parte do pressuposto que todos os dados envolvidos são</p><p>independentes entre si. Isso traz como benefício a capacidade de ser aplicado a</p><p>pequenas amostras. O ponto negativo vem do fato de nunca conseguir</p><p>capturar</p><p>interações entre os dados envolvidos.</p><p>Portanto, o item é correto ao afirmar que a classificação Naive Bayes parte da</p><p>suposição de que as variáveis envolvidas em machine learning são independentes</p><p>entre si.</p><p>Gabarito: C</p><p>17. Questão inédita</p><p>Não pode ser considerado um exemplo de hiperparâmetro:</p><p>a) Os coeficientes das equações de regressão linear.</p><p>b) Número de camadas de uma rede neural.</p><p>c) O número de vizinhos no algoritmo de KNN.</p><p>d) A profundidade máxima em uma árvore de decisão</p><p>e) A função de ativação de uma rede neural.</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>166</p><p>191</p><p>GABARITO</p><p>1. E</p><p>2. C</p><p>3. D</p><p>4. B</p><p>5. D</p><p>6. B</p><p>7. C</p><p>8. B</p><p>9. B</p><p>10. A</p><p>11. C</p><p>12. E</p><p>13. E</p><p>14. E</p><p>15. C</p><p>16. C</p><p>17. A</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>167</p><p>191</p><p>QUESTÕES COMENTADAS</p><p>1. (CESGRANRIO/IPEA/2024/Ciência de Dados) Na avaliação de um modelo criado por</p><p>aprendizado de máquina em um experimento que buscava identificar textos de opinião sobre o</p><p>desempenho da economia, separando-os dos que não forneciam opinião alguma, só fatos e</p><p>dados, foi encontrada a seguinte matriz de confusão</p><p>Considerando-se que, nessa matriz, as linhas indicam a resposta correta e as colunas indicam a</p><p>previsão, a acurácia é de</p><p>(A) 8%</p><p>(B) 44%</p><p>(C) 48%</p><p>(D) 88%</p><p>(E) 92%</p><p>Comentário:</p><p>A acurácia é uma métrica comum para avaliar a performance de um modelo de classificação e é</p><p>calculada a partir da matriz de confusão. A matriz de confusão é uma tabela que mostra as</p><p>frequências de classificação corretas e incorretas feitas pelo modelo em cada classe. Ela é</p><p>composta por quatro elementos:</p><p>● Verdadeiro positivo (TP): número de observações da classe positiva que foram</p><p>corretamente classificadas como positivas pelo modelo.</p><p>● Falso positivo (FP): número de observações da classe negativa que foram erroneamente</p><p>classificadas como positivas pelo modelo.</p><p>● Falso negativo (FN): número de observações da classe positiva que foram erroneamente</p><p>classificadas como negativas pelo modelo.</p><p>● Verdadeiro negativo (TN): número de observações da classe negativa que foram</p><p>corretamente classificadas como negativas pelo modelo.</p><p>Com base nesses elementos da matriz de confusão, a acurácia é calculada da seguinte forma:</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>168</p><p>191</p><p>Em palavras, a acurácia é a proporção de todas as classificações corretas (verdadeiros positivos e</p><p>verdadeiros negativos) em relação ao total de observações. É uma medida geral da performance</p><p>do modelo e indica a porcentagem de previsões corretas que o modelo fez em relação ao total</p><p>de previsões.</p><p>Assim temos que a acurácia é igual a 440 + 480/1000 = 920/1000 = 92%. Logo, a nossa resposta</p><p>encontra-se na alternativa E.</p><p>Gabarito: E</p><p>2. (CESGRANRIO/IPEA/2024/Ciência de Dados) Um pesquisador iniciante em aprendizado</p><p>de máquina trabalhava com um modelo de classificação binário com as duas classes</p><p>equilibradas. Inicialmente, ele fez a avaliação de seu modelo, separando 20% dos dados</p><p>disponíveis para a avaliação, e o treinou com 80% dos dados, fazendo o processo apenas uma</p><p>vez. Depois, a pedido de seu chefe, ele trocou a forma de avaliação, separando o conjunto de</p><p>dados em 10 partes e escolhendo, em 10 rodadas, uma parte diferente para avaliação e as</p><p>outras para treinamento.</p><p>Essas duas formas de avaliar um modelo são conhecidas, respectivamente, como</p><p>(A) estratificação e hold-out</p><p>(B) hold-out e k-fold</p><p>(C) leave-one-out e estratificação</p><p>(D) leave-one-out e k-fold</p><p>(E) Monte Carlo e leave-p-out</p><p>Comentário: A primeira forma de avaliar o modelo, em que os dados são divididos em um</p><p>conjunto de treinamento e um conjunto de teste, e apenas uma divisão é feita, é chamada de</p><p>método hold-out. A segunda forma de avaliar o modelo, em que os dados são divididos em k</p><p>partes (ou dobras), e o modelo é treinado e avaliado k vezes, usando uma parte diferente como</p><p>conjunto de teste em cada iteração, é chamada de método k-fold cross-validation. Portanto, as</p><p>duas formas de avaliação são conhecidas, respectivamente, como (B) hold-out e k-fold.</p><p>Gabarito: B</p><p>3. (CESGRANRIO/IPEA/2024/Ciência de Dados) Alguns trabalhos publicados como notas</p><p>técnicas pelo Ipea se utilizam do método de classificação denominado de Bayes Ingênuo.</p><p>No contexto do classificador Bayesiano Ingênuo, Naive Bayes, a ingenuidade do modelo é</p><p>caracterizada pela(o)</p><p>(A) dependência direta entre todas as variáveis preditoras</p><p>(B) ênfase na complexidade do modelo</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>169</p><p>191</p><p>(C) suposição de independência condicional entre as variáveis preditoras</p><p>(D) utilização de distribuição de probabilidade uniforme</p><p>(E) uso exclusivo de variáveis contínuas</p><p>Comentário: A ingenuidade do classificador Naive Bayes se refere à suposição de</p><p>independência condicional entre as variáveis preditoras, ou seja, a crença de que a presença de</p><p>uma determinada característica em uma classe é independente da presença de outras</p><p>características. Isso significa que o modelo considera cada característica como contribuindo</p><p>individualmente para a probabilidade de pertencer a uma determinada classe, sem levar em</p><p>conta a interação entre as características.</p><p>Essa suposição é chamada de "ingênua" porque, na prática, é improvável que as características</p><p>sejam realmente independentes umas das outras. No entanto, apesar dessa simplificação, o</p><p>classificador Naive Bayes muitas vezes funciona surpreendentemente bem em muitas situações</p><p>do mundo real e é amplamente utilizado devido à sua simplicidade, eficiência computacional e</p><p>bom desempenho em muitos problemas de classificação.</p><p>Gabarito: C</p><p>4. (CESGRANRIO/IPEA/2024/Ciência de Dados) Em uma nota técnica do Ipea sobre</p><p>emprego público nos governos subnacionais brasileiros, no ano de 2016, aparece menção sobre</p><p>o fato de as bases utilizadas possuírem outliers, ou valores atípicos.</p><p>A construção de um modelo preditivo a partir dos dados dessas bases, usando árvores</p><p>aleatórias, Random Forests,</p><p>(A) apresentaria uma redução de variância.</p><p>(B) seria inadequado, devido à sensibilidade a outliers de Random Forests.</p><p>(C) teria uma tendência a overfitting.</p><p>(D) teria propensão a underfitting.</p><p>(E) teria dependência de linearidade nos dados.</p><p>Comentário: A técnica de Random Forests é conhecida por sua capacidade de lidar com valores</p><p>atípicos ou outliers de forma robusta. Dado que cada árvore na floresta é treinada em uma</p><p>amostra aleatória dos dados e considera apenas um subconjunto das características em cada</p><p>divisão, é menos sensível a valores extremos do que métodos lineares, por exemplo. Portanto, a</p><p>resposta correta é: (A) apresentaria uma redução de variância.</p><p>A técnica de Random Forests é conhecida por sua robustez em lidar com diversos desafios</p><p>comuns em conjuntos de dados, incluindo a presença de valores atípicos ou outliers. Isso ocorre</p><p>por alguns motivos:</p><p>1. Amostragem aleatória: Cada árvore na floresta é treinada em uma amostra aleatória dos</p><p>dados, o que reduz a influência de pontos extremos em comparação com métodos que</p><p>consideram todos os dados.</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>170</p><p>191</p><p>2. Subconjuntos de características: Em cada divisão de uma árvore na floresta, apenas um</p><p>subconjunto aleatório das características é considerado.</p><p>Isso significa que os outliers podem ter</p><p>menos impacto nas decisões de divisão, já que algumas características são ignoradas em cada</p><p>árvore.</p><p>3. Votação majoritária: Na etapa de predição, a Random Forest combina as previsões de</p><p>todas as árvores individuais. Portanto, mesmo que algumas árvores sejam influenciadas por</p><p>outliers, a votação majoritária geralmente compensa essas influências individuais.</p><p>Devido a essas propriedades, a Random Forest tende a reduzir a variância em comparação com</p><p>modelos mais sensíveis a outliers, como modelos lineares. Isso significa que ela pode fornecer</p><p>previsões mais estáveis e robustas, mesmo na presença de valores atípicos</p><p>Gabarito: A</p><p>5. (CESGRANRIO/IPEA/2024/Ciência de Dados) No gráfico XY, são apresentados pontos que</p><p>representam duas propriedades de elementos de duas classes, R e S. Os pontos da classe R,</p><p>representados como círculos, são [(3,5),(3,4),(2,3)], enquanto os pontos da classe S,</p><p>representados como quadrados, são [(4,3),(4,2),(4,1),(3,1),(2,2)]. É necessário classificar pontos</p><p>novos, de acordo com o algoritmo K-NN, com K=3, considerando a distância euclidiana.</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>171</p><p>191</p><p>Nesse contexto, as classes dos pontos [(3,2),(3,3) e (4,4)] são, respectivamente:</p><p>(A) [R,R,S]</p><p>(B) [R,S,R]</p><p>(C) [S,R,R]</p><p>(D) [S,R,S]</p><p>(E) [R,R,R]</p><p>Comentário: Para resolver a questão basta plotar sobre o gráfico os pontos em questão. Assim,</p><p>podemos determinar a classe com base nos vizinhos mais próximos:</p><p>● Para o ponto (3,2), 3 dos 3 vizinhos mais próximos são da classe S e 0 são da classe R.</p><p>Logo, o ponto é classificado como S.</p><p>● Para o ponto (3,3), 2 dos 3 vizinhos mais próximos são da classe S e 1 é da classe R. Logo,</p><p>o ponto é classificado como R.</p><p>● Para o ponto (4,4), 2 dos 3 vizinhos mais próximos são da classe R e 1 é da classe S. Logo,</p><p>o ponto é classificado como R.</p><p>Assim, a nossa resposta encontra-se na alternativa C.</p><p>Gabarito: C</p><p>6. (CESGRANRIO/IPEA/2024/Ciência de Dados) Na arquitetura de redes neurais, diferentes</p><p>funções de ativação são utilizadas nas camadas de neurônios para aplicar transformações não</p><p>lineares aos dados. Uma dessas funções é a ReLU, conhecida por sua eficácia em diversos</p><p>modelos de aprendizado profundo.</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>172</p><p>191</p><p>implementar a função ReLU, um pesquisador deve seguir a fórmula:</p><p>Comentário: A função de ativação ReLU (Rectified Linear Unit) é uma função não linear</p><p>amplamente utilizada em redes neurais profundas. Sua fórmula é simples e é definida como:</p><p>f(x)=max(0,x)</p><p>Ou seja, para qualquer valor de entrada x, a função ReLU retorna o próprio valor x se x for maior</p><p>que zero, e zero caso contrário. Essa simplicidade e eficácia tornaram a ReLU uma escolha</p><p>popular em muitos modelos de aprendizado profundo. Logo, temos a nossa resposta na</p><p>alternativa B.</p><p>Gabarito: B</p><p>7. (CESGRANRIO/IPEA/2024/Ciência de Dados) Em um projeto de classificação de textos,</p><p>um modelo de machine learning foi aplicado em um conjunto de teste e apresentou os seguintes</p><p>resultados: uma precisão de 80% e uma revocação de 70%.</p><p>Com base nessas informações e considerando-se apenas a parte inteira da porcentagem, qual é</p><p>o F1 Score desse modelo?</p><p>(A) 2%</p><p>(B) 18%</p><p>(C) 37%</p><p>(D) 74%</p><p>(E) 98%</p><p>Comentário: O F1 Score é uma métrica que combina precisão e revocação em um único valor,</p><p>calculado pela média harmônica entre essas duas métricas. A fórmula para o cálculo do F1 Score</p><p>é:</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>173</p><p>191</p><p>Dado que a precisão é de 80% e a revocação é de 70%, podemos substituir esses valores na</p><p>fórmula:</p><p>Como queremos apenas a parte inteira da porcentagem, o valor do F1 Score será</p><p>aproximadamente 74%. Portanto, a resposta correta é: (D) 74%</p><p>Gabarito: D</p><p>8. (CESGRANRIO/IPEA/2024/Ciência de Dados) As árvores de decisão são um modelo de</p><p>aprendizado de máquina que opera por meio da construção de uma estrutura em forma de</p><p>árvore para tomar decisões e que oferece uma compreensão clara da lógica de decisão e da</p><p>hierarquia de características que contribuem para as predições finais. Elas são versáteis e podem</p><p>ser usadas tanto para tarefas de classificação quanto para as de regressão.</p><p>Nesse contexto, considere a construção de uma árvore de regressão usando a classe</p><p>DecisionTreeRegressor do Scikit-</p><p>Learn e seu treinamento em um conjunto de dados quadrático com max_depth=2, conforme</p><p>mostrado a seguir:</p><p>from sklearn.tree import DecisionTreeRegressor tree_reg =</p><p>DecisionTreeRegressor(max_depth=2) tree_reg.fit(X, y)</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>174</p><p>191</p><p>==1365fc==</p><p>A árvore resultante é representada na Figura a seguir.</p><p>GÉRON, A. Hands-on machine learning with Scikit-Learn, Keras, and TensorFlow: Concepts,</p><p>Tools, and Techniques to Build Intelligent Systems. 2 ed. Sebastopol, CA: O’Reilly Media, Inc.:</p><p>2019, p. 183.</p><p>Considerando-se o cenário apresentado e que se deseja fazer uma predição para uma nova</p><p>instância, com</p><p>x1 = 0.6, qual será o valor predito?</p><p>(A) 0.015</p><p>(B) 0.074</p><p>(C) 0.111</p><p>(D) 0.259</p><p>(E) 110</p><p>Comentário: Com base na árvore de regressão fornecida e no valor de x1 =0.6, podemos</p><p>determinar a previsão seguindo os nós correspondentes na árvore. O valor de x1 =0.6 cai no nó</p><p>da direita no primeiro nível da árvore. Em seguida, ao descermos um nível na árvore, o valor de</p><p>x1 =0.6 também cai no nó da esquerda. Assim, a previsão correspondente é o valor associado ao</p><p>nó folha em que esse caminho termina. Pela árvore apresentada, o valor associado a esse nó</p><p>folha é 0.111. Portanto, a resposta correta é a alternativa: (C) 0.111</p><p>Gabarito: C</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>175</p><p>191</p><p>9. (CESGRANRIO/IPEA/2024/Ciência de Dados) A biblioteca Scikit-Learn emprega o</p><p>algoritmo Classification And Regression Tree (CART) para treinar Árvores de Decisão. O</p><p>algoritmo CART baseia-se na recursividade e na estratégia de divisão binária para construir uma</p><p>árvore de decisão. Inicialmente, a árvore é representada por um único nó, que contém todos os</p><p>dados de treinamento. A cada passo, o algoritmo busca a melhor maneira de dividir o conjunto</p><p>de dados. A recursividade continua até que uma condição de parada seja atendida, como atingir</p><p>uma profundidade máxima da árvore. Uma vez construída a árvore, a fase de predição ocorre ao</p><p>percorrer a estrutura da árvore de acordo com as condições estabelecidas nos nós, levando a</p><p>uma predição (inferência) para uma determinada entrada.</p><p>Considerando-se que n corresponde ao número de features e m ao número de instâncias, qual é</p><p>a complexidade computacional assintótica de predição para árvores de decisão treinadas com o</p><p>algoritmo CART?</p><p>(A) O(m)</p><p>(B) O(m2)</p><p>(C) O(n × m log(m))</p><p>(D) O(n2 × m log(m))</p><p>(E) O(log2(m))</p><p>Comentário: A complexidade computacional assintótica de predição para árvores de decisão</p><p>treinadas com o algoritmo CART é geralmente O(log(m)), onde m é o número de instâncias (ou</p><p>amostras). Portanto, a resposta correta é: (E) O(log(m)). Essa complexidade é devido ao fato de</p><p>que, em uma árvore de decisão bem balanceada, o número de nós que precisam ser percorridos</p><p>durante a predição cresce de forma logarítmica com o número de instâncias</p><p>m. Perceba que a</p><p>cada passagem de nível entre a raiz e a folha a quantidade de elementos para pesquisa é</p><p>dividido por dois, no caso da árvore binária, ou pela quantidade de caminhos possíveis no nó de</p><p>decisão.</p><p>Gabarito: E</p><p>10. (CESGRANRIO/IPEA/2024/Desenvolvimento de sistemas) O aprendizado supervisionado</p><p>envolve treinar um modelo em um conjunto de dados rotulados, em que o algoritmo aprende a</p><p>mapear características de entrada para rótulos de saída correspondentes. Esse processo permite</p><p>que o modelo faça previsões sobre novos dados não vistos. Uma tarefa típica de aprendizado</p><p>supervisionado é a regressão.</p><p>É um exemplo de tarefa de regressão em aprendizado de máquina a</p><p>(A) classificação de e-mails como spam ou não spam, com base em várias características, como</p><p>conteúdo, informações do remetente e estrutura do e-mail.</p><p>(B) classificação de sentimento em positivo, negativo ou neutro a partir de um texto, como</p><p>avaliação de clientes, postagem em mídias sociais ou comentários.</p><p>(C) detecção de atividades fraudulentas em transações financeiras, classificando-as como</p><p>legítimas ou suspeitas com base em padrões de transação e comportamento do usuário.</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>176</p><p>191</p><p>(D) rotulação de um paciente como portador ou não de câncer, com base em características</p><p>como marcado-resgenéticos, histórico do paciente e resultados de testes diagnósticos.</p><p>(E) estimativa do consumo futuro de energia para uma região ou setor específico, com base em</p><p>padrões de uso históricos, indicadores econômicos e fatores ambientais.</p><p>Comentário: A resposta correta é: (E) estimativa do consumo futuro de energia para uma região</p><p>ou setor específico, com base em padrões de uso históricos, indicadores econômicos e fatores</p><p>ambientais.</p><p>A tarefa de regressão em aprendizado de máquina envolve prever um valor contínuo com base</p><p>em um conjunto de características. No caso da estimativa do consumo futuro de energia, o</p><p>objetivo é prever uma quantidade numérica (o consumo de energia) com base em várias</p><p>características, como padrões de uso históricos, indicadores econômicos e fatores ambientais.</p><p>Essa é uma clássica tarefa de regressão, em que o modelo aprende a relação entre as</p><p>características de entrada e a variável de saída (consumo de energia) para fazer previsões precisas</p><p>sobre o consumo futuro.</p><p>Gabarito: E</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>177</p><p>191</p><p>LISTA DE QUESTÕES</p><p>1. (CESGRANRIO/IPEA/2024/Ciência de Dados) Na avaliação de um modelo criado por</p><p>aprendizado de máquina em um experimento que buscava identificar textos de opinião sobre</p><p>o desempenho da economia, separando-os dos que não forneciam opinião alguma, só fatos e</p><p>dados, foi encontrada a seguinte matriz de confusão</p><p>Considerando-se que, nessa matriz, as linhas indicam a resposta correta e as colunas indicam a</p><p>previsão, a acurácia é de</p><p>(A) 8%</p><p>(B) 44%</p><p>(C) 48%</p><p>(D) 88%</p><p>(E) 92%</p><p>2. (CESGRANRIO/IPEA/2024/Ciência de Dados) Um pesquisador iniciante em</p><p>aprendizado de máquina trabalhava com um modelo de classificação binário com as duas</p><p>classes equilibradas. Inicialmente, ele fez a avaliação de seu modelo, separando 20% dos</p><p>dados disponíveis para a avaliação, e o treinou com 80% dos dados, fazendo o processo</p><p>apenas uma vez. Depois, a pedido de seu chefe, ele trocou a forma de avaliação, separando o</p><p>conjunto de dados em 10 partes e escolhendo, em 10 rodadas, uma parte diferente para</p><p>avaliação e as outras para treinamento.</p><p>Essas duas formas de avaliar um modelo são conhecidas, respectivamente, como</p><p>(A) estratificação e hold-out</p><p>(B) hold-out e k-fold</p><p>(C) leave-one-out e estratificação</p><p>(D) leave-one-out e k-fold</p><p>(E) Monte Carlo e leave-p-out</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>178</p><p>191</p><p>3. (CESGRANRIO/IPEA/2024/Ciência de Dados) Alguns trabalhos publicados como notas</p><p>técnicas pelo Ipea se utilizam do método de classificação denominado de Bayes Ingênuo.</p><p>No contexto do classificador Bayesiano Ingênuo, Naive Bayes, a ingenuidade do modelo é</p><p>caracterizada pela(o)</p><p>(A) dependência direta entre todas as variáveis preditoras</p><p>(B) ênfase na complexidade do modelo</p><p>(C) suposição de independência condicional entre as variáveis preditoras</p><p>(D) utilização de distribuição de probabilidade uniforme</p><p>(E) uso exclusivo de variáveis contínuas</p><p>4. (CESGRANRIO/IPEA/2024/Ciência de Dados) Em uma nota técnica do Ipea sobre</p><p>emprego público nos governos subnacionais brasileiros, no ano de 2016, aparece menção</p><p>sobre o fato de as bases utilizadas possuírem outliers, ou valores atípicos.</p><p>A construção de um modelo preditivo a partir dos dados dessas bases, usando árvores</p><p>aleatórias, Random Forests,</p><p>(A) apresentaria uma redução de variância.</p><p>(B) seria inadequado, devido à sensibilidade a outliers de Random Forests.</p><p>(C) teria uma tendência a overfitting.</p><p>(D) teria propensão a underfitting.</p><p>(E) teria dependência de linearidade nos dados.</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>179</p><p>191</p><p>==1365fc==</p><p>5. (CESGRANRIO/IPEA/2024/Ciência de Dados) No gráfico XY, são apresentados pontos</p><p>que representam duas propriedades de elementos de duas classes, R e S. Os pontos da classe</p><p>R, representados como círculos, são [(3,5),(3,4),(2,3)], enquanto os pontos da classe S,</p><p>representados como quadrados, são [(4,3),(4,2),(4,1),(3,1),(2,2)]. É necessário classificar pontos</p><p>novos, de acordo com o algoritmo K-NN, com K=3, considerando a distância euclidiana.</p><p>Nesse contexto, as classes dos pontos [(3,2),(3,3) e (4,4)] são, respectivamente:</p><p>(A) [R,R,S]</p><p>(B) [R,S,R]</p><p>(C) [S,R,R]</p><p>(D) [S,R,S]</p><p>(E) [R,R,R]</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>180</p><p>191</p><p>6. (CESGRANRIO/IPEA/2024/Ciência de Dados) Na arquitetura de redes neurais,</p><p>diferentes funções de ativação são utilizadas nas camadas de neurônios para aplicar</p><p>transformações não lineares aos dados. Uma dessas funções é a ReLU, conhecida por sua</p><p>eficácia em diversos modelos de aprendizado profundo.</p><p>implementar a função ReLU, um pesquisador deve seguir a fórmula:</p><p>7. (CESGRANRIO/IPEA/2024/Ciência de Dados) Em um projeto de classificação de textos,</p><p>um modelo de machine learning foi aplicado em um conjunto de teste e apresentou os</p><p>seguintes resultados: uma precisão de 80% e uma revocação de 70%.</p><p>Com base nessas informações e considerando-se apenas a parte inteira da porcentagem, qual</p><p>é o F1 Score desse modelo?</p><p>(A) 2%</p><p>(B) 18%</p><p>(C) 37%</p><p>(D) 74%</p><p>(E) 98%</p><p>8. (CESGRANRIO/IPEA/2024/Ciência de Dados) As árvores de decisão são um modelo de</p><p>aprendizado de máquina que opera por meio da construção de uma estrutura em forma de</p><p>árvore para tomar decisões e que oferece uma compreensão clara da lógica de decisão e da</p><p>hierarquia de características que contribuem para as predições finais. Elas são versáteis e</p><p>podem ser usadas tanto para tarefas de classificação quanto para as de regressão.</p><p>Nesse contexto, considere a construção de uma árvore de regressão usando a classe</p><p>DecisionTreeRegressor do Scikit-</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>181</p><p>191</p><p>Learn e seu treinamento em um conjunto de dados quadrático com max_depth=2,</p><p>conforme</p><p>mostrado a seguir:</p><p>from sklearn.tree import DecisionTreeRegressor tree_reg =</p><p>DecisionTreeRegressor(max_depth=2) tree_reg.fit(X, y)</p><p>A árvore resultante é representada na Figura a seguir.</p><p>GÉRON, A. Hands-on machine learning with Scikit-Learn, Keras, and TensorFlow: Concepts,</p><p>Tools, and Techniques to Build Intelligent Systems. 2 ed. Sebastopol, CA: O’Reilly Media, Inc.:</p><p>2019, p. 183.</p><p>Considerando-se o cenário apresentado e que se deseja fazer uma predição para uma nova</p><p>instância, com</p><p>x1 = 0.6, qual será o valor predito?</p><p>(A) 0.015</p><p>(B) 0.074</p><p>(C) 0.111</p><p>(D) 0.259</p><p>(E) 110</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>182</p><p>191</p><p>9. (CESGRANRIO/IPEA/2024/Ciência de Dados) A biblioteca Scikit-Learn emprega o</p><p>algoritmo Classification And Regression Tree (CART) para treinar Árvores de Decisão. O</p><p>algoritmo CART baseia-se na recursividade e na estratégia de divisão binária para construir</p><p>uma árvore de decisão. Inicialmente, a árvore é representada por um único nó, que contém</p><p>todos os dados de treinamento. A cada passo, o algoritmo busca a melhor maneira de dividir</p><p>o conjunto de dados. A recursividade continua até que uma condição de parada seja</p><p>atendida, como atingir uma profundidade máxima da árvore. Uma vez construída a árvore, a</p><p>fase de predição ocorre ao percorrer a estrutura da árvore de acordo com as condições</p><p>estabelecidas nos nós, levando a uma predição (inferência) para uma determinada entrada.</p><p>Considerando-se que n corresponde ao número de features e m ao número de instâncias,</p><p>qual é a complexidade computacional assintótica de predição para árvores de decisão</p><p>treinadas com o algoritmo CART?</p><p>(A) O(m)</p><p>(B) O(m2)</p><p>(C) O(n × m log(m))</p><p>(D) O(n2 × m log(m))</p><p>(E) O(log2(m))</p><p>10. (CESGRANRIO/IPEA/2024/Desenvolvimento de sistemas) O aprendizado</p><p>supervisionado envolve treinar um modelo em um conjunto de dados rotulados, em que o</p><p>algoritmo aprende a mapear características de entrada para rótulos de saída correspondentes.</p><p>Esse processo permite que o modelo faça previsões sobre novos dados não vistos. Uma tarefa</p><p>típica de aprendizado supervisionado é a regressão.</p><p>É um exemplo de tarefa de regressão em aprendizado de máquina a</p><p>(A) classificação de e-mails como spam ou não spam, com base em várias características,</p><p>como conteúdo, informações do remetente e estrutura do e-mail.</p><p>(B) classificação de sentimento em positivo, negativo ou neutro a partir de um texto, como</p><p>avaliação de clientes, postagem em mídias sociais ou comentários.</p><p>(C) detecção de atividades fraudulentas em transações financeiras, classificando-as como</p><p>legítimas ou suspeitas com base em padrões de transação e comportamento do usuário.</p><p>(D) rotulação de um paciente como portador ou não de câncer, com base em características</p><p>como marcado-resgenéticos, histórico do paciente e resultados de testes diagnósticos.</p><p>(E) estimativa do consumo futuro de energia para uma região ou setor específico, com base</p><p>em padrões de uso históricos, indicadores econômicos e fatores ambientais.</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>183</p><p>191</p><p>GABARITO</p><p>1. E</p><p>2. B</p><p>3. C</p><p>4. A</p><p>5. C</p><p>6. B</p><p>7. D</p><p>8. C</p><p>9. E</p><p>10.E</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>184</p><p>191</p><p>QUESTÕES COMENTADAS</p><p>1. (CGE-PB - TI - FGV – 2024)</p><p>O auditor de contas públicas João deverá realizar uma auditoria financeira e precisa construir um</p><p>modelo de aprendizado de máquina, simples e interpretável, para classificar transações como</p><p>"suspeitas" ou "não suspeitas". Para tanto, João deverá basear-se em atributos, como valor da</p><p>transação, localização, tipo de transação e histórico do cliente, contidos em um conjunto de</p><p>dados relativamente pequeno.</p><p>Nesse contexto, para criar esse modelo, João deverá aplicar a técnica de classificação binária:</p><p>(A) k-means;</p><p>(B) regressão linear;</p><p>(C) árvore de decisão;</p><p>(D) rede neural artificial;</p><p>(E) análise de componentes principais.</p><p>Comentário:</p><p>Para construir um modelo de aprendizado de máquina simples e interpretável para classificar</p><p>transações como "suspeitas" ou "não suspeitas" com base em atributos como valor da</p><p>transação, localização, tipo de transação e histórico do cliente, João deverá aplicar a técnica de</p><p>árvore de decisão.</p><p>As árvores de decisão são modelos de aprendizado de máquina amplamente utilizados para</p><p>classificação binária. Elas são fáceis de entender e interpretar, o que as torna ideais para</p><p>auditorias financeiras e outras aplicações em que a transparência do modelo é importante.</p><p>Portanto, o gabarito corretamente atribui a letra C à técnica de árvore de decisão como a mais</p><p>adequada para esse cenário.</p><p>Gabarito: C</p><p>2. (CGE-PB - TI - FGV – 2024)</p><p>O cientista de dados João deverá criar um modelo de aprendizado de máquina com o objetivo</p><p>de classificar transações de cartão de crédito como "fraudulentas" ou "não fraudulentas".</p><p>Dentre as métricas de avaliação da qualidade geral do modelo criado, João deverá utilizar a que</p><p>avalia o equilíbrio entre precisão e sensibilidade (recall):</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>185</p><p>191</p><p>(A) acurácia;</p><p>(B) F1-score;</p><p>(C) especificidade;</p><p>(D) índice Jaccard (J);</p><p>(E) área sob a curva ROC (AUC-ROC).</p><p>Comentário:</p><p>A métrica que avalia o equilíbrio entre precisão e sensibilidade (recall) é o F1-score. O F1-score é</p><p>uma medida que combina precisão e recall em um único valor, fornecendo uma maneira de</p><p>avaliar o desempenho de um modelo de classificação binária levando em consideração tanto os</p><p>falsos positivos quanto os falsos negativos. Portanto, o gabarito correto é a opção (B) F1-score.</p><p>Gabarito: B</p><p>3. (CGE-PB - TI - FGV – 2024)</p><p>O auditor de contas públicas João está desenvolvendo um modelo de aprendizado de máquina</p><p>para identificar transações financeiras suspeitas em uma auditoria de contas. Após treinar o</p><p>modelo, João observa que esse tem um desempenho excelente nos dados de treinamento, mas</p><p>apresenta um desempenho ruim nos dados de teste, com uma alta taxa de erro.</p><p>Nesse contexto, o problema observado por João, do modelo ajustar-se excessivamente aos</p><p>dados de treinamento, é denominado:</p><p>(A) bias (viés);</p><p>(B) overfitting;</p><p>(C) underfitting;</p><p>(D) oversampling;</p><p>(E) undersampling.</p><p>Comentário:</p><p>O problema observado por João, em que o modelo tem um desempenho excelente nos dados</p><p>de treinamento, mas um desempenho ruim nos dados de teste, é conhecido como overfitting</p><p>(sobreajuste). Portanto, a opção correta é a (B) overfitting. Agora, vou explicar os conceitos das</p><p>outras alternativas:</p><p>● Bias (Viés): Refere-se à simplificação excessiva do modelo, levando a resultados imprecisos</p><p>tanto nos dados de treinamento quanto nos de teste. Isso ocorre quando o modelo não</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>186</p><p>191</p><p>==1365fc==</p><p>consegue capturar corretamente a relação entre os recursos e a variável de saída,</p><p>resultando em previsões sistematicamente equivocadas.</p><p>● Underfitting: É o oposto do overfitting. Ocorre quando o modelo é muito simples para</p><p>capturar a estrutura subjacente dos dados. Isso resulta em desempenho ruim tanto nos</p><p>dados de treinamento quanto nos de teste, devido à incapacidade do modelo de</p><p>aprender os padrões presentes nos dados.</p><p>● Oversampling: É uma técnica usada para lidar com conjuntos de dados desbalanceados,</p><p>onde uma classe é representada</p><p>por um número significativamente menor de exemplos do</p><p>que a outra. No oversampling, os exemplos da classe minoritária são aumentados por</p><p>meio da duplicação ou geração sintética de dados, a fim de equilibrar as proporções das</p><p>classes no conjunto de dados.</p><p>● Undersampling: Assim como o oversampling, o undersampling é uma técnica usada para</p><p>tratar conjuntos de dados desbalanceados. No entanto, em vez de aumentar os exemplos</p><p>da classe minoritária, o undersampling reduz os exemplos da classe majoritária para</p><p>equilibrar as proporções das classes no conjunto de dados. Isso é feito selecionando</p><p>aleatoriamente uma amostra da classe majoritária para que ela corresponda ao tamanho</p><p>da classe minoritária.</p><p>Em resumo, o overfitting é o fenômeno em que o modelo se ajusta excessivamente aos dados de</p><p>treinamento, enquanto bias (viés), underfitting, oversampling e undersampling são outros</p><p>problemas relacionados ao desempenho e à generalização do modelo de aprendizado de</p><p>máquina.</p><p>Gabarito: B</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>187</p><p>191</p><p>LISTA DE QUESTÕES</p><p>1. (CGE-PB - TI - FGV – 2024)</p><p>O auditor de contas públicas João deverá realizar uma auditoria financeira e precisa construir um</p><p>modelo de aprendizado de máquina, simples e interpretável, para classificar transações como</p><p>"suspeitas" ou "não suspeitas". Para tanto, João deverá basear-se em atributos, como valor da</p><p>transação, localização, tipo de transação e histórico do cliente, contidos em um conjunto de</p><p>dados relativamente pequeno.</p><p>Nesse contexto, para criar esse modelo, João deverá aplicar a técnica de classificação binária:</p><p>(A) k-means;</p><p>(B) regressão linear;</p><p>(C) árvore de decisão;</p><p>(D) rede neural artificial;</p><p>(E) análise de componentes principais.</p><p>2. (CGE-PB - TI - FGV – 2024)</p><p>O cientista de dados João deverá criar um modelo de aprendizado de máquina com o objetivo</p><p>de classificar transações de cartão de crédito como "fraudulentas" ou "não fraudulentas".</p><p>Dentre as métricas de avaliação da qualidade geral do modelo criado, João deverá utilizar a que</p><p>avalia o equilíbrio entre precisão e sensibilidade (recall):</p><p>(A) acurácia;</p><p>(B) F1-score;</p><p>(C) especificidade;</p><p>(D) índice Jaccard (J);</p><p>(E) área sob a curva ROC (AUC-ROC).</p><p>3. (CGE-PB - TI - FGV – 2024)</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>188</p><p>191</p><p>O auditor de contas públicas João está desenvolvendo um modelo de aprendizado de máquina</p><p>para identificar transações financeiras suspeitas em uma auditoria de contas. Após treinar o</p><p>modelo, João observa que esse tem um desempenho excelente nos dados de treinamento, mas</p><p>apresenta um desempenho ruim nos dados de teste, com uma alta taxa de erro.</p><p>Nesse contexto, o problema observado por João, do modelo ajustar-se excessivamente aos</p><p>dados de treinamento, é denominado:</p><p>(A) bias (viés);</p><p>(B) overfitting;</p><p>(C) underfitting;</p><p>(D) oversampling;</p><p>(E) undersampling.</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>189</p><p>191</p><p>==1365fc==</p><p>GABARITO</p><p>01 02 03</p><p>C B B</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>190</p><p>191</p><p>39471799600 - Naldira Luiza Vieria</p><p>14</p><p>191</p><p>que não se importavam muito com política, pessoas que não gostavam do Literary</p><p>Digest e outros grupos importantes. Este é um tipo especial de viés de amostragem</p><p>denominado viés de não resposta.</p><p>Aqui está outro exemplo: digamos que você queira construir um sistema para reconhecer</p><p>videoclipes de funk. Uma maneira de construir seu conjunto de treinamento é pesquisar</p><p>“música funk” no YouTube e usar os vídeos resultantes. Mas isso pressupõe que o</p><p>mecanismo de busca do YouTube retorna um conjunto de vídeos que são representativos</p><p>de todos os vídeos de música funk do YouTube. Na realidade, os resultados da pesquisa</p><p>tendem a ser tendenciosos para artistas populares (e se você mora no Brasil, você obterá</p><p>muitos vídeos “funk carioca”, que não se parecem em nada com as músicas de James</p><p>Brown).</p><p>Dados de baixa qualidade</p><p>Obviamente, se seus dados de treinamento estiverem cheios</p><p>de erros, outliers e ruído (por exemplo, devido a medições de</p><p>baixa qualidade), será mais difícil para o sistema detectar os</p><p>padrões subjacentes, portanto, é menos provável que seu</p><p>sistema funcione bem. Geralmente, vale a pena gastar tempo</p><p>limpando seus dados de treinamento. A verdade é que a</p><p>maioria dos cientistas de dados gasta uma parte significativa</p><p>de seu tempo fazendo exatamente isso. A seguir estão</p><p>alguns exemplos de quando você precisa limpar os dados de</p><p>treinamento:</p><p>• Se algumas instâncias forem claramente discrepantes,</p><p>pode ser útil simplesmente descartá-las ou tentar consertar os erros manualmente.</p><p>• Se algumas instâncias estão faltando alguns recursos (por exemplo, 5% de seus</p><p>clientes não especificaram sua idade), você deve decidir se deseja ignorar esse</p><p>atributo completamente, ignorar essas instâncias, ou preencher os valores ausentes</p><p>(por exemplo, com a mediana idade) ou ainda treinar um modelo com o recurso e</p><p>um modelo sem ele para comparar os resultados.</p><p>Recursos irrelevantes</p><p>Como diz o ditado: “se entra lixo, sai lixo”. Seu sistema só será capaz de aprender se os</p><p>dados de treinamento contiverem recursos relevantes suficientes e não muitos recursos</p><p>irrelevantes. Uma parte crítica do sucesso de um projeto de aprendizado de máquina é</p><p>apresentar um bom conjunto de recursos para treinar. Este processo, chamado de</p><p>engenharia de recursos, envolve as seguintes etapas:</p><p>Agora que vimos muitos exemplos de dados incorretos, vamos examinar alguns exemplos</p><p>Seleção de recursos</p><p>•Recursos mais úteis</p><p>para treinar entre os</p><p>recursos existentes</p><p>Extração de recursos</p><p>•Combinando recursos</p><p>existentes para</p><p>produzir um mais útil</p><p>Criação de novos</p><p>recursos•Por meio da coleta de</p><p>novos dados</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>15</p><p>191</p><p>de validação e avaliação de modelos preditivos.</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>16</p><p>191</p><p>APRENDIZADO SUPERVISIONADO</p><p>O aprendizado supervisionado é uma abordagem fundamental no campo da inteligência</p><p>artificial e do aprendizado de máquina. Neste paradigma, um algoritmo é treinado usando</p><p>um conjunto de dados que contém exemplos rotulados, ou seja, cada exemplo no conjunto</p><p>de dados é associado a uma etiqueta ou classe conhecida. O objetivo é aprender uma</p><p>função que mapeia os dados de entrada para as saídas desejadas com base nos</p><p>exemplos fornecidos.</p><p>Uma das principais características do aprendizado supervisionado é a presença de</p><p>supervisão externa durante o processo de treinamento. Isso significa que o algoritmo</p><p>recebe feedback explícito sobre sua saída em relação às saídas esperadas. Essa</p><p>supervisão permite que o algoritmo ajuste seus parâmetros iterativamente para minimizar</p><p>a discrepância entre suas previsões e os rótulos verdadeiros dos dados.</p><p>Abaixo apresentamos uma figura que apresenta os principais componentes de presentes</p><p>no aprendizado supervisionado.</p><p>Figura 3 - Componentes do aprendizado supervisionado</p><p>Dados de Entrada (Features): Os dados de entrada são as informações que o algoritmo</p><p>de aprendizado usa para fazer previsões ou tomar decisões. Esses dados podem assumir</p><p>várias formas, como números, texto, imagens, áudio, etc. Cada instância de dados de</p><p>entrada é representada por um vetor de características que descreve suas propriedades.</p><p>Variáveis de Saída (Labels): As variáveis de saída representam as respostas desejadas</p><p>ou as classes que o algoritmo de aprendizado tenta prever. Dependendo do problema, as</p><p>variáveis de saída podem ser categóricas (por exemplo, "sim" ou "não", "gato" ou</p><p>"cachorro") ou contínuas (por exemplo, valores numéricos).</p><p>Modelo: O modelo de aprendizado supervisionado é uma função matemática que mapeia</p><p>os dados de entrada para as saídas desejadas. O objetivo do treinamento do modelo é</p><p>encontrar os parâmetros que melhor ajustam os dados de treinamento, de modo que o</p><p>modelo possa fazer previsões precisas sobre novos dados.</p><p>Função de Custo (Loss Function): A função de custo é uma medida que quantifica o</p><p>quão bem o modelo está se saindo em relação aos rótulos verdadeiros dos dados. Ela</p><p>calcula a diferença entre as previsões do modelo e os rótulos reais e é usada durante o</p><p>Dados de</p><p>entrada•Features</p><p>Modelo</p><p>•Função</p><p>matemática•Algortimo de</p><p>aprendizado</p><p>Saída</p><p>•Labels</p><p>Função de</p><p>Custo•Loss Function</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>17</p><p>191</p><p>treinamento para ajustar os parâmetros do modelo de forma a minimizar o erro.</p><p>Algoritmos de Aprendizado: Os algoritmos de aprendizado supervisionado são técnicas</p><p>específicas usadas para treinar modelos com base nos dados de treinamento e nas</p><p>variáveis de saída. Existem diversos algoritmos disponíveis, incluindo regressão linear,</p><p>regressão logística, árvores de decisão, SVM (Support Vector Machines), redes neurais,</p><p>entre outros.</p><p>Em resumo, o aprendizado supervisionado é uma abordagem poderosa que permite aos</p><p>algoritmos aprenderem a partir de exemplos rotulados e fazer previsões sobre novos</p><p>dados. Seus principais componentes incluem os dados de entrada, as variáveis de saída,</p><p>o modelo, a função de custo e os algoritmos de aprendizado, que trabalham em conjunto</p><p>para criar modelos preditivos precisos e úteis.</p><p>CONJUNTO DE TREINO, VALIDAÇÃO E TESTE</p><p>Figura 4 - Conjuntos de dados</p><p>Para fins de treinamento e teste de um modelo, é essencial dividir nossos dados em três</p><p>conjuntos distintos: treinamento, validação e teste. Essa prática é amplamente</p><p>recomendada na literatura de aprendizado de máquina para garantir uma avaliação justa e</p><p>precisa do desempenho do modelo.</p><p>Segundo Géron, o conjunto de treinamento é utilizado para treinar o modelo, permitindo</p><p>que ele aprenda os padrões e características presentes nos dados. Durante o</p><p>treinamento, os dados de treinamento são repetidamente alimentados em uma rede</p><p>neural, por exemplo, e o modelo continua a aprender com esses dados, ajustando seus</p><p>parâmetros internos para melhor se adaptar aos padrões encontrados.</p><p>O conjunto de validação é separado do conjunto de treinamento e utilizado para validar</p><p>o desempenho do modelo durante o treinamento. Esse conjunto fornece feedback</p><p>sobre o desempenho do modelo em dados não vistos durante o treinamento, permitindo</p><p>ajustes nos hiperparâmetros e configurações do modelo para melhor generalização.</p><p>Conjunto de dados•Treinamento•Validação•Teste</p><p>Treinamento•Treina o modelo no</p><p>conjunto de</p><p>treinamento</p><p>Validação•Avalia o modelo no</p><p>conjunto de validação•Ajusta o modelo de</p><p>acordo com o</p><p>resultado.</p><p>Teste•Escolhe o</p><p>melhor</p><p>modelo no conjunto</p><p>de validação.•Confirma o resultado</p><p>nos teste.</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>18</p><p>191</p><p>A ideia principal por trás da divisão em conjunto de validação é evitar o sobreajuste do</p><p>modelo, garantindo que ele seja capaz de generalizar e fazer previsões precisas em</p><p>dados não vistos.</p><p>Por fim, o conjunto de teste é um conjunto separado de dados usado para testar o</p><p>modelo após o treinamento. Esse conjunto fornece uma métrica imparcial do desempenho</p><p>do modelo final em termos de precisão, exatidão, entre outras métricas de avaliação.</p><p>Quanto à divisão dos dados, não existe uma porcentagem ideal predefinida. Géron sugere</p><p>que a escolha da divisão ideal depende do número de amostras e das necessidades</p><p>específicas do modelo. Por exemplo, modelos com mais hiperparâmetros podem exigir um</p><p>conjunto de validação maior para otimização, enquanto modelos com menos</p><p>hiperparâmetros podem se beneficiar de um conjunto de validação menor.</p><p>Em suma, a divisão dos conjuntos de dados em treinamento, validação e teste é</p><p>fundamental para avaliar adequadamente o desempenho do modelo de aprendizado de</p><p>máquina e garantir sua capacidade de generalização para novos dados.</p><p>Na literatura, os percentuais de separação de dados variam dependendo do tamanho do</p><p>conjunto de dados, da complexidade do modelo e das necessidades específicas do</p><p>problema em questão. No entanto, existem algumas diretrizes comuns que são</p><p>frequentemente utilizadas:</p><p>1. Divisão padrão de 70/30: Este é um dos padrões mais comuns, onde 70% dos</p><p>dados são usados para treinamento do modelo e os 30% restantes para teste. Este</p><p>método é simples e geralmente funciona bem para conjuntos de dados de tamanho</p><p>moderado.</p><p>2. Divisão de 80/20: Semelhante à divisão de 70/30, esta estratégia alocaria 80% dos</p><p>dados para treinamento e 20% para teste. É frequentemente usado quando há mais</p><p>dados disponíveis ou quando se deseja mais dados para treinamento.</p><p>3. Divisão de 60/20/20: Neste caso, os dados são divididos em três conjuntos: 60%</p><p>para treinamento, 20% para validação e 20% para teste. Esta abordagem é comum</p><p>quando se deseja ajustar os hiperparâmetros do modelo durante o treinamento.</p><p>4. Divisão de validação cruzada k-fold: Esta técnica divide os dados em k folds ou</p><p>dobras e executa o treinamento do modelo k vezes, cada vez usando um fold</p><p>diferente como conjunto de validação e os restantes como conjunto de treinamento.</p><p>É uma abordagem robusta que pode fornecer uma estimativa mais confiável do</p><p>desempenho do modelo.</p><p>Essas são apenas algumas das estratégias comuns de divisão de dados encontradas na</p><p>literatura. A escolha do percentual de separação adequado depende das características</p><p>específicas do problema, do tamanho do conjunto de dados e da complexidade do</p><p>modelo. Experimentação e validação cruzada são práticas comuns para determinar a</p><p>melhor divisão de dados para um determinado cenário.</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>19</p><p>191</p><p>DESCREVENDO UM MODELO</p><p>Durante o nosso estudo sobre conjuntos de dados e estratégias de divisão para</p><p>treinamento e teste de modelos de aprendizado de máquina, nos deparamos com termos</p><p>específicos que ainda não foram explicados em nossa aula. Esses termos são</p><p>fundamentais para compreendermos melhor como os modelos de aprendizado de</p><p>máquina funcionam e como podemos avaliá-los de forma adequada.</p><p>Um desses termos é "redes neurais", que são modelos de aprendizado de máquina</p><p>inspirados no funcionamento do cérebro humano. Essas redes são compostas por</p><p>camadas de neurônios artificiais interconectados, e são capazes de aprender padrões</p><p>complexos nos dados.</p><p>Outro conceito importante são os "hiperparâmetros" e "parâmetros" do modelo. Os</p><p>hiperparâmetros são configurações que não são aprendidas pelo modelo durante o</p><p>treinamento, como a taxa de aprendizado em redes neurais ou o número de árvores em</p><p>um modelo de floresta aleatória. Já os parâmetros são os valores que são aprendidos pelo</p><p>modelo durante o treinamento, como os pesos em uma rede neural ou os coeficientes em</p><p>uma regressão linear.</p><p>Além disso, é essencial entender os conceitos de "generalização" e "overfit". A</p><p>generalização refere-se à capacidade de um modelo de se sair bem em dados não vistos,</p><p>ou seja, sua capacidade de extrapolar para novos exemplos além dos que foram usados</p><p>no treinamento. Por outro lado, o overfitting ocorre quando um modelo se ajusta demais</p><p>aos dados de treinamento, capturando o ruído e os detalhes irrelevantes, o que pode levar</p><p>a um desempenho ruim em dados não vistos.</p><p>Nos próximos blocos de conteúdo, vamos explorar esses conceitos com mais detalhes,</p><p>para que possamos entender melhor como os modelos de aprendizado de máquina</p><p>funcionam e como podemos utilizá-los de forma eficaz em diferentes cenários.</p><p>Primeiramente, preciso que você entenda o que é um modelo .... Uma definição formal de</p><p>modelo pode ser encontrada no livro "Pattern Recognition and Machine Learning" de</p><p>Christopher M. Bishop:</p><p>"Um modelo é uma representação simplificada de um sistema complexo que é usado</p><p>para facilitar a compreensão, análise ou previsão desse sistema. Em aprendizado de</p><p>máquina, um modelo é uma função matemática que relaciona entradas de dados a saídas</p><p>esperadas."</p><p>Essa definição destaca que um modelo é uma representação simplificada de um sistema</p><p>real e é fundamental em aprendizado de máquina para capturar padrões nos dados e</p><p>fazer previsões ou tomar decisões. Os modelos de aprendizado de máquina podem ser</p><p>divididos em várias categorias com base em sua estrutura e funcionamento. Abaixo,</p><p>descreverei brevemente os principais modelos usados em aprendizado de máquina:</p><p>1. Regressão Linear: É um modelo que busca estabelecer uma relação linear entre</p><p>uma variável de entrada e uma variável de saída. São comumente usados para</p><p>prever valores contínuos, como preços de imóveis ou temperatura.</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>20</p><p>191</p><p>2. Regressão Logística: Semelhante à regressão linear, mas usada para problemas</p><p>de classificação binária, onde a saída é uma variável categórica com duas classes.</p><p>Por exemplo, prever se um e-mail é spam ou não.</p><p>3. Árvores de Decisão: Modelos que dividem os dados em segmentos menores com</p><p>base em regras de decisão simples. São úteis para interpretar como as decisões</p><p>são tomadas e são frequentemente usados em problemas de classificação e</p><p>regressão.</p><p>4. Florestas Aleatórias (Random Forests): É uma técnica de conjunto que cria várias</p><p>árvores de decisão e combina suas previsões para obter uma previsão final. Isso</p><p>ajuda a reduzir o overfitting e geralmente leva a modelos mais robustos.</p><p>5. Máquinas de Vetores de Suporte (SVM): Um modelo que encontra o hiperplano</p><p>que melhor separa as classes em um espaço de alta dimensão. É eficaz em</p><p>problemas de classificação e pode lidar com conjuntos de dados complexos.</p><p>6. Redes Neurais Artificiais (ANN): Modelos inspirados no funcionamento do cérebro</p><p>humano, compostos por camadas de neurônios interconectados. Podem aprender</p><p>padrões complexos nos dados e são usados em uma ampla variedade de</p><p>problemas de aprendizado de máquina.</p><p>7. Redes Neurais Convolucionais (CNN): Um tipo especializado de rede neural</p><p>projetado para processar dados com estrutura de grade, como imagens. São</p><p>amplamente utilizadas em tarefas de visão computacional, como reconhecimento de</p><p>objetos e classificação de imagens.</p><p>8. Redes Neurais Recorrentes (RNN): Modelos projetados para lidar com</p><p>dados</p><p>sequenciais, como séries temporais ou texto. Eles têm conexões que formam loops,</p><p>permitindo que informações passem de um passo de tempo para o próximo.</p><p>Esses são apenas alguns dos principais modelos utilizados em aprendizado de máquina</p><p>supervisionado. Cada modelo tem suas próprias características e é adequado para</p><p>diferentes tipos de problemas e conjuntos de dados. A escolha do modelo certo depende</p><p>da natureza dos dados e dos objetivos do projeto de aprendizado de máquina.</p><p>OTIMIZAÇÃO DE HIPERPARÂMETROS</p><p>Existem dois tipos de variáveis ao lidar com algoritmos de aprendizado de máquina,</p><p>representados na figura abaixo:</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>21</p><p>191</p><p>Figura 5 - Parâmentros e Hiperparâmentros do modelo</p><p>Apresentarei um algoritmo de aprendizado de máquina como exemplo para mostrar a</p><p>diferença entre um parâmetro e um hiperparâmetro. Vamos lembrar um algoritmo muito</p><p>básico de regressão linear. A função de hipótese na regressão linear é a seguinte: 𝑓(Θ, Θ𝑐) = Θx + Θ𝑐</p><p>Aqui, x e Θ são vetores, com x sendo um vetor de recursos ou atributos e Θ sendo os</p><p>pesos atribuídos a cada recurso, e Θc é uma tendência constante.</p><p>Vamos considerar como exemplo o problema clássico de previsão do preço de uma casa.</p><p>O preço de uma casa depende de certos fatores, incluindo a metragem quadrada da casa,</p><p>o número de quartos, o número de banheiros, a taxa de criminalidade na localidade, a</p><p>distância do transporte público (estação rodoviária, aeroporto, estação ferroviária), distrito</p><p>escolar (isso faz uma diferença enorme nos Estados Unidos), distância para o hospital</p><p>• São os parâmetros que o algoritmo ajusta de acordo com o</p><p>conjunto de dados fornecido (você não tem uma palavra a</p><p>dizer sobre esse ajuste)</p><p>Parâmetros</p><p>• são os parâmetros de nível superior que você define</p><p>manualmente antes de iniciar o treinamento, que se baseiam</p><p>em propriedades como as características dos dados e a</p><p>capacidade de aprendizado do algoritmo</p><p>Hiperparâmetros</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>22</p><p>191</p><p>mais próximo, e assim por diante.</p><p>Todos esses podem ser considerados como recursos; isto é, fazem parte do vetor x em</p><p>nossa função de hipótese. O preço de uma casa aumenta, por exemplo, à medida que o</p><p>número de quartos aumenta e a metragem quadrada aumenta; essas características</p><p>teriam peso positivo (Θ). O preço de uma casa diminui, por exemplo, quanto maior for a</p><p>distância de escolas e hospitais e quanto maior for a taxa de criminalidade na vizinhança;</p><p>eles teriam Θ negativo. Na Equação, f (Θ, Θc) fornece o preço da casa.</p><p>Podemos usar um algoritmo de otimização para encontrar o melhor valor de Θ para cada</p><p>recurso com base nas observações anteriores. Assim, o vetor Θ é controlado e ajustado</p><p>pelo algoritmo de otimização (por exemplo, gradiente descendente). Esses pesos são</p><p>parâmetros.</p><p>Agora, vamos discutir brevemente a descida do gradiente da função de otimização, que o</p><p>ajudará a entender os hiperparâmetros.</p><p>Começaremos atribuindo alguns números aleatórios (ou seja, pesos) aos nossos</p><p>parâmetros. Para uma observação, se tivermos o vetor x (com valores numéricos para</p><p>cada característica) e o vetor Θ (valores numéricos aleatórios para cada peso), usando a</p><p>Equação, obtemos o valor de f (Θ, Θc). Esta será a nossa previsão, que será algum valor</p><p>aleatório (p1′) porque os pesos são aleatórios. E temos o valor verdadeiro do preço da</p><p>casa (p1).</p><p>Podemos calcular a diferença, C1 (para a primeira observação), | p 1 -p 1′|. Este valor</p><p>corresponde a uma perda que temos que reduzir. Da mesma forma, se calcularmos a</p><p>média da soma da perda (C) para todas as observações:</p><p>A Equação acima é denominada função de perda, o objetivo da função de otimização é</p><p>reduzir o valor de C, para que possamos dar previsões mais precisas. A função de perda</p><p>depende de pesos e tendências, conforme ilustrado na Figura abaixo.</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>23</p><p>191</p><p>Figura 6 - Curvas de perda em três dimensões, com os eixos x e y sendo pesos e o eixo z sendo a perda</p><p>As curvas tridimensionais na figura acima podem ser representações possíveis de uma</p><p>função de perda. Lembre-se de que começamos nossos pesos e vieses com valores</p><p>aleatórios; agora precisamos mudar esses valores de forma a alcançarmos a perda</p><p>mínima. De acordo com o cálculo, C muda da seguinte forma:</p><p>i = {0, n}, Θ0 sendo Θc</p><p>Vamos representar [(δC/δΘ0), (δC/δΘ1 ), ...] como vetor e [ΔΘ0, ΔΘ1 ...] como vetor ΔΘ;</p><p>portanto:</p><p>Mas suponha o seguinte:</p><p>Substituindo-o na Equação anterior, obtemos este resultado:</p><p>Aqui, sendo α um número positivo, a mudança na perda sempre será negativa e queremos</p><p>que nossa perda seja sempre negativa. Portanto, a Equação acima permanece</p><p>verdadeira. A partir dela, obtemos que</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>24</p><p>191</p><p>Onde Θi′ é o novo valor atualizado para o peso Θi. Na Equação acima, o valor atualizado</p><p>do peso Θi′ depende do valor anterior do peso (Θi), do gradiente (δC/δΘi) e de um número</p><p>positivo 𝛼; 𝛼 aqui é um dos hiperparâmetros para a descida do gradiente. Ele controla o</p><p>desempenho do algoritmo. Para cada observação, executamos esta equação de</p><p>atualização e diminuímos a perda enquanto alteramos os valores dos pesos,</p><p>eventualmente atingindo os mínimos para a função de perda.</p><p>A necessidade de otimização de hiperparâmetros</p><p>Na seção anterior, usamos um número positivo 𝛼 na Equação para controlar o algoritmo.</p><p>Este 𝛼 é chamado de taxa de aprendizado no algoritmo de gradiente descendente. Ele</p><p>controla a taxa pela qual a perda atinge seu mínimo. As Figuras abaixo demonstram</p><p>como, conforme descrito nas figuras a seguir.</p><p>Figura 7 - Comportamento das diferentes taxas de aprendizado.</p><p>Na primeira imagem, o valor de 𝛼 é pequeno; o algoritmos alcançará o ponto de</p><p>convergência, mas o ΔΘ (ou seja, a mudança nos pesos) será tão pequeno que muitos</p><p>etapas seriam necessárias, aumentando assim o tempo de execução. Um grande valor de</p><p>taxa de aprendizado (𝛼) mudará a perda drasticamente, portanto, ultrapassando o limite e</p><p>levando à divergência, conforme mostrado na imagem do meio. No entanto, se</p><p>encontrarmos um valor ótimo de 𝛼, seremos capazes de alcançar a convergência em</p><p>menos tempo e sem ultrapassagem, conforme representado na figura a direita. E é por</p><p>isso que precisamos ajustar 𝛼 para seu valor mais eficiente, e esse processo de</p><p>otimização é chamado de ajuste de hiperparâmetros.</p><p>Em variantes mais avançadas do algoritmo de descida do gradiente, começamos com</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>25</p><p>191</p><p>etapas maiores (ou seja, um valor maior de taxa de aprendizagem) para economizar</p><p>tempo e, à medida que alcançamos o ponto de convergência, diminuímos o valor para</p><p>evitar overshooting. Mas o fator pelo qual diminuímos 𝛼 é agora outro hiperparâmetro.</p><p>Então, agora você entende a importância de ajustar esses hiperparâmetros.</p><p>Para ajustar esses hiperparâmetros, você deve ter um bom conhecimento do algoritmo e</p><p>de como esses hiperparâmetros estão afetando o desempenho. Mesmo que você planeje</p><p>usar algoritmos de ajuste de hiperparâmetros,</p><p>é muito importante definir um bom ponto de</p><p>partida. Isso economizará muito tempo e aumentará o desempenho do seu algoritmo.</p><p>Resumindo, os parâmetros são os valores ajustáveis internos do modelo que são</p><p>estimados durante o processo de treinamento, com o objetivo de minimizar a função de</p><p>custo e melhorar o desempenho do modelo nos dados de treinamento. Por exemplo, no</p><p>caso de uma regressão linear, os parâmetros seriam os coeficientes de inclinação e</p><p>interceptação da reta.</p><p>Por outro lado, os hiperparâmetros são configurações externas que não são aprendidas</p><p>pelo modelo durante o treinamento, mas sim definidas antes do processo de treinamento.</p><p>Eles influenciam o comportamento do algoritmo de aprendizado e a complexidade do</p><p>modelo. Exemplos de hiperparâmetros incluem a taxa de aprendizado em algoritmos de</p><p>otimização, o número de camadas ocultas e o número de neurônios em redes neurais, e a</p><p>profundidade máxima da árvore em árvores de decisão.</p><p>Vamos explorar mais a fundo os hiperparâmetros quando estudarmos os diferentes</p><p>algoritmos de aprendizado de máquina. Ao compreender como ajustar adequadamente</p><p>esses hiperparâmetros, poderemos otimizar o desempenho dos modelos e melhorar sua</p><p>capacidade de generalização para novos dados. Este é um passo crucial na construção</p><p>de modelos de aprendizado de máquina eficazes e robustos.</p><p>MÉTRICAS DE AVALIAÇÃO</p><p>Um fluxo ou pipeline de um projeto de aprendizado de máquina pode ser visto na figura</p><p>abaixo:</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>26</p><p>191</p><p>Figura 8 - Pipeline de aprendizado</p><p>Depois do treinamento do modelo, faz-se necessário avaliar se o resultado é adequado</p><p>o suficiente para ser colocado em produção. Nas próximas linhas, iremos apresentá-lo</p><p>à métodos de avaliação de modelo, onde avaliamos o desempenho de cada modelo que</p><p>treinamos antes de decidir colocá-lo em produção. Ao final desta seção, você será capaz</p><p>de criar um conjunto de dados de avaliação. Você estará preparado para avaliar o</p><p>desempenho dos modelos de regressão linear usando o erro médio absoluto e o erro</p><p>quadrático médio. Você também poderá avaliar o desempenho dos modelos de</p><p>regressão logística ou classificadores binários usando as métricas acurácia, precisão,</p><p>recall e F1 Score.</p><p>Avaliando o desempenho do modelo para modelos de regressão</p><p>Ao criar um modelo de regressão, você cria um modelo que prevê uma variável numérica</p><p>contínua. Ao separar seu conjunto de dados de avaliação (teste), você tem algo que pode</p><p>usar para comparar a qualidade do seu modelo.</p><p>O que você precisa fazer para avaliar a qualidade do seu modelo é comparar a qualidade</p><p>da sua previsão com o que é chamado de verdade fundamental, que é o valor real</p><p>observado que você está tentando prever. Dê uma olhada na tabela abaixo, na qual a</p><p>primeira coluna contém a verdade fundamental e a segunda coluna contém os valores</p><p>previstos:</p><p>Valores Reais Valores Previstos</p><p>0 4.891 4.132270</p><p>1 4.194 4.364320</p><p>Ingestão de</p><p>dados</p><p>Exploração dos</p><p>dados</p><p>Processamento</p><p>dos dados</p><p>Treinamento</p><p>do modelo</p><p>Validação e</p><p>análise do</p><p>modelo</p><p>Deployment do</p><p>modelo</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>27</p><p>191</p><p>2 4.984 4.440703</p><p>3 3.109 2.954363</p><p>4 5.115 4.987951</p><p>A linha 0 na saída compara o valor real em nosso conjunto de dados de avaliação com o</p><p>que nosso modelo previu. O valor real do nosso conjunto de dados de avaliação é 4,891.</p><p>O valor que o modelo previu é 4,132270. A linha 1 compara o valor real de 4,194 com o</p><p>que o modelo previu, que é 4,364320.</p><p>Na prática, o conjunto de dados de avaliação conterá muitos registros, portanto, você não</p><p>fará essa comparação visualmente. Em vez disso, você fará uso de algumas equações.</p><p>Você deve fazer essa comparação calculando a perda (ou loss). A perda é a diferença</p><p>entre os valores reais e previstos da tabela anterior. Na mineração de dados, é chamada</p><p>de medida de distância. Existem várias abordagens para calcular medidas de distância</p><p>que dão origem a diferentes funções de perda. Duas delas são: a Distância de Manhatan</p><p>e a Distância euclidiana.</p><p>A Distância de Manhattan e a Distância Euclidiana são duas medidas comumente</p><p>utilizadas em análises de dados e em algoritmos de aprendizado de máquina para calcular</p><p>a distância entre pontos em um espaço multidimensional. Ambas as medidas são formas</p><p>de calcular a distância entre dois pontos, mas diferem na maneira como essa distância é</p><p>calculada e interpretada.</p><p>1. Distância de Manhattan: Também conhecida como distância retangular ou</p><p>distância L1, a Distância de Manhattan é calculada como a soma das diferenças</p><p>absolutas entre as coordenadas dos pontos em cada dimensão.</p><p>Em um espaço bidimensional (x, y), a distância de Manhattan entre dois pontos</p><p>P1(x1, y1) e P2(x2, y2) é dada por: 𝐷𝑖𝑠𝑡â𝑛𝑐𝑖𝑎 𝑑𝑒 𝑀𝑎𝑛ℎ𝑎𝑡𝑡𝑎𝑛 = |𝑥2 − 𝑥1| + |𝑦2 − 𝑦1|</p><p>Essa medida é chamada de "Distância de Manhattan" porque se assemelha à</p><p>distância que uma pessoa percorreria em uma cidade em que os quarteirões são</p><p>organizados em uma grade.</p><p>2. Distância Euclidiana: Também conhecida como distância linear ou distância L2, a</p><p>Distância Euclidiana é calculada como a linha reta entre dois pontos, conforme</p><p>definido pelo teorema de Pitágoras.</p><p>Em um espaço bidimensional (x, y), a distância Euclidiana entre dois pontos P1(x1,</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>28</p><p>191</p><p>y1) e P2(x2, y2) é dada por: 𝐷𝑖𝑠𝑡â𝑛𝑐𝑖𝑎 𝑒𝑢𝑐𝑙𝑖𝑑𝑖𝑎𝑛𝑎 = √(𝑥2 − 𝑥1)2 + (𝑦2 − 𝑦1)2</p><p>Essa medida é chamada de "Distância Euclidiana" porque segue a geometria</p><p>euclidiana, onde a distância entre dois pontos é a linha reta mais curta possível.</p><p>Em resumo, enquanto a Distância de Manhattan é a soma das diferenças absolutas entre</p><p>as coordenadas dos pontos em cada dimensão, a Distância Euclidiana é a distância linear</p><p>ou a linha reta entre os pontos. Ambas as medidas são úteis em diferentes contextos e</p><p>podem ser escolhidas com base na natureza dos dados e nos requisitos do problema.</p><p>Existem várias funções de perda para regressão, veremos duas das funções de perda</p><p>comumente usadas para regressão, que são:</p><p>• Erro médio absoluto (MAE - Mean absolute error) - é baseado na distância de</p><p>Manhattan</p><p>• Erro quadrático médio (MSE - Mean squared error) - é baseado na distância</p><p>euclidiana</p><p>O objetivo dessas funções é medir a utilidade de seus modelos, fornecendo a você um</p><p>valor numérico que mostra quanto de desvio existe entre as verdades fundamentais e os</p><p>valores previstos pelos seus modelos.</p><p>Sua missão é treinar novos modelos com erros consistentemente menores.</p><p>A pontuação R2 (pronuncia-se "r quadrado") às vezes é chamada de "pontuação" e mede</p><p>o coeficiente de determinação do modelo. Pense nisso como a capacidade do modelo de</p><p>fazer previsões boas e confiáveis. Essa medida é acessada usando o método score() do</p><p>modelo de regressão da biblioteca do Scikitlearn.</p><p>Seu objetivo é treinar modelos sucessivos com objetivo de obter a pontuação mais alta de</p><p>R2. Os valores de R2 variam entre 0 e 1. Seu objetivo é tentar fazer com que o modelo</p><p>tenha uma pontuação próxima a 1.</p><p>O erro médio absoluto (EMA) é uma métrica de avaliação para modelos de regressão que</p><p>mede a distância absoluta entre suas previsões e a verdade fundamental. A distância</p><p>absoluta é a distância independentemente do sinal, seja positivo ou negativo. Por</p><p>exemplo, se a valor real for 6 e você predizer 5, a distância será 1. No entanto, se você</p><p>predisser 7, a distância será -1. A distância absoluta, sem levar em</p><p>consideração os</p><p>sinais, é 1 em ambos os casos. Isso é chamado de magnitude. O EMA é calculado</p><p>somando todas as magnitudes e dividindo pelo número de observações.</p><p>O EMA é calculado subtraindo todas as previsões da verdade fundamental, encontrando o</p><p>valor absoluto, somando todos os valores absolutos e dividindo pelo número de</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>29</p><p>191</p><p>==1365fc==</p><p>observações. Esse tipo de medida de distância é chamado de distância de Manhattan na</p><p>mineração de dados.</p><p>O erro quadrático médio (EQM) é calculado tomando os quadrados das diferenças entre</p><p>os valores reais e as previsões, somando-as e dividindo pelo número de observações. O</p><p>EQM é grande e, às vezes, a raiz quadrada deste valor é usada, que é a raiz do erro</p><p>quadrático médio (REQM).</p><p>O erro logarítmico médio quadrático (ELMQ) introduz logaritmos na equação adicionando</p><p>um ao valor real e à previsão antes de tomar os logaritmos, depois elevar ao quadrado as</p><p>diferenças, somá-las e dividir pelo número de observações. O ELMQ tem a propriedade</p><p>de ter um custo menor para previsões que estão acima do valor real do que para aquelas</p><p>que estão abaixo dele.</p><p>Avaliando o desempenho do modelo para modelos de classificação</p><p>Os modelos de classificação são usados para prever em qual classe um grupo de</p><p>recursos se enquadrará. Ao considerar um modelo de classificação, você pode começar a</p><p>se perguntar o quão preciso é o modelo. Mas como você avalia a precisão? Você precisa</p><p>criar um modelo de classificação antes de começar a avaliá-lo.</p><p>Como você já deve ter aprendido, avaliamos um modelo com base em seu desempenho</p><p>em um conjunto de teste. Um conjunto de teste terá seus rótulos, que chamamos de</p><p>verdade fundamental, e, usando o modelo, também geramos previsões para o conjunto de</p><p>teste. A avaliação do desempenho do modelo envolve a comparação da verdade</p><p>fundamental com as previsões. Vamos ver isso em ação com um conjunto de teste fictício:</p><p>Exemplos de teste Valores reais Valores Previstos Avaliação</p><p>Exemplo 1 Sim Sim Correto</p><p>Exemplo 2 Sim Não Incorreto</p><p>Exemplo 3 Sim Sim Correto</p><p>Exemplo 4 Não Não Correto</p><p>Exemplo 5 Sim Sim Correto</p><p>Exemplo 6 Não Sim Incorreto</p><p>Exemplo 7 Sim Não Incorreto</p><p>A tabela anterior mostra um conjunto de dados fictício com sete exemplos. A segunda</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>30</p><p>191</p><p>coluna é a verdade fundamental, que são os rótulos reais, e a terceira coluna contém os</p><p>resultados de nossas previsões. A partir dos dados, podemos ver que quatro foram</p><p>classificados corretamente e três foram classificados incorretamente.</p><p>Uma matriz de confusão gera a comparação resultante entre a previsão e a verdade</p><p>fundamental, conforme representado na tabela a seguir:</p><p>Valores reais↓ Previsto Sim Previsto Não</p><p>Sim Verdadeiro Positivo</p><p>(TP) = 3</p><p>Falso Negativo</p><p>(FN) = 2</p><p>Não Falso Positivo</p><p>(FP) = 1</p><p>Verdadeiro negativo</p><p>(TN) = 1</p><p>Figura 9 - Matriz de confusão</p><p>Como você pode ver na tabela, existem cinco exemplos cujos rótulos (verdade</p><p>fundamental) são Sim e o dois exemplos que têm os rótulos Não.</p><p>A primeira linha da matriz de confusão é a avaliação do rótulo Sim. O verdadeiro positivo</p><p>(TP) mostra aqueles exemplos cuja verdade fundamental e previsões são Sim (exemplos</p><p>1, 3 e 5). O falso negativo mostra aqueles exemplos cuja verdade fundamental é Sim e</p><p>que foram erroneamente previstos como Não (exemplos 2 e 7).</p><p>Da mesma forma, a segunda linha da matriz de confusão avalia o desempenho do rótulo</p><p>“Não”. Falsos positivos são aqueles exemplos cuja verdade fundamental é “Não” e que</p><p>foram erroneamente classificados como Sim (exemplo 6). Os verdadeiros exemplos</p><p>negativos são aqueles cuja verdade fundamental e previsões são Não (exemplo 4).</p><p>Um exemplo bem-humorado da matriz de confusão pode ser visto na figura a seguir,</p><p>perceba que neste exemplo e nos próximos esquemas o valor negativo fica no canto</p><p>esquerdo, enquanto o valor positivo fica do lado direito.</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>31</p><p>191</p><p>Figura 10 - Matriz de confusão</p><p>A geração de uma matriz de confusão é usada para calcular muitas das matrizes, como a</p><p>acurácia e o relatório de classificação (composto pelos indicadores de precisão, recall e</p><p>F1-score). Vamos trabalhar a definição destes indicadores a seguir.</p><p>Acurácia</p><p>Acurácia é a métrica mais simples, ela representa o número de previsões corretas do</p><p>modelo. É uma ótima métrica para se utilizar quando os dados estão balanceados, vai dar</p><p>uma visão geral do quanto o modelo está identificando as classes corretamente. Porém,</p><p>não devemos utilizar a acurácia, quando temos classes desbalanceadas, pode causar</p><p>uma falsa impressão de estamos obtendo um bom desempenho.</p><p>Por exemplo: considere um estudo em que apenas 5% da população apresenta uma</p><p>determinada doença. Logo, temos um conjunto de dados desbalanceado. Se o modelo</p><p>escolhido conseguir classificar corretamente todas as pessoas que não têm a doença e</p><p>errar a classificação de todos os doentes, teremos uma acurácia de 95%, dando uma falsa</p><p>impressão de que o modelo treinado tem uma ótima previsão. Porém, o modelo não</p><p>consegue classificar corretamente a classe de interesse. A figura abaixo apresenta a</p><p>fórmula para o cálculo da acurácia.</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>32</p><p>191</p><p>Valor Preditivo Negativo</p><p>Valor Preditivo Negativo (VPN) é a métrica que traz a informação da quantidade de</p><p>observações classificadas como negativa (0) que realmente são negativas. Ou seja, entre</p><p>todas as observações prevista como negativa (0), quantas foram identificadas</p><p>corretamente. Por exemplo: entre os pacientes classificados como não doentes, quantos</p><p>foram identificados corretamente.</p><p>Precisão (Precision)</p><p>Precision ou precisão, também conhecida como Valor Preditivo Positivo (VPP), é a métrica</p><p>que traz a informação da quantidade de observações classificadas como positiva (1) que</p><p>realmente são positivas. Ou seja, entre todas as observações identificadas como positivas</p><p>(1), quantas foram identificadas corretamente. Por exemplo: entre os pacientes</p><p>classificados como doentes, quantos foram identificados corretamente. A tabela abaixo</p><p>apresenta a fórmula utilizada no cálculo da previsão.</p><p>Thiago Rodrigues Cavalcanti, Equipe Informática e TI</p><p>Aula 05</p><p>Concursos da Área Fiscal Especialidade TI - Ciência de Dados</p><p>www.estrategiaconcursos.com.br</p><p>39471799600 - Naldira Luiza Vieria</p><p>33</p><p>191</p><p>Recall (Sensibilidade)</p><p>Recall ou Sensibilidade é a proporção dos Verdadeiros Positivos entre todas as</p><p>observações que realmente são positivas no seu conjunto de dados. Ou seja, entre todas</p><p>as observações que são positivas quantas o modelo conseguiu identificar como positiva.</p><p>Representa a capacidade de um modelo em prever a classe positiva. Por exemplo: dentre</p><p>todos os pacientes doentes, quantos pacientes o modelo conseguiu identificar</p><p>corretamente.</p><p>Especificidade</p><p>Especificidade é a proporção dos Verdadeiros Negativos entre todas as observações que</p><p>realmente são negativas no seu conjunto de dados. Ou seja, entre todas as observações</p><p>que são negativas, quantas o modelo conseguiu prever como negativa. Representa a</p><p>capacidade de um modelo em prever a classe negativa. Por exemplo: dentre todos os</p><p>pacientes não doentes,</p>