Diferencia entre la regresión Primal, Dual y Kernel Ridge

18

¿Cuál es la diferencia entre la regresión Primal , Dual y Kernel Ridge? Las personas están usando los tres, y debido a la notación diferente que todos usan en diferentes fuentes es difícil para mí seguir.

Entonces, ¿alguien puede decirme en palabras simples cuál es la diferencia entre estos tres? Además, ¿cuáles podrían ser algunas ventajas o desventajas de cada uno y cuál puede ser su complejidad?

Jim Blum
fuente

Respuestas:

39

Respuesta corta: no hay diferencia entre Primal y Dual: solo se trata de la forma de llegar a la solución. La regresión de cresta del núcleo es esencialmente la misma que la regresión de cresta habitual, pero utiliza el truco del núcleo para no ser lineal.

Regresión lineal

En primer lugar, una regresión lineal de mínimos cuadrados habitual intenta ajustar una línea recta al conjunto de puntos de datos de tal manera que la suma de los errores al cuadrado sea mínima.

ingrese la descripción de la imagen aquí

Parametrizamos la mejor línea de ajuste con ww y para cada punto de datos ( x i , y i )(xi,yi) queremos w T x iy iwTxiyi . Sea e i = y i - w T x iei=yiwTxi el error: la distancia entre los valores predichos y verdaderos. Entonces, nuestro objetivo es minimizar la suma de los errores al cuadrado e 2 i = e 2 = X w - y 2e2i=e2=Xwy2donde - una matriz de datos con cada x i siendo una fila, y y = ( y 1 , . . . , y n ) un vector con todas y i 's. X = [ - x 1- - x 2- - x n- ]X=x1x2xnxi  y=(y1, ... ,yn)yi

min wX w - y 2 minwXwy2w =( X T X ) - 1 X T yw=(XTX)1XTy

Para un nuevo punto de datos no visto predecimos su valor objetivo como .x xy y^y = w T xy^=wTx

Regresión de cresta

Cuando hay muchas variables correlacionadas en los modelos de regresión lineal, los coeficientes pueden estar mal determinados y tener mucha varianza. Una de las soluciones a este problema es restringir los pesos de modo que no superen una parte del presupuesto . Esto es equivalente a usar la L_2, también conocida como "pérdida de peso": disminuirá la varianza a costa de perder a veces los resultados correctos (es decir, al introducir algún sesgo).w www C CL 2L2

El objetivo ahora se convierte en , siendo el parámetro de regularización. Al revisar las matemáticas, obtenemos la siguiente solución: . Es muy similar a la regresión lineal habitual, pero aquí agregamos a cada elemento diagonal de .min wX w -y2 +λW 2minwXwy2+λw2 λ λw = ( X T X + λI ) - 1 X T yw=(XTX+λI)1XTy λ λX T XXTX

Tenga en cuenta que podemos volver a escribir como (vea aquí para más detalles). Para un nuevo punto de datos no visto predecimos su valor objetivo as . Sea . Entonces .w ww = X T( X X T + λI ) - 1 y w=XT(XXT+λI)1yx y y = x T w = x T X Txy^( X X T + λI ) - 1 yy^=xTw=xTXT(XXT+λI)1y α = ( X X T + λI ) - 1 y α=(XXT+λI)1yy = x T X T α = n Σ i = 1 α i x T x iy^=xTXTα=i=1nαixTxi

Regresión de cresta de doble forma

Podemos tener una visión diferente de nuestro objetivo y definir el siguiente problema del programa cuadrático:

min e , w n i = 1 e 2 imine,wi=1ne2i st para y . e i = y i - w T x iei=yiwTxi i=1. .n i=1..nw 2Cw2C

Es el mismo objetivo, pero se expresa de manera algo diferente, y aquí la restricción sobre el tamaño de es explícita. Para resolverlo, definimos el lagrangiano : esta es la forma primaria que contiene las variables primarias y . Luego lo optimizamos wrt y . Para obtener la formulación dual, volvemos a encontrar y a .w wL p ( w , e ; C ) Lp(w,e;C)w we ee ew we ew wL p ( w , e ; C )Lp(w,e;C)

Entonces, . Al tomar las derivadas wrt y , obtenemos y . Al dejar , y al volver a y a , obtenemos doble lagrangianaL p ( w , e ;C)= e 2 + β T ( y -X w - e )-λ( W 2 - C ) Lp(w,e;C)=e2+βT(yXwe)λ(w2C)w we ee =12 βe=12βw=12 λ X T β w=12λXTβα =12 λ βα=12λβeewwLp(w,e;C)Lp(w,e;C)Ld(α,λ;C)=-λ2α2+2λα T y - λ X T α - λ CLd(α,λ;C)=λ2α2+2λαTyλXTαλC . Si tomamos una derivada wrt , obtenemos - la misma respuesta que para la regresión habitual de Kernel Ridge. No es necesario tomar una derivada wrt , depende de , que es un parámetro de regularización, y también hace que parámetro de regularización .α αα = ( X X T - λ I ) - 1 yα=(XXTλI)1y λλ C Cλλ

