Ao usar libsvm
, o parâmetro é um parâmetro para a função do kernel. Seu valor padrão é configurado como γ = 1
Existe alguma orientação teórica para configurar esse parâmetro além dos métodos existentes, por exemplo, pesquisa em grade?
fonte
Ao usar libsvm
, o parâmetro é um parâmetro para a função do kernel. Seu valor padrão é configurado como γ = 1
Existe alguma orientação teórica para configurar esse parâmetro além dos métodos existentes, por exemplo, pesquisa em grade?
Eu sugeriria a seguinte orientação teórica. Quando você estiver usando o kernel Gaussian RBF, sua superfície de separação será baseada em uma combinação de superfícies em forma de sino centralizadas em cada vetor de suporte. A largura de cada superfície em forma de sino será inversamente proporcional a . Se essa largura for menor que a distância mínima em pares para seus dados, você basicamente terá um ajuste excessivo. Se essa largura for maior que a distância máxima em pares para seus dados, todos os seus pontos se enquadram em uma classe e você também não tem bom desempenho. Portanto, a largura ideal deve estar em algum lugar entre esses dois extremos.
pair-wise distance for your data
= distância euclidiana simples após o dimensionamento?Não, é essencialmente dependente de dados. A pesquisa em grade (hiperparâmetros transformados em log) é um método muito bom se você tiver apenas um pequeno número de hiperparâmetros para ajustar, mas não faça a resolução da grade muito fina ou é provável que ajuste demais a sintonia critério. Para problemas com um número maior de parâmetros do kernel, acho que o método simplex Nelder-Mead funciona bem.
fonte