7 Support Vector Machines. SVM.

Anuncio
Detección Multiusuario para DS-CDMA basado en SVM
Support Vector Machines..
7 Support Vector Machines. SVM.
El inicio de la teoría en la que se basan las máquinas de vectores soporte data de
los años setenta con los trabajos de Vapnik. En los años noventa el método fue
generalizado y en la actualidad presenta un gran interés. Esta teoría fue discutida en la
sección anterior.
Las Máquinas de Vectores Soporte son nuevas estructuras de aprendizaje basadas
en la teoría estadística del aprendizaje. Se basan en transformar el espacio de entrada en
otro de dimensión superior (infinita) en el que el problema puede ser resuelto mediante
un hiperplano óptimo (de máximo margen).
La formulación de las máquinas de vectores se basa en el principio de
minimización estructural del riesgo que ha demostrado ser superior al principio de
minimización del riesgo empírico. Las maquinas de vectores soporte presentan un buen
rendimiento al generalizar en problemas de clasificación, pese a no incorporar
conocimiento específico sobre el dominio. La solución no depende de la estructura del
planteamiento del problema.
La idea es construir una función clasificadora que:
•
•
Minimice el error en la separación de los objetos dados. Error en
clasificación.
Maximice el margen de separación (mejora la generalización del
clasificador)
Página 59 de 162
Detección Multiusuario para DS-CDMA basado en SVM
Support Vector Machines..
7.1 Un ejemplo introductorio
Suponemos que tenemos los datos empíricos:
(x1,y1).................(xm, ym) ∈ χ x ±1
(7.1)
Aquí el dominio χ es un sistema no vacío, donde los modelos xi son los que se
toman y los yi son los denominados flancos o etiquetas. A menos que se diga lo
contrario, los subíndices i y j, se entenderán de la forma i,j=1,...............,m.
Para estudiar el problema de un aprendizaje necesitamos una estructura
condicional [4]. En el aprendizaje nosotros queremos ser capaces de generalizar para los
datos no vistos. En el reconocimiento del modelo, tendremos una x ∈ χ y querenos
predecir y ∈ ±1
. Para esto utilizaremos una medida de semejanza o de similitud en χ
y en ±1
. Esto último es fácil , cuando se designan dos valores, pues estos sólo pueden
ser iguales o diferentes. Para realizar ésto, utilizaremos la siguiente medida de similitud:
Κ:χ×χ →ℜ
( x, x ' ) → κ ( x, x ' )
(7.2)
Es decir debemos de encontrar una función que dados dos valores x, x ’,
devuelva un valor real que caracterice su similitud, por razones que se aclararán más
tarde, esta función de llama función de Kernel. ( [8][[9][10])
Un tipo de medida de similitud de una apelación matemática es el producto de
puntos. Por ejemplo dados dos valores x, x ’ ∈ ℜN el producto de puntos canónico están
compuestos de la forma:
N
( x, x' ) = ∑ ( xi ).( x'i )
(7.3)
i =1
donde xi es la entrada i-ésima del vector.
La interpretación geométrica de este producto es estimada como el coseno del
ángulo entre los vectores x y x ’, normalizados para longitud uno. Es más, ésto nos
permite realizar el cálculo de la longitud de x como ( x.x) , y la distancia de los dos
vectores como la diferencia de las longitudes de cada uno de ellos. Por consiguiente si
somos capaces de estimar los productos de puntos, podemos llevar a cabo toda la
construcción en términos geométricos y ser capaces de formularlo en función de
cosenos, longitudes y distancias.
Página 60 de 162
Detección Multiusuario para DS-CDMA basado en SVM
Support Vector Machines..
En el orden que seamos capaces de usar el producto de puntos como una medida
de semejanza, necesitaremos transformar nuestro espacio al espacio ℑ, el cual no tiene
por qué ser idéntico a ℜN. Nosotros realizaremos un mapeado de un espacio a otro.
Φ:χ →ℑ
x→x
(7.4)
Este espacio es llamado espacio característico. Existen tres beneficios para
transformar los datos a ℑ:
•
Nos permite definir una medida de similitud del producto de puntos en ℑ:
K ( x, x' ) = ( x.x' ) = (φ ( x).φ ( x' ))
•
•
(7.5)
Nos permite el trato con los modelos geométricos y así nos permite
estudiar el algoritmo de aprendizaje usando álgebra lineal y álgebra
analística.
La libertad de elegir una cartografía Φ, nos permite elegir una gran
variedad de algoritmos de aprendizaje. Por ejemplo considerar una
situación donde las entradas viven alrededor de un espacio de producto de
puntos. En este caso podríamos elegir directamente una medida de
semejanza como el producto de los puntos. Sin embargo, podríamos elegir
una primera aplicación a un plano no lineal Φ y cambiar a una
representación más conveniente para un problema dado y algoritmo de
aprendizaje.
Ahora nos encontramos en la posición de describir un algoritmo de aprendizaje
para el reconocimiento del modelo lo más simple posible. La idea básica es estimar las
medias de dos clases de espacios característicos:
1
∑ xi
m1 y1 =+1
1
c2 =
∑ xi
m2 y1 =−1
c1 =
(7.6)
(7.7)
Donde m1 y m2, son el número de ejemplos con etiquetas positivas y negativas
respectivamente. Entonces asignaremos a un nuevo punto de entrada x la clase que se
encuentre más cercana. Esta construcción geométrica puede ser proyectada en términos
c + c2
de puntos. A medio camino entre c1 y c2 se encuentra el punto c = 1
. La
2
clasificación del nuevo vector x se obtendrá verificando sí el vector que una c con x
forma un ángulo más pequeño que π⁄2 con el vector w = c1-c2 . (figura 7.1)
Página 61 de 162
Detección Multiusuario para DS-CDMA basado en SVM
Support Vector Machines..
Figura 7.1: Clasificación geométrica del modelo
En otras palabras:
y = sgn(( x − c).w) = sgn(( x − (c1 + c 2 ) / 2).(c1 − c 2 ) = sgn(( x.c1 ) − ( x.c 2 ) + b)
definiendo el offset como b =
1
(|| c 2 || 2 − || c1 || 2 )
2
(7.8)
(7.9)
Se demostrará de forma constructiva que se puede rescribir esta expresión en
términos de x i en el dominio de entrada χ. De esta manera lo que tenemos es una
medida de similitud en el espacio Κ (7.2). Por consiguiente debemos de rescribirlo todo
en términos de Kernel, evaluándolo sobre los modelos de entrada. Para terminar
realizaremos las sustituciones de (7.6) y (7.7) en (7.8) y (7.9) llegando a la siguiente
función de decisión [11]:
y = sgn(
1
m1
1
= sgn(
m1
1
∑ ( x.x ) − m ∑ ( x.x ) + b)
i
i
yi = +1
2 yi = −1
1
K ( x.xi ) −
∑
m2
yi = +1
(7.10)
∑ K ( x.x ) + b)
i
yi = −1
De manera similar a la anterior definimos el offset como
b=
1 1
(
2 m22
1
∑ ( x .x ) − m ∑ ( x .x )
j
yi = y j = −1
i
j
2
1 yi = y j = +1
i
(7.11)
Tomemos un caso particular muy típico de este tipo de clasificadores.
Asumimos que la media de las clases tienen la misma distancia al origen (b=0) y que K
podría verse como una densidad, es decir positiva y de integral la unidad.
∫χ K ( x, x' )dx = 1
∀ x ∈χ
(7.12)
Página 62 de 162
Detección Multiusuario para DS-CDMA basado en SVM
Support Vector Machines..
Para realizar la anterior suposición, tenemos que requerir que pueda definirse la
integral en todo χ. Suponiendo que esto es verdadero, entonces se corresponderá a lo
denominado decisión límite, separando las dos clases, sujeto a la suposición de que
sean separables desde las dos distribuciones de probabilidad correctamente definidas
por el estimador de dos clases de Parten Windows:
1
m1
1
p1 ( x) =
m1
p1 ( x) =
∑ K ( x, x )
(7.13)
i
yi = +1
∑ K ( x, x )
(7.14)
i
yi = +1
Tomando algunos puntos x , obtendremos las etiquetas simplemente cual de las
dos probabilidades es mayor, lo que lleva directamente a (7.10). Esta es la primera
aproximación que podemos hacer si no tenemos información a priori de las
probabilidades de las clases.
La función de decisión (7.10) está muy cercana a los tipos de máquinas de
aprendizaje que nos interesan. Esto es lineal en el espacio característico, mientras que
en el espacio de entrada no, está representado por una expansión de Kernel. Esto es un
ejemplo básico del sentido en el que se centra Kernel sobre los ejemplos de
entrenamiento. El punto principal donde nos encontramos más discusiones es en la
selección de los ejemplos sobre los que se basa el aprendizaje. Y en el paso de éstos a la
función de decisión. Pues no todos los ejemplos de entrenamiento formarán parte de
esta función de decisión.
En la representación del espacio característico, ésto se corresponde con que
estudiaríamos todos los vectores normales a w del hiperplano de separación que pueden
representarse como combinación lineal de los ejemplos de entrenamiento. Por ejemplo,
podríamos querer quitar la influencia de los modelos que están más lejos de la frontera
de decisión, o de aquellos que esperamos que no mejoran la generalización del error de
la función de decisión, de esta manera podríamos reducir el cálculo computacional para
evaluar la función de decisión (7.10) .
El hiperplano sólo dependerá de un subconjunto de ejemplos de entrenamiento,
llamados soporte vectorial.
Página 63 de 162
Detección Multiusuario para DS-CDMA basado en SVM
Support Vector Machines..
7.2 Máquinas de vectores soporte lineales.
Comenzamos con máquinas lineales entrenadas con datos linealmente separables
(el caso general y el que finalmente trataremos para la detección CDMA, máquinas no
lineales con datos no separables, se resuelve con un problema de programación
cuadrática muy similar).
Consideremos el conjunto de entrenamiento:
{(x
i
)
, z i : x i ∈ ℜ m , i = 1,..., N
}
(7.15)
Supongamos que existe un hiperplano que separa los puntos de ambas clases. Los
puntos x sobre el hiperplano satisfacen wTx + b = 0 donde el vector w es normal al
hiperplano, |b|/||w|| es la distancia perpendicular del hiperplano al origen y ||w|| es la
norma euclídea de w.
Sea d+ (d-) la distancia más corta del hiperplano de separación a la muestra
positiva (negativa, respectivamente) más cercana. Definamos el margen del hiperplano
como la suma d++d-. En el caso linealmente separable, el algoritmo buscará
simplemente el hiperplano con mayor margen. A continuación formularemos esta idea.
Figura7.2: Distintas posibilidades para obtener el margen del hiperplano [12]
Supongamos que todos los datos de entrenamiento satisfacen:
wTxi+b ≥ +1
para zi = +1
(7.16.a)
Página 64 de 162
Detección Multiusuario para DS-CDMA basado en SVM
wTxi+b ≤ -1
esto es
para zi = -1
Support Vector Machines..
(7.16.b)
zi (wTxi+b) - 1 ≥ 0
∀i
(7.16.c)
Ahora consideramos los puntos para los que se cumple la igualdad en (7.16a) (que
este punto exista es equivalente a elegir una escala adecuada para w y b). Estos puntos
están sobre el hiperplano H1: wTxi + b = 1 con normal w y distancia al origen |1-b|/||w||.
De forma similar, para el hiperplano H2 la distancia al origen es |-1-b|/||w||. Por lo tanto,
d+=d-=1/||w|| y el margen es simplemente 2/||w||. Nótese que H1 y H2 son paralelos
(tienen la misma normal) y que no hay puntos de entrenamiento entre ellos. Podemos,
en definitiva, encontrar el par de hiperplanos que dan el máximo margen minimizando
la función de coste ½ ||w||2 con las restricciones (7.16.c).
Figura 7.3: Ilustración de la idea de hiperplano de separación óptimo para el caso de patrones
linealmente separables. Los vectores soporte(aquellos que yacen sobre H1, H2 y cuya
eliminación cambiaría la solución encontrada) se muestran rodeados por un circulo [13]
Ahora pasaremos a una formulación lagrangiana del problema. Hay dos razones
importantes para hacer esto:
La primera es que las restricciones de la ecuación (7.16.c) se sustituirán por
restricciones sobre multiplicadores de Lagrange, que serán más fáciles de manejar.
La segunda es que con esta reformulación del problema, los datos del
entrenamiento solo aparecen en forma de productos escalares entre vectores. Esta
propiedad es crucial para generalizar el procedimiento al caso no lineal como veremos.
Por lo tanto, introduzcamos N multiplicadores de Lagrange que denotaremos por
α1, α2, ....., αN, uno para cada una de las restricciones de (7.16.c). La regla en
aplicaciones lagrangianas es que para restricciones de la forma ςi ≥ 0 las ecuaciones
que las definen se multiplican por multiplicadores de Lagrange positivos y se restan de
Página 65 de 162
Detección Multiusuario para DS-CDMA basado en SVM
Support Vector Machines..
la función objetivo para formar el lagrangiano. En el caso de restricciones de la forma ςi
= 0, los multiplicadores de Lagrange no tienen restricciones. Lo anterior da el
lagrangiano
LP =
N
T
1 2 N
w − ∑ α i z i ( w x i + b) + ∑ α i
2
i =1
i =1
(7.17)
Ahora debemos minimizar LP con respecto a w, b [14]y a la vez exigir que las
derivadas de LP con respecto a todos los αi se anulen, todo sujeto a las restricciones
αi ≥ 0 (restricciones ς1). Esto quiere decir que podemos resolver de forma equivalente el
siguiente problema dual: maximizar LP sujeto a la restricción de que el gradiente de LP
con respecto a w y b se anule, y sujeto también a la restricción de que αi ≥ 0
(restricciones ς2 ). Esta formulación particular del problema se conoce como dual de
Wolfe y presenta la probabilidad de que el máximo de LP con las restricciones ς2 ocurre
en los mismos valores de w, b y α que el mínimo LP de con las restricciones ς1.
Al requerir que se anule el gradiente de LP con respecto a w y b, obtenemos las
condiciones:
∂LP
∂w
⇒
=0
N
w = ∑α i zi x i
(7.18.a)
i =1
∂LP
=0
∂b
⇒
N
∑α z
i
i
=0
(7.18.b)
i =1
Ya que estas restricciones aparecen igualdades, podemos sustituirlas en la
ecuación (7.13) para obtener
N
LD = ∑ α i −
i =1
1 N
∑ α iα j z i z j x i x j
2 i , j =1
( 7.19)
La solución se obtiene minimizando LP o maximizando LD y viene dada por la
ecuación (7.18.a). Se trata en definitiva de un problema de programación cuadrática
(QP).
Nótese que hay un multiplicador de Lagrange αi para cada muestra de
entrenamiento. Tras obtener una solución, aquellos puntos para los que αi > 0 se
denominan vectores soporte y yacen sobre los hiperplanos H1, H2. El resto de las
Página 66 de 162
Detección Multiusuario para DS-CDMA basado en SVM
Support Vector Machines..
muestras tienen αi = 0 y satisfacen la ecuación (7.16.c). Por ello, el vector w se escribirá
como combinación de los vectores soporte.
Con estas máquinas, los vectores soporte son los elementos críticos del conjunto
entrenamiento: son los más cercanos a la frontera de decisión y si el resto de puntos no
se consideran en un nuevo entrenamiento, el algoritmo encontraría el mismo hiperplano
de separación. Los patrones que conformarán el clasificador son los vectores soporte, el
resto de patrones de entrenamiento son irrelevantes a los efectos de clasificación.
Podemos observar como w está determinado explícitamente por el algoritmo de
entrenamiento, pero no es este el caso del umbral b, aunque su obtención es inmediata:
basta tomar en la ecuación (7.16.c) cualquier i para el que αi ≠ 0 y despejar b (condición
Karush-Kuhn-Tucker); por ejemplo, sí zi = 1 (vector positivo):
b = 1 - wT xi
(7.20)
En cualquier caso, siempre es más seguro tomar el valor medio de b que resulta de
todas las ecuaciones.
7.2.1 Fase de validación.
Una vez que hayamos entrenado una máquina de vectores soporte (SVM), para
clasificar un patrón de evaluación x basta determinar en qué parte de la frontera de
decisión se encuentra y asignarle la etiqueta de la clase correspondiente, es decir,
asignamos a x la clase sgn(wT x + b), donde sgn es la función signo [15]
7.3 SVM con datos no separables.
En el caso no linealmente separable nos interesa poder relajar las restricciones
(7.16), pero únicamente cuando sea necesario, es decir, nos interesa añadir un nuevo
coste a la función objetivo. Es decir, se añadirá una penalización como consecuencia de
los patones mal clasificados. Una posible forma de hacerlo es introduciendo variables
débiles ξi i=1,...,N, en las restricciones para convertirlas en
wTxi+b ≥ +1-ξi
wTxi+b ≤ -1+ξi
para zi = +1
para zi = -1
Página 67 de 162
(7.21.a)
(7.21.b)
Detección Multiusuario para DS-CDMA basado en SVM
ξi ≥ 0
∀i
zi (wTxi+b) – 1+ξi ≥ 0
esto es
∀i
Support Vector Machines..
(7.21.c)
(7.21.d)
El avance consiste en indicar cómo es posible aceptar puntos mal clasificados por
el hiperplano, pero penalizando su error de clasificación a través de una combinación
lineal con la función objetivo. Esta noción de soft margin permite tratar datos más
realistas.
Con esto, para que una muestra quede mal clasificada, el correspondiente ξi debe
ser mayor que la unidad. La suma ∑ ξi es, por tanto, una cota superior en el número
de errores sobre el entrenamiento. Una forma de añadir el coste de los errores a la
función objetivo es intentar minimizar
N
1 2
w + C (∑ ξ i )
2
i =1
(7.22)
donde C es un parámetro ajustable; un valor grande de C equivale a una mayor
penalización de los errores. Así, el primer término hace referencia al inverso del margen
y el segundo término al error de clasificación. Para los patrones que son correctamente
clasificados ξi = 0.
El problema anterior es de nuevo un problema de programación cuadrática
convexa con la agradable propiedad de que ni los ξi ni los multiplicadores de Lagrange
asociados a estos, aparecen en el problema dual de Wolfe, que es ahora maximizar
N
LD = ∑ α i −
i =1
1 N
∑ α iα j z i z j x i x j
2 i , j =1
(7.23)
sujeto a las restricciones
0 ≤ αi ≤ C
(7.24)
N
∑α z
i
i
=0
(7.25)
i =1
La solución viene dada nuevamente por
NS
w = ∑α i z i s i
(7.26)
i =1
Página 68 de 162
Detección Multiusuario para DS-CDMA basado en SVM
Support Vector Machines..
Donde ahora NS es el número de vectores soporte y si es el i-ésimo vector soporte.
De nuevo, la solución óptima puede escribirse como una combinación lineal de vectores
soporte. Por lo tanto, la única diferencia con el caso separable del hiperplano óptimo es
que los valores de αi están ahora acotados superiormente por C. La figura 7.3 ilustra
gráficamente algunas de las ideas anteriores.
Figura 7.4: Las variables débiles ξi permiten relajar la condición de separabilidad para el caso
no linealmente separable.
En cuanto al parámetro C, conforme C0, la solución converge a la obtenida con
el hiperplano óptimo de datos separables (sobre el problema no separable).
7.4 Máquinas no lineales de vectores soporte.
Mediante una transformación, generalizaremos en este apartado los métodos
anteriores al caso en que la función de decisión no es lineal con los datos.
En primer lugar, observemos que la única forma en que aparecen los datos en las
ecuaciones (7.19) es como productos escalares xi·xj. Supongamos entonces que
llevamos los datos a un nuevo espacio euclídeo H (posiblemente de dimensión infinita),
mediante una transformación Φ (véase la figura 7.4). Transformamos el espacio de
entrada a otro de alta dimensionalidad en el que los datos ahora si son separables
linealmente. De esta forma, podemos aplicar sobre este nuevo espacio el procedimiento
lineal visto en el apartado anterior. Al espacio H se le suele llamar espacio de Hilbert.
Página 69 de 162
Detección Multiusuario para DS-CDMA basado en SVM
Support Vector Machines..
Figura 7.5
Esta operación de transformación se realiza de acuerdo con el teorema de Cover
sobre la separabilidad de patrones. Con esto, el algoritmo de entrenamiento solo
dependerá de los datos a través de productos escalares en H, es decir, de funciones de la
forma Φ(xi)·Φ(xj). Si existiera una función núcleo K tal que K(xi,xi) = Φ(xi)·Φ(xj),
podríamos utilizar únicamente K en el algoritmo de entrenamiento sin tener que conocer
explícitamente Φ.
En la mayoría de las ocasiones H es de dimensión infinita y no sería sencillo
trabajar explícitamente con Φ. Sin embargo, si sustituimos xi·xj por K(xi,xi) a lo largo de
todo el algoritmo de entrenamiento, obtendremos una SVM que vive en un espacio de
dimensión infinita y que opera en prácticamente la misma cantidad de tiempo. La
separación sigue siendo lineal, pero en un espacio diferente.
7.4.1 Condición de Mercer
La condición de Mercer [8] permite determinar para qué núcleos existe un par
{H,Φ} con las propiedades descritas anteriormente y para cuales no. Es decir, las
condiciones que deben cumplirse para que el producto escalar en el espacio de salida se
puede escribir a través de un cierto núcleo K(xi,xi) = Φ(xi)·Φ(xj).
Página 70 de 162
Detección Multiusuario para DS-CDMA basado en SVM
Support Vector Machines..
Teorema (Condición de Mercer) Existe una transformación Φ y una expansión en
series K(xi,xi) = ∑ Φ(xi)·Φ(xj) si y solo si para cualquier g(x) para la que la integral
∫
g(x)2 dx sea finita, se tiene
∫
K(xy)g(x)g(y)dxdy ≥ 0
7.4.2 Núcleos más utilizados.
Los núcleos más comunes [16] para el reconocimiento y clasificación de patrones
son los siguientes:
K ( x, y ) = ( x· y + 1) P
K ( x, y ) = exp(−
x− y
(7.27.a)
2
(7.27.a)
)
2σ 2
K ( x, y ) = tanh(γ ( x· y ) − δ )
(7.27.c)
La ecuación (7.27.a) proporciona un clasificador que es un polinomio de grado p
sobre los datos; la ecuación (7.27.b) da un clasificador basado en funciones de base
radial gausianas y la ecuación (7.27c) es una función de activación sigmoidal neuronal
tipo perceptron (para ciertos valores de δ y γ).
7.4.3 Aplicación de núcleos.
Con la utilización de esta propiedad, el problema se reduce a minimizar
N
1 2
L P = w + C (∑ ξ i )
2
i =1
(7.28)
sujeto a las restricciones
zi (wT Φ(xi)+b) – 1+ξi ≥ 0
ξi ≥ 0
∀i
∀i
(7.29)
(7.30)
el vector w es combinación de los vectores soporte transformados
NS
w = ∑ α i z i Φ( s i )
(7.31)
i =1
Página 71 de 162
Detección Multiusuario para DS-CDMA basado en SVM
Support Vector Machines..
Para obtener los multiplicadores de Lagrange αi, nuevamente solo es necesario
conocer el núcleo. Podemos aplicar el problema dual maximizando
N
LD = ∑ α i −
i =1
1 N
∑ α iα j z i z j K ( x i , x j )
2 i , j =1
(7.32)
sujeto a las restricciones
0 ≤ αi ≤ C
∀i
(7.33)
N
∑α z
i
i
=0
(7.34)
i =1
Finalmente la expresión de la SVM adopta la forma
f(x)=sign{
∑
αi zi (Φ(si)·Φ(x)) + b} = sign{
vectsoporte
∑
αi zi K(si ,x) + b}
(7.35)
vectsoporte
Observamos que solo necesitamos conocer el núcleo.
7.5 La dimensión VC de las SVM.
Normalmente llevar los datos a un espacio de características con un elevado
número de dimensiones provoca un bajo rendimiento en la máquina resultante. A fin de
cuentas, los hiperplanos del conjunto{w,b} están parametrizados por dim(H)+1
números. La mayor parte de los sistemas de reconocimiento de muestras ni siquiera
pasaría de la línea de salida con un número tan enorme de parámetros. A mayor
dimensionalidad se requiere mayor número de muestras de entrenamiento, además de
más recursos para llevar a cabo el proceso. ¿Por qué las SVM lo hacen tan bien?
La dimensión VC de una SVM puede ser muy grande (incluso infinita). A pesar de
ello, las SVM suelen generalizar correctamente. Todavía no existe una respuesta
definitiva, pero hay indicios de que el requerir hiperplanos con margen máximo puede
estar jugando un papel importante. Por otro lado, también es importante en la lucha
contra la alta dimensionalidad el hecho de que, gracias a las funciones núcleo y a la
definición del lagrangiano, nos evitamos tener que calcular los parámetros de un
hiperplano óptimo en un espacio de elevada dimensión. Hoy en día, no existe ninguna
teoría que garantice que una determinada familia de SVM se comportarán
correctamente con un problema determinado.
Página 72 de 162
Detección Multiusuario para DS-CDMA basado en SVM
Support Vector Machines..
Las SVM basan su funcionamiento en el principio de minimización estructural del
riesgo, del que son una aproximación. Para entender cómo la minimización de ½ ||w||2
es equivalente a la implementación del principio de minimización estructural del riesgo,
supongamos que se cumple ||w|| ≤ A donde la variación de la cota A nos servirá para
definir una estructura anidada de hiperplanos.
Partiendo de la ecuación (7.18), repetida aquí
zi (wTxi+b) ≥ 1
∀i
y como la distancia de un punto x al hiperplano definido por w y b es
T
w x+b
d ( w, b; x) =
(7.36)
w
tenemos entonces, que
d ( w, b; x) ≥
1
A
(7.37)
Según este resultado, la distancia de cualquiera de los puntos de entrenamiento a
los hiperplanos no puede ser menor que 1/A e, intuitivamente, esto reduce los posibles
hiperplanos y, por tanto, la capacidad. La figura 7.5 ilustra esta idea y el siguiente
teorema la concreta más.
Teorema. La dimensión VC del conjunto de hiperplanos canónicos en un espacio
m dimensional es h ≤ min{R2A2, m} donde R es el radio de la hiperesfera que
envuelve todos los datos.
Por tanto, la minimización de ||w|| es equivalente a la minimización de una cota
superior de la dimensión VC. La cota de error que resulta ser inversamente
proporcional al margen, y además es independiente de la dimensión del espacio.
Figura 7.6: La minimización de ½ ||w||2 reduce la dimensión VC de la SVM correspondiente.
Página 73 de 162
Detección Multiusuario para DS-CDMA basado en SVM
Support Vector Machines..
7.6 Características.
7.6.1 Propiedades destacables.
•
El entrenamiento de una SVM es básicamente un problema de programación
cuadrática (QP) convexa, que es atractivo por dos motivos:
o su eficiente computación (existen paquetes software que permiten su
resolución eficientemente)
o Y la garantía de encontrar un extremo global de la superficie de error
(nunca alcanzará mínimos locales). La solución obtenida es única y la
más óptima para los datos de entrenamiento dados.
•
A la vez que minimiza el error de clasificación en el entrenamiento, maximiza el
margen para mejorar la generalización del clasificador.
•
No tiene el problema de Overfitting (Sobreentrenamiento) como podría ocurrir
en las Redes Neuronales.
•
La solución no depende de la estructura del planteamiento del problema.
•
Permite trabajar con relaciones no lineales entre los datos (genera funciones no
lineales, mediante kernel). El producto escalar de los vectores transformados se
puede sustituir por el kernel por lo que no es necesario trabajar en el espacio
extendido.
•
Generaliza muy bien con pocas muestras de entrenamiento.
7.6.2 Limitaciones.
Pese a los excelentes resultados obtenidos, las SVM tienen algunas limitaciones:
•
La elección de un núcleo adecuado es todavía un área abierta de investigación.
Una vez elegido el núcleo, los clasificadores basados en SVM tienen como
único parámetro a ajustar por el usuario: la penalización del error C.
•
La complejidad temporal y espacial, tanto en el entrenamiento como en la
evaluación, son también una limitación. Es un problema sin resolver el
entrenamiento con grandes conjuntos de datos (del orden de millones de
Página 74 de 162
Detección Multiusuario para DS-CDMA basado en SVM
Support Vector Machines..
vectores soporte). Los algoritmos existentes para resolver esta familia de
problemas tardan un tiempo que depende cuadráticamente del número de puntos.
•
Fue inicialmente creado para clasificación binaria. Aunque hay ya algunos
trabajos que estudian el entrenamiento de SVM multiclase en una sola pasada,
aun se está lejos de diseñar un clasificador multiclase óptimo basado en SVM.
•
La SVM siempre soluciona un problema bloque: un cambio en los patrones de
entrenamiento supone obtener una nueva SVM pues pueden surgir distintos
vectores soporte (aunque existen ya algunas alternativas para el entrenamiento
on-line de SVM capaces de encajar modificaciones del conjunto de datos sin
necesidad de reentrenar el sistema.).
7.6.3 Multiclasificación.
Cabe señalar que aunque los clasificadores basados en SVM descritos hasta ahora
son todos clasificadores binarios, la combinación de varios de ellos permite manejar el
caso multiclase.
Consideramos en este caso que el conjunto de etiquetas posibles es {θ1,θ2, ...,θk},
siendo k > 2 y sin una relación de orden definida en el etiquetado. Sea Z el conjunto de
entrenamiento definido por Z = { (x1 , y1), ... ,(xn , yn)}, se construyen los subconjuntos
Zk = { (xi , yi), tales que yi = θk } que determinan una partición de Z.
La forma, más habitual, de utilización de las máquinas de vectores soporte para
resolver problemas de multiclasificación admiten dos tipos de arquitectura:
•
Máquinas biclasificadoras SV generalizadas: Construyen una función
clasificadora global a partir de un conjunto de funciones clasificadoras
dicotómicas (biclasificadoras). Descomposición-Reconstrucción.
•
Máquinas multiclasificadoras SV: Construyen una función clasificadora global
directamente considerando todas las diferentes clases a la vez.
Las máquinas biclasificadoras SV generalizadas dan solución al problema de la
multiclasificación transformando las k particiones del conjunto de entrenamiento en un
conjunto de L biparticiones, en las cuales se construye la función clasificadora (es lo
que se denomina esquema de descomposición) obteniendo f1,..., fL clasificadores
dicotómicos o biclasificadores. A continuación, mediante un esquema de
Página 75 de 162
Detección Multiusuario para DS-CDMA basado en SVM
Support Vector Machines..
reconstrucción, realiza la fusión de los biclasificadores fi, i = 1,...,L con objeto de
proporcionar como salida final, una de las k clases posibles, {θ1,θ2, ...,θk}.
Dentro del esquema de descomposición, las máquinas más utilizadas son:
•
Máquinas 1-v-r SV (iniciales de one-versus-rest). Máquinas de vectores soporte,
donde cada función clasificadora parcial fi, enfrenta la clase θi contra el resto de
las clases. Se requieren L = k biclasificadores.
•
Máquinas 1-v-1 SV (iniciales de one-versus-one). Máquinas de vectores soporte,
donde cada función clasificadora parcial fij , enfrenta la clase θi contra la clase θj,
sin considerar las restantes clases. Se requieren L = k·(k-1)/2 biclasificadores.
Una combinación efectiva para k clases se obtiene entrenando k clasificadores,
dando al clasificador i-ésimo, i=1,...,k, las muestras de la clase i como positivas y las
restantes como negativas. En la etapa de reconstrucción, clasificamos una muestra de
evaluación como perteneciente a aquella clase cuya SVM asociada da la mayor
distancia positiva. Esta distancia puede obtenerse de la ecuación (6.8); y podemos
observar que son valores normalizados, por lo que pueden compararse directamente
entre los distintos biclasificadores.
Página 76 de 162
Descargar