Parâmetro e Hiperparâmetro

30/03/2020
Parâmetro e Hiperparâmetro

Tanto algoritmos complexos como redes neurais quanto algoritmos mais simples como regressões lineares precisam de um certo direcionamento para que consigam fazer as descobertas. De uma forma rápida e simples, tudo que nós informamos para um modelo ou algoritmo antes dele começar o treino é um hiperparâmetro, e tudo que ele aprende/adapta com o treino é um parâmetro.

 

Para exemplificar na prática, podemos comparar uma árvore de decisão, um K-Means e uma rede neural (ambos serão abordados mais especificamente no futuro), três algoritmos famosos de aprendizado de máquina.

 

Quando vamos criar uma árvore de decisão, precisamos definir o seu tamanho máximo, por exemplo. Se a árvore for grande demais, ela pode ficar muito específica e não conseguir generalizar seu resultado, enquanto se ela for muito pequena corre o risco de ser imprecisa e generalizar até demais.

 

Para um K-Means, o número de centroids e a localização deles á um fator crucial para o sucesso do algoritmo. Em uma rede neural, o número de camadas, o número de neurônios e número de vezes que ela irá rever os dados influenciam diretamente nos resultados obtidos.

 

Vamos imaginar que queremos aprender a tocar violão. Os hiperparâmetros seriam por quantas horas iremos praticar e se teremos professor ou não; enquanto os parâmetros seriam os nossos músculos se adaptando aos movimentos. O que quero exemplificar é que, conforme alteramos as horas e a qualidade de como iremos aprender, o aprendizado e o que descobrimos pode mudar.

 

Se escolhemos um professor bom, podemos aprender mais rápido e com mais qualidade, enquanto o tempo ideal pode variar muito de pessoa para pessoa. Ou seja, dependendo dos hiper parâmetros podemos ter resultados melhores ou piores nas tarefas, em mais ou menos tempo, pois as máquinas adaptam seus parâmetros de formas diferentes.

 

Um ponto interessante a ser ressaltado é que, raramente sabemos quais os hiperparâmetros ideais para o nosso algoritmo, mesmo que eles sejam de crucial importância para o sucesso da operação, é uma etapa que envolve muita pesquisa e análise.

 

Existem ferramentas específicas para que os hiperparâmetros sejam encontrados de forma automática, além disso, pode-se procurar quais nos dão os melhores resultados na tentativa e erro, mesmo que demande de tempo. A questão é que esse tempo investimento geralmente dá retornos muito positivos. Por isso, encontrar os hiper parâmetros é uma das etapas mais importantes do processo de aprendizado de máquina.

 

Por Otávio Parraga, desenvolvedor do #TimeUbots.

 

Quer aprender a desenvolver um chatbot? Faça a sua inscrição em nosso curso 100% gratuito.

 

 

Cadastre-se e receba nossas notícias e atualizações.