Vimos que no algoritmo do vizinho mais próximo x é necessário fixar o valor do número k com antecedência, e que escolhas diferentes levam a conclusões diferentes. Como sabemos qual valor escolher? Esta pergunta segue todos os outros algoritmos de aprendizagem automática em que aparecem alguns valores que precisamos de definir antecipadamente. Tais valores são chamados de hiperparâmetros ou metaparâmetros .

Mencionamos que, ao dividir um conjunto de dados, sempre destacamos um conjunto de treinamento, um conjunto de testes e um conjunto de validação. Não usamos o conjunto de validação até agora. Na verdade, precisamos dele sempre que há alguns hiperparâmetros no nosso algoritmo de aprendizagem cujo melhor valor precisamos determinar. A história que vamos partilhar aplica-se a todos os algoritmos, mas vamos continuar a usar o algoritmo do vizinho k-mais próximo.

Vamos voltar à questão de como escolher o melhor valor do hiperparâmetro k. É natural pensar: vamos tentar vários valores, por exemplo, todos os números de 1 a 10, e então vamos escolher o melhor valor! Vamos fazer isso, mas vamos ter muito cuidado sobre onde tentamos o quão boa é a nossa escolha. Se fizermos isso num conjunto de testes, estaremos quebrando a regra de ouro da aprendizagem automática sobre a separação estrita entre o conjunto de testes e o desenvolvimento do modelo: usaremos o conjunto de testes para decidir qual é o melhor valor do hiperparâmetro k e, então, quando treinarmos o modelo, usaremos novamente o conjunto de testes para avaliar o quão bom ele é! Você concordará que não faz muito sentido!

É correto fazer o seguinte: testaremos quais valores de hiperparâmetros são melhores no conjunto de validação. Este conjunto não partilha informação nem com o conjunto de treino nem com o conjunto de testes, pelo que contribuirá para a objetividade das nossas conclusões. Agora que estabelecemos isso, podemos começar a trabalhar determinando o melhor valor do hiperparâmetro k.

Para cada um dos valores do hiperparâmetro k que queremos testar, treinaremos separadamente o modelo no conjunto de treinamento e calcularemos sua medida de qualidade no conjunto de validação. Neste caso, é preciso. Os valores obtidos podem ser exibidos graficamente colocando diferentes valores do parâmetro k ao longo do eixo x e valores de precisão ao longo do eixo y. O valor do hiperparâmetro k para o qual obtemos o melhor valor da medida de qualidade no conjunto de validação é o valor do hiperparâmetro que estamos procurando. Isso geralmente é visto no gráfico como a região onde os valores são mais altos.

Demonstrar a precisão do modelo no conjunto de validação

Com base no gráfico anterior, podemos ver que os valores ótimos do hiperparâmetro k são, na verdade, 9, 10, 11, 12 e 13, porque todos eles resultam na mesma e mais alta precisão do modelo.

Gráficos semelhantes podem ser desenhados para valores de hiperparâmetros e funções de erro. Em seguida, definimos valores diferentes do hiperparâmetro ao longo do eixo x e os valores da função de erro ao longo do eixo y. Agora é importante observar os valores do hiperparâmetro para o qual a função de erro é menor.

Quando vários hiperparâmetros estão presentes em um algoritmo de aprendizagem, o objetivo é encontrar a melhor combinação de hiperparâmetros. Também o determinamos com base no conjunto de validação, rastreando o sucesso do modelo e procurando a combinação que dá o melhor valor da medida de qualidade (ou, igualmente, rastreando o erro do modelo e procurando a combinação que dá o menor valor de erro). O problema é que este processo pode ser bastante lento e computacionalmente exigente para um grande número de hiperparâmetros: por exemplo, se quisermos examinar 10 valores diferentes de k e 3 funções de distância diferentes, na verdade temos 10 x 3 = 30 combinações diferentes, então temos que treinar e avaliar 30 modelos diferentes.

Last modified: Saturday, 21 June 2025, 6:43 PM