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.
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 i ≈ y iwTxi≈yi . Sea e i = y i - w T x iei=yi−wTxi 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 ‖ 2∑e2i=∥e∥2=∥Xw−y∥2donde - 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=⎡⎣⎢⎢⎢⎢—x1——x2—⋮—xn—⎤⎦⎥⎥⎥⎥xi y=(y1, ... ,yn)yi
min w ‖X w - y ‖ 2 minw∥Xw−y∥2w =( 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 w ‖X w -y ‖ 2 +λ‖ W ‖ 2minw∥Xw−y∥2+λ∥w∥2 λ λ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αi⋅xTxi
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,w∑i=1ne2i st para y . e i = y i - w T x iei=yi−wTxi i=1. .n i=1..n‖ w ‖ 2 ⩽ C∥w∥2⩽C
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)=∥e∥2+βT(y−Xw−e)−λ(∥w∥2−C)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)Tn∑i=1ϕ(x)Tϕ(xi)=n∑i=1k(x,xj)
Finalmente, al dejar (como anteriormente), obtenemosα=(K+λI)−1yˆy=n∑i=1αik(x,xj)
Referencias