• No results found

CROP SPECIFIC

In document DETAILED BENCHMARK ANALYSIS (Page 34-36)

A comienzos del siglo XXI se comprobó la gran eficacia de los métodos basados en la teoría del aprendizaje estadístico al trabajar con ambos problemas: alta dimensionalidad y escaso conjunto de entrenamiento. El entrenamiento de los clasificadores, tanto estadísticos como de redes neuronales hacen uso del principio de Minimización de la Riqueza Empírica (Empirical Risk Minimization, ERM), que consiste en permitir la minimización de la tasa de error para un conjunto de entrenamiento dado. El problema

viene cuando hay que extender o generalizar esa clasificación al resto de objetos, entonces no se consigue una buena actuación, es decir, el resultado es una tasa de error mas alta que para el conjunto de entrenamiento.

La máquina de vectores de soporte (Support vector machines) o SVM, es un método supervisado de reconocimiento de patrones introducido recientemente en el marco de la Teoría del Aprendizaje estadístico de Vladimir Vapnik y su equipo en los laboratorios AT&T [67]. Combina tres ideas: la técnica de búsqueda de hiperplanos óptimos como solución, la idea de convolución de producto escalar, la extensión de las funciones lineares a no lineares, la noción de margen ligero o soft margin, para permitir errores en los patrones de entrenamiento. Una ventaja importante es que trabaja con el principio de Minimización de la Riqueza Estructural (Structural Risk Minimization) o SRM, mejor que ERM como hacen otros muchas técnicas. SVM permite entonces una mejor generalización, antes que una mejor clasificación del conjunto de entrenamiento (a nivel de errores).

Existen otras dos razones más que han hecho crecer el interés por este novedoso clasificador. SVM puede ser reducido a un problema de programación cuadrática convexa (convex quadratic programming o QP), más fácil de resolver con respecto a los métodos clásicos y que parecen tener un mejor comportamiento (más robustos) con altas cantidades de datos. Hasta ahora, SVM ha sido utilizado en muchos campos, tales como: Categorización de textos, reconocimiento de textos escritos a mano, clasificación de imágenes, bioinformática, y por supuesto en percepción remota, donde parece haber tenido un mayor rendimiento respecto a las clásicas técnicas utilizadas [68]. A continuación se presentan los fundamentos teóricos del clasificador SVM.

Este clasificador pertenece a la familia de los clasificadores lineales puesto que inducen separadores lineales o hiperplanos en espacios de características de muy alta dimensionalidad, a pesar de que se pueden adaptar de forma sencilla para actuar como clasificadores no lineales mediante la aplicación de una función o kernel no lineal sobre los datos de entrada. Su principal objetivo es obtener una superficie (o hiperplano) capaz de separar las diferentes clases en las que se puede agrupar una distribución de datos en un espacio N-dimensional, utilizando para ello un proceso de optimización basado en la obtención de vectores que definen los límites de las clases. Estos vectores se denominan normalmente vectores soporte o support vectors [69]. Si vemos los datos de entrada como dos conjuntos de vectores en un espacio N-dimensional, el objetivo del

algoritmo SVM simplemente es construir un hiperplano de separación en ese espacio, el cual maximice el margen de distancia a los dos conjuntos de datos [70].

Figura 3. 9: Esquema de funcionamiento del clasificador SVM

En la figura 3.9 podemos apreciar como calcular este hiperplano de separación, construyendo otros dos hiperplanos paralelos, uno a cada lado del primero. Los dos hiperplanos paralelos son empujados o ensanchados, para aproximarse lo más posible a los conjuntos de datos. Intuitivamente, se alcanza una buena separación cuando el hiperplano de separación se encuentra a la mayor distancia de ambas clases [69]. Cuanto mayor sea la distancia menor será en general el error del clasificador. En términos matemáticos, dado un conjunto de entrenamiento de la ecuación (3.36):

(

)

{ }

{

}

n n i i p i i i

c

x

R

c

x

D

=

,

|

,

−1,1

= (3. 36)

Donde c es 1 ó −1, indicando la clase a la que el i x pertenece. Cada i x es un vector i

real p-dimensional, queremos obtener un hiperplano de distancia máxima a los conjuntos de entrenamiento y que los divida aquellos pertenecientes a ci =1 de aquellos que tengan el valor ci =−1. Cualquier hiperplano puede ser escrito como un conjunto de puntos x que satisfaga la ecuación (3.37):

0

=

x

b

w

(3. 37)

