¿Las matrices de kernel RBF tienden a estar mal acondicionadas?

10

Uso la función de kernel RBF para implementar un algoritmo de aprendizaje automático basado en kernel (KLPP), la matriz de kernel resultante está extremadamente mal condicionado. El número de condición de la norma L2 vieneK 1017-1064

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

¿Hay alguna manera de hacerlo bien acondicionado? Supongo que el parámetro necesita ser ajustado, pero no sé exactamente cómo.σ

¡Gracias!

ZeyuHu
fuente
1
bueno, si haces σmetro más pequeño, mejorarás el número de condición.
user189035

Respuestas:

11

Reducir el ancho del núcleo σmetro generalmente reducirá el número de condición.

Sin embargo, las matrices de kernel pueden volverse singulares, o casi singulares, para cualquier función base o distribución de puntos, siempre que las funciones básicas se superpongan. La razón de esto es bastante simple:

  • Kdet(K)
  • Intercambiar dos puntos y en su interpolación es equivalente a intercambiar dos filas en , suponiendo que sus puntos de prueba permanezcan constantes.x jXyoXjK
  • Intercambiar dos filas en una matriz cambia el signo de su determinante.

Ahora imagine elegir dos puntos y y lentamente para que cambien de lugar. Al hacer esto, el determinante de cambiará de signo, convirtiéndose en cero en algún punto intermedio. En este punto, es, por definición, singular.x j K KXyoXjKK

Pedro
fuente
¿Las matrices K no son simétricas: el intercambio de dos puntos intercambia filas y columnas?
denis
@Denis Ese es solo el caso si sus nodos y puntos de prueba son iguales y mueve ambos. Por eso, en la segunda viñeta, escribí "suponiendo que sus puntos de prueba permanezcan constantes".
Pedro
la matriz del núcleo de los gaussianos (la pregunta del OP) son positivos semi-definidos de todos modos?
denis
@Denis: Nuevamente, esta es una cuestión de cómo define su problema de interpolación RBF. Considere el caso más general en el que tiene RBFs centra en los puntos , , y desea reducir al mínimo la interpolación en los puntos , . El ejemplo del póster supone que y . Si inicialmente configuramos y , y luego simplemente movemos , podemos generar trivialmente singular . x i i = 1 ... N M ξ j j = 1 ... M M = N ξ j = x i M N ξ jx i x i KnorteXyoyo=1...norteMETROξjj=1...METROMETRO=norteξj=XyoMETROnorteξjXyoXyoK
Pedro
3

Un par de sugerencias:

  1. Elija la distancia promedio | aleatorio - más cercano . (A aproximación baratas para puntos distribuidos de manera uniforme en el cubo unidad en R d , d 2 . . 5 , es de 0,5 / N 1 / d .) Queremos φ ( | x - x ix x i N x i x xσXXyonorteRre,re 2..5 5norte1/ /re
    a ser grande paracerca de, pequeño para ruido de fondo; trazar eso por unos pocosazar.ϕ(El |X-XyoEl |)XyoXX

  2. Desplace lejos de 0, , o menos; es decir, regularizar.K K + λ I λ 10 - 6KKK+λyoλ10-6 6

  3. Mire los pesos de la resolución . Si algunos siguen siendo enormes (independientemente del número de condición), eso tendería a confirmar a Boyd (abajo) que el RBF gaussiano es fundamentalmente débil.(K+λyo)w=F

(Una alternativa a RBF es la ponderación de distancia inversa, IDW. Tiene la ventaja de autoescalar, lo mismo para las distancias más cercanas 1 2 3 ... que para 100 200 300 También encuentro la opción explícita del usuario de , el número de vecinos cercanos a considerar, más claro que la búsqueda de cuadrícula en .)...nortenortemiunarσ,λ

John P. Boyd, La inutilidad de la Transformada rápida de Gauss para sumar series de funciones de base radial gaussianas , dice

el interpolante gaussiano RBF está mal acondicionado para la mayoría de las series en el sentido de que el interpolante es la pequeña diferencia de términos con coeficientes exponencialmente grandes.

Espero que esto ayude; Por favor comparte tu experiencia.

denis
fuente