O que há em um nome: hiperparâmetros

19

Portanto, em uma distribuição normal, temos dois parâmetros: média e variância . No livro Reconhecimento de Padrões e Aprendizado de Máquina , aparece subitamente um hiperparâmetro nos termos de regularização da função de erro.μσ2λ

O que são hiperparâmetros? Por que eles são nomeados como tal? E como eles são intuitivamente diferentes dos parâmetros em geral?

cgo
fonte
3
Pessoalmente, acho que é uma epidemia de pessoas que ficam hiper. Hyper isso, hiper aquilo. Hypersphere - é uma esfera, d @ manit, para de ficar tão hiper só porque a dimensão excede 3. Hyperparameter - é um parâmetro, d @ mnit, para de ficar hiper só porque você tem vários deles e, de alguma forma, parece achar que precisa indicar nível hierárquico ou algo assim. De qualquer forma, se você tiver um problema de otimização, explique claramente quais parâmetros estão sendo otimizados e quaisquer restrições (se for otimização em vários níveis, explique isso). Espero não ter ficado muito entusiasmado neste comentário.
27716 Mark L. Stone
2
Eu sempre usei "hiperesfera" para significar "co-dimensionar uma esfera", então, pelo menos em matemática, parece significar alguma coisa. Ou pelo menos quando falo de matemática. Eu vou me acalmar agora.
Matthew Drury

Respostas:

18

O termo hiperparâmetro é bastante vago. Vou usá-lo para me referir a um parâmetro que está em um nível mais alto da hierarquia que os outros parâmetros. Por exemplo, considere um modelo de regressão com uma variação conhecida (1 neste caso)

yN(Xβ,Eu)

e depois uma prévia dos parâmetros, por exemplo

βN(0 0,λEu)

Aqui determina a distribuição de e determina a distribuição de . Quando quero apenas me referir a posso chamá-lo de parâmetro e, quando quero apenas me referir a , posso chamá-lo de hiperparâmetro.λββyβλ

A nomeação fica mais complicada quando os parâmetros aparecem em vários níveis ou quando existem mais níveis hierárquicos (e você não deseja usar o termo hiper-hiperparâmetros). É melhor que os autores especifiquem exatamente o que significam quando usam o termo hiperparâmetro ou parâmetro para esse assunto.

jaradniemi
fonte
Esta é uma boa explicação. Agora estou imaginando-o como uma "composição de funções-ish". Para traduzir o que você coloca em símbolos, é normalmente distribuído com médio , mas é, por sua vez, normalmente distribuído assim e assim. Obrigado, yXβbetuma
cgo
10

Um hiperparâmetro é simplesmente um parâmetro que afeta, total ou parcialmente, outros parâmetros. Eles não resolvem diretamente o problema de otimização que você enfrenta, mas otimizam os parâmetros que podem resolver o problema (daí o hiper , porque eles não fazem parte do problema de otimização, mas são "addons"). Pelo que vi, mas não tenho referência, essa relação é unidirecional (um hiperparâmetro não pode ser influenciado pelos parâmetros em que influencia, portanto também o hiper ). Eles geralmente são introduzidos em esquemas de regularização ou meta-otimização.

Por exemplo, seu parâmetro pode afetar livremente e para ajustar o custo de regularização (mas e não influenciam ). Assim, é um hiperparâmetro para e . Se você tivesse um parâmetro adicional influenciando , seria um hiperparâmetro para e um hiperparâmetro para e (mas nunca vi essa nomenclatura, mas não acho que seria errado) se eu vi).λμσμσλλμστλλμσ

Achei o conceito de hiperparâmetro muito útil para validação cruzada, porque ele lembra a hierarquia de parâmetros, além de lembrar que, se você ainda está modificando (hiper) parâmetros, ainda está validando cruzadamente e não generalizando, portanto, deve tenha cuidado com suas conclusões (para evitar o pensamento circular).

laborioso
fonte
7

As outras explicações são um pouco vagas; aqui está uma explicação mais concreta que deve esclarecer isso.

Hiperparâmetros são parâmetros apenas do modelo , não do processo físico que está sendo modelado. Você os apresenta "artificialmente" para fazer seu modelo "funcionar" na presença de dados finitos e / ou tempo finito de computação . Se você tivesse um poder infinito para medir ou computar qualquer coisa, os hiperparâmetros não existiriam mais no seu modelo, pois não descreveriam nenhum aspecto físico do sistema real.

Parâmetros regulares, por outro lado, são aqueles que descrevem o sistema físico e não estão apenas modelando artefatos.

Mehrdad
fonte
6

Não é um termo definido precisamente, por isso irei adiante e darei outra definição que parece ser consistente com o uso comum.

Um hiperparâmetro é uma quantidade estimada em um algoritmo de aprendizado de máquina que não participa da forma funcional da função preditiva final.

Deixe-me descontrair isso com um exemplo, regressão de cume. Na regressão de crista, resolvemos o seguinte problema de otimização:

β(λ)=argminβ((y-Xβ)t(y-Xβ)+λβtβ)
β=argminλ(y-Xβ(λ))t(y-Xβ(λ))

X,yX,y

f(X)=Xβ

λβλ

Matthew Drury
fonte
3

Conforme apontado com precisão por @jaradniemi, um uso do termo hiperparâmetro vem da modelagem hierárquica ou multinível, onde você tem uma cascata de modelos estatísticos, um construído sobre / sob os outros, usando geralmente declarações de probabilidade condicionais.

Mas a mesma terminologia surge em outros contextos com significados diferentes. Por exemplo, vi o termo hiperparâmetro ser usado para se referir aos parâmetros da simulação (duração, número de repetições independentes, número de partículas interagindo em cada replicação etc.) de um modelo estocástico, que não resultou de um nível multinível modelagem.

Marcelo Ventura
fonte
1
FWIW Normalmente, eu me referiria ao comprimento de execução, número de partículas interagindo etc. como parâmetros de ajuste.
precisa saber é o seguinte
Concordo. Para mim, parece uma escolha mais adequada do que os hiperparâmetros. No entanto, para outros, em outras áreas do conhecimento, ainda parecia bastante razoável.
Marcelo Ventura