Luego, coloque en la solución de forma primaria para , y obtenga . Por lo tanto, la forma dual ofrece la misma solución que la Regresión de cresta habitual, y es una forma diferente de llegar a la misma solución.αα w ww =12 λ XTβ= X T αw=12λXTβ=XTα

Regresión de Kernel Ridge

Los núcleos se usan para calcular el producto interno de dos vectores en algún espacio de características sin siquiera visitarlo. Podemos ver un kernel como , aunque no sabemos qué es - solo sabemos que existe. Hay muchos núcleos, por ejemplo, RBF, Polynonial, etc.k kk ( x 1 , x 2 ) = ϕ ( x 1 ) T ϕ ( x 2 ) k(x1,x2)=ϕ(x1)Tϕ(x2)ϕ ( )ϕ()

Podemos usar núcleos para hacer que nuestra Regresión de cresta no sea lineal. Supongamos que tenemos un kernel . Sea una matriz donde cada fila es , es decir,k(x1,x2)=ϕ(x1)Tϕ(x2)k(x1,x2)=ϕ(x1)Tϕ(x2)Φ(X)Φ(X)ϕ(xi)ϕ(xi)Φ(X)=[ϕ(x1)ϕ(x2)ϕ(xn)]Φ(X)=ϕ(x1)ϕ(x2)ϕ(xn)

Ahora podemos tomar la solución para la Regresión de cresta y reemplazar cada con : . Para un nuevo punto de datos no visto predecimos su valor objetivo as .XXΦ(X)Φ(X)w=Φ(X)T(Φ(X)Φ(X)T+λI)1yw=Φ(X)T(Φ(X)Φ(X)T+λI)1yxxˆyy^ˆy=ϕ(x)TΦ(X)T(Φ(X)Φ(X)T+λI)1yy^=ϕ(x)TΦ(X)T(Φ(X)Φ(X)T+λI)1y

Primero, podemos reemplazar por una matriz , calculada como . Entonces, es . Así que aquí logramos expresar cada producto punto del problema en términos de núcleos.Φ(X)Φ(X)TΦ(X)Φ(X)TKK(K)ij=k(xi,xj)(K)ij=k(xi,xj)ϕ(x)TΦ(X)Tϕ(x)TΦ(X)Tni=1ϕ(x)Tϕ(xi)=ni=1k(x,xj)

Finalmente, al dejar (como anteriormente), obtenemosα=(K+λI)1yˆy=ni=1αik(x,xj)

Referencias

Alexey Grigorev
fuente
1
Estoy impresionado por la discusión bien organizada. Sin embargo, su referencia temprana a "valores atípicos" me confundió. Al parecer, los pesos aplicará a las variables que en lugar de los casos, así que ¿cómo exactamente ayudaría regresión contraída hacer que la solución robusta para periféricas casos , como lo sugiere la ilustración? w
whuber
Excelente respuesta, Alexey (¡aunque no lo llamaría "palabras simples")! +1 sin preguntas. Te gusta escribir en LaTeX, ¿no?
Aleksandr Blekh
2
Sospecho que puede estar confundiendo algunas cosas básicas aquí. AFAIK, la regresión de cresta no es una respuesta ni una forma de hacer frente a "observaciones ruidosas". OLS ya hace eso. La regresión de crestas es una herramienta utilizada para hacer frente a la casi colinealidad entre los regresores. Esos fenómenos son completamente diferentes del ruido en la variable dependiente.
whuber
1
+1 whuber. Alexey tienes razón, es demasiado adecuado, es decir, demasiados parámetros para los datos disponibles, no realmente ruido. [y agregue suficientes dimensiones para un tamaño de muestra fijo y 'cualquier' conjunto de datos se vuelve colineal]. Por lo tanto, una mejor imagen bidimensional para RR sería todos los puntos agrupados alrededor de (0,1) con un solo punto en (1,0) ['justificando' el parámetro de pendiente]. Ver ESL fig 3.9, página 67 web.stanford.edu/~hastie/local.ftp/Springer/OLD/… . También observe la función de costo primario: para aumentar el peso en 1 unidad, el error debe disminuir en unidad1/λ
seanv507
1
Creo que quiso decir agregar a elementos diagonales de no restar (?) En la sección de regresión de cresta. Apliqué la edición. λXTX
Heteroscedastic Jim