Aula Soluções
Esta lista revisita, de forma integrada, quatro modelos e procedimentos de Aprendizado Supervisionado já vistos anteriormente no curso — decisão bayesiana com densidade Beta, Naive Bayes, árvores de decisão e validação cruzada/Bootstrap — todos aplicados ao dataset Pima Indians Diabetes (atributos fisiológicos de pacientes, alvo binário diabético/não-diabético, prevalência real de diabetes de aproximadamente \(35{,}1\%\)). Cada questão é autocontida: todo número, fórmula ou resultado necessário para respondê-la está no próprio enunciado.
Questões discursivas
Um cenário anterior deste curso usou prioris sintéticas fortemente desbalanceadas de \(95\%/5\%\) sobre uma variável com distribuição Beta em \([0,1]\); no Pima Indians Diabetes, as prioris reais são de aproximadamente \(65\%/35\%\). Explique, usando a equação da densidade conjunta \(p(x,\mathcal{C}_k)=p(x\mid\mathcal{C}_k)\,\pi_k\), por que o deslocamento do corte ótimo (o ponto em que a conjunta \(\pi_A p(x\mid\mathcal{C}_A) =
\pi_B p(x\mid\mathcal{C}_B)\) cruza) em relação ao cruzamento das condicionais (\(p(x\mid\mathcal{C}_A)=p(x\mid\mathcal{C}_B)\), que ignora as prioris) é menor quando a assimetria de prioris é menor — e por que isso não contradiz o princípio geométrico de que prioris desiguais deslocam o corte ótimo na direção da classe mais frequente.
A suposição de independência condicional do Naive Bayes (fatorar \(p(\mathbf{x}\mid\mathcal{C}_k)\) como um produto de densidades por atributo) teve preço zero de acurácia quando aplicada aos atributos Glicose e IMC do Pima Indians Diabetes (baixa correlação intra-classe entre os dois), mas um preço de \(2\) pontos percentuais de acurácia quando aplicada a um par de atributos correlacionados do dataset Breast Cancer Wisconsin. Explique por que o preço dessa suposição não é uma propriedade fixa do método Naive Bayes, relacionando sua resposta à correlação intra-classe medida em cada caso.
Uma árvore de decisão foi ajustada ao Pima Indians Diabetes. Um único split de treino/teste desse ajuste deu acurácia de teste de \(75{,}2\%\), enquanto uma validação cruzada de \(5\) folds sobre o mesmo procedimento de ajuste (reajustando a árvore em cada fold) produziu uma acurácia média de \(71{,}3\%\). Discuta por que essa diferença não é evidência de erro em nenhuma das duas medidas, e proponha um experimento (com dados novos ou reamostrados) que ajudaria a decidir se \(75{,}2\%\) é um valor tipicamente otimista para este procedimento de ajuste.
Questões de Verdadeiro/Falso
Cada bloco de 4 itens trata do mesmo tema. A questão só é considerada correta se todos os 4 itens forem julgados corretamente (deixar em branco tem penalidade de 20% da nota da questão).
Considere o dataset Pima Indians Diabetes, com prevalência real de diabetes de aproximadamente \(35{,}1\%\) (prioris \(\pi_{\text{diab}}\approx
0{,}351\), \(\pi_{\text{não-diab}}\approx 0{,}649\) — razão de prioris \(\approx 1{,}86\) para \(1\)). Contraste com um cenário anterior deste curso que usou prioris sintéticas fortemente desbalanceadas de \(95\%/5\%\) (razão de \(19\) para \(1\)) sobre uma variável de escore em \([0,1]\) modelada por uma distribuição Beta.
□ Se a prevalência real de diabetes nesta população fosse de \(0{,}1\%\) em vez de \(35{,}1\%\), o cruzamento das conjuntas (o ponto em que \(\pi_A p(x\mid\mathcal{C}_A) = \pi_B p(x\mid\mathcal{C}_B)\)) se deslocaria ainda mais em direção à cauda da distribuição dos diabéticos, tornando o corte ótimo mais extremo do que o observado com \(35{,}1\%\).
□ Como o cenário sintético mencionado acima usou uma razão de prioris de \(19\) para \(1\) e o Pima Indians Diabetes tem uma razão de aproximadamente \(1{,}86\) para \(1\), conclui-se que o cruzamento das conjuntas no Pima está estruturalmente mais próximo do cruzamento das condicionais do que estava naquele cenário de \(19\) para \(1\).
□ Num problema de detecção de fraude em que apenas \(0{,}5\%\) das transações são fraudulentas, o mesmo argumento do cruzamento de conjuntas (em vez de condicionais) se aplica, mesmo que a variável observada não seja glicose nem tenha suporte em \([0,1]\).
□ Já que a Beta ajustada à classe diabética tem parâmetros \(a=3{,}18,\ b=1{,}78\), diferentes dos parâmetros \(a=3{,}49,\ b=4{,}50\) da Beta ajustada à classe não-diabética, isso por si só garante que as duas curvas nunca se cruzam mais de uma vez no intervalo \([0,1]\).
Lembrando: a distribuição \(\text{Beta}(x\mid a,b)\) tem densidade \(\propto x^{a-1}(1-x)^{b-1}\) em \([0,1]\); o MLE de \(a,b\) não tem forma fechada simples e é obtido numericamente (por exemplo, via scipy.stats.beta.fit), usando as estatísticas suficientes \(\sum\ln x_n\) e \(\sum\ln(1-x_n)\) — diferentes da média e variância amostrais usadas no método de momentos.
□ No limite em que \(a=b=1\), a distribuição Beta se reduz à uniforme em \([0,1]\), e o ajuste por máxima verossimilhança deixaria de conseguir distinguir as duas classes por qualquer diferença de forma.
□ Se, em vez de ajustar uma Beta por máxima verossimilhança, alguém decidisse usar a média e o desvio-padrão amostrais para “adivinhar” \(a\) e \(b\) por um método de momentos, o resultado coincidiria exatamente com o obtido por scipy.stats.beta.fit, porque ambos otimizam a mesma função.
□ Na calibração de um classificador (a probabilidade que o modelo atribui à classe prevista, sempre em \([0,1]\)), o mesmo ajuste de Beta por classe (acertos vs. erros do classificador) se aplicaria naturalmente, sem exigir Gaussiana ou outra família com suporte ilimitado.
□ Como a Beta ajustada à classe não-diabética tem \(b_0=4{,}50 >
a_0=3{,}49\), conclui-se que essa distribuição é necessariamente simétrica em torno de \(0{,}5\).
Fixando “não-diabético” como hipótese nula: erro Tipo I (alarme falso) é declarar diabético quando a verdade é não-diabético; erro Tipo II (escape) é declarar não-diabético quando a verdade é diabético.
□ No limite em que o custo de um escape (diabético não identificado) tende a infinito relativamente ao custo de um alarme falso, o limiar de decisão ótimo se deslocaria para a esquerda, classificando cada vez mais pacientes como diabéticos até declarar quase todos positivos.
□ Se um exame de triagem fosse ajustado para ter exatamente zero alarmes falsos, isso garantiria automaticamente que ele também tem poucos escapes, já que os dois tipos de erro tendem a se mover na mesma direção quando o limiar muda.
□ Num sistema de moderação de conteúdo automatizado que decide entre “remover” e “manter” uma postagem, a mesma lógica de troca entre Erro Tipo I (remover conteúdo legítimo) e Erro Tipo II (manter conteúdo problemático) se aplica, com custos claramente diferentes conforme o contexto da plataforma.
□ Suponha que, no Pima Indians Diabetes, cortar pela densidade conjunta (que pondera pelas prioris) em vez das condicionais (que as ignora) reduza o número total de erros. Ainda assim, conclui-se que esse é o corte certo independentemente de qualquer consideração sobre o custo relativo de alarmes falsos e escapes.
□ Se, em vez de dois atributos com baixa correlação intra-classe como Glicose e IMC, fossem usados dois atributos definidos de forma redundante (por exemplo, “IMC em kg/m²” e “IMC em unidades arbitrárias que são o dobro do IMC em kg/m²”), a correlação intra-classe entre eles seria próxima de \(1\), e a suposição de independência do Naive Bayes pagaria um preço bem maior do que quando aplicada a atributos pouco correlacionados.
□ Como o Naive Bayes produziu exatamente a mesma acurácia que a Gaussiana de covariância plena ao usar Glicose e IMC do Pima Indians Diabetes, conclui-se que, para qualquer par de atributos deste dataset, a suposição de independência condicional nunca custaria nada.
□ Num modelo de triagem de spam que assume independência condicional entre a presença das palavras “grátis” e “promoção” dado o rótulo (spam/não-spam), o preço dessa suposição dependeria de quão correlacionadas essas duas palavras realmente são dentro de cada classe — a mesma lógica de custo variável descrita acima, fora do domínio médico.
□ Se duas variáveis fossem independentes tanto na classe A quanto na classe B, mas com médias diferentes entre as classes, a Gaussiana de covariância diagonal (Naive Bayes) ainda poderia separar as duas classes razoavelmente bem, sem qualquer prejuízo vindo da suposição de independência.
Para um espaço de ações \(\mathcal{A}\) e uma matriz de perda \(L(k,a)\) (custo de tomar a ação \(a\) quando a verdade é a classe \(\mathcal{C}_k\)), o risco posterior de uma ação em \(x\) é \(\rho(a\mid x)=\sum_k L(k,a)\,p(\mathcal{C}_k
\mid x)\), e a regra de Bayes minimiza esse risco. O risco de Bayes \(R^\star=\mathbb{E}_X[\min_a \rho(a\mid X)]\) é o menor risco esperado possível, dado o modelo verdadeiro.
□ Se a matriz de perdas \(L(k,a)\) atribuísse custo zero a todo acerto e custo idêntico a qualquer tipo de erro (Tipo I ou Tipo II), o limiar de decisão que minimiza o risco posterior \(\rho(a\mid x)\) coincidiria com o limiar de \(0{,}5\) de probabilidade posterior.
□ Num cenário em que o custo de um escape é dez vezes o custo de um alarme falso, o limiar ótimo de probabilidade posterior para declarar “diabético” seria maior do que \(0{,}5\), tornando mais difícil, não mais fácil, declarar a classe rara.
□ Numa seguradora que decide entre “aceitar apólice” e “recusar apólice” com custos assimétricos entre aceitar um mau pagador e recusar um bom pagador, a mesma estrutura de risco posterior \(\rho(a\mid
x)=\sum_k L(k,a)p(\mathcal{C}_k\mid x)\) se aplica, com a mesma lógica de deslocamento de limiar por assimetria de custo.
□ Como o risco de Bayes \(R^\star\) é definido como o valor esperado do risco posterior mínimo sobre a distribuição de \(X\), ele é sempre estritamente positivo, mesmo quando as classes não se sobrepõem em nenhum ponto do espaço de atributos.
□ Se um modelo generativo (como o Naive Bayes Gaussiano) estimar \(p(\mathbf{x}\mid\mathcal{C}_k)\) e \(\pi_k\) corretamente para cada classe, ele automaticamente também é capaz de gerar novos exemplos sintéticos plausíveis de cada classe, amostrando dessas densidades — capacidade que um classificador puramente discriminativo, que só estima \(p(\mathcal{C}_k\mid\mathbf{x})\) diretamente, não tem por construção.
□ Como o Naive Bayes é um modelo generativo, ele necessariamente tem acurácia de classificação igual ou maior do que qualquer modelo discriminativo treinado com os mesmos dados.
□ Num cenário de poucos dados de treino, a estrutura extra imposta por um modelo generativo (como a fatoração de independência do Naive Bayes) pode compensar a falta de dados o suficiente para superar um modelo discriminativo mais flexível mas sem essa estrutura — o mesmo tipo de troca entre “menos flexibilidade, mais parcimônia” e “mais flexibilidade, mais variância” que aparece, por exemplo, ao comparar uma árvore de decisão rasa (poucos splits) com uma árvore bem mais profunda.
□ Se duas classes tiverem exatamente a mesma densidade condicional \(p(\mathbf{x}\mid\mathcal{C}_k)\), mas prioris diferentes, um modelo generativo ainda conseguiria, em princípio, produzir uma fronteira de decisão não trivial entre elas, baseada só na diferença de prioris.
Para uma folha \(\tau\) de uma árvore de classificação com proporção empírica de classes \(\hat p_\tau\) e entropia \(H(\hat p_\tau)=-\sum_k \hat p_{\tau
k}\ln \hat p_{\tau k}\), a log-verossimilhança categórica dos \(N_\tau\) pontos daquela folha é \(\ell_\tau(\hat p_\tau) = -N_\tau H(\hat p_\tau)\) — maximizar essa log-verossimilhança é algebricamente idêntico a minimizar a entropia da folha.
□ Se todas as folhas de uma árvore de classificação tivessem exatamente \(\hat p_{\tau k}=1\) para alguma classe \(k\) e \(0\) para as demais (pureza total), a entropia de cada folha seria zero e a log-verossimilhança do modelo, avaliada nos próprios dados de treino, seria a maior possível (\(0\), já que \(\ln 1=0\)).
□ Como reduzir entropia é equivalente a maximizar a log-verossimilhança categórica (\(\ell_\tau(\hat p_\tau)=-N_\tau H(\hat p_\tau)\)), qualquer split que reduza a entropia ponderada também reduz necessariamente o erro bruto de classificação (proporção de pontos mal classificados pela regra da classe majoritária).
□ Num modelo de regressão logística ajustado por máxima verossimilhança (uma verossimilhança de Bernoulli condicionada linearmente nos atributos, não a categórica de uma folha de árvore), a mesma lógica de “ajustar parâmetros para maximizar a probabilidade dos dados observados” se aplicaria, ainda que a forma funcional da verossimilhança seja diferente.
□ Se duas folhas tivessem o mesmo número de pontos \(N_\tau\) e a mesma proporção majoritária \(\hat p_{\tau,\text{maj}}\), elas teriam necessariamente a mesma entropia e o mesmo índice de Gini, independentemente de qualquer outra diferença entre elas.
□ Se dois atributos só forem informativos em combinação (por exemplo, “Glicose alta E IMC alto” prediz diabetes, mas nenhum dos dois isoladamente prediz bem), um algoritmo guloso de árvore — que escolhe a cada passo o corte de maior redução de impureza olhando uma variável de cada vez — pode demorar mais splits, ou nunca, para capturar essa interação, comparado a um cenário em que cada atributo já é informativo isoladamente.
□ Suponha que uma árvore de decisão treinada numa base de pacientes encontrou, na raiz, um split com ganho de informação positivo. Isso garante que esse mesmo split apareceria na raiz de qualquer árvore treinada com um subconjunto diferente, mas ainda representativo, dos mesmos pacientes.
□ Num algoritmo de busca de rotas que escolhe, a cada cruzamento, a rua que parece mais rápida sem simular o trajeto completo até o destino, a mesma limitação de miopia gulosa das árvores de decisão se aplica — a melhor escolha local não garante a melhor rota global.
□ Se a árvore permitisse profundidade ilimitada (uma folha por paciente), a miopia gulosa deixaria de ser um problema, porque toda combinação de atributos relevante acabaria sendo capturada em algum nível suficientemente profundo da árvore.
□ Se a fronteira de decisão verdadeira entre duas classes fosse exatamente uma reta na diagonal do espaço de atributos (não paralela a nenhum eixo), uma árvore de decisão (que só corta perpendicularmente aos eixos) precisaria, em geral, de mais splits para aproximá-la do que uma Gaussiana com covariância plena adequadamente ajustada.
□ Suponha que uma árvore de decisão e uma Gaussiana de covariância plena sejam ajustadas exatamente aos mesmos dois atributos de um dataset (por exemplo, Glicose e IMC). Como os dois modelos usam exatamente as mesmas variáveis de entrada, suas fronteiras de decisão são necessariamente muito parecidas visualmente, independentemente da forma funcional de cada modelo.
□ Num problema de visão computacional em que a fronteira de decisão relevante depende de uma combinação linear de pixels vizinhos (não alinhada aos eixos originais da imagem), a mesma limitação estrutural das árvores axis-aligned se aplicaria, favorecendo modelos capazes de fronteiras oblíquas.
□ Se um conjunto de dados tiver uma fronteira de decisão verdadeiramente alinhada aos eixos (por exemplo, “diabético se, e somente se, Glicose \(>140\)”), a árvore de decisão deveria, em geral, precisar de menos splits para representá-la do que uma Gaussiana de covariância plena precisaria de parâmetros ajustados para aproximá-la bem.
□ Se uma árvore de decisão ajustada a um dataset de diagnóstico médico tivesse sido avaliada apenas nos dados de treino usados para ajustá-la, e essa acurácia de treino fosse de \(77{,}4\%\), esse número seria uma estimativa otimista do desempenho esperado em pacientes novos, mesmo sem qualquer intenção de enganar.
□ Suponha que essa mesma árvore, avaliada num conjunto de teste separado, tenha acurácia de \(75{,}2\%\) — um gap de \(2{,}2\) pontos percentuais abaixo da acurácia de treino (\(77{,}4\%\)). Esse gap garante, por si só, que o modelo está sofrendo de overfitting severo, no mesmo grau que uma árvore deliberadamente sobreajustada (por exemplo, uma árvore sem limite de profundidade, ajustada até memorizar \(100\%\) do conjunto de treino).
□ Num sistema de aprovação de crédito treinado com dados históricos e nunca reavaliado com clientes novos, o mesmo viés otimista do erro de treino se aplicaria à métrica interna de acurácia usada pela equipe de desenvolvimento.
□ Se um modelo tivesse acurácia de treino e de teste exatamente iguais, isso provaria que o modelo generaliza perfeitamente para qualquer paciente futuro, não só para os presentes no conjunto de teste usado.
Considere duas formas de aplicar o Bootstrap à árvore de decisão ajustada ao Pima Indians Diabetes, cuja acurácia num conjunto de teste fixo é \(75{,}2\%\): (i) reamostrar com reposição as previsões já feitas nesse teste fixo, sem retreinar nada, o que produziu um intervalo de confiança de \([69{,}0\%,81{,}0\%]\); (ii) reamostrar com reposição o conjunto de treino e reajustar a árvore em cada reamostra, medindo a acurácia sempre no mesmo teste fixo, o que produziu um intervalo de \([69{,}2\%,77{,}9\%]\).
□ Se o objetivo fosse responder “quão confiável é a acurácia de \(75{,}2\%\) medida no meu conjunto de teste fixo, sem retreinar nada”, a técnica correta seria a aplicação (i) — reamostrar as previsões do teste com reposição —, não a aplicação (ii).
□ Como as duas aplicações do Bootstrap descritas acima produziram intervalos de confiança parcialmente sobrepostos, conclui-se que elas estão, na prática, respondendo à mesma pergunta estatística.
□ Numa pesquisa médica que quer saber não só “qual é a acurácia deste modelo específico” mas “quão instável é o processo de treinar este tipo de modelo nesta população”, a aplicação (ii) — reamostrar e reajustar o conjunto de treino — é a técnica mais adequada, não a aplicação (i).
□ Se o intervalo de confiança do Bootstrap para uma estatística for muito largo, isso significa necessariamente que o código do Bootstrap tem um erro de implementação, já que reamostragem com reposição deveria sempre produzir intervalos estreitos.
□ No limite em que a normalização de atributos (subtrair a média, dividir pelo desvio-padrão) for calculada usando a amostra inteira antes do split de validação cruzada, em vez de dentro de cada fold, a estimativa de erro produzida se aproxima da estimativa otimista do erro de treino, mesmo que nenhum rótulo seja usado diretamente nesse cálculo.
□ Um experimento clássico de vazamento de dados (descrito no livro Elements of Statistical Learning) usa rótulos artificialmente aleatórios — atribuídos sem qualquer relação real com os atributos — só para tornar o efeito de vazamento visível com clareza didática, já que qualquer “sinal” detectado nesse cenário é necessariamente um artefato do vazamento. Conclui-se que esse tipo de vazamento não ocorre em datasets reais, onde o rótulo tem relação genuína com os atributos.
□ Numa competição de previsão de preços de imóveis em que os participantes normalizam os atributos usando toda a base disponível antes de fazer sua própria validação cruzada interna, o mesmo mecanismo de vazamento de informação se aplica, mesmo fora do domínio médico.
□ Reportar somente a média da acurácia de validação cruzada, sem o desvio-padrão, produz um número tecnicamente correto (a média está certa), então essa prática não constitui um problema de honestidade estatística — é apenas uma escolha de estilo de relatório, sem custo prático.