As matrizes do kernel do RBF tendem a estar mal condicionadas?

10

Eu uso a função RBF do kernel para implementar um algoritmo de aprendizado de máquina baseado em kernel (KLPP), a matriz do kernel resultante mostra-se extremamente mal-condicionado.O número da condição da norma L2 vemK

K(i,j)=exp((xixj)2σm2)
10171064

Existe alguma maneira de torná-lo bem condicionado? Eu acho que o parâmetro precisa ser ajustado, mas não sei exatamente.σ

Obrigado!

ZeyuHu
fonte
11
bem, se você melhorará o número da condição. σm
precisa saber é o seguinte

Respostas:

11

Reduzir a largura do kernel geralmente reduz o número da condição.σm

No entanto, as matrizes do kernel podem se tornar singulares, ou quase singulares, para qualquer função básica ou distribuição de pontos, desde que as funções básicas se sobreponham. A razão para isso é realmente bastante simples:

  • A matriz do kernel é singular quando seu determinante é zero.Kdet(K)
  • Trocar dois pontos e na sua interpolação é equivalente a trocar duas linhas em , assumindo que seus pontos de teste permaneçam constantes.xixjK
  • Trocar duas linhas em uma matriz alterna o sinal de seu determinante.

Agora imagine escolher dois pontos e e -los lentamente para que eles mudem de lugar. Enquanto isso, o determinante de trocará de sinal, tornando-se zero em algum ponto intermediário. Nesse ponto, é, por definição, singular.xixjKK

Pedro
fonte
As matrizes K não são simétricas - trocar dois pontos troca linhas e colunas?
Denis13
@ Denis Esse é apenas o caso se seus nós e pontos de teste forem os mesmos e você mover os dois. É por isso que, na segunda bala, escrevi "assumindo que seus pontos de teste permanecem constantes".
Pedro Pedro
a matriz do kernel dos gaussianos (a pergunta do OP) é ​​semidefinida positiva de qualquer maneira?
Denis
@ Denis: Novamente, esta é uma questão de como você define seu problema de interpolação RBF. Considere o caso mais geral, onde você tem RBFs centrada nos pontos , , e que pretende minimizar a interpolação nos pontos , . O exemplo do pôster assume e . Se inicialmente configuramos e e depois movemos o , podemos gerar trivialmente singular . Nxii=1NMξjj=1MM=Nξj=xiMNξjxixiK
Pedro
3

Algumas sugestões:

  1. Escolha a distância média | aleatório - mais próximo . (Uma aproximação barata para pontos distribuídos uniformemente no cubo da unidade em é 0,5 / .) Queremos ser grande para próximo a , pequeno para ruído de fundo; traçar isso por alguns aleatórios .σxxiNRd,d 2..5N1/d
    ϕ(|xxi|)xixx

  2. Desloque longe de 0, , ou mais; isto é, regularize.KKK+λIλ106

  3. Observe os pesos da solução . Se alguns ainda são enormes (independentemente do número da condição), isso tenderia a confirmar Boyd (abaixo) que a RBF gaussiana é fundamentalmente fraca.(K+λI)w=f

(Uma alternativa ao RBF é a ponderação por distância inversa, IDW. Ela tem a vantagem do dimensionamento automático, o mesmo para as distâncias mais próximas 1 2 3 e para 100 200 300 Também acho a escolha explícita do usuário por , o número de vizinhos próximos a considerar, mais clara que a pesquisa em grade em .)Nnearσ,λ

John P. Boyd, A inutilidade da Fast Gauss Transform para somar séries de funções de base radial gaussiana , diz

o interpolante gaussiano de RBF está mal condicionado para a maioria das séries, no sentido de que o interpolante é a pequena diferença de termos com coeficientes exponencialmente grandes.

Espero que isto ajude; por favor, compartilhe sua experiência.

denis
fonte