4.1 Introducción a la optimización convexa

Anuncio
Capítulo 4
Clasificadores para el análisis de datos
financieros
En este capítulo se presentan los fundamentos matemáticos básicos sobre
optimización convexa, y que son necesarios para comprender el funcionamiento de
las herramientas de clasificación que se utilizarán en este proyecto.
En la bibliografía que trata el tema de la optimización convexa se encuentran
habitualmente explicaciones sobre conjuntos y funciones convexas, por lo tanto se
comienza explicando estos conceptos para fijar la forma en que se plantean los
problemas de optimización.
A continuación se describen dos de las múltiples aplicaciones que derivan de la
optimización convexa y que son las herramientas empleadas en el proyecto, la
clasificación lineal y la regularización de problemas inversos o sistemas lineales.
Para la redacción de este apartado se ha utilizado como referencia fundamental
el libro [2] de la bibliografía así como [A.5].
4.1 Introducción a la optimización convexa
4.1.1 Optimización matemática
Al hablar de un problema de optimización matemática, sea o no convexo, lo que
se persigue es minimizar una función objetivo con unas restricciones dadas. Por lo
61
4.1 Introducción a la optimización convexa
tanto el problema queda definido como,
Donde
es la función objetivo y representa el coste de elegir un
determinado valor de , y las funciones de restricción
son las que limitan
el conjunto de valores de que pueden elegirse. Se busca por lo tanto un vector
óptimo
tal que
tenga el menor valor, o menor coste, con respecto a
cualquier otro vector que cumpla las restricciones del problema.
Existen diferentes tipos de problemas de optimización, en los que se definen
funciones objetivo y restricciones particulares. En este proyecto se trata el caso
específico de problemas de optimización convexa, en los que tanto la función
objetivo como las restricciones son funciones convexas, es decir, son funciones que
verifican que
para todo
y todo
Cuando se cumplen estas condiciones, existen métodos muy eficientes para
resolver el problema planteado.
4.1.1.1 Problema de los mínimos cuadrados y programación lineal
El problema de los mínimos cuadrados y la programación lineal, son casos
especiales muy utilizados de optimización convexa que servirán de base para
comprender la clasificación y regularización del siguiente apartado.
4.1.1.1.1 Problema de los mínimos cuadrados
Un problema de mínimos cuadrados es un problema de optimización sin
restricciones y que tiene una función objetivo que es la suma de los cuadrados de
unos términos de la forma
:
62
Proyecto Fin de Carrera
Enrique Molleja
donde
son las filas de la matriz , y donde el vector es la variable que se quiere
optimizar. Reconocer un problema de optimización de mínimos cuadrados es
sencillo, únicamente se necesita verificar que el objetivo es una función cuadrática.
La solución de un problema de mínimos cuadrados puede obtenerse mediante la
resolución de un sistema de ecuaciones lineales como el siguiente,
obteniéndose la solución analítica
.
El problema de mínimos cuadrados es la base para la estimación de parámetros,
regresión, y diversos métodos de ajuste de datos. Por ejemplo puede utilizarse como
estimador de máxima verosimilitud de un vector , cuando hay errores en las
medidas de tipo Gaussiano.
Puesto que el problema de mínimos cuadrados tiene una forma bien definida, ya
que básicamente hay que verificar que la función objetivo sea una función
cuadrática, se utiliza en muchas técnicas. Una de esas técnicas es la regularización,
que se explicará más adelante.
4.1.1.1.2 Programación lineal
Otro tipo importante de problema de optimización es la programación lineal, en
el que el objetivo y las restricciones son lineales:
Aquí los vectores
y los escalares
son
parámetros del problema que especifican el objetivo y restricciones de la función.
4.1.2 Conjuntos convexos
El estudio de la convexidad de conjuntos y funciones tiene especial relevancia a
la hora de la búsqueda de los óptimos de las funciones, así como en el desarrollo de
los algoritmos de resolución de los problemas de optimización, dado que cuando se
verifique la convexidad del conjunto de valores de que satisfacen las restricciones
del problema, se pueden desarrollar métodos de resolución eficientes para los
problemas de optimización.
63
4.1 Introducción a la optimización convexa
En este apartado se dan a conocer las condiciones que deben cumplir esos
conjuntos en los problemas convexos. Se verán una serie de definiciones que serán
de utilidad en los siguientes apartados.
4.1.2.1 Conjuntos afines y convexos
Supongamos que
son dos puntos de
estos puntos viene definida por
donde
, entonces la línea que pasa por
.
Se dice que un conjunto
es afín si la línea que une dos puntos
cualesquiera del conjunto , está contenida en . Eso quiere decir que para
cualquier par de puntos
y
, existe una línea
.
Por lo tanto
contenidos en .
contiene la combinación lineal de cualquier par de puntos
Si se generaliza esta idea a un conjunto de puntos
combinación afín de estos puntos en
es un punto de la forma
donde
, que pertenece a .
, una
,
Por ejemplo, el conjunto de soluciones de un sistema de ecuaciones lineales,
, donde
y
, es un conjunto afín.
El conjunto de todas las combinaciones de puntos de un conjunto
llama la envoltura afín de , y se escribe
.
Se define el interior relativo de un conjunto
como,
donde
la norma
se
en función de la envoltura afín de
, es la bola de radio
y centro
en función de
.
Un conjunto
es convexo si el segmento entre cualquier par de puntos
contenidos en
también pertenece a , es decir, si para un par de puntos
y cualquier
, se tiene que
.
Se dice que una combinación de puntos de la forma
64
, donde,
Proyecto Fin de Carrera
Enrique Molleja
es una combinación convexa de los puntos
. Un conjunto es convexo si y sólo si contiene todas las combinaciones
convexas de sus puntos.
La envoltura convexa de un conjunto ,
combinaciones convexas de los puntos de .
, es el conjunto de todas las
Como el nombre sugiere, la envoltura convexa es siempre convexa. Es el
conjunto convexo más pequeño que contiene a .
La idea de combinación convexas se puede extender a sumas infinitas, a
integrales, y a distribuciones de probabilidad en su forma más general.
4.1.2.2 Ejemplos importantes
4.1.2.2.1 Hiperplanos y semiespacios
Un hiperplano es un conjunto de la forma,
donde
y
.
Analíticamente se interpreta como el conjunto de soluciones de una ecuación
lineal. Y en sentido geométrico, el hiperplano
puede ser interpretado
como el conjunto de puntos que tienen el mismo producto interno con el vector .
Un hiperplano divide a
conjunto de la forma
en dos semiespacios. Un semiespacio cerrado es un
Los semiespacios son convexos, pero no son afines. La frontera del semiespacio
es el hiperplano,
65
4.1 Introducción a la optimización convexa
4.1.2.2.2 Elipsoides
Una familia de los conjuntos convexos es la de los elipsoides, que tienen la
forma
o bien
si
, donde
, es decir,
es simétrica y definida positiva. El
vector
es el centro de la elipsoide. La matriz determina a que distancia se
extiende el elipsoide en cada dirección de ; la longitud de los semiejes de vienen
dados por
, siendo los autovalores de .
4.1.2.2.3 Poliedros
Un poliedro se define como el conjunto de soluciones de un número finito de
igualdades y desigualdades lineales:
Un poliedro es la intersección de un número finito de semiespacios e
hiperplanos. Los poliedros son conjuntos convexos. Se puede expresar también en
forma compacta de la siguiente manera
donde,
,
,
y el símbolo denota desigualdad vectorial o desigualdad por componentes en
significa que
para
.
:
4.1.2.3 Operaciones que conservan la convexidad
A continuación se describen algunas operaciones que mantienen la convexidad
en los conjuntos, o permiten construir conjuntos convexos a partir de otros.
66
Proyecto Fin de Carrera
Enrique Molleja
4.1.2.3.1 Intersecciones
Si los conjuntos
y
son convexos, entonces
propiedad se extiende a un número infinito de conjuntos.
es convexo. Esta
Un ejemplo son los poliedros, que son la intersección de semiespacios e
hiperplanos. Los semiespacios e hiperplanos son conjuntos convexos, por lo que los
poliedros también lo son.
4.1.2.3.2 Funciones afines
Una función
es afín si es la suma de una función lineal y una
constante, es decir, tiene la forma
, donde
y
.
Suponiendo que el conjunto
es convexo y la función
es afín ,
entonces la imagen de bajo la función ,
es convexa. Lo mismo ocurre con la imagen inversa
de un conjunto convexo con
una función afín. Como ejemplos de esta propiedad tenemos el escalado y la
traslación.
4.1.2.4 Hiperplanos de separación y soporte
4.1.2.4.1 Teorema de los hiperplanos de separación
En esta sección se describe el uso de hiperplanos o funciones afines para separar
dos conjuntos convexos
y
que no presentan intersección entre sí. Cuando esto
ocurre, existe un hiperplano definido en la forma
que se denomina el
hiperplano de separación para dichos conjuntos.
El teorema de los hiperplanos de separación dice que, si se suponen dos
conjuntos convexos
y
tales que no son intersecantes, es decir
,
entonces existen un
y un tales que
para todo
y
para
todo
. En otras palabras, la función afín
es no positiva en
y no
negativa en .
Cuando se satisfacen las condiciones de
para todo
y
para todo
. Se dice que existe una separación estricta de los conjuntos
67
y
.
4.1 Introducción a la optimización convexa
Ilustración 6: Separación de dos conjuntos mediante
un hiperplano
4.1.2.4.2 Hiperplanos de soporte
Suponer un conjunto
mismo.
tal que
, y que
es un punto en la frontera del
Si a
verifica que
para todo
, entonces el hiperplano
se define como un hiperplano de soporte de
en el punto .
Esto es equivalente a decir que el punto
y el conjunto
están separados por el
hiperplano
.
La interpretación geométrica es que el hiperplano
tangente a en , y que el semiespacio
contiene a
es
.
Un resultado de esto es el teorema del hiperplano de soporte, que dice que para
cualquier conjunto convexo no vacío , y cualquier
perteneciente a la frontera de
, existe un hiperplano de soporte de en el punto .
68
Proyecto Fin de Carrera
Enrique Molleja
Ilustración 7: Hiperplano de soporte en un punto de la
frontera
4.1.3 Funciones convexas
4.1.3.1 Definición
Una función
se dice que es convexa si su dominio
, es
decir, los valores para los cuales la función está definida, es un conjunto convexo, y
además si para todo
y
se cumple que,
Se dice que
es cóncava si
es convexa.
Una función es convexa, si y sólo si es convexa cuando nos restringimos a una
línea que pasa por su dominio. En otras palabras, es convexa si y sólo si para todo
y todo , la función
es convexa.
Esta propiedad es muy útil porque permite verificar si una función es convexa
mediante su restricción a una línea que pasa por su dominio, es decir, si
69
4.1 Introducción a la optimización convexa
es convexa.
En los problemas de optimización convexa se trabaja frecuentemente con la
función de valor extendido
en la que se define el valor de la función como ∞
fuera del espacio de
4.1.3.1.1 Condición de primer orden
Si existe el gradiente
en todos los puntos del dominio de , entonces
decimos que es convexa si y sólo si su dominio es un conjunto convexo, y se
cumple lo siguiente
La función afín
es la aproximación de Taylor de primer
orden de
en torno a . Si
, entonces
para todo
, por lo que es un mínimo global de la función .
4.1.3.1.2 Condición de segundo orden
Si existe el hessiano
en todos los puntos del dominio de , entonces es
convexa si y sólo si el hessiano es semidefinido positivo en todos los puntos del
dominio, esto es
4.1.3.1.3 Condición del epígrafo
El grafo de una función
se define como un subconjunto de
El epígrafo de una función se define también como un subconjunto de
70
Proyecto Fin de Carrera
Enrique Molleja
Una función es convexa si y sólo si su epígrafo es un conjunto convexo.
Una función es cóncava si y sólo si su hipógrafo es un conjunto convexo. Se
define el hipógrafo como
4.1.3.2 Operaciones que conservan la convexidad
A continuación se describen algunas operaciones que conservan la convexidad o
concavidad de las funciones.
4.1.3.2.1 Suma ponderada con pesos no negativos
La suma ponderada de funciones convexas es una función convexa si los pesos
son positivos o cero. Esto indica que el conjunto de funciones convexas es un cono
convexo,
si
.
También se cumple que la suma ponderada de funciones cóncavas es una
función cóncava si ningún peso es negativo. Se puede extender el resultado a
integrales y sumas infinitas.
4.1.3.2.2 Composición con un mapa afín
Suponer la función
,
y
. Sea la función
compuesta por una función cuyo argumento es una función afín
Si
es una función convexa,
también lo es.
también es convexa; y si
es cóncava,
4.1.3.2.3 Máximo y supremo puntual
Sean
funciones convexas, entonces la función máximo puntual ,
71
4.1 Introducción a la optimización convexa
donde el dominio de es la intersección de los dominios de las
, es una función
convexa. Esta propiedad se puede extender al supremo puntual de un conjunto
infinito de funciones convexas.
Si para cada
como,
,
es convexa en
, entonces la función
definida
es convexa en .
Esta propiedad es importante, porque casi todas las funciones convexas se
pueden expresar como el supremo puntual de una familia de funciones afines. Si el
epígrafo es un conjunto convexo, podemos encontrar un hiperplano de soporte en
cada punto
, y este hiperplano será una estimación de
que estará
siempre por debajo, por lo que decimos que es un subestimador de esta función.
4.1.3.2.4 Composición
Para que la función compuesta
deben cumplir unas condiciones para las funciones
Definimos como,
sea cóncava o convexa, se
y
donde
Composición escalar
Cuando y valen 1, entonces
y
. Además si se supone
que y tienen segunda derivada en sus dominios, entonces la segunda derivada de
una función compuesta es
Si
es convexa (
), y
es convexa y creciente (
y
),
entonces
es convexa, porque
según la expresión anterior. Con este
razonamiento se llega a los siguientes resultados:
72
Proyecto Fin de Carrera
Enrique Molleja
es convexa si
es convexa y no decreciente, y
es convexa si
es convexa y no creciente, y
es cóncava si
es cóncava y no decreciente, y
es cóncava si
es cóncava y no creciente, y
es convexa.
es cóncava.
es cóncava.
es convexa.
Esto también es aplicable cuando
y las funciones no son diferenciables,
aunque en las comprobaciones de función no creciente o no decreciente hay que
utilizar la función de valor extendido de .
Composición vectorial
Suponiendo ahora el caso más complicado en el que
donde
≥ 1. Suponer que
y
Suponiendo nuevamente que
, la regla de la cadena en este caso queda,
y volviendo a hacer el razonamiento para que
conclusiones:
es convexa si
son convexas.
es convexa,
es convexa si
son cóncavas.
es convexa,
se llega a las siguientes
es no decreciente en todos sus argumentos, y
es no creciente en todos sus argumentos, y
es cóncava si
son cóncavas.
es cóncava,
es no decreciente en todos sus argumentos, y
es cóncava si
son convexas.
es cóncava,
es no decreciente en todos sus argumentos, y
Y en este caso también es aplicable para
diferenciables.
73
sin necesidad de que
o
sean
4.1 Introducción a la optimización convexa
4.1.3.2.5 Minimización
Otra función que conserva la convexidad es la minimización con respecto a
alguno de los componentes de la función original. Si
es convexa en
,y
es un conjunto convexo no vacío, entonces la función
definida a
continuación es convexa
4.1.3.2.6 Perspectiva de una función
Si
, la perspectiva de
es la función
definida como
El dominio son los vectores
tales que
está en el dominio de , siendo
. Esta operación mantiene la convexidad de . Si es convexa, también; y si
es cóncava, es cóncava.
4.2 Aplicaciones
En este apartado se describen las herramientas utilizadas en el proyecto y que
son aplicaciones de la técnica de optimización convexa explicada anteriormente.
Concretamente, en este proyecto se utilizan la clasificación lineal y la regularización.
4.2.1 Clasificación
En problemas de reconocimiento de patrones y clasificación se tienen dos
conjuntos de puntos en
,
y
, y se desea encontrar una
función
que sea positiva en el primer conjunto y negativa en el segundo,
es decir,
Si estas desigualdades se cumplen, se dice entonces que
dos conjuntos de puntos.
74
separa o clasifica los
Proyecto Fin de Carrera
Enrique Molleja
4.2.1.1 Discriminación lineal
En la discriminación lineal, se busca una función afín
clasifique los puntos, esto es
que
En términos geométricos, se busca un hiperplano que separe los dos conjuntos
de puntos. Puesto que las desigualdades estrictas anteriores son homogéneas en y
en , son realizables si y sólo si el conjunto de desigualdades lineales no estrictas
es realizable.
En la ilustración 8 se muestra un ejemplo de clasificación simple de dos
conjuntos de puntos. Aunque en este caso existe una clasificación perfecta de los dos
conjuntos utilizados, no siempre será así, pudiendo existir puntos de uno u otro
conjunto en el lado opuesto del plano.
75
4.2 Aplicaciones
Ilustración 8: Clasificación lineal de puntos
4.2.1.2 Discriminación no lineal
Aunque no se ha utilizado en el proyecto, se explica brevemente para poder
comparar con el método de clasificación lineal descrito anteriormente.
Cuando se desea clasificar conjuntos se puede buscar también una función no
lineal , a partir de un subespacio de funciones, que sea positiva en un conjunto y
negativa en el otro
Si se demuestra que
es lineal en los parámetros que la definen, estas
desigualdades pueden ser resueltas del mismo modo que en la discriminación lineal.
A continuación se describen algunos casos interesantes.
76
Proyecto Fin de Carrera
Enrique Molleja
4.2.1.2.1 Discriminación cuadrática
Sea
una función cuadrática:
deben satisfacer las desigualdades
. Los parámetros
las cuales son un conjunto de desigualdades lineales estrictas en las variables
.
Al igual que en la discriminación lineal, es homogénea en
de modo que se
puede encontrar una solución a las desigualdades lineales estrictas resolviendo el
problema de factibilidad no estricto (nonstrict feasibility problem),
La superficie que separa los conjuntos
superficie cuadrática, y las dos regiones de clasificación
es una
están definidas por desigualdades cuadráticas.
Resolver el problema de discriminación cuadrática, es lo mismo que determinar
si los dos conjuntos pueden ser separados por una superficie cuadrática.
Se pueden imponer restricciones a
la superficie de separación.
para definir condiciones a la forma de
4.2.1.2.2 Discriminación polinómica
Sea un conjunto de polinomios en
con grado menor o igual a :
77
4.2 Aplicaciones
Se puede determinar si dos conjuntos
y
, pueden
separarse o no mediante un polinomio resolviendo un conjunto de desigualdades
lineales en las variables
. En sentido geométrico, se busca si dos conjuntos
pueden separarse mediante una superficie algebraica (definida por un polinomio de
grado menor o igual a ).
4.2.1.3 Algoritmos
A continuación se presenta el método descrito en [A.5] para determinar de forma
numérica la solución óptima al problema de la clasificación lineal de dos conjuntos
de puntos y en
.
Se parte de la definición del problema de optimización convexo sin restricciones
donde
, es una función convexa.
Se quiere obtener de forma eficiente la solución óptima
que minimice la
función objetivo. Por eficiente se entiende que el tiempo de cálculo computacional
para obtener la solución dependa polinómicamente del número de variables de
optimización (dimensión del vector )
En lo que sigue se asume que
es una función estrictamente convexa y
doblemente diferenciable. Esto es equivalente a decir que el hessiano de , evaluado
en cualquier punto , tiene autovalores positivos (esto es, es definido positivo)
Mediante la estrategia denominada Método de Newton, para mejorar una
solución candidata
(no óptima), se pretende obtener
tal que
satisfaga
Utilizando esta estrategia de forma reiterada, y partiendo de un punto arbitrario
, se obtiene una secuencia de puntos ,
tales que
, para todo
. Dada la solución candidata
consiste en obtener un desarrollo en Taylor en torno a tal que aproxime
78
, la idea
Proyecto Fin de Carrera
Dado que la matriz
Enrique Molleja
se asume definida positiva para todo punto
infiere que
es una función cuadrática y convexa con respecto a
convexidad de
permite afirmar que el mínimo con respecto a
alcanza en
, donde
anula la derivada respecto a
. Esto es,
, se
. La
se
Aunque el anterior razonamiento es suficiente para garantizar que
es
óptimo, se muestra en lo que sigue sin recurrir al concepto de convexidad que
efectivamente
para todo
.
La anterior desigualdad es válida para todo
para
. Esto nos lleva a
, por lo que lo es en particular
Dado que
es una aproximación de segundo orden de
torno a , se infiere que
en
La anterior aproximación es válida tan sólo si
es lo suficientemente
pequeño. Bien pudiera pasar que el valor del funcional de
fuera mayor en
que en . Con vistas a solventar este problema, se toma como incremento
respecto
en vez de
. La constante
se obtiene de forma que
79
4.2 Aplicaciones
sea estrictamente menor que
.
Existen distintas formas de obtener un valor adecuado para . La primera de
ellas es obtener el valor de
que minimiza
. Dada la
convexidad de
, la función
es convexa respecto del
parámetro , con lo que la obtención del valor óptimo de
no entraña mayor
dificultad. En todo caso, en el contexto de algoritmos de punto interior, es común
obtener utilizando la técnica denominada Backtracking. Dicha técnica se basa en la
siguiente constatación. Para valores suficientemente pequeños de , la siguiente
aproximación (de primer orden) es válida:
Dado que
afirmar que para
es una cantidad estrictamente negativa, se puede
, existe una vecindad
tal que
En dicha vecindad, se obtiene un decremento de la función
mayor o igual a
una fracción de lo que predice la aproximación de primer orden. La técnica de
Backtracking consiste simplemente en elegir como
, donde
y es el
menor entero mayor o igual a cero que satisface:
El algoritmo que proporciona una secuencia de vectores
al óptimo de la función
es el siguiente:
1. Elegir el punto inicial .
2. Calcular
.
80
que convergen
Proyecto Fin de Carrera
Enrique Molleja
3. Calcular la solución
4. Elíjase
,
al sistema de ecuaciones
. Hágase
.
5. Mientras
, hacer
6.
7. Si
entonces ir a (1). Si no, terminar.
Este algoritmo obtiene una secuencia decreciente de valores de
mejora predicha por el algoritmo en cada paso es una fracción de
. Dado que la
, el
criterio para dar por terminada la optimización es que dicha cantidad sea en módulo
lo suficientemente pequeña. Por ejemplo, se puede tomar igual a 10-6. En cuanto a
los valores para y , una elección razonable es = 0.5 y = 0.5.
Lo visto hasta ahora tiene como aplicación la clasificación lineal que se describe
a continuación.
El problema de clasificación, dados dos conjuntos y en
, consiste en la
obtención de un plano de la forma
tal que
para todo
y
para todo
. En muchas ocasiones no existe dicho plano,
es decir, es imposible obtener un plano de la forma
que separe ambos
conjuntos. Una forma de sortear este problema consiste en obtener
tal que se minimice el siguiente funcional:
donde
, para todo
. Con vistas a aplicar el algoritmo propuesto a la
minimización del anterior funcional se requiere la obtención de las expresiones
analíticas que proporcionan la derivada respecto y el hessiano:
81
4.2 Aplicaciones
4.2.2 Aproximación regularizada
En la aproximación regularizada, el objetivo es encontrar un vector que sea
pequeño y que además haga que el valor residual de
sea también pequeño.
Esto puede describirse como un problema de optimización convexa con dos
objetivos,
y
:
con respecto a
.
La primera norma, que mide el tamaño del residuo, pertenece a
. Por otro
lado, la segunda norma se utiliza para medir el tamaño de y está en el espacio
.
El equilibrio entre ambos objetivos puede encontrarse mediante diversos
métodos y además puede obtenerse la curva que relaciona
y
para ver
cómo debe variarse uno de los objetivos y conseguir que el otro sea pequeño.
82
Proyecto Fin de Carrera
Enrique Molleja
La regularización es entonces un método utilizado para resolver este tipo de
problemas en los que se desea optimizar dos objetivos. Una forma de regularización
es la de minimizar la suma ponderada de los objetivos:
donde
y
son parámetros del problema, que con su variación hacen
cambiar el equilibrio entre los objetivos. Valores usuales para son 1 y 2.
Como se vio anteriormente, la regularización es una técnica que se puede
aplicar, por ejemplo, en el contexto de los mínimos cuadrados. De este modo pueden
añadirse términos adicionales a la función objetivo que penalizan aquellos valores de
que son demasiado grandes. En el caso más sencillo, se añaden los cuadrados de la
variable a la función de coste
donde
es un parámetro elegido para un problema concreto y que permite
mantener un equilibrio entre minimizar la función
no se haga demasiado grande.
y conseguir que
Con este método se resuelve el problema de la aproximación regularizada con
dos objetivos haciendo que
y
sean pequeños, pero añadiendo un
término extra que penaliza la norma de .
4.2.2.1 Regularización de problemas inversos
La regularización se utiliza en muchos contextos, pero dentro de las múltiples
aplicaciones que pueden encontrarse es la resolución de sistemas de ecuaciones
lineales la que se utilizará en este proyecto.
Cuando se tiene una matriz cuadrada , y el objetivo es resolver el sistema de
ecuaciones lineales
, puede utilizarse la regularización para encontrar una
solución óptima en aquellos casos en los que la matriz
no está correctamente
condicionada, o incluso es una matriz singular.
La regularización proporciona un equilibrio entre resolver las ecuaciones y
mantener a un valor razonable.
Una forma de regularización muy común en el contexto de problemas mal
83
4.2 Aplicaciones
condicionados es la de Tikhonov25, que está basada en minimizar la suma ponderada
de las normas al cuadrado, lo que da lugar a un problema de optimización convexa
cuadrático:
La regularización de Tikhonov tiene como solución analítica
Puesto que
para cualquier
, la solución de Tikhonov no
requiere la asunción de una dimensión para la matriz .
4.3 Clasificación de los datos
Con los datos correctamente almacenados y con las funciones de acceso a los
mismos bien definidas ahora es posible describir otra parte fundamental del proyecto,
la clasificación de la información.
Como se explicó en el apartado 4.2.1, la clasificación consiste en obtener un
plano en el espacio n-dimensional que sea capaz de separar dos conjuntos de puntos.
El objetivo que se persigue al utilizar esta técnica no es predecir el valor exacto de un
índice sino predecir la dirección de cambio (si el índice se moverá hacia arriba o
hacia abajo).
4.3.1 Vectores de características
Se han utilizado datos diarios del mercado (Apertura, Máximo, Mínimo, Cierre,
Volumen y Cierre ajustado) entre los años 2001 y 2012. Este intervalo temporal se
corresponde con el primer día en el que existen datos disponibles para todas las
columnas citadas y el día más reciente antes de la finalización de los experimentos
llevados a cabo en el proyecto.
Aunque en el Capítulo 5 se verá en detalle cómo se utiliza la información
histórica, como primera aproximación podría decirse que cada día d del conjunto de
datos utilizados ha sido descrito por un vector de características v(d) y un conjunto S
o B. Dicho vector pertenece al conjunto S si al día siguiente el índice sube, y al
conjunto B en caso contrario.
Los vectores de características definen diferentes escenarios, de tal manera que
25 Ver A. N. Tikhonov & V. Y. Arsenin, "Solutions of ill-Posed Problems", Wiley, 1977.
84
Proyecto Fin de Carrera
Enrique Molleja
en cada uno de ellos se utiliza un conjunto distinto de regresores o parámetros. Por lo
tanto, el análisis de cada vector arrojará resultados también diferentes. Los vectores
de características v(d) han sido llamados de distinta manera en función de la cantidad
de información que contienen: simple, doble, mediano y grande. A continuación se
describen las características para cada escenario:
•
Simple: se considera que este vector viene definido por los parámetros
de valor de cierre del día d-1 y el valor de apertura del día d para un
determinado índice o empresa.
vs(d) = [apertura(d),
cierre(d-1)]
•
Doble: en este escenario el vector viene definido por dos componentes,
el valor de cierre del día d-1 y el valor de cierre del día d-2. Por lo tanto,
se tiene en cuenta la variación en el valor de cierre entre dos días
consecutivos para un determinado índice o empresa.
vd(d) = [cierre(d-1),
cierre(d-2)]
•
Mediano: se utilizan datos históricos de un índice de hasta nueve días de
antigüedad. Los valores utilizados en este vector son los datos de
apertura, cierre y volumen, así como sus medias y variaciones respecto al
pasado.
Por ejemplo, para definir el valor medio de cierre entre el día d-1 y el día
d-5, se escribe lo siguiente: media(cierre(d-5:d-1)), donde se utiliza la
notación de MATLAB para definir rangos y que consiste en poner el
operador ':'.
Para definir las variaciones de un valor se utiliza la expresión general:
(valor final – valor inicial) / (valor inicial).
Los regresores utilizados forman el vector siguiente:
vm(d) = [apertura(d-1),
(apertura(d-1)-apertura(d-2))/apertura(d-2),
(apertura(d-1)-apertura(d-3))/apertura(d-3),
(apertura(d-1)-apertura(d-6))/apertura(d-6),
cierre(d-1),
85
4.3 Clasificación de los datos
cierre(d-2),
cierre(d-3),
(cierre(d-1)-cierre(d-2))/cierre(d-2),
media(cierre(d-5:d-1)),
media(cierre(d-7:d-1)),
media(cierre(d-9:d-1)),
media(volumen(d-5:d-1))]
•
Grande: en este escenario el vector de características está formado por
los mismos parámetros que el anterior, pero añadiendo más información
histórica. Se considera ahora que los datos utilizados abarcan hasta 30
días de antigüedad.
vg(d) = vm(d) +
media(cierre(d-15:d-1)),
media(cierre(d-30:d-1)),
media(volumen(d-15:d-1))]
Conocidos los vectores de características, se debe elegir un criterio para
determinar si la bolsa sube o baja y poder así asignar el vector a un conjunto u otro.
Suponiendo que para determinar la variación del valor de cierre se utiliza un
intervalo de un día, la pauta a seguir para separar los vectores es la siguiente:
•
Si: cierre(d) >= cierre(d-1)
El índice sube o permanece igual, asignar a S
•
Si: cierre(d) < cierre(d-1)
El índice baja, asignar a B
4.3.2 Algoritmo clasificador
Una vez conocidos los regresores que definen cada escenario, así como el
criterio utilizado para separar en dos conjuntos la información contenida en los
vectores v(d) del espacio n-dimensional, debe obtenerse un plano mediante el cual
los conjuntos puedan ser clasificados o separados. Esta clasificación consiste en
obtener el hiperplano que permitirá a los experimentos y simulaciones realizar las
predicciones.
El algoritmo clasificador visto en el apartado 4.2.1.3 servirá de base para
86
Proyecto Fin de Carrera
Enrique Molleja
implementar en MATLAB dos funciones que se encargan de minimizar el funcional
y generar los coeficientes del plano que separa los conjuntos. Las funciones son
las que se detallan a continuación y vienen desarrolladas en el Anexo C:
•
•
JgH_Clasificador, obtiene el valor de la función objetivo J así como su
derivada (g) y hessiano (H).
◦
Entrada: (coeficientes del plano, conjunto de subida S, conjunto de
bajada B) El vector que almacena los coeficientes del plano se ha
llamado theta.
◦
Salida: (J, g, H)
Clasificador, se encarga de minimizar la función objetivo generada con
la función anterior. Esta tarea la realiza hasta que se obtiene un error
menor al especificado como parámetro en el algoritmo. En cada iteración
cambia el valor de los coeficientes del plano clasificador, cambiando por
lo tanto el valor de la variable theta.
◦
Entrada: (conjunto de subida, conjunto de bajada)
◦
Salida: (coeficientes del plano) El clasificador devuelve la variable
theta una vez minimizada la función objetivo.
Estas funciones obtienen una secuencia decreciente de valores de
hasta
conseguir que se minimice el problema, momento en el que se da por terminada la
optimización.
En las ilustraciones 9 y 10 puede verse el proceso de minimización del funcional
, así como la evolución de las componentes del vector que define el plano para un
conjunto de vectores de características de ejemplo (Mediano y Grande). En las
gráficas superiores puede verse cómo las componentes del vector que define al plano
tienden a estabilizarse, mientras que en las gráficas inferiores se observa cómo se
reduce el valor de
a medida que se realizan más iteraciones en la función de
clasificación.
Otro ejemplo puede verse en la ilustración 11, donde se representa el resultado
obtenido al clasificar un conjunto de puntos procedentes de datos históricos
utilizando el vector de características denominado Doble v d(d) y el criterio de
separación visto anteriormente. Se ha utilizado únicamente este vector para
representar el plano puesto que es el único cuya dimensión del espacio vectorial
permite su representación en una gráfica. Además, en este caso se ha representado de
manera diferente la evolución de las componentes del vector que define el plano.
Como vd(d) es de dimensión 2, se han considerado las componentes de theta como
las coordenadas de un punto de manera que puede verse cómo se estabiliza el valor.
87
4.3 Clasificación de los datos
Componente de theta
Iteración
Ilustración 9: Minimización de J(x) y obtención de theta para el vector vm(d).
En la gráfica superior se observa cómo cada una de las doce componentes del
vector theta converge hacia un valor mas preciso. Cada línea de color representa
una iteración, de manera que los picos y valles de la línea mas exterior representan
el valor final de las componentes del vector theta.
En la gráfica inferior puede verse cómo se reduce el valor de J en cada una de las
seis iteraciones que ha necesitado el clasificador para minimizar J.
88
Proyecto Fin de Carrera
Enrique Molleja
Componente de theta
Iteración
Ilustración 10: Minimización de J(x) y obtención de theta para el vector vg(d).
Ahora, en la gráfica superior, se observa la evolución de cada una de las quince
componentes del vector theta. Los picos y valles de la línea mas exterior representan
el valor final de las componentes de dicho vector.
En la gráfica inferior puede verse cómo se reduce el valor de J en cada una de las
doce iteraciones que ha necesitado el clasificador para minimizar J.
89
4.3 Clasificación de los datos
Iteración
Ilustración 11: Minimización de J(x) y obtención de theta para el vector vd(d).
Puesto que el vector vd(d) solamente tiene dos componentes, se ha representado en la
primera gráfica la evolución de los elementos del vector theta como puntos en el
plano, de modo que se observa cómo en cada iteración el punto converge hacia un
valor final.
En la segunda gráfica se representa la minimización de J en 30 iteraciones. Y en la
última gráfica puede verse el plano clasificador obtenido tras la ejecución de la
función de clasificación y cómo separa los dos conjuntos (S y B) de puntos.
90
Proyecto Fin de Carrera
Enrique Molleja
4.3.3 Precisión de los cálculos. Matrices singulares
Durante la clasificación de los puntos puede ocurrir que MATLAB muestre una
advertencia que indica que una matriz está cerca de ser singular o mal condicionada.
Esta advertencia aparece porque al intentar resolver el sistema dado por Delta=-H\g
en la función Clasificador, se detecta que el número de condición de la matriz
hessiana H (
) es muy grande, lo que ocurre cuando la matriz tiene filas casi
linealmente dependientes haciendo que su determinante tome valores muy pequeños
y su inversa tenga valores muy grandes. Cuando ocurre esto un error mínimo en los
datos hace que pueda existir un error relativamente grande en el resultado del
sistema. En nuestro caso esos errores en los datos pueden venir dados por falta de
precisión manejando los cálculos, ya que estos están siempre sujetos a problemas de
redondeo debidos a que la precisión de las máquinas es finita, por ejemplo la
precisión en coma flotante de MATLAB es ~10-16 (eps=2-52). El error de redondeo
puede ser magnificado por sistemas lineales mal condicionados.
Conocido este problema en la resolución de sistemas lineales, se han tomado las
siguientes medidas para reducir los efectos de la propagación del error:
1. Por un lado se ha observado que normalizar los datos históricos utilizados
para generar los vectores de características, y que después se utilizarán en
el algoritmo de clasificación, reduce considerablemente el número de
condición. En la mayoría de los casos se reduce en torno al orden de 109,
obteniéndose valores del orden de 104.
La normalización se realiza antes de formar los conjuntos S y B. Se
divide cada dato utilizado para formar el vector v(d) por el máximo de
manera que la información queda definida entre 0 y 1.
2. Por otra parte puede ocurrir que en algunos sistemas de ecuaciones el
número de condicionamiento sea excesivo y haya que recurrir a un
método alternativo para limitar el error. Asumiendo una precisión para
MATLAB del orden de 10-16, el error relativo cometido en la solución del
sistema viene dado por:
, es decir, que si
es
16
del orden de 10 el error cometido podría ser del orden de 1. Cuando
ocurre esta situación se ha optado por llevar a cabo una regularización de
la matriz H implicada en el sistema a resolver.
4.3.3.1 Regularización de matrices singulares
En el apartado 4.2.2 se vio una de las múltiples técnicas de regularización
existentes, el método de regularización de Tikhonov. En esta sección se presenta el
algoritmo para MATLAB que implementa dicho método, y que será utilizado para
resolver sistemas de ecuaciones en los que la matriz no está bien condicionada.
91
4.3 Clasificación de los datos
El algoritmo utilizado26 calcula la solución regularizada de Tikhonov de un
sistema
. Para ello se hace uso de la descomposición en valores
singulares (SVD) de la matriz que se desea regularizar ya que, según el autor del
algoritmo, “esa aproximación se adapta mejor a la granularidad gruesa de
MATLAB”27, que en el contexto de almacenamiento de datos, se refiere al nivel de
detalle en una tabla o al tamaño en el que están divididos los campos.
La descomposición en valores singulares de una matriz
obtener una factorización de la misma de tal manera que,
, consiste en
donde
y
son matrices ortogonales cuyas columnas son los
vectores singulares izquierdos y derechos de respectivamente, y
es una
matriz formada por los valores singulares de en su diagonal principal ordenados de
mayor a menor, y cuyos elementos fuera de la diagonal son nulos.
Los vectores singulares izquierdos
son los autovectores de la matriz
, mientras que los vectores singulares derechos
son los autovectores
de la matriz
. Por otra parte, el cálculo de los valores singulares
de consiste en obtener la raíz cuadrada de los autovalores no
nulos de ambas matrices
y
.
También existe la descomposición en valores singulares compacta de una matriz
(CSVD). En este caso, la descomposición resulta de elegir solamente los
autovectores asociados a los valores singulares no nulos, quedando las matrices de la
siguiente manera:
26 Ver Christian Hansen, www.mathworks.com/matlabcentral/fileexchange/52
27 Ver Christian Hansen 2008, Regularization Tools: A Matlab Package for Analysis and Solution of
Discrete Ill-Posed Problems, Version 4.1 Informatics and Mathematical Modelling, Technical
University of Denmark
92
Proyecto Fin de Carrera
Enrique Molleja
Una vez introducido el concepto de descomposición en matrices singulares, se
presentan las funciones que serán utilizadas en el proceso de regularización y que el
autor proporciona dentro de un paquete junto con otras funciones auxiliares
relacionadas con la regularización:
•
csvd. Permite obtener la descomposición en valores singulares compacta
o reducida de una matriz pasada como argumento.
◦
Entrada: (A)
Matriz que se desea descomponer, si se agrega un segundo parámetro
(sin importar tipo o tamaño) se calcula la descomposición completa.
◦
Salida: (U, s, V)
Matrices resultantes de la descomposición.
•
tikhonov. Obtiene la solución regularizada del sistema dado por las
matrices singulares y el vector de términos independientes.
Al recibir como parámetro la descomposición SVD, entonces se aplica la
forma estándar de regularización siguiente:
donde
Si
◦
si no se especifica lo contrario.
es
un
vector,
.
entonces
es
una
matriz
tal
que
Entrada: (U, s, V, b, lambda)
Matrices singulares (U, s, V) y vector de términos independientes
(b).
El parámetro del problema (lambda) hace cambiar el equilibrio entre
los objetivos.
◦
Salida: (x_lambda)
Solución del sistema de ecuaciones.
93
4.4 Conclusiones
4.4 Conclusiones
Dentro de lo analizado en este capítulo, se ha visto que la optimización convexa
consiste, básicamente, en la selección del mejor elemento (con respecto a algún
criterio) dentro un conjunto de elementos disponibles. De forma general, con la
optimización se intentan descubrir los "mejores valores" de alguna función objetivo
dado un dominio definido, incluyendo una variedad de diferentes tipos de funciones
objetivo y diferentes tipos de dominios.
La optimización convexa es ampliamente utilizada en diversos aspectos, pero
dentro del ámbito de este proyecto se utilizarán únicamente algunos aspectos
relacionados con la clasificación y la aproximación regularizada.
Con la clasificación se pretende identificar, en nuestro caso, a qué conjunto
pertenece una nueva observación de datos históricos bursátiles, concretamente, si un
nuevo punto definido con datos históricos pertenece al conjunto de datos que definen
tendencias al alza o si, por el contrario, pertenece al que define tendencias a la baja.
Finalmente, con la regularización se ha dado solución a un problema derivado
del uso de ordenadores para el procesamiento de los datos, ya que en ellos la
precisión de los cálculos no es perfecta, y por lo tanto se generaban problemas
durante la resolución de sistemas de ecuaciones debido a que aparecían matrices mal
condicionadas que podían afectar a los resultados obtenidos.
94
Descargar