El vector w es un vector normal perpendicular al hiperplano. El parámetro

w b

determina el desplazamiento del hiperplano sobre el origen. Nosotros queremos elegir la w y la b que maximicen la distancia entre los dos hiperplanos paralelos, que

estarán tan apartados como sea posible en función de los datos. Estos hiperplanos pueden ser descritos con las fórmulas descritas a continuación:

1

=

x

b

w

(3. 38) y,

wxb=

−1

(3. 39)

Nótese que si el conjunto de entrenamiento es linealmente separable podemos elegir dos hiperplanos en el borde de los conjuntos de modo que no hay puntos entre ellos y entonces intentar maximizar su distancia. Usando la geometría, podemos encontrar que

la distancia entre ellos es

w

2

, por lo que se pretende minimizar w . Como tenemos que

evitar que los puntos se sitúen en la zona límite, añadimos la restricción de la ecuación (3.40) a los x pertenecientes a la primera clase y la restricción de la ecuación (3.41) a i

los x de la segunda: i

1

x

b

w

i (3. 40)

wx

i

b

−1

(3. 41)

Esto puede ser escrito como:

c

i

(wx

i

b)≥1

, para todo

1≤i

n

(3. 42)

Podemos compactar la expresión para llegar al problema de optimización: Elegir w , b

para minimizar w :

Sujeto a

c

i

(wx

i

b)

≥1

, para todo

1≤i

n

(3. 43)

El problema de optimización presentado anteriormente es difícil debido a que solo depende de un valor |w|. La razón es que es un problema de optimización no convexo, el

cual se sabe que es mucho más difícil de resolver que el problema de optimización

convexo. Afortunadamente es posible sustituir w por

2

2

1

w

sin cambiar la solución. Esto es un problema de optimización de programación cuadrática. Más claramente, el problema de optimización puede reformularse de la siguiente forma:

minimizar

2

2

1

w

, Sujeto a

c

i

(wx

i

b)

≥1

, para todo

1≤i

n

(3. 44)

El factor 1/2 se usa como una conveniencia matemática. Ahora el problema que se nos presenta se puede resolver mediante programas y técnicas de programación cuadrática estándar. Escribiendo la regla de clasificación en su forma dual extendida revela que la distancia máxima al hiperplano, y por tanto la tarea de clasificación, es solo una función de los vectores soporte, es decir, los datos que están en el límite. La segunda forma de SVM se puede derivar como la siguiente expresión:

j T i j i j i j i n i i

cc

x

x

=1

2

,

1

max

α

αα

(3. 45) Sujeto a

α

i ≥0, y 0 1 =

= i i n i c α (3. 46)

Donde los términos α constituyen otra representación del vector de pesos en términos del conjunto de entrenamiento:

= i i i ic x w α (3. 47)

El algoritmo original especifica un clasificador lineal, sin embargo, puede modificarse para resolver problemas de clasificación no lineal reemplazando el producto escalar por una función kernel no lineal. Esto permite al algoritmo fijar la máxima distancia al hiperplano en un espacio de características transformado. La transformación podría ser no lineal y el espacio transformado de alta dimensionalidad; de este modo aunque el clasificador es un hiperplano en un espacio de características de alta dimensionalidad podría no ser lineal en el espacio de entrada original [71]. Si el kernel utilizado es de tipo Gaussian radial basis function, el espacio de características

correspondiente es un espacio de Hilbert de dimensión infinita. La máxima distancia esta regulada, por lo que la dimensión infinita no estropeará los resultados [72]. Algunos de los kernels habitualmente utilizados en clasificadores de tipo SVM se enumeran a continuación:

• Polynomial (homogéneo): k(x,x')=(xx')d

(3. 48)

Polynomial (heterogéneo): k(x,x')=(xx'+1)d (3. 49)

• Radial Basis Function: k(x,x')=exp(−γ xx' 2) , para γ >0 (3. 50)

• Gaussian Radial basis function:

        = 2 2 2 ' exp ) ' , (

σ

x x x x k (3. 51)

• Sigmoide: k(x,x')=tan(kxx'+c), para algunos k >0y c<0 (3. 52)

En la literatura, podemos encontrar también ejemplos de kernels basados en métricas espectrales comúnmente utilizadas en análisis hiperespectral [73]. Como se dijo al inicio, el procesamiento empleado por las SVM no requiere de un gran número de patrones de entrenamiento, siempre y cuando los patrones escogidos sean realmente representativos [74].

In document DETAILED BENCHMARK ANALYSIS (Page 34-36)