Experimento de classificação
Uma escada de baselines, do trivial ao híbrido.
O classificador de atestados não foi apenas ajustado até parecer bom: foi comparado com alternativas explícitas, do classificador trivial ao híbrido, todas sob o mesmo protocolo de seleção e a mesma medição final.
O classificador vive em um serviço próprio e foi estruturado com fine-tuning seletivo e uma comparação reproduzível entre abordagens. A partição é estratificada, gerada por script com semente fixa e versionada: 297 documentos para treino, 64 para validação e 64 para teste final; o conjunto de teste não participou nem do early stopping nem da escolha de hiperparâmetros.
A comparação foi montada como uma escada de baselines, do trivial ao híbrido. Cada candidato teve seus hiperparâmetros escolhidos por busca em grade com validação cruzada estratificada de cinco dobras dentro do treino, otimizando F1 da classe minoritária — atestado representa 31% da base. Nenhuma imagem de teste participou da busca; ela só foi usada na medição final. O piso é dado por um classificador que sempre responde a classe majoritária: 68,8% de accuracy com F1 zero, o que já mostra que accuracy isolada não descreve este problema.
| Abordagem | Accuracy | Precisão | Recall | F1 |
|---|---|---|---|---|
| Classe majoritária (piso) | 0,688 | 0,000 | 0,000 | 0,000 |
| HOG + SVM linear | 0,750 | 0,583 | 0,700 | 0,636 |
| HOG + SVM RBF | 0,797 | 0,733 | 0,550 | 0,629 |
| EfficientNet, cabeça original | 0,766 | 0,609 | 0,700 | 0,651 |
| Embeddings + Regressão Logística | 0,875 | 0,875 | 0,700 | 0,778 |
O experimento evitou uma conclusão superficial em duas direções. HOG + SVM, uma abordagem inteiramente clássica, chegou a F1 0,636 — melhor que o piso, mas abaixo da cabeça original da rede (0,651): bordas e layout não bastam para separar os documentos. E o ganho da alternativa vencedora não veio de trocar a rede por um método clássico, e sim de recombiná-los: a EfficientNet fornece os embeddings de 1.280 dimensões e a Regressão Logística faz a decisão final. O OCR continua como camada de revisão por regras.
As duas cabeças recuperam a mesma quantidade de atestados, 14 dos 20 do teste; o que muda é o custo dessa recuperação, de 9 falsos positivos para 2. E a melhora não é apenas escolha de limiar: a ordenação dos documentos por probabilidade também ficou melhor, com ROC AUC de 0,814 para 0,892 e PR AUC de 0,697 para 0,823.
Com 64 documentos de teste, diferenças pequenas de F1 não sustentam ranking. Entre os três classificadores sobre embeddings, a validação cruzada ficou dentro de 0,004 (0,904 a 0,908) e a ordem observada no teste não é significativa; nos baselines HOG, o melhor em validação cruzada nem foi o melhor no teste. A validação cruzada dos embeddings também não é comparável de igual para igual com a do HOG: o backbone foi ajustado nessas mesmas imagens de treino, então seu número interno é otimista por construção. A comparação justa entre as duas famílias é a do teste, onde nenhuma delas tinha visto os documentos.