Machine Learning Cuántico - Uniandes

117
U A M Machine Learning Cuántico Autor: David G Supervisor: Dr. Alonso B Trabajo de monografía para obtener el titulo de Físico en Departamento de Física Facultad de Ciencias de septiembre de

Transcript of Machine Learning Cuántico - Uniandes

Page 1: Machine Learning Cuántico - Uniandes

Universidad de los Andes

Monografía

Machine Learning Cuántico

Autor:David Gamba

Supervisor:Dr. Alonso Botero

Trabajo de monografía para obtener el titulo de Físico

en

Departamento de FísicaFacultad de Ciencias

5 de septiembre de 2016

Page 2: Machine Learning Cuántico - Uniandes

i i

«Muad’Dib learned rapidly because his first training was in how to learn. And thefirst lesson of all was the basic trust that he could learn. It’s shocking to find howmany people do not believe they can learn, and how many more believe learningto be difficult. Muad’Dib knew that every experience carries its lesson.»

Frank Herbert, Dune

Page 3: Machine Learning Cuántico - Uniandes

i i i

UNIVERSIDAD DE LOS ANDES

ResumenFacultad de Ciencias

Departamento de Física

Físico

Machine Learning Cuántico

por David Gamba

En este trabajo realizamos un estudio de una propuesta cuántica para construirun Support Vector Machine (SVM). El cual es uno de los métodos más robustosdentro de Machine learning (ML), para este fin, estudiamos toda la teoría de MLrelacionada con SVMs: Paradigma de aprendizaje ,clasificación con hiperplanos,cuantificación del error y regularización de conjuntos de hipótesis. Así como eltratamiento de los kernels, el corazón de los SVMs. En paralelo, realizamos unestudio de las bases necesarias de la computación cuántica (QC) para implementarSVM cuánticos. Trabajamos desde qubits, con énfasis en el fenómeno de superposi-ción, hasta algoritmos para estimación de fase, exponenciar operadores e invertirmatrices arbitrarias. Juntamos las dos lineas con el estudio detallado del SVMcuántico como fue propuesto por Rebentrost et al. [1]. Finalmente, proponemosuna extensión a esta formulación para incluir un kernel gaussiano.

In this work we conduct an study of a proposal for a Quantum Support VectorMachine (QSVM). Which is one of the most robust methods in Machine Learning(ML). In order to do so, we study all the theory involved whith SVMs: Theory oflearning, classification with hyperplanes, error measurments and regularization.Also, kernels, the heart of SVMs. In parallel, we develop the necessary basis inquantum computing, to implement QSVMs: From qubits, with special care for su-perposition, to quantum algorithms for phase estimation, operator exponentiationand matrix inversion. After that, the two lines of study are merged with the detailedstudy of Quantum SVMs af proposed by Rebentrost et al. [1]. Finally, we proposean extension to the before mentioned formulation to include a gaussian kernel.

Page 4: Machine Learning Cuántico - Uniandes
Page 5: Machine Learning Cuántico - Uniandes

v

AgradecimientosAgradezco a todas las personas que de alguna manera u otra siempre me apoyarondurante mi carrera de físico, y especialmente durante la realización de este trabajo.Para los que se interesaron, los que escucharon, los que ayudaron, los que meanimaron. Gracias a todos. También agradezco toda la ayuda, disposición e interésde mi asesor Alonso Botero y mi co-asesor Fernando Lozano.

Page 6: Machine Learning Cuántico - Uniandes
Page 7: Machine Learning Cuántico - Uniandes

vii

Índice general

Resumen i i i

Agradecimientos v

Índice general vii

0. Introducción 1

1. Machine Learning 51.1. El problema del aprendizaje de maquina . . . . . . . . . . . . . . . . 61.2. Tipos de aprendizaje . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

1.2.1. Aprendizaje supervisado . . . . . . . . . . . . . . . . . . . . . 81.2.2. Aprendizaje de refuerzo . . . . . . . . . . . . . . . . . . . . . . 91.2.3. Aprendizaje no supervisado . . . . . . . . . . . . . . . . . . . 10

1.3. Por qué es posible aprender de los datos . . . . . . . . . . . . . . . 121.4. El peso de los errores . . . . . . . . . . . . . . . . . . . . . . . . . . . 141.5. Clasificación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151.6. Big Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

2. Kernels y Support Vector Machines 192.1. Kernels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

2.1.1. Espacio de características . . . . . . . . . . . . . . . . . . . . . 212.1.2. Reproducing Kernel Hilbert Spaces . . . . . . . . . . . . . . . 232.1.3. Espacio de Mercer . . . . . . . . . . . . . . . . . . . . . . . . . 24

2.2. Support Vector Machines . . . . . . . . . . . . . . . . . . . . . . . . . 272.2.1. Papel del margen . . . . . . . . . . . . . . . . . . . . . . . . . . 302.2.2. Formulación Dual . . . . . . . . . . . . . . . . . . . . . . . . . . 322.2.3. Margenes suaves . . . . . . . . . . . . . . . . . . . . . . . . . . 342.2.4. SVM de mínimos cuadrados . . . . . . . . . . . . . . . . . . . 36

3. Computación Cuántica 413.1. El porqué de la computación cuántica . . . . . . . . . . . . . . . . . 423.2. Qubits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433.3. Superposición . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463.4. Operaciones con Qubits . . . . . . . . . . . . . . . . . . . . . . . . . . 47

3.4.1. Un solo qubit . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473.4.2. Múltiples qubits . . . . . . . . . . . . . . . . . . . . . . . . . . 50

Page 8: Machine Learning Cuántico - Uniandes

vii i

3.4.3. Operaciones controladas . . . . . . . . . . . . . . . . . . . . . 503.4.4. Mediciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

3.5. Un computador cuántico universal . . . . . . . . . . . . . . . . . . . . 533.6. Algoritmos cuánticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

3.6.1. Transformada de Fourier cuántica . . . . . . . . . . . . . . . . 543.6.2. Estimación de fase . . . . . . . . . . . . . . . . . . . . . . . . . 553.6.3. Auto análisis de estados . . . . . . . . . . . . . . . . . . . . . 593.6.4. Simulación de exponenciales de matrices . . . . . . . . . . . 603.6.5. Resolución de sistemas de ecuaciones lineales . . . . . . . . 60

4. Desempeño y Complejidad Computacional 654.1. Complejidad Computacional . . . . . . . . . . . . . . . . . . . . . . . 66

4.1.1. Notación Big-Oh . . . . . . . . . . . . . . . . . . . . . . . . . . 674.1.2. Maquinas de Turing . . . . . . . . . . . . . . . . . . . . . . . . 68

4.2. Desempeño en ML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 704.2.1. La navaja de Occam . . . . . . . . . . . . . . . . . . . . . . . . 714.2.2. Generalización . . . . . . . . . . . . . . . . . . . . . . . . . . . 724.2.3. Regularización . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

5. Support Vector Machine Cuánticos 775.1. Representación de los datos . . . . . . . . . . . . . . . . . . . . . . . 785.2. El algoritmo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

5.2.1. Construcción del Kernel . . . . . . . . . . . . . . . . . . . . . . 805.2.2. Entrenamiento del QSVM . . . . . . . . . . . . . . . . . . . . . 805.2.3. Clasificación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

5.3. Desempeño de la QSVM . . . . . . . . . . . . . . . . . . . . . . . . . . 84

6. Extensión de kernel Gaussiano para QSVMs 876.1. “Kernel Trick” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 886.2. Kernel Gaussiano . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 906.3. Estados coherentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 916.4. Kernel gaussiano con estados coherentes . . . . . . . . . . . . . . . 946.5. QSVM con kernel gaussiano . . . . . . . . . . . . . . . . . . . . . . . . 96

7. Conclusiones 99

Page 9: Machine Learning Cuántico - Uniandes

ix

Índice de figuras

1.1. El esquema del aprendizaje supervisado, tomado de [2] . . . . . . . 8

2.1. Clasificación con planos, en 2D son lineas. En este caso notamosintuitivamente que el mejor clasificador es la linea roja. . . . . . . . 28

2.2. Conjunto de datos separable linealmente [12] . . . . . . . . . . . . . 292.3. Un hiperplano de clasificación para la situación en la que todos los

datos de prueba son generados con un ruido respecto a los datos deentrenamiento, el ruido esta acotado por una constante R, tomadode [8]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

2.4. Caso no separable donde tenemos solamente algunos datos malclasificados dentro del margen. los valores ξ corresponden al slacken el error Tomado de [13]. . . . . . . . . . . . . . . . . . . . . . . . . 34

2.5. Ejemplo de la aplicación de una LS/SVM para conjuntos de puntosubicados en espiral. El kernel usado es gaussiano. Notese la buenaclasificación conseguida. Es evidente que también presenta buenageneralización, tomado de [15]. . . . . . . . . . . . . . . . . . . . . . . 38

3.1. Esfera de Bloch. Tomado de https://en.wikipedia.org/wiki/File:Bloch_Sphere.svg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

3.2. Representación de circuitos para algunas compuertas de un qubit. 493.3. Compuerta para dos qubits. . . . . . . . . . . . . . . . . . . . . . . . . 503.4. Compuerta que solo actúa sobre el primer de dos registros. Aquí

tenemos |Ψ〉 = |x〉 ⊗ |y〉. Por otro lado, |x〉 es un registro de tresqubits y |y〉 uno de dos. . . . . . . . . . . . . . . . . . . . . . . . . . . 50

3.5. Compuerta CNOT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513.6. Control para alguna compuerta U arbitraria . . . . . . . . . . . . . . 513.7. Control para alguna compuerta Uci arbitraria . . . . . . . . . . . . 523.8. Representación de circuitos para una medición . . . . . . . . . . . . 533.9. Circuito cuántico para realizar la estimación de fase. Tomado de [4]. 57

4.1. El problema de la generalización en ML. El primer caso de izquierdaa derecha es overgeneralization. El modelo del medio es uno quese ajusta y generaliza bien. El modelo de la izquierda se ajustademasiado al conjunto de prueba, overfitting. Tomado de [24]. . . . 71

4.2. Error bounds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

Page 10: Machine Learning Cuántico - Uniandes

x

6.1. Problema no separable. En este caso no existe un plano que separelas clases. Sin embargo, al usar un mapeo a un espacio de mayordimensión las clases se tornan separables. Tomado de [28]. . . . . 89

6.2. Para este caso un hiperplano en R3 representa una frontera dedecisión circular en el espacio original R2. Tomado de [12]. . . . . . 90

6.3. Datos entrenados con un kernel gaussiano, en este caso γ = 100.Tomado de [29] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91

Page 11: Machine Learning Cuántico - Uniandes

xi

Lista de Abreviaciones

ML Machine LearningAprendizaje de maquina

QML Quantum Machine LearningAprendizaje de maquina cuántico

Qubit Quantum bitBit cuántico

QRAM Quantum Random Access MemoryMemoria cuántica de acceso aleatorio

SVM Support Vector MachineMáquina de soporte vectorial

LS-SVM Least Squares Support Vector MachineMáquina de soporte vectorial de minimos cuadrados

RKHS Reproducing Kernel Hilbert SpaceEspacio de hilbert con kernel reproductor

QSVM Quantum Support Vector MachineMáquina de soporte vectorial cuántica

DFT Discrete Fourier TransformTransformada de Fourier discreta

FFT Fast Fourier TransformTransformada rápida de Fourier

QFT Quantum Fourier TransformTransformada cuántica de Fourier

RBF Kernel Radial Basis Function KernelKernel de función de base radial

Page 12: Machine Learning Cuántico - Uniandes
Page 13: Machine Learning Cuántico - Uniandes

xii i

Dedicado a Vane . . .

Page 14: Machine Learning Cuántico - Uniandes
Page 15: Machine Learning Cuántico - Uniandes

1

0Introducción

“Computadores que aprenden” es un concepto que comenzó en los 90s a partirde las ideas gestadas en inteligencia artificial y las aproximaciones al análisisde datos provenientes de la teoría de la probabilidad y estadística. Actualmente,estas ideas se han consolidado como una de las ramas más importantes dentro dela computación: Machine Learning (ML)1. El paradigma principal de ML consiste endesarrollar algoritmos que a partir de cierto conjunto limitado de datos, infierenpatrones y generan predicciones sobre nuevos datos entrantes [2]. Respecto adichos datos, puede decirse que son muy complejos para encontrar relacionesanalíticas que los caractericen. Lo anterior, en vez de ser una limitante, resulta seruno de los atractivos más grandes de Machine Learning, pues es posible usar estaflexibilidad para encontrar patrones previamente desconocidos donde en generalno debemos forzar ningún modelo muy restrictivo sobre los datos.

Machine Learning es un área de estudio amplia, razón por la cual en este trabajonos centraremos principalmente sobre uno de sus paradigmas, la clasificaciónde datos, y dentro de este, en una de las estrategias para lograrla, las maquinasde vectores de soporte,Support Vector Machines (SVMs). Estas utilizan la idea de

1Para este y la vasta mayoría de conceptos que tratamos utilizaremos la terminología en inglés,esto debido a que el vocabulario es relativamente reciente, por tanto, las traducciones no han sidoampliamente adaptadas. Ademas, la vasta mayoría de referencias en ingles implica que para ellector es más simple la consulta de referencias

Page 16: Machine Learning Cuántico - Uniandes

2 Capítulo 0. Introducción

representar los datos en un espacio vectorial (que llamamos espacio de carac-terísticas), donde se puede establecer una noción de distancia entre los puntos.Intuitivamente, vamos a esperar que objetos que pertenecen a mismos grupos,se encuentren en regiones concentradas del espacio, mientras que diferentesgrupos dentro de la clasificación se agrupen en regiones separadas: En dado caso,podemos pensar en una estrategia de separación por medio de un hiperplano,donde cada una de las “clases” se encuentre a cada lado del hiperplano.

En el corazón de la clasificación a través de SVMs se encuentra el objeto mate-mático que permite establecer la noción de producto punto en un espacio decaracterísticas sin tener que realizar el mapeo directamente al espacio, llamadoel kernel. Este contiene la información de distancias y por tanto de similitud delos datos del conjunto de entrada, lo que permite escribir los algoritmos paraconstruir SVMs en función de kernels.

Al otro lado del mapa de la computación encontramos los desarrollos en QuantumComputing (QC): Computación cuántica; esta nace en el momento que nos damoscuenta que los propios algoritmos de computación clásica se encuentran limitadospor los sistemas físicos que los implementan. El paradigma de la computaciónclásica son los bits y las operaciones sobre estos. Entendemos un bit como unaentidad abstracta la cual puede tomar dos estados, que denotaremos como 1 o 0.Podemos cambiar el estado a través de diversas compuertas y circuitos. Con estaconstrucción, y gracias a los desarrollos de Turing y Church, el estado de cualquiermaquina bajo el paradigma clásico solo precisa una representación a través deuna cadena de bits que en dado momento solo toman un valor de 0 ó 1.

En mecánica cuántica la anterior descripción de “bits” puede extenderse. Engeneral, si trabajamos con un sistema de dos niveles, digamos |0〉 y |1〉: un qubit,un estado puede ser descrito por la superposición de |0〉 y |1〉 al mismo tiempo.Fue Feynmann de los primeros en proponer utilizar esta y otras construccionesde la mecánica cuántica para construir computadoras regidas por las leyes de lamecánica cuántica.

Sin embargo, la construcción de algoritmos cuánticos ha sido una tarea colosal. Porun lado, la “rareza” de la mecánica cuántica impide una visión clara o intuitiva delo que puede pasar en la ejecución del programa. Por ejemplo, respecto al estadode ejecución, algoritmos clásicos permiten acceder completamente el estado de lamáquina mientras que en los algoritmos cuánticos el acceso completo al estado delos qubits supondría la destrucción parcial de la información [3]. Adicionalmente,se ha impuesto el requerimiento de facto de diseñar algoritmos que tengan mejor

Page 17: Machine Learning Cuántico - Uniandes

Capítulo 0. Introducción 3

desempeño que cualquier algoritmo clásico. Este punto en particular ha dadonacimiento a la teoría de la complejidad cuántica, pues a pesar de que se encuentrademostrado que los computadores cuánticos no violan la tesis de Church-Turing [4],es posible construir algoritmos cuánticos más rápidos que cualquier contraparteclásica, lo cual los coloca en nuevas clases de complejidad computacional.

Inicialmente,muchos de los algoritmos cuánticos, aunque con desempeño superior,no pasaban de ser simples curiosidades matemáticas. Dicha visión mudó con laconcepción de la transformada de Fourier cuántica y el algoritmo de Shor. Hoy endía, el número de aplicaciones de la computación cuántica se encuentra en auge yseguimos buscando aplicaciones reales para la computación cuántica. De especialinterés se encuentran los algoritmos capaces de resolver sistemas de ecuacioneslineales en tiempos logarítmicos para la entrada en el número de datos[5].

En este trabajo, estudiamos una de las mas prometedoras aplicaciones de lacomputación cuántica a Machine Learning: A partir de una formulación en for-ma matricial del problema de optimización para los SVM, podemos aplicar losalgoritmos cuánticos para la resolución de matrices con un tiempo logarítmico ennúmero de datos de entrada y dimensión del espacio de características. Así nacenlas Quantum Support Vector Machines, o QSVMs por su denominación en ingles 2.

La relevancia de una QSVM tiene dos frentes: el primero esta relacionado con elvolumen de los datos. Actualmente se habla de Big-data, datos que comienzana ocupar espacio del orden de GB-TB (106 − 107 Bytes) y exigen igualmente unprocesamiento rápido y eficiente. Aplicaciones de Machine Learning caben dentrode esta categoría. Cada vez son mas comunes las situaciones donde ML se debeenfrentar a Big-Data. En este régimen, la mayoría de los algoritmos convencionalessufren de ineficiencia. Por otro lado, la capacidad de un computador cuánticopara trabajar en altas dimensionalidades permite en teoría procesar volúmenesde datos mucho mayores. El segundo frente encaja con el propio impulso de lacomputación cuántica. Una QSVM presenta una oportunidad para aplicar compu-tación cuántica a gran escala en problemas de alto impacto y alto retorno. Estosprospectos motivan la idea para que de la teoría se pase a la ingeniería y a lasaplicaciones.

Este texto se organiza de la siguiente forma: El primer capítulo brinda una introduc-ción a Machine Learning y al problema de clasificación, esto con el fin de motivar laimportancia de esta área del conocimiento. Seguido vamos a trabajar con kernelsy SVMs en el capítulo 2, lo cual permitirá entender todo el bagaje matemático que

2Maquinas de soporte vectorial cuánticas

Page 18: Machine Learning Cuántico - Uniandes

4 Capítulo 0. Introducción

luego utilizamos redefinir el problema en el contexto de la computación cuántica.Pasamos al capítulo 3, el cual se dedica a mostrar una introducción general a lacomputación cuántica y a los algoritmos que utilizaremos para la construcción delos QSVMs. Luego, en el capítulo 4 se brinda un vistazo a las nociones de desem-peño y complejidad computacional que utilizaremos para analizar los QSVMs. Conesto para el capítulo 5, todas las piezas son unidas en la formulación de las QSVMsjunto con un análisis detallado de su complejidad y desempeño. Finalmente, Enel capítulo 6 buscamos formas de sobreponernos a una de las restricciones delas QSVMs: la limitación en la escogencia de los kernel posibles a usar. Para esto,proponemos la construcción de un kernel gaussiano usando estados coherentes.

Page 19: Machine Learning Cuántico - Uniandes

5

1Machine Learning

Pareciera que muchos de los problemas computacionales relevantes en la ac-tualidad son tremendamente complicados: reconocimiento de imágenes, reco-nocimiento de texto, estudios de crédito en un banco, detección de anomalías eintrusos en sistemas de seguridad, bioinformática, caracterización de enfermeda-des a partir de sus síntomas, etc. A pesar del amplio espectro de áreas en que sepresentan, todos estos problemas tienen dos características en común.

Complejidad Los problemas son muy complejos de tratar, tanto de forma ana-lítica como de forma algorítmica. Piense por ejemplo en el pro-cedimiento necesario para a partir de una imagen de un rostroidentificar la persona. Definitivamente, de existir una función querepresente este mapa esta dependerá de una gran cantidad de fac-tores que tendrán un cierto conjunto de correlaciones. Por tanto,encontrar la función analíticamente parece inviable. Igualmente,si intentamos describir un algoritmo que resuelva la tarea, esteresultará muy complejo.

Datos Volumen enorme de datos. Pues aunque definitivamente no sabe-mos cual es la función, si sabemos su resultado. Sabemos tambiénque estos datos deben tener alguna correlación implícita. Exis-ten patrones en ellos que nos pueden ayudar a inferir la funcióndesconocida, o al menos, aproximarla.

Page 20: Machine Learning Cuántico - Uniandes

6 Capítulo 1. Machine Learning

Queremos explotar estas características y buscar soluciones basada en datos. Elaprendizaje de maquina o Machine Learning, es una rama de la computación lacual estudia algoritmos que a partir de cierto conjunto de datos, pueden aprenderde ellos, inferir patrones y hacer predicciones sobre nuevos datos de entrada[6].Aunque muy cercano a la inteligencia artificial, no debemos confundir los térmi-nos. A grandes rasgos, la inteligencia artificial busca simular el comportamientohumano [7], mientras que el objetivo de Machine Learning es realizar prediccionesa partir de un conjunto de datos. Claro esta, muchas veces resulta indistinguiblelo que hace uno del otro, y las técnicas pueden aplicarse y complementarse mu-tuamente. Esta relación es especialmente fuerte en los campos de reconocimientode imágenes y procesamiento de lenguaje natural.

Este capítulo se centra en las características de los problemas que surgen en Ma-chine Learning. Primero daremos una descripción general del problema que trataML, siguiendo en mayor parte el libro de Abu Mostafa [2]. Luego mencionaremosdos clasificaciones útiles para delimitar mejor las aplicaciones de ML. Despuésvamos a argumentar porqué es posible inferir a partir de los datos y qué tipo deerrores estamos considerando. Finalmente, desarrollamos una corta discusiónacerca de la dimensión de los problemas típicamente encontrados en el mundoreal y la necesidad de moverse hacia alternativas que brinden mejor desempeño.

1.1. El problema del aprendizaje de maquina

Losmétodos deMachine Learning son especialmente útiles en problemas donde secumplen tres condiciones principales. Vamos a mostrarlas con un simple ejemplo:el reconocimiento de caligrafía. Planteamos el problema cualitativamente de lasiguiente forma:

Dado un texto escrito por cierta persona (Imagen), queremos transcribirlo a unarchivo de computador en texto plano, más específicamente queremos reconocerque letras corresponden a la imagen de texto dada. Claro, sin ayuda de un lectorhumano.

Primero, se sabe o especula que los datos contienen un cierto patrón o correlación,para nuestro ejemplo, tenemos imágenes no aleatorias y en particular, debenrepresentar letras, palabras, frases, etc. Esto nos garantiza que a partir de losdatos puede descubrirse el patrón. En nuestro caso, que imágenes correspondena que letras.

Page 21: Machine Learning Cuántico - Uniandes

1.1. El problema del aprendizaje de maquina 7

Segundo, este patrón no puede ser expresado y solucionado fácilmente de formamatemática. Es muy complicado entonces determinar una ecuación analítica sobrela imagen para saber que letra es, a su vez, tampoco debe ser posible desarrollarun algoritmo especifico para el reconocimiento de los caracteres, o en su defecto,este debe resultar muy complicado para implementar.

Finalmente, debemos contar con datos para estudiar el problema, son estos datoslos que nos permiten construir una solución empírica al problema. Por ejemplolos datos de muchos textos escritos por personas diferentes con sus respectivastranscripciones.

Ya hemos mencionado que un problema donde ML es adecuado requiere de datoscomo uno de sus constituyentes, así como la existencia de un patrón, existen sinembargo otros elementos. En general, caracterizamos un problema de ML de lasiguiente forma:

Entradas x al problema, en el ejemplo anterior puede ser un carácter escritoque debe ser reconocido, esta entrada pertenece al conjunto de todas lasposibles entradas X .

Salidas y, que es el conjunto de respuestas, para el caso en cuestión es laclasificación de los caracteres escritos.

Una función f : X → Y que asigna correctamente una entrada a una salida,esta función es la que mencionamos como analíticamente compleja y/oimposible de resolver. De manera más general podemos pensar que existeuna distribución de probabilidad P(X ,Y) que gobierna los datos.

Un conjunto de datos de entrenamiento D ⊂ X ×Y .

Otra función g : X → Y la cual es construida por el algoritmo de aprendizaje,se espera que con un buen algoritmo, esta aproxime a f . Esta función seescoge a partir de un conjunto de posibles hipótesis H.

El énfasis sobre los datos que se hace en ML es enorme, es lo que diferencia unproblema de Machine Learning a uno que no es. De hecho, un mismo problemapuede ser abordado de diferentes maneras, podríamos usar un acercamiento deMachine Learning o un acercamiento basado en el diseño. Cuando hablamos dediseño, tomamos características previamente conocidas del problema y “diseña-mos” un algoritmo que lo resuelva. Note que en el caso de diseño, los datos no seven envueltos directamente en la creación de la solución.

Page 22: Machine Learning Cuántico - Uniandes

8 Capítulo 1. Machine Learning

Figura 1.1: El esquema del aprendizaje supervisado, tomado de [2]

1.2. Tipos de aprendizaje

La caracterización descrita en la sección anterior cubre en general una serie deproblemas muy grande. Diferentes situaciones, las cuales son variaciones de lopropuesto anteriormente, han requerido diversos paradigmas y acercamientos enMachine Learning.

Pueden ocurrir situaciones donde tenemos datos incompletos o incorrectamenteclasificados, esto representa variaciones sobre el conjunto de datos de prueba D.De este modo, establecemos los siguientes tipos de aprendizaje.

1.2.1. Aprendizaje supervisado

En estos tipos de problemas el conjunto D se encuentra claramente definido,es decir, se conoce con exactitud el conjunto de datos y las correspondientessalidas que deberían tener. Nuestro ejemplo del reconocimiento de textos escritoses un claro ejemplo de esta situación, como entrada tenemos imágenes a lascuales les asignamos las correspondientes letras. Notemos que en algún momentoalguien debió pasar por las diferentes imágenes asignando el los caracterescorrespondientes.

Page 23: Machine Learning Cuántico - Uniandes

1.2. Tipos de aprendizaje 9

Aunque típicamente se tiene todo el conjunto de datos como entrada existen dosvariantes que han ganado popularidad recientemente: Online Learning y ActiveLearning.

Algunas veces en aplicación son reales, no es posible calcular el kernel y/o al-macenarlo en su totalidad. También puede suceder que el problema exige elprocesamiento de datos en tiempo real, aquí el numero de datos del conjuntode entrenamiento es potencialmente infinito. Para estas situaciones surgieronlas técnicas de online learning en las cuales se procesa un dato a la vez. Estosproblemas han tenido que ser abarcados de forma diferente pues con métodosconvencionales resulta ineficiente el procesamiento de datos que van creciendocon el tiempo[8]. Es por esta razón que la implementación de online learningse basa en procedimientos iterativos que deben evaluar el error paso a paso demanera diferente[2].

Otro tipo de problemas plantearon el interrogante: ¿Como afecta la calidad de lamaquina seleccionar mejor los datos de entrenamiento?, y en consecuencia, quedatos seleccionar?. Desde el punto de vista, deberíamos seleccionar los datos quemayor información le ofrezca al clasificador. Este tipo de aprendizaje es casi nece-sario en aplicaciones donde conseguir instancias del conjunto de entrenamientocorrectamente clasificadas es muy complicado, como ocurre por ejemplo en elproblema de reconocimiento de habla y clasificación de documentos[9].

1.2.2. Aprendizaje de refuerzo

El ejemplo por excelencia del aprendizaje de refuerzo es nuestra propia infan-cia. Siendo pequeños e ingenuos, el conocimiento del mundo provino de todasnuestras experiencias, más que de las palabras de otros. Es común el recuerdode intentar tocar un tomacorriente, en primera instancia es simplemente otroobjeto del ambiente del cual no tenemos conocimiento. Así que la curiosidadentra en juego y nos balanza hacia cometer la acción de tocar el tomacorriente,definitivamente no es una experiencia placentera, y hay quienes no convencidos lointentan una vez más probablemente resultando en un dolor mayor que la primeravez. Hasta que en algún momento, todos aprendemos que es mejor mantenersealejado del tomacorriente.

Note que en este caso no hemos tenido un conocimiento previo de la clasificaciónde un tomacorriente u objetos similares como objetos malos. Fue nuestra inter-acción con el tomacorriente la que nos ofreció una escala de que tan bueno era.

Page 24: Machine Learning Cuántico - Uniandes

10 Capítulo 1. Machine Learning

Este es el corazón del aprendizaje de refuerzo. En este tipo de aprendizaje no seposeen los datos correctamente clasificados de todas las instancias del conjuntode prueba, sin embargo, una vez el algoritmo clasifica un nuevo dato, se le ofreceun puntaje o feedback que dice que tan bien ha clasificado el dato.

Mientras que el ejemplo por excelencia es nuestra propia experiencia, el casode estudio común es el ajedrez. Para este, solo la tarea de tomar instanciasparticulares de juegos y clasificarlos para construir un conjunto de entrenamientotorna inviables métodos de aprendizaje supervisado. En contraparte, si utilizamosaprendizaje de refuerzo, solo hacemos que nuestro algoritmo vaya jugando ycada movimiento reporta que tan bien va el juego. El algoritmo tiene la tarea deorganizar y relacionar toda esta información para luego tomar el mejor curso deacción en el juego [7].

1.2.3. Aprendizaje no supervisado

Finalmente, existen el tipo de problemas donde lo único que poseemos son losdatos. No conocemos ninguna clasificación previa y no sabríamos cómo puntuarlos resultados de una acción. Nos encontramos entonces frente a la situaciónde sacar información de los datos y solamente de los datos. Los algoritmos quetratan estos problemas buscan patrones en los datos, algunos obvios, otros notanto. Como ejemplo podríamos considerar un mismo problema de clasificación,sin embargo no son proveídos con ninguna información respecto a las clases. Alfinal las fronteras de clasificación pueden ser las mismas que las de aprendizajesupervisado. Pero a diferencia de supervisado, no tenemos ninguna denominacióna priori de las clases que se han encontrado. Es más, puede resultar que las fron-teras sean difusas. Todo esto implica que los resultados del algoritmo dependenen gran parte de la interpretación que tomemos.

Otra aplicación de aprendizaje no supervisado es cuando queremos encontrar unarepresentación a alto nivel de los datos. Abu Mostafa pone el siguiente ejemplo(parafraseado): Suponga que trabaja en una firma multinacional donde lo vana transferir a trabajar a corea por un año. Aunque ud. no sabe absolutamentenada de coreano, la decisión está tomada, transferencia en un mes. Entonces lomejor que puede hacer en ese mes es escuchar música, y ver televisión de corea.Aunque igualmente no se desarrolla un entendimiento del lenguaje, si se comienzaa desarrollar una afinidad por los sonidos y algunas estructuras simples, saludos ydespedidas por ejemplo. Luego, cuando llegue a corea, será más fácil comenzar a

Page 25: Machine Learning Cuántico - Uniandes

1.2. Tipos de aprendizaje 11

aprender el lenguaje. Resulta entonces que este tipo de aprendizaje puede usarsecomo precursor de aprendizaje supervisado[2].

Existe otra clasificación de métodos de Machine Learning, una de ellas esta deacuerdo con la forma en que la salida es dada. Esto es, la naturaleza de Y . Re-cordemos que en el caso que hemos trabajado hasta el momento, solo existendos elementos y ∈ Y , +1 y −1. por tanto, nada nos impide considerar conjuntosdiferentes para valores de y o hasta distribuciones de probabilidad en la salida. Acontinuación, describimos lo más común.

Clasificación En este caso, los datos del conjunto X se encuentran separados endistintas clases. Tome por ejemplo unos datos que correspondena animales. Estos podemos separarlos de varias maneras: aves,reptiles, mamíferos...etc. Dado un nuevo dato correspondiente auna animal desconocido queremos ubicarlo en alguna de las clasesque previamente hemos definido.

Regresión: En la regresión, puede pensarse que la salida es uncontinuo en vez de casos discretos como ocurre en clasificación. Elejemplo por excelencia es la regresión lineal en dos dimensiones,como entrada poseemos un conjunto de puntos de la forma (xi, yi),los cuales presumimos tienen un relación lineal. Básicamente, quevisualmente forman una linea, a partir de estos buscamos unaecuación de la forma y = mx + b que nos permita conocer elvalor de y dado un nuevo punto x. Note que en el problema declasificación, un error es del tipo binario, es decir, el algoritmoacierta la clasificación o no, mientras que en el caso de la regresiónexiste una noción de distancia al resultado deseado, Si por ejemplose intenta determinar la edad de una persona (20 años) basadoen sus atributos, una respuesta de 19 parece mucho mejor queuna de 30.

Clustering De forma similar a la clasificación, la idea es agrupar los puntosen 2 o más clases. La diferencia principal con clasificación radicaen que para este caso, no se conocen las clases. Así que todas lasrelaciones se deducen puramente de los datos. Clustering es untipo de aprendizaje no supervisado.

Estimación de distribución de densidadRecalcamos que en general para problemas de clasificación, se

Page 26: Machine Learning Cuántico - Uniandes

12 Capítulo 1. Machine Learning

asume que los datos provienen de cierta distribución de probabili-dad conjunta P. La idea es estimar la distribución de probabilidadque generan los datos.

Reducción de dimensionalidadConsidere por ejemplo el problema de procesar texto, escrito. Re-presentar los datos en bruto perfectamente requiere de espaciosde dimensión muy alta. Así que es deseable encontrar métodosque permitan reducir la dimensionalidad de los datos conservan-do las características más relevantes. Note que al final podemosenfrentarnos a un problema de clasificación igualmente, pero lareducción de dimensionalidad de los datos es en si un tópicointeresante.

1.3. Por qué es posible aprender de los datos

Cabe el interrogante: ¿Cómo es posible aprender la naturaleza de la función f(completamente desconocida) solamente a partir de las observaciones en D?.Por supuesto, notando que definitivamente no poseemos ningún conocimientopara f fuera de los puntos del conjunto de tal conjunto. Además, qué nos permiteasegurar que g está en realidad acercándose a f fuera del dominio del conjuntode prueba?. La respuesta a estos interrogantes la encontramos en la probabilidad.Pues aunque en realidad no es posible determinar completamente f a partir delconjunto de prueba, si es posible realizar una aserción probabilista respecto a sunaturaleza.

El argumento que usaremos para justificar la factibilidad del aprendizaje de ma-quina puede relacionarse a determinar la frecuencia µ de un simple proceso debernoulli. Comencemos por un ejemplo, supongamos que tenemos cierta caja conbolas rojas y blancas, y que la razón de bolas rojas es mu. De esta caja vamos atomar N bolas, esta será nuestra muestra, en la cual la razón de bolas rojas va aser ν. Si las bolas de la muestra en realidad son sacada de forma independiente,o mejor dicho, si el muestreo se hace i.i.d, podemos intuir que ν va a ser cercanoa ν. Cuantitativamente esta cercanía es descrita por una ley de grandes números,llamada desigualdad de Hoeffding

P(|µ− ν| > ε) ≤ 2e−2ε2 N , (1.1)

Page 27: Machine Learning Cuántico - Uniandes

1.3. Por qué es posible aprender de los datos 13

donde definimos cierta tolerancia ε al hecho que ν difiera mucho de µ. LA in-terpretamos como la probabilidad que la diferencia entre µ y ν supere ciertatolerancia cumple con una ley de grandes números cuya función de kramer crececon el numero de datos y con la tolerancia. Sin embargo, si queremos toleranciascercanas a cero la probabilidad de que µ y ν difieran va a aumentar. Para adaptaresta desigualdad al problema general del aprendizaje supervisado consideramoslos siguiente elementos

Un error Ein(g) el cual es el error de nuestra hipótesis aceptada en el con-junto de prueba. Este va a tomar el papel de ν pues es el dato que podemosmedir a partir de los datos que poseemos.

Otro error Eout(g) el cual mide el error en el resto de los datos que provienende X Este tiene el papel de µ, ya que es el parámetro desconocido al cualnos queremos aproximar. Note que Eout(g) pequeño implica que el modeloes bueno fuera del conjunto de entrenamiento.

En adición, suponemos que nuestro conjunto de hipótesis es finito con ciertacardinalidad M.

Con las anteriores modificaciones escribimos la nueva versión de la desigualdadde Hoeffding

P(|Ein(g)− Eout(g)| > ε) ≤ 2Me−2ε2 N . (1.2)

Note que con la adición de M a la desigualdad conjuntos muy grandes e infinitosdestruyen la utilidad de la cota. Conjuntos de hipótesis finitos definitivamente noes el caso en general pero igualmente M puede reemplazarse por una medidade que tan complejo es el modelos. En el capitulo 4 hablaremos superficialmentede estas medidas. Los detalles técnicos provienen de a teoría del aprendizajeestadístico y puede encontrar su desarrollo en [2], [8] ó [10].

Retomamos la pregunta que nos planteamos inicialmente. Es posible aprender delos datos?. En nuestros términos: es posible aproximar f , la función desconocidaque rige los datos por alguna hipótesis h que depende de los datos de la muestra,o conjunto de entrenamiento?, es decir. Cuantitativamente queremos lo siguiente.

1. Eout(g) ≈ 0. Esto indica que la función g aproxima a f en el conjunto dedatos de prueba y es garantizada por la desigualdad de Hoeffding si secumple lo siguiente,

Page 28: Machine Learning Cuántico - Uniandes

14 Capítulo 1. Machine Learning

2. Ein(g) ≈ 0, lo cual garantiza simplemente dice que g es aproximadamente fen el conjunto de entrenamiento. Esto depende del algoritmo que utilicemos.

Por tanto, la respuesta es si, es posible.

1.4. El peso de los errores

Vale la pena hablar acerca de los errores que consideramos en el problema generalde ML. Por ahora, solo hemos definido cualitativamente Ein(g) y Eout(g) para ciertafunción g ∈ H.

Primero, tomamos un enfoque punto a punto del error. Denotamos el error de unahipótesis g respecto a una función objetivo f en el punto x como e(g(x), f (x)).La definición particular de e depende de la forma en la que estemos dispuestosa pagar los errores, entre las más comunes se encuentran el error lineal, quepenaliza proporcionalmente los errores

e(g(x), f (x)) = |g(x)− f (x)|, (1.3)

el error cuadrático

e(g(x), f (x)) = (g(x)− f (x))2, (1.4)

o el error de todo o nada, también conocido como Hingue loss function

e(g(x), f (x)) =

1 si g(x) = f (x)

0 en otro caso.. (1.5)

Sin embargo, la misma definición del error puede depender completamente delproblema. Por ahora, solo es necesario saber que es posible cuantificarlo. Conesto, procedemos a definir Ein y Eout.Comenzamos con el error en el conjunto deentrenamiento, este es el más simple ya que poseemos los datos y simplementepuede ser definido como

Ein(g) =1N

N

∑i=1

e(g(xi), f (xi)). (1.6)

Page 29: Machine Learning Cuántico - Uniandes

1.5. Clasificación 15

Mientras que en el caso de los datos de prueba debemos tomar el valor esperadodel error

Eout(g) = Ex[e(g(x), f (x)]. (1.7)

Note que hemos definido el error con una distribución de probabilidad implícita dela cual tampoco sabemos nada. Sin conocimiento a priori, lo mejor que podemoshacer es estimar la distribución de probabilidad con

P(x) =1N

N

∑i=1

δxi(x), (1.8)

a partir de lo cual obtenemos

Eout(g) =1N

N

∑i=1

e(g(xi), f (xi)). (1.9)

Esto quiere decir que aproximamos Eout con Ein, afortunadamente tenemos aHoeffding para justificarlo. A esta medida de error también se le denomina riesgoempírico Remp(g) ≡ Ein(g). Prácticamente todo algoritmo de ML intenta minimi-zarlo de una u otra forma.

1.5. Clasificación

Considere el Universo de 1984, famosa novela de George Orwell. Donde todoslos movimientos de los ciudadanos son capturados y analizados por el partido,organización poseedora del poder cuyo objetivo en última instancia es controlara los ciudadanos. Cobijados bajo el slogan “El gran hermano te vigila”, micrófonosy pantallas se encuentran por doquier, su finalidad es detectar cualquier desvia-ción de los ideales del partido. Ahora, si nos ponemos en los pies de un agentedel partido quisiéramos determinar que ciudadanos no siguen fielmente dichosideales y por tanto no aman al "Gran hermanoçomo deberían. Es sensato pensarque en este universo el partido posee enormes cantidades de datos respecto a losciudadanos, recopilados de todos sus dispositivos de vigilancia. También debenposeer un amplio historial sobre traidores y fieles seguidores. Como agentes delpartido nos enfrentamos a uno de los problemas más tratados y antiguos dentrode Machine Learning, el problema de clasificación.

Page 30: Machine Learning Cuántico - Uniandes

16 Capítulo 1. Machine Learning

Debemos establecer mayor claridad respecto al problema anterior. Contamosentonces con ciertos datos que pertenecen a un conjunto no vació X , denotamoscon xi un dato particular del conjunto, en nuestro caso, corresponde a toda lainformación que tenemos sobre un ciudadano, podríamos tener entonces entra-das correspondientes a estatura, peso, tiempo gastado en reuniones, numero dealabanzas al gran hermano, etc. Ahora, dividimos los ciudadanos en dos clases,traidores y fieles. Podrían ser más, sin embargo por simplicidad estudiamos sola-mente el caso binario cuantitativamente decimos que un ciudadano correspondea alguno de los elementos del conjunto ±1, así que cada dato clasificado esdescrito por una tupla (xi, yi) ∈ X × ±1. Los datos xi son llamados tambiénpatrones, casos, entradas u observaciones; y los yi son denominados etiquetas,objetivos o salidas [8].

El problema de la clasificación es entonces determinar para un nuevo dato xi ∈ Xa que clase pertenece. ¿Será un ciudadano traidor o no?. Digamos que poseemoslos datos de m ciudadanos, y para cada uno de ellos sabemos si este es traidor ono. Este es nuestro conjunto de entrenamiento (training set). Claramente este setrata de un problema de aprendizaje supervisado, donde poseemos informacióntotal de las clases en el conjunto de entrenamiento. Como solo tenemos dos clases,estamos hablando de un problema de clasificación binaria.

Numerosas aproximaciones existen para resolver el problema de clasificación,cuandotenemos puntos en Rn la forma mas sencilla de separar es un hiperplano. Algunasalternativas utilizan varios hiperplanos a la vez, estas son las redes neuronales.En se capitulo 2 veremos como seleccionar el hiperplano que mejor generaliza.Los llamados SVM.

1.6. Big Data

Durante esta sección final consideramos un problema moderno que ha obligado acambiar a las metodologías convencionales de ML, el tamaño de los datos. Hastarelativamente hace poco, el tamaño y la dimensionalidad de los datos permitía elalmacenamiento y procesamiento tranquilamente en un computador, cargarlos enmemoria, procesarlos y dar resultados en periodos de tiempo cortos. Sin embargotanto en aplicaciones científicas como comerciales el numero de datos y variablesa considerar ha aumentado enormemente. Este fenómeno se ha presentado tantoen el ámbito científico como en el corporativo.

Page 31: Machine Learning Cuántico - Uniandes

1.6. Big Data 17

En el caso de la comunidad científica, simplemente los experimentos se han hechomas grandes, y muchas tareas de procesamiento han tenido una necesidad de serautomatizadas. Por ejemplo en cosmología, tenemos cámaras que toman fotosdel cielo las cuales pesan varios cientos de MiB, estas deben ser procesadas parareconocer los objetos relevantes automáticamente, esto permite extraer los datosrelevantes y dedicarse a la física. También tenemos el ejemplo de los grandesexperimentos de la física de partículas, como el LHC. Algoritmos automatizadosanalizan los miles de millones de eventos por segundo que se presentan en elcolisionador para encontrar eventos que sean relevantes físicamente. Un ultimoejemplo que ha tomado mucha fuerza recientemente es toda el área de la biologíacomputacional, donde el procesamiento de datos genéticos y metabólicos puedetomar del orden de meses.

En las aplicaciones fuera del contexto científico, el crecimiento se ha impulsadoprincipalmente por que los negocios se hacen mas grandes y las tecnologíashan permitido que cada vez se obtengan y procesen mas datos de los usuarios.Especialmente después de la rápida adopción de tecnologías móviles muchasaplicaciones antes (reconocimiento del habla, reconocimiento de imágenes, apli-caciones basadas en localización) poco viables se han podido implementar. Lainfraestructura computacional del mundo ha crecido al punto de que la humanidaden los últimos años ha creado mas datos que en toda su historia combinada. Esclave también el crecimiento que ha tenido la aplicación de Machine Learning a lasorganizaciones, principalmente debido a su flexibilidad. Podemos usar algoritmossimilares para reconocer texto y para realizar estudios de crédito por ejemplo.

Los requerimientos de volumen, tiempo y procesamiento han colocado nuevosretos para todas las áreas envueltas en Big data. Se ha hecho necesario cambiar losesquemas de almacenamiento de datos, asi como los esquemas de procesamientohan tendido hacia la computación en paralelo. Para Machine Learning ha sidonecesario idear nuevos algoritmos que no procesan todos los daos a la vez, puesrápidamente la cantidad de datos torna los algoritmos ineficientes.

Todos estos problemas han impulsado la búsqueda de nuevos paradigmas compu-tacionales, que permitan una mejora sobre los computadores convencionales.Computadores con mayor capacidad de procesamiento y memoria son necesariossi queremos aprovechar almáximo los datos. Respecto a lo anterior, la computacióncuántica podría ser el siguiente paso tecnológico que necesitamos. Computado-res cuánticos permiten bajo ciertas circunstancias almacenar y procesar grandesvolúmenes de datos, en tiempos exponencialmente menores a los que tomaríacualquier computador clásico. Mas sobre esto en el capitulo 3.

Page 32: Machine Learning Cuántico - Uniandes
Page 33: Machine Learning Cuántico - Uniandes

19

2Kernels y Support Vector Machines

Con el objetivo de clasificar nuevos datos es necesario desarrollar matemática-mente una noción de similaridad. Supongamos que queremos implementar unalgoritmo para clasificar animales, y que ya tenemos definidas ciertas clases

Y = mami f eros, peces, aves....

Debemos tener en cuenta que al llegar algún nuevo dato x de un animal, estesea cercano a los que son de su misma clase, es decir, si el animal tiene alas, concerteza esperaremos que este mas cerca al resto de datos de aves que de los otrosgrupos. Con base a esta observación, deseamos representar los datos en algúnespacio con una medida de distancia apropiada entre los datos de tal maneraque datos de la misma clase tengan menor distancia entre ellos que datos deotra clase. Una forma de lograr esto es mapear los datos x ∈ X a puntos x ∈ Hen espacios de Hilbert donde caracterizamos la similitud entre datos como elproducto interno de sus respectivos vectores

similitud(x, x′)→⟨

x, x′⟩H . (2.1)

Esta función de similitud, que equivale a un producto interno en un espacio vecto-rial, tiene una serie de propiedades interesantes. En la literatura son llamados

Page 34: Machine Learning Cuántico - Uniandes

20 Capítulo 2. Kernels y Support Vector Machines

kernels. En la primera parte de este capitulo vamos a estudiarlos un poco, encon-trando qué tipo de condiciones deben tener para generar un espacio vectorial, asícomo el tipo de espacios que esperamos provengan de kernels.

Con base en esta construcción de similaridad podemos diseñar algoritmos quepermitan la clasificación. Visualizando los datos como nubes de puntos, es posibleestablecer hiperplanos que dividan las clases, tal mencionamos en el capitulo 1.Cuando hablamos de un plano que tiene la máxima distancia a los puntos de lasclases estamos hablando de una maquina de soporte vectorial (Support VectorMachine), o por sus siglas, SVM.

En este capítulo estudiaremos primero las construcciones matemáticas que sonnecesarias para entender los kernels, nos basamos en el capitulo 2 de [8]. Estudia-mos cómo estos proveen una noción de similaridad y cómo constituyen productosinternos en espacios de Hilbert. La segunda parte de este capítulo se dedica al es-tudio de Support Vector Machines (basado en [8] capitulo 7, [11]). Dichas maquinasconstituyen un algoritmo robusto para la clasificación de los datos. También vamosa encontrar cómo el concepto de kernel encaja naturalmente en la construcciónde SVMs, lo cual permite aumentar la flexibilidad del algoritmo.

2.1. Kernels

Consideramos una medida de similaridad como la siguiente

k : X ×X → R

(x, x′) 7→ k(x, x′). (2.2)

Llamamos a esta función k, kernel, es simplemente una función que tomandodos elementos del conjunto, asigna un número, idealmente quisiéramos que estafunción defina la similitud o cercanía de los elementos.

Un caso particular de un kernel ocurre cuando los patrones de X pertenecen aun espacio vectorial dotado de un producto interno 〈x, x′〉, recordamos que esteproducto interno genera una noción de longitud para los vectores x a través de lanorma

‖x‖ =√〈x, x′〉. (2.3)

Page 35: Machine Learning Cuántico - Uniandes

2.1. Kernels 21

En esta manera, definimos la distancia entre dos patrones como la longitud delvector diferencia entre estos. Geométricamente, el producto interno calcula elcoseno del ángulo entre los vectores x y x′. Por tanto, con esta construcción,podemos analizar desde un punto de vista geométrico los elementos de X .

Sin embargo, note que la única condición inicial sobre X es que este fuera unconjunto no vació, se quiere entonces una forma de usar esta noción de pro-ducto interno para relacionar datos. Por otro lado, aunque el espacio donde seencuentren los datos soporte un producto interno, podríamos querer encontrarrelaciones no lineales entre los elementos.

2.1.1. Espacio de características

En ambos casos podemos considerar un mapa que lleve los elementos x ∈ Xa otro espacio donde la medida de similaridad pueda ser expresada como unproducto interno.

Φ : X → H

x 7→ x. (2.4)

Ademas, Φ(x) cumple con lo siguiente:

k(x, x′) =⟨Φ(x), Φ(x′)

⟩. (2.5)

Llamamos a H espacio de características (feature space). Lo interesante es quea través de la construcción de este espacio podemos analizar los patrones geo-métricamente. A su vez, la libertad para escoger Φ permite que en ciertos casosun conjunto que originalmente no sea separable por un hiperplano, se torneen un conjunto separable a través de un mapa a espacios de mayor dimensión.En el capítulo 6, analizamos esto con mayor detenimiento. También, un ejemplodetallado puede encontrarse en [11].

Nos interesa estudiar qué tipos de kernel corresponden a productos internos enalgún espacio de características H a través de un mapa Φ. Primero estudiamoscomo a partir de cierto kernel, pueden construirse espacios de características.Para esto, comenzamos con definiciones básicas necesarias para la construcciónde dichos espacios.

Page 36: Machine Learning Cuántico - Uniandes

22 Capítulo 2. Kernels y Support Vector Machines

Definición 2.1. Matriz de Gram Dado cierto kernel k : X 2 → K (con K = C óK = R) y patrones x1, ..., xm ∈ X , la matriz K de tamaño m×m

Kij ≡ k(xi, xj). (2.6)

La anterior es llamada matriz de Gram, o matriz de kernel de k con respecto ax1, ..., xm.

Definición 2.2. Matriz positiva definida una matriz compleja K de tamaño m×mque satisface

∑i,j

cicjKij ≥ 0 (2.7)

para todo ci ∈ C es llamada positiva definida. De igual manera si la matriz essimétrica con entradas en los reales y satisface la ecuación anterior para todoci ∈ R es llamada positiva definida.

Definición 2.3. Kernel positivo definido Sea X un conjunto no vació. Una funciónk : X ×X → C para la cual todo m ∈N y todo x1, .., xm ∈ X generan una matrizde Gram positiva definida es llamada un kernel positivo definido.

Note que la diferencia entre kernel positivo definido y matriz positiva definida esque en el primer caso somos libres de escoger los puntos en los cuales el kernel esevaluado. Para cualquier escogencia el kernel induce una matriz positiva definida.

Un kernel positivo definido implica positividad de la diagonal

k(x, x) ≥ 0 para todo x ∈ X , (2.8)

y simetría

k(x, x′) = k(x′, x). (2.9)

Sin embargo, en el caso de kernel con valores en los reales no es suficiente que laecuación 2.7 se cumpla. Adicionalmente es necesario imponer que el kernel seasimétrico.

Podemos pensar en un kernel como una especie de producto interno generalizado.De hecho, cualquier producto interno es un kernel, aunque la linealidad en losargumentos, propiedad de los productos internos, no se cumple para kernel

Page 37: Machine Learning Cuántico - Uniandes

2.1. Kernels 23

generales. Por otro lado, para kernels también existe una versión de la desigualdadde Cauchy-Schwarz.

Si tenemos un kernel positivo definido k y x1, x2 ∈ X , entonces se cumple

|k(x1, x2)|2 ≤ k(x1, x1)k(x2, x2). (2.10)

2.1.2. Reproducing Kernel Hilbert Spaces

Con lo explicado anteriormente, procedemos a estudiar como son generadosespacios de características a partir de kernels. Partimos entonces de un kernel kdefinido positivo. Definimos un mapa de X al espacio de funciones que llevan deX a R, RX = f : X → R, a través de

Φ : X → RX

x 7→ k(., x). (2.11)

Esto quiere decir que a cada x′ ∈ X asignamos el valor k(x′, x). Esto implica quecada dato se transforma en una función en el dominio X . A partir de este mapeoconstruimos un espacio de características de la siguiente manera

1. Hacemos de la imagen de Φ un espacio vectorial.

2. Definimos un producto interno en este espacio, tal producto satisface k(x, x′) =

〈Φ(x), Φ(x)〉.

El espacio lo definimos considerando funciones

f (.) =m

∑i=1

αik(., xi), (2.12)

que son combinación lineal de los mapasΦ definidos para elementos xi arbitrarios.En consecuencia, definimos el producto punto de la función f y otra funcióng(.) = ∑m′

j=1 β jk(

., x′j)así

〈 f , g〉 ≡m

∑i=1

m′

∑j=1

αiβ jk(

xi, x′j)

. (2.13)

Page 38: Machine Learning Cuántico - Uniandes

24 Capítulo 2. Kernels y Support Vector Machines

Esta construcción es bilineal y simétrica, tiene además todas las característi-cas necesarias para definir un producto interno [8]. Posee además la siguientepropiedad

〈k(., x), f 〉 = f (x), (2.14)

en particular

⟨k(., x), k(., x′)

⟩= k(x, x′), (2.15)

que es equivalente a

⟨Φ(x), Φ(x′)

⟩= k(x, x′). (2.16)

Esta ultima relación demuestra que cualquier kernel positivo definido puede serpensado como un producto punto en algún espacio. Por el momento este es unespacio pre-Hilbert, lo vamos a convertir en un espacio de Hilbert completándoloen la norma inducida por el producto interno ‖ f ‖ =

√〈 f , f 〉, así llegamos a la

noción de Reproducing Kernel Hilbert Space.

Definición 2.4. Reproducing Kernel Hilbert Space (RKHS) Sea X un conjunto novació y H el espacio de Hilbert compuesto por las funciones f que llevan de X aR, f : X → R. H es llamado reproducing kernel hilbert space bajo el productointerno 〈., .〉 y la norma ‖ f ‖ =

√〈 f , f 〉 si existe una función k : X ×X → R que

cumple

1. k tiene la propiedad de reproducción

〈k(., x), f 〉 = f (x) para todo f ∈ H (2.17)

2. k genera H. Esto es, H = span k(., x)|x ∈ H, con X el conjunto que com-pleta X bajo la norma.

2.1.3. Espacio de Mercer

Cada RKHS posee un único k. Sin embargo, un único kernel puede dar lugar aespacios diferentes. Entre todas estas posibilidades de espacios de Hilbert unode los más interesantes es construido a través del kernel de Mercer, donde la

Page 39: Machine Learning Cuántico - Uniandes

2.1. Kernels 25

funciónΦ corresponde a una serie de secuencias, es claro que el espacio generadoes diferente a los RKHS que acabamos de estudiar. A través del mapa de Mercerpodemos analizar la forma de los volúmenes que tienen los datos en dicho espaciode Hilbert.

Comenzamos citando el teorema de Mercer como aparece en [8].

Teorema 2.5. Teorema de Mercer Suponga una función k ∈ L∞(X 2), la cual essimétrica con valores en los reales y es tal que el operador integral

Tk : L2 → L2

(Tk f )(x) ≡∫X

k(x, x′) f (x′)dµ(x′), (2.18)

es positivo definido; es decir, para todo f ∈ L2(X ) tenemos

∫X 2

k(x, x′) f (x) f (x′)dµ(x)dµ(x′) ≥ 0. (2.19)

Ademas, sea ψj ∈ L2(X ) la base ortonormal de autofunciones de Tk asociada conlos autovalores λj > 0 organizados en orden decreciente. Entonces

1. (λj)j ∈ `1.

2. Podemos descomponer k como k(x, x′) = ∑NHj=1 λjψj(x)ψj(x′) para casi toda

tupla (x, x′). NH puede ser un numero natural cualquiera o puede ser infi-nito. Para el último, la serie converge absolutamente y de manera uniformepara casi todo (x, x′). Cuando hablamos de casi todos, nos referimos a todosexcepto los conjuntos de medida 0.

El mapa Φ se encuentra dado por

Φ : X → `NH2

x 7→(√

λjψj(x))

j=1,..,NH. (2.20)

Aunque el anterior espacio de características es infinitamente dimensional, laconvergencia de la serie dada en el teorema de Mercer implica que es posibleaproximar k con precisión arbitraria ε a través de un producto interno en Rn.

Observación. Mapa del kernel de Mercer Si k es un kernel que satisface las con-diciones del teorema 2.5, podemos construir un mapa Φ donde k actúa como unproducto interno,

Page 40: Machine Learning Cuántico - Uniandes

26 Capítulo 2. Kernels y Support Vector Machines

⟨Φ(x), Φ(x′)

⟩= k(x, x′), (2.21)

para casi todo x, x ∈ X . Es más, dado cualquier ε > 0, existe un mapa Φn a unespacio de dimensión finita n ∈N tal que

∣∣k(x, x′)−⟨Φn(x), Φn(x′)

⟩∣∣ < ε, (2.22)

para casi todo x, x ∈ X .

El mapa Φn en cuestión es definido como

Φn : X → Rn

x 7→(√

λ1ψ1(x), · · · ,√

λnψn(x))

. (2.23)

Puede demostrarse que el kernel de Mercer es definido positivo y que ademásexiste una clase de equivalencia entre los espacios RKHS y el espacio `NH

2 , oespacio de Mercer [8]. Ya que es posible construir espacios de Hilbert diferentespara una misma función de kernel k, la única condición es que el producto interno〈·, ·〉H de cierto espacio de Hilbert cumpla

⟨Φ(x), Φ(x′)

⟩H = k(x, x′). (2.24)

Aún más, cualquier espacio construido a partir de este kernel debe cumplir talpropiedad, y por tanto

⟨Φ1(x), Φ1(x′)

⟩H1

=⟨Φ2(x), Φ2(x′)

⟩H2

, (2.25)

donde Φ1 : X → H1 y Φ2 : X → H2 son los mapas que llevan de X a los espaciosde características H1 y H2 respectivamente.

A partir del teorema de Mercer se puede demostrar que mientras que Φ es capazde mapear los datos a un espacio de dimensionalidad infinita, estos datos seencuentran concentrados en una caja para la cual la longitud de los lados decaerápidamente. En otras palabras, el rango de los datos decae a medida que el indicej de la dimensión aumenta. Asumiendo que vale supx∈X λj

∣∣ψj(x)∣∣2 < ∞ para todo

j = 1, · · · , NH, definimos lj como la secuencia

Page 41: Machine Learning Cuántico - Uniandes

2.2. Support Vector Machines 27

lj ≡ supx∈X

λj∣∣ψj(x)

∣∣2. (2.26)

si ahora definimos Ck como

Ck ≡ supj

supx∈X

∣∣ψj(x)∣∣, (2.27)

y este no es infinito, encontramos que vale

lj ≤ λjC2k . (2.28)

Es más, si λj decae mas rápido que∣∣ψj(x)

∣∣2, lj es finito aun cuando Ck no es.Concluimos entonces que los datos generados por el mapa Φ(X ) se encuentranacotados en un paralelepípedo de lado 2

√lj.

2.2. Support Vector Machines

Retomemos el problema de clasificación, supongamos que existe cierto conjuntode datos de entrada (xi, yi) ∈ X × ±1, i ∈ 1, ..., N . Recordemos que los datosen X pueden ser cualquier cosa, sin embargo, es posible asignar un vector en unespacio de características H a través del mapa Φ(x), el cual es simplemente unespacio de Hilbert con un producto interno. Suponemos de ahora en adelante quelos datos ya se encuentran sobre este espacio.

Píctóricamente, esperamos que al colocar los puntos correspondientes a los datosde entrenamiento, sea posible separar el espacio correspondiente a ambas clases,o al menos gran parte de los elementos, con excepción de ciertos outliars. Una delas formas de describir la separación de estas clases es usando un hiperplano. Talcomo se muestra en la figura 2.1.

Podemos escribir un hiperplano en este espacio de la siguiente manera

x ∈ H| 〈w, x〉+ b = 0, w ∈ H, b ∈ R, (2.29)

donde w es el vector normal al hiperplano y b es denominado el margen. Undetalle importante es que si w se encuentra normalizado, 〈w, x〉 es la longitudde x en la dirección de w. Queremos aprovechar la utilidad de esta definición y

Page 42: Machine Learning Cuántico - Uniandes

28 Capítulo 2. Kernels y Support Vector Machines

Figura 2.1: Clasificación con planos, en 2D son lineas. En este casonotamos intuitivamente que el mejor clasificador es la linea roja.

limitar la variedad de posibles valores para w y b que cumplen con 2.29 definiendoun hiperplano canónico.

Definición 2.6. Hiperplano canónico. La tupla (w, b) ∈ H×R es llamada la formacanónica del hiperplano con respecto a x1, ..., xm ∈ H si se cumple lo siguiente

mıni=1,...,m

|〈w, xi〉+ b| = 1, (2.30)

lo cual es equivalente a decir que el punto mas cercano al hiperplano tiene unadistancia de 1/‖w‖

Reformulamos nuestro problema de clasificación en el espacio de característicascomo la búsqueda de un hiperplano que separe efectivamente ambas clases, estehiperplano nos proveerá con una regla de decisión de la forma

fw,b : H → ±1

x 7→ sgn(〈w, x〉+ b). (2.31)

El objetivo es entonces encontrar un hiperplano que clasifique correctamentetodos los datos de prueba (xi, yi), o por lo menos una gran parte de ellos. Estoes, suponiendo que recibimos un conjunto de datos de entrenamiento (xi, yi) ∈H× ±1, queremos encontrar los parámetros de hiperplano que satisfagan

fw,b(xi) = yi, (2.32)

Page 43: Machine Learning Cuántico - Uniandes

2.2. Support Vector Machines 29

Figura 2.2: Conjunto de datos separable linealmente [12]

para todos los datos en el conjunto de prueba. Note que en este caso la distribuciónde los datos en el espacio permite separar todos los puntos perfectamente, estecaso es llamado separable, como en la figura 2.2. Más adelante veremos comotratar con conjuntos para los cuales no sea posible encontrar un hiperplano quedivida perfectamente las clases, en cuyo caso estaremos dispuestos a asumir unerror en la clasificación de los casos de prueba.

En un cierto conjunto de datos separable se cumple

(〈xi, w〉+ b)yi ≥ 1 (2.33)

Para construir un hiperplano que generalice bien debemos resolver el problemade optimización con las siguientes condiciones:

minimizew∈H,b∈R

τ(w) =12‖w‖2. (2.34)

Sujeto a

(〈xi, w〉+ b)yi ≥ 1 para todo i = 1, ..., m. (2.35)

Denominamos esta formulación de optimización el problema de optimización pri-mordial para el clasificador de margen optimo. La primera de condición viene dela idea de hacer el margen b lo mayor posible para lograr una mejor generalización[8].

Page 44: Machine Learning Cuántico - Uniandes

30 Capítulo 2. Kernels y Support Vector Machines

2.2.1. Papel del margen

Vale la pena explicar porque decidimos maximizar el margen del hiperplanoseparador. Comenzamos por definir el margen y vamos a mostrar como esteconlleva a una mejor generalización

Definición 2.7. MargengeométricoDado cierto hiperplano x ∈ H| 〈x, w〉+ b = 0llamamos a

ρ(w,b)(x, y) ≡ y‖w‖ (〈x, w〉+ b) (2.36)

el margen geométrico de la tupla (x, y) ∈ H× ±1. El valor mínimo

ρ(w,b) ≡ mıni=1,...,m

ρ(w,b)(xi, yi) (2.37)

es llamado el margen geométrico del conjunto (x1, y1), ..., (xm, ym), ó simple-mente el margen.

Para un x correctamente clasificado, el margen es la distancia al hiperplano,mientras que si esta incorrectamente clasificado obtenemos el negativo de ladistancia[8]. Note que para el hiperplano canónico el margen es igual a 1/‖w‖,lo cual le da un estatus menos arbitrario a w, más allá de un parámetro deoptimización. Partiendo de esta definición, vamos a justificar por qué buscamosun clasificador que maximice el margen.

Figura 2.3: Un hiperplano de clasificación para la situación en laque todos los datos de prueba son generados con un ruido res-pecto a los datos de entrenamiento, el ruido esta acotado por una

constante R, tomado de [8].

Page 45: Machine Learning Cuántico - Uniandes

2.2. Support Vector Machines 31

Como asumimos que los datos del conjunto de entrenamiento y el test set provie-nen de la misma distribución conjunta, es sensato asumir que los puntos del testset se van a encontrar cercanos a los del conjunto de entrenamiento. Considere-mos por simplicidad, el caso especial en el cual todos los datos de prueba songenerados a partir de un dato de entrenamiento agregando un ruido acotado, esdecir, dado un dato (x, y) del conjunto de entrenamiento. cualquier dato del testset tiene la forma (x + ∆x, y) donde se cumple siempre que ‖∆x‖ ≤ r. A partirde aquí, si inicialmente separamos el conjunto de entrenamiento con un margenρ > r, clasificaremos correctamente cualquier dato de prueba. Esta situaciónpuede apreciarse gráficamente en la figura 2.3.

En una aproximación más técnica al papel del margen, es posible demostrar quepara hiperplanos con b = 0 (De nuevo por simplicidad) se cumple el siguienteteorema, cuya demostración puede encontrar en [8].

Teorema 2.8. Cota del error del margen Considere el conjunto de funciones dedecisión con la forma f (x) = sgn 〈w, x〉 donde acotamos, ‖w‖ ≤ Λ y ‖x‖ ≤ R,λ, R > 0. Sobre esto, denote ρ > 0 y sea ν la fracción de datos del conjunto deentrenamiento conmargenmenor que ρ/‖w‖, llamado también error del margen.

Para toda distribución P que genera los datos, con probabilidad de al menos 1− δ

sobre el muestro de m patrones de prueba, y para cualquier ρ > 0 y δ ∈ (0, 1),la probabilidad de que un dato del test set sea clasificado incorrectamente estaacotada por encima por

ν +

√cm

(R2Λ2

ρ2 ln2 m + ln(1/δ)

), (2.38)

con c una constante universal.

Analicemos con detalle este teorema. Claramente impone una cota sobre unaprobabilidad de clasificación de un dato de prueba, que solo se mantiene concierta probabilidad 1− δ. Esta cota proviene del hecho de que los mismos datosde prueba provienen de la distribución P y la otra probabilidad viene del hecho deque los mismos datos de prueba también provienen de la distribución P. Profun-dizando, el anterior teorema habla sobre un ensamble de clasificadores que sonentrenados con varias instanciaciones de conjuntos de entrenamiento y probadoscon otras tantas instanciaciones de conjuntos de prueba, todos generados bajo lamisma distribución de probabilidad P.

Page 46: Machine Learning Cuántico - Uniandes

32 Capítulo 2. Kernels y Support Vector Machines

Mencionamos ahora algunas consecuencias importantes de este teorema. Primero,el error en la clasificación de un dato de prueba es acotado por la suma del errordel margen ν y un término de capacidad (entre una raíz), el segundo tiende a 0

cuando el número de datos del conjunto de entrenamiento m se hace muy grande,esto indica que un número grande de datos para el conjunto de entrenamientomejora la clasificación del SVM. Sin embargo, otra forma de mantener este términode capacidad pequeño, si consideramos R y Λ fijos desde un inicio es hacer elmargen ρ lo más grande posible. Teniendo en cuenta que cuanto más grande sehaga este margen, mayor es ν. Del mismo modo, un margen pequeño implica unvalor menor para ν. mientras que el valor de la capacidad aumenta. Concluimosentonces que un buen clasificador será aquel que se encuentre alineado de formaque para un ρ grande, existan pocos errores del margen.

Fijamos ahora nuestra atención a la condición ‖w‖ < Λ. Relajando dicha con-dición podemos escribir una nueva cota en función de la dimensionalidad delespacio de Hilbert, pero esto no es necesario y la cota que hemos definido nodepende entonces de la dimensionalidad del espacio donde vivan los datos, locual nos permite considerar datos en espacios de dimensiones arbitrarias, algunosprobablemente infinitos, como es el caso del Kernel Gaussiano, que veremos enel capitulo 6.

2.2.2. Formulación Dual

A partir de la definición primordial de optimización podemos introducir un la-grangiano para encontrar una formulación dual del problema de optimización.Introducimos multiplicadores de Lagrange αi tal que

L(w, b, α) =12‖w‖2 −

m

∑i=1

αi [yi(〈xi, w〉+ b)− 1] , (2.39)

Con αi ≥ 0 y α = (α1, ..., αm). Este langrangiano es maximizado con respecto alos multiplicadores αi y minimizado con respecto a w y b [8]. Por tanto, debemosencontrar un punto de silla para el lagrangiano. Esto indica que deben satisfacerselas siguientes ecuaciones.

∂L∂w

= 0, (2.40)

∂L∂b

= 0, (2.41)

Page 47: Machine Learning Cuántico - Uniandes

2.2. Support Vector Machines 33

que aplicamos sobre 2.39 para obtener

m

∑i=1

αiyi = 0, (2.42)

y

w =m

∑i=1

αiyixi. (2.43)

Definición 2.9. Formulación dual para clasificador de margen optimo A partir delas ecuaciones que hemos impuesto sobre el lagrangiano de la formulación primalencontramos lo siguiente

maximizeα∈Rm

W(α) =m

∑i=1

αi −12

m

∑i,j=1

αiαjyiyj⟨xi, xj

⟩, (2.44)

sujeto a las siguientes condiciones

αi ≥ 0, i = 1, ..., m, (2.45)m

∑i=0

αiyi = 0. (2.46)

Con esta formulación la función de decisión se convierte en

f (x) = sgn

(m

∑i=1

αiyi 〈xi, x〉+ b

)(2.47)

El trasfondo de la formulación dual es que podemos optimizar sobre las variablesαi ya que el mínimo del lagrangiano primordial L minimizando w y b correspondea un máximo paraW optimizando los αi [11].

La introducción de la formulación dual nos trae varias ventajas. La primera esque las restricciones 2.35 se traducen a restricciones sobre los multiplicadoresde lagrange αi, las cuales son mas fáciles de tratar. La segunda es que los datosaparecen solamente en función de los productos internos en el espacio de carac-terísticas, esto quiere decir que podemos reescribir el lagrangiano en términos deuna matriz de kernel de la siguiente manera

W(α) =m

∑i=1

αi −12

m

∑i,j=1

αiyiKijαjyj. (2.48)

Page 48: Machine Learning Cuántico - Uniandes

34 Capítulo 2. Kernels y Support Vector Machines

Figura 2.4: Caso no separable donde tenemos solamente algunosdatos mal clasificados dentro del margen. los valores ξ correspon-

den al slack en el error Tomado de [13].

2.2.3. Margenes suaves

En nuestro desarrollo de SVMs, solo hemos tratado con el caso separable dela clasificación. Es decir, que siempre es posible encontrar un hiperplano demargen optimo que separe ambas clases. Sin embargo, este no es el caso general,considere por ejemplo la figura 2.4 , En este caso, se pueden distinguir ambasclases a excepción de unos pocos outliers en el margen. Claramente, en esteespacio no es posible encontrar un hiperplano que separe correctamente ambosconjuntos de datos.

Sin embargo, podríamos estar dispuestos a aceptar cierto error ξi en la clasificaciónde un dato xi del conjunto de prueba. Esto lo traducimos a la introducción en laformulación primal de variables que permitan cuantificar el error de clasificaciónpara un dato ξi [14]. Queremos minimizar también un funcional del error E de lasiguiente forma

E(xi) =m

∑i=1

ξσi , (2.49)

donde σ es un numero positivo pequeño, contamos con m datos y ξ = (ξ1, ..., ξm).También debemos optimizar L sujeto a las condiciones

(〈xi, w〉+ b)yi ≥ 1,

ξi ≥ 0.(2.50)

Page 49: Machine Learning Cuántico - Uniandes

2.2. Support Vector Machines 35

Con σ pequeño L representa el número de errores de clasificación, Minimizando, esposible encontrar un conjunto de errores de clasificación, el cual es un subconjuntode los datos de entrada, removiendo estos datos de error, el problema se tornaseparable. Incluimos esta condición en el problema de optimización

minimizew∈H,¸∈Rn

τ(w) =12‖w‖2 +

Cm

m

∑i=1

ξσi , (2.51)

sujeto a las condiciones en 2.50. La fracción C/m tiene el papel de un costonormalizado total máximo que queremos asumir sobre los errores, mas adelanteveremos que C limita los valores de ξi.

Sin embargo, el problema de construir un hiperplano que minimice el número deerrores es en general NP-Completo, para evitar las limitaciones que esto conlleva,trabajamos el caso σ = 1, que es el mínimo valor de sigma para el cual el problemano es NP-Completo. En este caso el problema consiste en minimizar la suma delas desviaciones de los datos, contando con un C suficientemente grande [14].

Aplicamos de nuevo la técnica de multiplicadores de lagrange para la nuevafunción objetiva, así encontramos lo siguiente

Le(w, b, α, (e)) =12‖w‖2 + γ

12

m

∑i=1

ei −m

∑i=1

αi [yi(〈xi, w〉+ b)− 1 + ei]−m

∑i=1

riξi.

(2.52)Buscamos el nuevo el punto de silla y encontramos las relaciones

w =m

∑i=1

αiyixi, (2.53)

m

∑i=1

αiyi = 0, (2.54)

0 ≤ αi ≤Cm

. (2.55)

Note como el parámetro C ha limitado el rango de valores que pueden tomar losmultiplicadores, lo anterior nos permite establecer una formulación dual para elclasificador de margen suave

maximizeα∈Rm

Q(α) =m

∑i=1

αi −12

m

∑i,j=1

αiαjyiyj⟨xi, xj

⟩, (2.56)

Page 50: Machine Learning Cuántico - Uniandes

36 Capítulo 2. Kernels y Support Vector Machines

o usando el kernel,

maximizeα∈Rm

Q(α) =m

∑i=1

αi −12

m

∑i,j=1

αiyiKijyjαj. (2.57)

Sujeto a las condiciones 2.54 y 2.55.

Note que la forma funcional del Lagrangiano es esencialmente la misma que en elcaso separable. La diferencia esta en las restricciones sobre los multiplicadores αi,el parámetro C nos permite variar el peso del multiplicador, o mejor, el peso de undato del conjunto de entrenamiento sobre la función de decisión final. Representael trade-off entre minimizar el error de entrenamiento y maximizar el margen. UnC grande implica que preferimos minimizar el error de entrenamiento a costa deun menor margen. A priori no existe forma de seleccionar eficientemente esteparámetro, por ello se han propuesto modelos como el ν-SVM que depende de unparámetro ν, el cual representa la fracción de datos mal clasificados[8].

2.2.4. SVM de mínimos cuadrados

Suykens et al. [15] desarrollan un planteamiento diferente del problema de op-timización para encontrar los parámetros de un SVM, en su propuesta cambianel error lineal cuantificado en las variables de slack ηi por un error cuadrático e2

i

en la clasificación de un dato, tornando esencialmente el problema en uno deregresión.

minimizew∈H,e

τ(w) =12‖w‖2 + γ

12

m

∑i=1

e2i , (2.58)

sujeto a

(〈xi, w〉+ b)yi = 1− ei para todo i = 1, ..., m. (2.59)

En este caso hemos reemplazado la desigualdad por una igualdad, esta condiciónes vital para encontrar una formulación matricial del problema para encontrar elmargen mínimo.

Siguiendo el proceso de la sección anterior definimos el lagrangiano correspon-diente a este problema de optimización de la siguiente forma

Page 51: Machine Learning Cuántico - Uniandes

2.2. Support Vector Machines 37

Le(w, b, α, (e)) =12‖w‖2 + γ

12

m

∑i=1

e2i −

m

∑i=1

αi [yi(〈xi, w〉+ b)− 1 + ei] . (2.60)

Queremos maximizar el anterior lagrangiano para los αi y minimizar para w, b ylos ei, sujeto a las condiciones en 2.59. En este caso también estamos buscandoun punto de silla sobre el cual las condiciones KKT indican

∂Le

∂w= 0→ w =

m

∑i=1

αiyixi,

∂Le

∂b= 0→

m

∑i=1

αiyi = 0,

∂Le

∂ei= 0→ αi = γei,

∂Le

∂αi= 0→ (〈w, x〉+ b)yi = 1− ei.

(2.61)

Escribimos este sistema de ecuaciones en forma matricialI 0 0 −ZT

0 0 0 −YT

0 0 γI −I

Z Y I 0

w

be

α

=

0

0

0

1

, (2.62)

donde Z = (xT1 y1, ..., xT

mym)T , Y = (y1, ..., ym)T , 1 = (1, ..., 1)T , e = (e1, ..., en)T yα = (α1, ..., αn)T . Podemos eliminar de la ecuación matricial e y w usando lasrelaciones en 2.61 para obtener

(0 −YT

Y ZZT + γ−1 I

)(b

α

)=

(0

1

). (2.63)

Es posible escribir la matriz ZZT en función de la matriz de kernel. Escribiendouna de las entradas de ZZT notamos que vale

(ZZT)ij = yiyjKij, (2.64)

lo cual nos permite reescribir la ecuación matricial

F

(b

α

)≡(

0 1T

1 K + γ−1 I

)(b

α

)=

(0

y

). (2.65)

Page 52: Machine Learning Cuántico - Uniandes

38 Capítulo 2. Kernels y Support Vector Machines

Figura 2.5: Ejemplo de la aplicación de una LS/SVM para conjuntosde puntos ubicados en espiral. El kernel usado es gaussiano. No-tese la buena clasificación conseguida. Es evidente que también

presenta buena generalización, tomado de [15].

La anterior forma de la formulación de mínimos cuadrados para el SVM nos seráde gran utilidad para la aplicación de computación cuántica. En principio, elentrenamiento del SVM implica simplemente encontrar la inversa de F pues secumple la ecuación

(b

α

)= F−1

(0

y

). (2.66)

Esta formulación de SVMs implica una mejora en tiempos de procesamiento al serlos algoritmos de programación lineal más rápidos que los de optimización cua-drática. En la formulación inicial hecha por Suykens et al. muestran experimental-mente como el algoritmo tiene un desempeño similar a métodos de programacióncuadrática, como también ilustraron en el ejemplo de la clasificación de puntosen espiral, el cual ilustramos en la figura 2.5.

Sin embargo, la introducción del error cuadrático en la clasificación implica quetodos los datos tienen asociado un αi 6= 0. Recordemos que en el caso conven-cional solo los vectores de soporte tienen asociado un αi 6= 0. Por ende, en elLS-SVM todos los datos se vuelven un Support Vector, claramente aumentandola complejidad del modelo, lo cual implica ua tendencia del algoritmo a haceroverfitting y por otro lado, aumentando en general el tiempo de clasificación de

Page 53: Machine Learning Cuántico - Uniandes

2.2. Support Vector Machines 39

un dato.

La forma matricial de la formulación de SVM que acabamos de ver es idónea parala aplicación con computación cuántica. En el siguiente capitulo explicamos lastécnicas necesarias para aplicar lograrlo y en el capitulo 5 analizamos a fondo eldiseño de la solución.

Page 54: Machine Learning Cuántico - Uniandes
Page 55: Machine Learning Cuántico - Uniandes

41

3Computación Cuántica

En el paradigma actual de la computación, establecemos la representación de losdatos en base a bits, estos son simplemente sistemas que poseen dos estadosdiscernibles, los cuales podemos cambiar a voluntad. Considere por ejemplo unsimple switch de corriente. Este toma los estados prendido o apagado. Tambiénpodríamos numerarlos como los estados 0 y 1, respectivamente. Si juntamos másbits, usando el sistema binario podemos representar muchos más números, dehecho, con n bits podemos representar (“enumerar”) 2n entidades diferentes. Dadacierta convención, prácticamente cualquier entidad puede ser representada através de bits. Claro, teniendo en cuenta que existe cierta precisión basada en elnúmero de bits que usemos para representarlos.

Ahora, cuando hablamos de computación, queremos tomar bits, manipularlos dealguna manera y hacer cálculos con ellos, por ejemplo hacer sumas, divisiones,integrales, cálculos criptográficos, etc. En fin, todo lo que sea posible calcular. Lasoperaciones más simples que podemos efectuar con bits son operaciones lógicas.Entre estas la más sencilla es la negación, la cual toma un bit en cierto estado,suponga 1, y lo transforma en su converso. En este caso 0.

La computación cuántica comienza a gestarse, cuando varios científicos, entreellos David Deutsch notan que la computación como era pensada en ese momento,no se encontraba limitada por las matemáticas que la describían sino por la físicaque la soportaba. En palabras de Deutsch:

Page 56: Machine Learning Cuántico - Uniandes

42 Capítulo 3. Computación Cuántica

La teoría de la computación ha sido estudiada de manera abstracta,como un tema dematemática pura. Esto pierde el punto. Computadoresson objetos físicos, y los cómputos son procesos físicos. Lo que loscomputadores puedan o no computar esta determinado por las leyesde la física solamente y no por matemáticas puras. ([4])

En especial hay dos propiedades de los sistemas cuánticos tremendamente atrac-tivas para procesar información, estas son la superposición y el enredamiento.Con la primera tenemos indirectamente la posibilidad de calcular muchos valoresde una función arbitraria simultáneamente y con la segunda tenemos la capaci-dad de correlacionar datos a grandes distancias sin la necesidad de transmitirinformación directamente. Para aplicaciones de ML nos interesa la superposiciónmientras que enredamiento es la piedra angular de la transmisión cuántica dedatos y la teoría de la información cuántica.

A lo largo de este capitulo estudiaremos las nociones básicas dentro de la mecá-nica cuántica que son necesarias para entender cómo funciona la computacióncuántica, comenzando con una corta motivación de porqué necesitamos compu-tación cuántica en general y porqué especialmente en Machine Learning. Asímismo, estudiaremos los objetos y modelos principales usados en QC y finalmenteestudiaremos una serie de algoritmos cuánticos que necesitaremos para construirSVM cuánticos.

3.1. El porqué de la computación cuántica

Al final del capitulo anterior mencionamos como el creciente volumen de datosexige una búsqueda por computadores mas poderosos y algoritmos más eficientes.La aproximación sobre la cual se han basado los últimos avances en Big Data es elparalelismo. A grandes rasgos, dada una tarea, la partimos en partes más pequeñasy la pasamos a varios computadores para que estos las ejecuten al mismo tiempo,a veces independientemente, otras con cierto nivel de comunicación. De sernecesario, al final se consolidan los datos de todos. Implementaciones actualesposeen módulos independientes dentro de los programas que se encargan derepartir las tareas y recopilar los datos eficientemente. Este acercamiento haresultado satisfactorio, especialmente con la aparición de cloud computing ypor consiguiente la posibilidad de alquilar recursos de procesamiento a preciosasequibles. Sin embargo, queda un sin sabor. El componente celular de toda esta

Page 57: Machine Learning Cuántico - Uniandes

3.2. Qubits 43

infraestructura, el computador, se esta quedando estancado en desarrollo, unoque ha sido empíricamente caracterizado por la ley de Moore, que afirma.

El poder de procesamiento se duplica cada dos años. (Ley de Moore)

Mientras tanto, el volumen de los datos para cualquier problema sigue creciendosin cesar. Es necesario buscar un nuevo paradigma de computación.

Bajo este panorama se introduce la computación cuántica, más adelante veremosque sus capacidades le permiten una especie de paralelismo intrínseco, el cual esclave en muchas de las propuestas de algoritmos cuánticos existentes, como laestimación de fase. Inicialmente como una curiosidad, los algoritmos cuánticoshan comenzado a atacar problemas relevantes y para algunos problemas, seha demostrado que estos son mas eficientes que cualquier algoritmo clásico.Lo anterior, combinado con todas las ventajas de la comunicación a través decanales cuánticos justifica la necesidad de desarrollar activamente la computacióncuántica.

3.2. Qubits

El análogo de los bits clásicos lo llamamos qubit, así como un bit clásico esimplementado con un sistema que puede tener dos estados, típicamente llamados0 y 1. Un qubit es entendido como un sistema cuántico que tiene dos niveles, ennotación braket tenemos un sistema cuántico con estados propios |0〉 y |1〉. Porejemplo el spin de una partícula con spin 1/2, o la polarización de un fotón. Ahora,mientras que para un sistema que permita bit clásicos solo tenemos dos posiblesestados, en un sistema cuántico de dos niveles tenemos infinitos estados, puesun estado arbitrario |ψ〉 puede ser escrito como

|ψ〉 = α |0〉+ β |1〉 . (3.1)

Hemos usado como base del sistema los kets |0〉 y |1〉. Por otro lado α y β sonnúmeros complejos que deben cumplir la condición.

α2 + β2 = 1 (3.2)

Esto significa que un estado cualquiera del sistema de dos niveles puede enten-derse como una superposición de bit lógico 0 y bit lógico 1 a la vez.

Page 58: Machine Learning Cuántico - Uniandes

44 Capítulo 3. Computación Cuántica

En un ejemplo mas practico tomemos la polarización de la luz. Esta puede ser pola-rizada de dos maneras. Si tomamos la polarización vertical, tenemos polarizaciónhacia arriba o hacia abajo, los representamos con la base

|0+〉 , |1+〉 (3.3)

Podemos también tener polarización circular, la cual es representada con la baserotada.

|0×〉 , |1×〉 (3.4)

A su vez, tenemos una relación entre los estados propios de esta base en términosde los estados de la base vertical.

|0×〉 =1√2(|0+〉+ |1+〉),

|1×〉 =1√2(|0+〉 − |1+〉).

(3.5)

Una forma que resulta útil para la visualización de un qubit es la esfera de Bloch,llegamos a esta si escribimos los parámetros α y β en función de otros parámetrosθ y ϕ de la siguiente manera

|ψ〉 = cosθ

2|0〉+ eiϕ sin

θ

2|1〉 . (3.6)

Así, podemos visualizar un qubit cualquiera como un punto en una esfera unitariaen tres dimensiones donde los estados puros se encuentran en los polos. Vamosa encontrar utilidad en la esfera de Bloch cuando hablemos de compuertas de 1qubit, ya que toda posible transformación unitaria se reduce a una rotación en laesfera de Bloch a lo largo de cierto eje. Encontramos la representación visual dela esfera en la figura 3.1.

Esmomento de analizar que ocurre con ensambles de Qubits. Similar a como ocurrecon bits, donde construimos registros de mayor capacidad juntandolos, con qubits,podemos construir registros mas grandes tomando el producto tensorial de variosqubits. Es decir,si tenemos estados |q1〉 , |q2〉 , · · · , |qt〉, cada uno correspondientea un qubit, construimos el estado

Page 59: Machine Learning Cuántico - Uniandes

3.2. Qubits 45

Figura 3.1: Esfera de Bloch. Tomado de https://en.wikipedia.

org/wiki/File:Bloch_Sphere.svg

|q1, q2, · · · , qt〉 = |q1〉 ⊗ |q2〉 ⊗ · · · ⊗ |qt〉 . (3.7)

Considere un registro con t = 2. En este caso para describir el sistema completa-mente necesitamos cuatro variables ya que escribimos el producto tensorial dedos qubit en forma general como

|q1, q2〉 = (α |0〉+ β |1〉)⊗ (γ |0〉+ η |1〉)

= αγ |00〉+ αη |01〉+ βγ |10〉+ βη |11〉

= c00 |00〉+ c01 |01〉+ c10 |10〉+ c11 |11〉 , (3.8)

donde los coeficientes cij deben cumplir la condición de normalización

∑i,j

=∣∣cij∣∣2 = 1. (3.9)

Resulta entonces que dados t qubits construimos una base de 2t elementos quepodemos colocar en superposición. Esto es claramente una mejora sobre losregistros de bits convencionales donde solo es posible considerar un estadodel registro a la vez. Esta propiedad es conocida como la superposición de lossistemas cuánticos. De la cual los algoritmos cuánticos se basan en gran partepues como veremos más adelante, la construcción de este tipo de estados permite

Page 60: Machine Learning Cuántico - Uniandes

46 Capítulo 3. Computación Cuántica

mejoras exponenciales en tiempo de procesamiento para la resolución de ciertosproblemas.

3.3. Superposición

Retomemos el último tema de la anterior sección, la superposición. La técnicamas popular para aprovechar estos estados es considerar un operador U f queactúa sobre un estado |x, 0〉 de la siguiente manera

U f |x, 0〉 = |x, f (x)〉 , (3.10)

con f : R→ R una función sobre los reales, no obstante, pueden idearse otrasformas de construir operadores para representar funciones en espacios diferentes.Ahora, si consideramos los x como elementos de un conjunto discreto (lo cualtiene sentido ya que estamos utilizando registros de qubits) podemos aplicar U f

a un estado |X, 0〉 = ∑ |x, 0〉 y obtener

U f |X, 0〉 = ∑x|x, f (x)〉 . (3.11)

En principio el anterior procedimiento nos permite evaluar la función f en todoslos puntos x del conjunto a la vez. Sin embargo esta visión es incorrecta y porende debemos analizar con más detalle qué es lo que en realidad nos permite lasuperposición.

Primero, en el acto de la medición solo obtenemos información de uno de losestados |x, f (x)〉 y necesariamente el sistema debe colapsar a este estado, lo cualimplica que hemos perdido la superposición. Es más, para obtener los resultadospara todos los x es necesario generar la superposición y aplicar el operador tantasveces como existan x en lo mínimo. Lo cual es un desempeño que en general va aser peor que el de un algoritmo clásico simple.

Segundo, note que el estado |X, 0〉 es simplemente un único estado dentro de unespacio de hilbert gigantesco. Esta probado que existen ciertos estados que nopueden ser aproximados eficientemente por ningún algoritmo cuántico [3]. Estacondición impone una restricción sobre los estados que pueden ser construidos.Es decir, no podemos construir cualquier superposición arbitaria.

Page 61: Machine Learning Cuántico - Uniandes

3.4. Operaciones con Qubits 47

A partir de lo anterior tiene sentido preguntarse: ¿en que tipo de situacioneses apropiado usar superposiciones y para que sirven?. Aunque es en general untema abierto bajo fuerte investigación, típicamente existen dos acercamientosprincipales a la superposición [3], estos son

Ampliación de amplitudesEn esta aplicación nos interesa solamente un x en particular, ini-cialmente desconocido. El algoritmo opera U f sobre el estado yluego se realiza un proceso en el cual se magnifica la probabilidadpara el estado |x, 0〉 de interés. Esto con el fin de tener una altaprobabilidad de obtenerlo en la fase de medición.

Generación de estadísticasEstas aplicaciones surgen cuando se quiere comprobar una propie-dad global de la función f como por ejemplo el valor esperado decierto operador A, que calculamos a través de 〈X, f (X)|A|X, f (X)〉.

3.4. Operaciones con Qubits

Ahora que hemos visto qué es un qubit, nos gustaría saber qué se puede hacercon ellos, y especialmente, qué ventajas tiene el procesamiento con qubits sobreel procesamiento con bits clásicos. A continuación tratamos estos temas.

La mecánica cuántica dicta dos clases de operaciones generales que podemosefectuar sobre un sistema cuántico: La primera clase consiste en evolucionesunitarias y la segunda son mediciones. Estas generan un modelo de computacióncuántica, donde entendemos que la computación cuántica consiste en transformardinámicamente el estado de un sistema cuántico a un estado donde podamosrealizar mediciones que generen las respuestas esperadas.

Sin embargo, debemos tener en cuenta que la mecánica cuántica establece ciertasreglas sobre las posibles transformaciones y mediciones que podemos realizar.Vamos a describir las operaciones permitidas comenzando por el caso mas simple,un solo qubit. Luego, generalizaremos para ensambles de qubits.

3.4.1. Un solo qubit

Una transformación sobre un qubit es una transformación lineal sobre los ele-mentos de la base (|0〉 , |1〉) que preserva la norma definida en 3.2. Esto indica

Page 62: Machine Learning Cuántico - Uniandes

48 Capítulo 3. Computación Cuántica

que las transformaciones son descritas por matrices unitarias 2× 2. Entre las masimportantes encontramos las siguientes

X =

(0 1

1 0

)Y =

(0 −ii 0

)Z =

(1 0

0 −1

). (3.12)

Conocidas como las matrices de Pauli, que son generadoras de rotaciones delespacio SU(2), ya que al definir los operadores Rx(θ), Ry(θ) y Rz(θ) como

Rx(θ) ≡ e−iθX/2 = cosθ

2I − i sin

θ

2X =

(cos θ

2 −i sin θ2

−i sin θ2 cos θ

2

)

Ry(θ) ≡ e−iθY/2 = cosθ

2I − i sin

θ

2Y =

(cos θ

2 − sin θ2

sin θ2 cos θ

2

)

Rz(θ) ≡ e−iθZ/2 = cosθ

2I − i sin

θ

2Z =

(e−iθ/2 0

0 eiθ/2

),

(3.13)

al representar un estado en la esfera de Bloch, estos estados rotan los vectoresen un angulo θ respecto a los planos x, y o z. Usando esta construcción, definimosuna rotación arbitraria alrededores de un eje n = (nx, ny, nz) (vector unitario), Rn

Rn(θ) ≡ e−iθn·σ = cosθ

2I − i sin

θ

2(nxX + nyY + nzZ). (3.14)

Hemos definido σ como el “vector” de matrices σ = (X, Y, Z). A partir de estasrotaciones generales escribimos cualquier transformación unitaria U sobre unqubit como

U = eiαRn(θ), (3.15)

con α, θ y n apropiados que fijan la transformación.

Bajo la imagen de un qubit como un vector en la espera de Bloch estos operadoresgeneran las rotaciones sobre el eje n. Otra compuerta muy importante y proba-blemente una de las más aplicadas en computación cuántica es la compuerta deHadamard, su matriz asociada tiene la siguiente forma

Page 63: Machine Learning Cuántico - Uniandes

3.4. Operaciones con Qubits 49

H =1√2

(1 1

−1 1

). (3.16)

Generalmente la usamos para generar una superposición equilibrada en un qubit,dado que el efecto sobre la base es el siguiente:

H |0〉 = 1√2(|0〉+ |1〉)

H |1〉 = 1√2(|0〉 − |1〉). (3.17)

Otras compuertas muy importantes son S y T

S =

(1 0

0 i

)T =

(1 0

0 eiπ/4

). (3.18)

Tomamos prestada la notación de circuitos eléctricos clásicos. Todas estas opera-ciones descritas anteriormente pueden modelarse como cajas, mejor llamadascompuertas, a las cuales entra un estado que modelamos como una linea, y saleotro estado, que modelamos con otra linea. Por ejemplo, en la figura 3.2 tenemos larepresentación de las compuertas para un qubit básicas, la entrada se encuentraa la izquierda y la salida a la derecha. Naturalmente, para todas las compuertasde un qubit tenemos solamente una linea de entrada y una de salida.

X

Y

Z

H

T

Rn(θ)

Figura 3.2: Representación de circuitos para algunas compuertasde un qubit.

Page 64: Machine Learning Cuántico - Uniandes

50 Capítulo 3. Computación Cuántica

3.4.2. Múltiples qubits

Sabiendo que podemos componer registros de qubits. Construimos también ope-radores (compuertas) que actúan sobre dos o más qubits y de igual maneradevuelven dos o más qubits. Un diagrama que representa la anterior situación seencuentra en la figura 3.3.

U

Figura 3.3: Compuerta para dos qubits.

Por otro lado, existen ciertas compuertas (operadores) que dada una entradaafecten solo ciertos qubits, en estos casos tenemos un operador que actúa sobrecierta parte del producto tensorial de varios registros. Considere el espacio deHilbert compuesto H = H1 ⊗ H2, de donde muestreamos un estado |Ψ〉 =

|x〉1 ⊗ |y〉2, inicialmente no enredado. Considere además operadores U1 y U2 queactúan sobre H1 y H2 respectivamente. Considere las siguientes operaciones

U1 |Ψ〉 = (U1 |x〉1)⊗ |y〉2U1 |Ψ〉 = |x〉1 ⊗ (U2 |y〉2)

U2 ⊗U1 |Ψ〉 = (U1 |x〉1)⊗ (U2 |y〉2). (3.19)

La figura 3.4 describe el primer caso en notación de circuitos.

|x1〉

U1

|x′1〉

|x2〉 |x′2〉

|x3〉 |x′3〉

|y1〉 |y1〉

|y2〉 |y2〉Figura 3.4: Compuerta que solo actúa sobre el primer de dos regis-tros. Aquí tenemos |Ψ〉 = |x〉 ⊗ |y〉. Por otro lado, |x〉 es un registro

de tres qubits y |y〉 uno de dos.

3.4.3. Operaciones controladas

Uno de los ingredientes principales dentro de la computación clásica es la nociónde control. Si la condición P se cumple, ejecute la acción A. Bajo el contexto de

Page 65: Machine Learning Cuántico - Uniandes

3.4. Operaciones con Qubits 51

qubits la compuerta más simple que implementa control es llamada controlled-NOT o CNOT. Esta opera sobre dos qubits, el primero es llamado control |c〉 y elsegundo target |t〉. La acción de la compuerta en la base computacional es lasiguiente. Si el qubit control se encuentra en |0〉, no se hace nada con el target, perosi se encuentra en |1〉, el target es invertido. La matriz que describe la compuertaes

1 0 0 0

0 1 0 0

0 0 0 1

0 0 1 0

. (3.20)

La correspondiente representación en notación de circuitos se encuentra enla figura 3.5. Note que el efecto de la compuerta sobre un registro |q1, q2〉 es|q1, q1 ⊕ q2〉, donde ⊕ denota la operación binaria XOR.

|q1〉 • |q1〉

|q2〉 |q1 ⊕ q2〉

Figura 3.5: Compuerta CNOT

Generalizamos el concepto con la introducción de operaciones U controladas(controlled-U, también denotada c−U,C(U) ó Uc), donde tenemos un qubit con-trol y uno o más qubits target. Cuando el control se encuentra en el estado |0〉, nose realiza ninguna acción sobre los qubits del target. Pero cuando se encuentraen |1〉 se aplica U sobre estos, en notación de kets

|c〉 |t〉 → |c〉Uc |t〉 , (3.21)

donde Uc denota el carácter dependiente en |c〉 de la aplicación de U. Igualmente,la notación en diagrama de circuitos se encuentra en la figura 3.6. Como notaciónadicional, una linea con un ’/’ atravesado significa un conjunto, ó bundle, de bitsde entrada

|c〉 • |c〉

|t〉 / Uc / Uc |t〉

Figura 3.6: Control para alguna compuerta U arbitraria

Page 66: Machine Learning Cuántico - Uniandes

52 Capítulo 3. Computación Cuántica

Naturalmente, también pueden construirse compuertas con varios controles almismo tiempo. Intuitivamente, son varias condiciones cumpliéndose a la vez. Unejemplo con 3 qubits de control se muestra en la figura 3.7

|c1〉 • |c1〉

|c2〉 • |c2〉

|c3〉 • |c3〉

|t〉 / Uci / Uc |t〉

Figura 3.7: Control para alguna compuerta Uci arbitraria

3.4.4. Mediciones

Hemos descrito formas de preparar y modificar el estado interno de los sistemascuánticos pero no hemos mencionado como acceder a la información, esto esespecialmente relevante en el ámbito cuántico pues jamás durante un experimen-to se tiene total acceso al estado cuántico. La única información extraíble sonresultados de mediciones que efectuamos sobre el sistema. Cuantitativamente,un aparato de medición esta descrito por cierto operador A hermítico para el cualsus autovalores corresponden a los posibles valores que pueden obtenerse en lamedición.

A |ai〉 = ai |ai〉 , (3.22)

Supusimos que A posee un espectro no degenerado y finito. Los estados |ai〉corresponden a la base de A. En esta descomposición un estado cualquiera |ψ〉(normalizado) se escribe como

|Ψ〉 = ∑i

αi |ai〉 . (3.23)

Con lo anterior, al pasar el sistema cuántico por un aparato de medición la proba-bilidad de obtener como resultado ai, P(ai), está dada por

P(ai) = |〈ai|ψ〉|2 = |αi|2. (3.24)

Después de la medición, el estado colapsa a |ψ′〉, con

Page 67: Machine Learning Cuántico - Uniandes

3.5. Un computador cuántico universal 53

∣∣ψ′⟩ = |ai〉 . (3.25)

La información contenida en las otras amplitudes se ha perdido. Este hecho nopuede ser tomado a la ligera, los algoritmos cuánticos deben ser diseñados de talmanera que se pueda aprovechar al máximo las mediciones y que obtengamoscon alta probabilidad los estados que nos interesan. Por otro lado, este principiotambién ha abierto el camino a propuestas para hacer criptografía cuántica, espe-cialmente intercambios de llave segura, como lo mostraron Bennett y Brassard[16]. Ellos, se basaron en el hecho de que transmitiendo información cuántica, enprincipio un atacante no puede ver los contenidos, ya que colapsa los estadosdejando la posibilidad de ser detectado.

Respecto a computación cuántica, típicamente se mide en la base computacional,es decir la base descrita por los kets |0〉 , |1〉, aunque algunas veces tambiénexisten aplicaciones que miden en la base de Bell. La medición tiene también surepresentación en notación de circuitos, puede verla en la figura 3.8.

Figura 3.8: Representación de circuitos para una medición

3.5. Un computador cuántico universal

El modelo de circuitos cuánticos que hemos esbozado nos permite argumentarsobre la construcción de un computador cuántico universal, que tenga al menoslas mismas capacidades que un computador clásico. Para entender como estecomputador es teóricamente posible debemos describir los conceptos de el con-junto universal de compuertas de aproximación, el modelo de circuitos cuánticosestándar y computación clásica reversible, profundizamos a continuación.

Primero, el conjunto universal de compuertas de aproximación nos indica quees posible simular eficientemente cualquier operador arbitrario U por medio deun conjunto de compuertas finito de compuertas de dos niveles, la cuales soncompuertas que actúan de manera no trivial sobre dos o menos componentesde los estados cuánticos. Es más, el modelo de circuitos cuántico nos dice que elconjunto de las compuertas de operaciones sobre un bit junto con la compuertaCNOT son un conjunto universal, es decir que a partir de estas podemos construircualquier operador arbitrario U, de la misma manera como las compuertas NAND

Page 68: Machine Learning Cuántico - Uniandes

54 Capítulo 3. Computación Cuántica

son usadas para construir cualquier operación en computación clásica, los detallespueden ser consultados en [3] y [17].

Segundo, recordando la limitación de que en computación cuántica toda operaciónesta descrita por matrices hermíticas que conservan la norma, lo cual implicaque dicha operación es reversible. Se puede demostrar que en computaciónclásica también puede implementarse eficientemente un esquema de compuertasreversibles (a través de compuertas de Toffoli) que permiten simular cualquieroperación, esto permite simular el circuito clásico con uno cuántico y demostrarque ambos modelos de computación son equivalentes en este sentido [3].

En conclusión, encontramos que la computación cuántica es al menos tan pode-rosa como su contraparte de bits deterministas. No obstante, como ya venimosintuyendo, vamos a encontrar algoritmos que solo son posibles bajo el esquemacuántico.

3.6. Algoritmos cuánticos

A partir de nuestra formulación del modelo de circuitos cuánticos, podemos comen-zar a combinar diferentes componentes para lograr aplicaciones mas poderosas einteresantes. Aunque las posibilidades son muchas, en este trabajo nos vamos aconcentrar solamente en aquellas que nos permiten la construcción de un SVMcuántico.

3.6.1. Transformada de Fourier cuántica

La estimación de fase es el ingrediente principal en el entrenamiento de QSVMsa través de la matriz de kernel K, este procedimiento permite encontrar unadescomposición de un operador en su base de autovectores [5]. El algoritmopara estimación de fase es construido por medio del calculo de la transformadade Fourier cuántica (QFT), la cual es simplemente una versión cuántica de latransformada de Fourier discreta (DFT). Aunque QFT no genera una mejora endesempeño por si misma, aplicada a la estimación de fase consigue las mejorassuperpolinómicas [5].

Recordemos que la transformada de Fourier discreta toma un vector (N fijo)

~x = (x0, x1, ..., xN−1), (3.26)

Page 69: Machine Learning Cuántico - Uniandes

3.6. Algoritmos cuánticos 55

con entradas en los números complejos, y genera un vector

~y = (y0, y1, ..., yN−1), (3.27)

cada entrada se encuentra definida por

yk =1√N

N−1

∑j=0

xje2πijk/N . (3.28)

Ahora, la transformada de Fourier cuántica es básicamente la misma transforma-ción, en este caso aplicada sobre los estados de una base ortonormal |0〉 , |1〉 , ..., |N − 1〉,la transformación se efectúa de la siguiente manera

|k〉 7→ 1√N

N−1

∑j=0

e2πijk/N |j〉 . (3.29)

Sobre un estado arbitrario |ψ〉 la transformación es

N−1

∑k=0

xk |k〉 7→N−1

∑j=0

yj |j〉 , (3.30)

donde podemos ver que los yk son los mismos definidos en la transformada deFourier discreta.

La transformada de Fourier cuántica posee otra representación mas útil parasu implementación. Para generarla adoptamos las siguientes convenciones: Pri-mero N = 2n, con n entero. También escribimos el estado |k〉 en base binaria|k1k2...kn〉 con k = k12n−1 + k22n−2 + ... + kn20, escribimos a su vez 0.klkl+1...km

para representar kl/2 + kl+1/22 + ... + km/2m−l+1. De esta manera

|k1...kn〉 =1

2n/2

(|0〉+ e2πi0.kn |1〉

)(|0〉+ e2πi0.kn−1kn |1〉

)...(|0〉+ e2πi0.k1k2...kn |1〉

).

(3.31)

3.6.2. Estimación de fase

Ahora, nos encontramos en condición de discutir uno de los algoritmos masinteresantes dentro de la computación cuántica: La estimación de fase.

Page 70: Machine Learning Cuántico - Uniandes

56 Capítulo 3. Computación Cuántica

Para entender los principios detrás de este algoritmo, consideremos el siguienteejemplo de juguete. Suponga que contamos con dos bases

|j〉Q

, |k〉P de cierto

espacio de Hilbert H1 de dimensión N. Pasamos de una base a otra a través deuna transformada de Fourier

|j〉Q =1√N

N−1

∑k=0

e−i2π jk/N |k〉P , (3.32)

|k〉P =1√N

N−1

∑j=0

ei2πkj/N |j〉Q . (3.33)

Supongamos ademas que estas bases corresponden a los vectores propios de dosoperadores Q y P con los siguientes valores propios

Q |j〉Q = j |j〉Q , (3.34)

P |k〉P = k |k〉P , (3.35)

El planteamiento de la estimación de fase es muy simple. Suponga un operadorU que actúa sobre estados en un espacio de Hilbert H2 con autovectores |uj〉 yvalores propios que podemos escribir como ϕj.

A partir de este podemos también construir el operador e2πiUQ/N que actúa so-bre el espacio H1 ⊗H2, lo aplicamos sobre un estado particular |j〉Q |uj〉, asíobtenemos

e2πiUQ/N |j〉Q |uj〉 = ei2πϕj/N |j〉Q |uj〉

= ei2πϕj/N

(1√N

N−1

∑k=0

e−i2π jk/N |k〉P

)|uj〉

=1√N

N−1

∑k=0

ei2π j(ϕ−k)/N |k〉P |uj〉 . (3.36)

En este ultimo paso hemos efectuado la transformada de Fourier del primerregistro, expresando |j〉Q en función de los vectores |k〉Q de la base conjugada.Ahora, para el caso que ϕ sea algún autovalor de P, digamos k′, la aplicación deloperador simplemente correspondió a

Page 71: Machine Learning Cuántico - Uniandes

3.6. Algoritmos cuánticos 57

Figura 3.9: Circuito cuántico para realizar la estimación de fase.Tomado de [4].

ei2πUQ/N |j〉Q |uj〉 = |ϕ〉P |uj〉 . (3.37)

Es decir, que el estado del primer registro colapsa a un estado que correspondea un estimador para ϕ, solo hace falta entonces realizar una medición de dichoregistro en la base de P.

Para expresar el anterior proceso en términos de qubits y compuertas son necesa-rias dos operaciones externas para la implementación del algoritmo. En primerlugar, debe ser posible preparar el estado |u〉 eficientemente. La segunda condiciónes que sea posible realizar la operación C(U2k

) ≡ controlled-U2k con k un numeronatural arbitrario. Para nuestros propósitos consideramos estas operaciones comouna caja negra.

Usando un oráculo, inicializamos un estado de la siguiente manera

|Ψ〉 = |0〉⊗t |u〉 (3.38)

Consideramos este estado como compuesto de dos registros, el primero es inicia-lizado con t qubits en el estado |0〉, donde la elección de t depende de cuantascifras significativas queremos para la fase así como de la precisión buscada. Porotro lado, el segundo registro contiene |u〉 y contiene tantos qubits como seannecesarios para representar |u〉[4].

La primera parte del algoritmo consiste en la aplicación del circuito de la figura 3.9.Primero todos los qubits del primer registro pasan por compuertas de Hadamard,lo cual transforma cada qubit en la superposición equiprobable de los estados

Page 72: Machine Learning Cuántico - Uniandes

58 Capítulo 3. Computación Cuántica

de la base computacional. Luego de ello, a cada bit se aplica C(U2k), cada uno

con diferentes valores de k. Por ejemplo, para el primer qubit del primer registrodespués de aplicar la compuerta de Hadamard obtenemos

|0〉1 7→ |ψ〉1 ≡1√2(|0〉+ |1〉). (3.39)

Después, aplicamosC(U2t−1) sobre el subsistema |ψ〉1 |u〉, explícitamente tenemos

C(U2t−1)(|ψ〉1 |u〉) = C(U2t−1

)

(1√2(|0〉+ |1〉)⊗ |u〉

)=

1√2

(|0〉 ⊗ |u〉+ |1〉 ⊗U2t−1 |u〉

)=

1√2

(|0〉 ⊗ |u〉+ |1〉 ⊗ e2πi(2t−1 ϕ) |u〉

)=

1√2

(|0〉+ e2πi(2t−1 ϕ) |1〉

)⊗ |u〉 . (3.40)

Esto implica que después de aplicar el circuito, el registro |t〉 se encuentra en elestado

12t/2

(|0〉+ e2πi(2t−1 ϕ) |1〉

)(|0〉+ e2πi(2t−2 ϕ) |1〉

)...(|0〉+ e2πi(20 ϕ) |1〉

), (3.41)

la cual también puede ser escrita como

12t/2

(|0〉+ e2πi0.ϕt |1〉

)(|0〉+ e2πi0.ϕt−1 ϕt |1〉

)...(|0〉+ e2πi0.ϕ1 ϕ2...ϕt |1〉

). (3.42)

El siguiente paso de la estimación de fase es aplicar la transformada de Fourierinversa al registro |t〉. Es fácil ver cual sera el resultado de esta operación sicomparamos con la ecuación 3.31. Aplicar la transformada inversa devolverá elestado

|ϕ〉 ≡ |ϕ1〉 ⊗ ...⊗ |ϕt〉 = |ϕ1...ϕt〉 , (3.43)

Lo único que queda por realizar es realizar una medición en la base computacionalpara obtener el estimado de la fase.

Page 73: Machine Learning Cuántico - Uniandes

3.6. Algoritmos cuánticos 59

3.6.3. Auto análisis de estados

El autoanálisis de estados cuánticos permite implementar el operador unitarioe−iρt a alguna matriz de densidad σ, esto indica que el propio estado ρ puedetrabajar como un Hamiltoniano sobre otros estados [18]. Para ello, se utilizanmúltiples copias de ρ. Supongamos entonces que poseemos n copias de dichoestado. Podemos entonces efectuar la siguiente operación sobre una matriz dedensidad σ arbitraria

e−iS∆tρ⊗ σeiS∆t. (3.44)

La traza parcial con respecto al primer sistema nos permite obtener

TrP

e−iS∆tρ⊗ σeiS∆t

= σ− i∆t[ρ, σ] + O(∆t2), (3.45)

donde S es el operador SWAP definido como

S = ∑m,n|n〉 〈m| ⊗ |m〉 〈n| . (3.46)

La ecuación en 3.45 es la operación a implementar en el computador cuántico.Consiste en la preparación de un estado ρ que denominamos de estado de am-biente, y un estado σ. Luego, al sistema ambiente-estado se aplica el operadorswap. Finalmente es descartado el estado de ambiente (traza parcial)[1].

Al ser S dispersa, la exponenciación puede lograrse eficientemente por medio deotras técnicas [19]. Ahora, si contamos con n copias de ρ podemos construir

e−iρn∆tσeiρn∆t. (3.47)

Si queremos obtener la exponencial e−iFt con una precisión ε debemos repetir elprocedimiento de autoanálisis n = O(t2/ε) veces [20].

El mayor atractivo y principal ventaja de este método de exponenciación, seencuentra en la posibilidad de aplicarlo sobre operadores cuya representaciónmatricial sea poco dispersa. Lo cual es necesario para procesar matrices de kernel,que en general son densas.

Esta técnica permite una gran numero de aplicaciones, entre las cuales se encuen-tran la resolución de sistemas de ecuaciones lineales[5] y Kernel PCA [21].

Page 74: Machine Learning Cuántico - Uniandes

60 Capítulo 3. Computación Cuántica

3.6.4. Simulación de exponenciales de matrices

Para nuestros fines, la aplicación más importante del auto análisis es la expo-nenciación de matrices arbitrarias, queremos construir e−iXt tal que X es pocodisperso y la suma de sus valores propios es 1. Podemos escribir este operadorcomo X = A† A donde definimos A como

A =1√d

d

∑i=0|ai〉 〈ei| , (3.48)

donde los estados |ai〉 están normalizados a la unidad y los estados |ei〉 formanuna base ortonormal. Ahora, de ser posible la preparación de un estado |χ〉 ≡

1√d ∑d

i=0 |ai〉 〈ei|, la matriz de densidad que representa el primer registro es lasiguiente

Tr2 |χ〉 〈χ| =1d

d

∑ij〈ai|aj〉 |ei〉 〈ej| = X. (3.49)

En este momento ya podemos aplicar los métodos de la sección anterior al inter-pretar X como ρ. n = O(t2/ε) copias de X nos permitirán construir el operadore−iXt en un tiempo O(d log d), con d la dimensión de X [20].

3.6.5. Resolución de sistemas de ecuaciones lineales

La exponenciación de matrices nos permite desarrollar un algoritmo cuánticopara resolver ecuaciones lineales, que en el fondo se trata de la inversión de unamatriz, que en el fondo es simplemente la descomposición de un estado en labase de vectores propios, que en el fondo...es realizar estimación de fase. Vamosa estudiar el algoritmo en detalle.

Recordemos que el problema de la resolución de sistemas de ecuaciones se puedeescribir en términos de matrices, considere la ecuación matricial

Ax = b. (3.50)

Generalmente, en esta ecuación A y b son conocidos y queremos determinar x.Para comenzar, contamos con un operador A que representa alguna matriz A. Porsimplicidad, vamos a suponer que esta es una matriz hermítica de dimensión m.

Page 75: Machine Learning Cuántico - Uniandes

3.6. Algoritmos cuánticos 61

También contamos con un estado |b〉, el cual representa el vector b = (b1, · · · , bm),lo escribimos como

|b〉 = 1‖b‖ ∑

k=1bk |k〉 , (3.51)

donde los estados |k〉 forman una base del espacio del registro para representarb .Por otro lado, por medio del mismo método de la ecuación 3.49 construimos A.

Ahora, el primer paso del algoritmo es la preparación de un estado |Ψ0〉 definidode la siguiente manera

|Ψ0〉 ≡√

2T

T−1

∑τ=0

sinπ(τ + 1

2

)T

|τ〉 (3.52)

para un T grande[5]. Este estado toma el papel de estado inicial, el cual podríainiciarse en |0〉. Sin embargo los coeficientes son escogidos de tal forma que sereduzca cierto error cuadrático en la función de perdida [1].

El siguiente paso es aplicar el Hamiltoniano ∑T−1τ=0 |τ〉〈τ| ⊗ eiAτt0/T sobre el estado

|Ψ0〉 ⊗ |b〉, con t0 = O(κ/ε) como muestra la ecuación

T−1

∑τ=0|τ〉〈τ| ⊗ eiAτt0/T(|Ψ0〉 ⊗ |b〉). (3.53)

En este punto, realizamos la transformada de Fourier del primer registro, enconsecuencia escribimos |τ〉 como

|τ〉 = 1√T

∑k

e2πikτ/T |k〉 . (3.54)

En este caso estamos usando una superposición de tiempos para generar latransformada de Fourier. Ahora, expresamos |b〉 en la base de valores propios |uj〉de A

|b〉 =m

∑j=1〈uj|b〉 |uj〉 =

m

∑j=1

β j |uj〉 . (3.55)

Luego al aplicar el Hamiltoniano eiAτt0/T el estado se convierte en

m

∑j=1

β j |uj〉 7→m

∑j=1

β jeiλjτt0/T |uj〉 . (3.56)

Page 76: Machine Learning Cuántico - Uniandes

62 Capítulo 3. Computación Cuántica

Por simplicidad, a partir de ahora vamos a analizar lo que ocurre a un autoestado|uj〉, el efecto global sobre |b〉 sera simplemente la sumatoria de los autovecto-res con sus respectivas amplitudes. Resumiendo, después de la aplicación delHamiltoniano y la transformada de Fourier del primer registro, tenemos

|Ψ0〉 ⊗ |uj〉 7→√

2T ∑

τ,keiλjτt0/T sin

τ + 12

Te−2πikτ/T |k〉 |uj〉

√2

T ∑τ,k

eiτ(λjt0−2πk)/T sinτ + 1

2T|k〉 |uj〉 . (3.57)

Si definimos λk ≡ 2πk/t0, podemos reescribir los estados |k〉 como |λk〉 y obte-nemos

∑k

[√2

T ∑τ

eiτt0(λj−λk)/T sinτ + 1

2T

]|λk〉 |uj〉 . (3.58)

Vamos a denominar el termino entre corchetes αk|j, de esta manera

∑k

[√2

T ∑τ

eiτt0(λj−λk)/T sinτ + 1

2T

]|λk〉 |uj〉 = ∑

kαk|j |λk〉 |uj〉 (3.59)

Teniendo este estado, contamos con un estimador para el valor propio |λk〉, asícomo el vector propio |uj〉. No obstante, no contamos con acceso directo al valorλk. Para obtenerlo, acoplamos una ancilla y rotamos condicionado en el valor deλk de la siguiente manera

∑k

αk|j |λk〉 |uj〉(√

1− C2

λk|0〉+ C

λk|1〉)

(3.60)

Ahora, vamos a devolver las operaciones correspondientes a: 1) aplicar la transfor-mada de Fourier sobre el primer registro, 2) Aplicar el Hamiltoniano de evolucióny 3) preparación del estado |Ψ0〉 a partir de |0〉.

Si asumimos estimación de fase perfecta, tendremos αk|j = 1 para λk = λj. Asíescribimos el estado final como

|uj〉(√

1− C2

λj|0〉+ C

λj|1〉)

. (3.61)

Page 77: Machine Learning Cuántico - Uniandes

3.6. Algoritmos cuánticos 63

Luego, realizamos una medición sobre la ancilla. Cuando obtenemos el valor 1

hemos colapsado la función a un estado proporcional a

Cλj|uj〉 (3.62)

Para completar, si en el análisis incluimos |b〉, el cual es un estado de superposiciónde varios vectores propios |uj〉, simplemente debemos sumar sobre los valoresde j con las respectivas amplitudes β j. Así llegamos a que el estado final seraproporcional a

m

∑j=1

β jCλj|uj〉 ∝ |x〉 =

m

∑j=1

β j

λj|uj〉 (3.63)

La cual es la solución que estamos buscando.

A partir de estos algoritmos podremos entender la construcción de una maquinade soporte vectorial cuántica QSVM, lo cual haremos en el capitulo 5. Sin embargoantes es necesario establecer un framework para la medición del desempeño enestos algoritmos, este es el tópico del siguiente capitulo.

Page 78: Machine Learning Cuántico - Uniandes
Page 79: Machine Learning Cuántico - Uniandes

65

4Desempeño y Complejidad Computacional

Cada vez que se proponen diferentes soluciones para un problema computacionales necesario tener una forma de medir cuantitativamente el desempeño. ParaMachine Learning, en el ámbito de la computación, existe toda la maquinariade la teoría de complejidad computacional, la cual agrupa en clases de formasistemática los problemas y algoritmos solución según distintas cotas sobre eltiempo y espacio de procesamiento. A pesar de que aún tiene varios problemasabiertos es en general una teoría solida que permite analizar la factibilidad practicade los algoritmos y tal vez mas importante, permite compararlos.

La computación cuántica ha cambiado el panorama de las clases de computación,en especial debido a la posibilidad de la superposición, la cual en muchos casosparece ofrecer mejores en tiempos sobre cualquier algoritmo cuántico. Esto haimpulsado la introducción y estudio de nuevas clases de complejidad cuántica yen consecuencia, su relación con el abanico de clases de la computación clásica.

Otro tipo de desempeño es importante cuando nos referimos a Machine Learning,este es el desempeño del aprendizaje, sobre el cual hablamos un poco duranteel capitulo 1. Recordemos que la pregunta con la cual comparamos modelos ehipótesis es, ¿Que tan bien aproxima nuestra hipótesis h a la función objetivo f ?.Dicha pregunta nos llevara a entender como comparar modelos a partir de losdatos, entender el papel de los errores en nuestro algoritmo, limitar el conjuntode hipótesis así como las estrategias para hacerlo.

Page 80: Machine Learning Cuántico - Uniandes

66 Capítulo 4. Desempeño y Complejidad Computacional

La primera parte de este capitulo corresponde a una breve introducción a lacomplejidad computacional, tanto clásica como cuántica. Después, pasaremosal tratamiento del desempeño en ML, para esto, introducimos el concepto deselección de modelos con la navaja de Occam. Luego, pasamos a una forma masdetallada de cuantificar los errores en Machine Learning, esto nos permitirá medirel rendimiento de las hipótesis en cierto conjunto y en ultimas, reducir el espaciode hipótesis a considerar.

4.1. Complejidad Computacional

La temporalidad de los hombres se ve reflejada en sus creaciones, la computaciónno es la excepción. Así como no podemos vivir eternamente, no podemos esperartoda la vida que un computador termine los cálculos de cierto problema. Esta esúltimamente la motivación detrás del estudio de la complejidad algorítmica, unproblema de recursos limitados. En computación, estos recursos son el tiempo y elespacio. El tiempo es obvio, este es simplemente el tiempo que toma un algoritmoen terminar el calculo para el que fue diseñado. El espacio es un poco mas sutil;prácticamente todos los algoritmos requieren guardar resultados intermediospara completar los cálculos. El espacio requerido es el espacio que ocupan todosestos datos intermedios.

Es estudio de la computacional es importante también debido a las limitaciones.La teoría ha permitido el establecimiento de ciertas clases de problemas queforman una jerarquía. En el centro las mas simples y escalando en la jerarquía lasmas complejas. esta clasificación se da sobre funciones que estiman el tiempo oespacio necesario para resolver los problemas de dicha clase. Así, por ejemploexiste la clase P: El tipo de problemas que pueden ser solucionados en un tiempopolinomial con el tamaño de la entrada. Y por otro lado tenemos NP, la clasede problemas para la cual se puede verificar la respuesta es correcta en tiempopolinomial. Claramente P ⊆ NP, sin embargo podría existir un problema quesea verificable en tiempo polinomial y que a la vez, no exista ningún algoritmoque lo resuelva en tiempo polinomial. Cuando podemos demostrar propiedadesde este tipo para los problemas, en realidad estamos ahorrando nuestro tiempodiseñando algoritmos.

Page 81: Machine Learning Cuántico - Uniandes

4.1. Complejidad Computacional 67

4.1.1. Notación Big-Oh

La teoría de la complejidad computacional también se encarga de establecer cotassobre el desempeño de los algoritmos tanto en tiempo como en espacio. Vamos aestablecer una notación para esto, denominada notación Big-Oh[22].

Dadas dos funciones f , g : N→N decimos que vale

f = O(g) (4.1)

si existe una constante c tal que se cumple

f (n) ≤ cg(n)

para todo n suficientemente grande, es decir, g acota f por arriba. De manerasimilar definimos las siguientes notaciones.

f = Ω(g) si se cumple g = O( f ). g acota f por debajo.

f = Θ(g) si se cumple f = O(g) y g = O( f ). g aproxima a f para nsuficientemente grande.

f = o(g) si para todo ε > 0, f (n) ≤ εg(n) para todo n suficientementegrande.

f = w(g) si se cumple g = o( f ).

Una propiedad de la notacion O es que nos da informacion de los cuellos debotella de un algoritmo. Suponga que por ejemplo tenemos uno que se componede tres modulos principales, con tiempos de procesamiento f1(n) = 13n, f2(n) =4n4, f3(n) = 10. Esperamos que si damos una entrada muy grande, practicamentetodo el tiempo de ejecucion del programa sera subsumido por el modulo 2. Usandonotacion O, el tiempo de procesamiento total f (n) es

f (n) = f1(n) + f2(n) + f3(n)

= 13n + 4n4 + 10

= O(n4). (4.2)

La notación indica que con n grande, el grueso de procesamiento irá como n4. Comocomentario final, la complejidad polinomial es tan común que si f se encuentraacotado por algún polinomio, usamos la notación

Page 82: Machine Learning Cuántico - Uniandes

68 Capítulo 4. Desempeño y Complejidad Computacional

f = poly(n). (4.3)

4.1.2. Maquinas de Turing

La maquina de Turing es en esencia el modelo de un algoritmo. Suficientementecompleja para permitir simular cualquier operación computacional eficientementey suficientemente simple como para permitir su estudio. De ser mas complicadoel modelo, la teoría de la complejidad computacional seria mucho más difícil detratar.

De manera abstracta, un computo es un proceso que modifica cierto entorno bajola acción repetitiva de ciertas reglas. Estas deben ser simples, lo que implica quela computación solo modifica una pequeña parte del entorno a ala vez, a esta zonase le llama la zona activa. La idea es que encadenando acciones simples, puedellegarse a modificar el entorno de formas muy complejas [23]. En una maquina deTuring el entorno son cintas, las cuales se encuentran compuestas de cadenas debits, en este caso un algoritmo sera una función

fA : 0, 1∗ → 0, 1∗, (4.4)

definido como

fA(x) = y. (4.5)

Esto es, dada una entrada x el algoritmo se ejecuta y entrega como resultado y. Enuna maquina de Turing la entrada se representa como una cadena de bits en unacinta. La maquina tiene una cabeza que va recorriendo un paso a la vez la cadenade entrada y colocando resultados intermedios en otra cinta, llamada la cinta detrabajo. A su vez, contiene reglas para escribir la respuesta en otra cinta llamadala cinta de salida, donde debería quedar y. Recordamos que fA es el resultadode la operación de reglas básicas dependientes. Las reglas en una maquina deTuring son muy simples, en cualquiera de las cintas la cabeza lee el valor y unaregla le puede indicar si moverse a la izquierda o derecha y que símbolo escribir.En general podemos suponer que la maquina tiene k cintas. Vamos a definirlaformalmente, como aparece en [22]

Page 83: Machine Learning Cuántico - Uniandes

4.1. Complejidad Computacional 69

Definición 4.1. Maquina de Turing Una maquina de Turing M esta descrita por unatupla (Γ, Q, δ) donde

Γ es un alfabeto de los posibles símbolos que pueden encontrarse en lascintas de M. Asumimos que contiene un símbolo de “blanco” ’’, un símbolode inicio ’B’ y los símbolos ’0’ y ’1’

un conjunto finito Q de posibles estados q en los que puede estar M. Unestado es básicamente los símbolos que leen las diferentes cintas. Asumimosque M tiene un estado inicial qinit y un estado final, o de parada qhalt.

Una función δ : Q× Γk → Q× Γk−1 × L, S, Rk. Esta es llamada la funciónde transición de M, la cual básicamente describe que debe hacer la maquinaal leer una combinación de símbolos de las cintas. Lo que la llevara a escribirnuevos símbolos en las cintas y a mover las diferentes cabezas.

El tiempo de procesamiento es entonces el numero de pasos que le toma a M parallegar a y a partir de una entrada x. Además, enunciamos los siguientes hechosrespecto a este modelo

1. El modelo es robusto ante cambios de alfabeto, podemos cambiar 1 y 0 porotro conjunto de símbolos cualquiera y la maquina puede ser simulada enO(tc), con c un factor que depende de ambos alfabetos.

2. Siguiendo una convención, otro algoritmo (maquina) puede ser representadocon una cadena de bits, lo que le permite funcionar como entrada a otrasmaquinas. Esto es el concepto de software.

3. En base al último numeral, tal vez el hecho más importante: Existe unamaquina de Turing universal U que puede simular cualquier otra maquinade Turing dada su representación en cadena de bits.

4. Finalmente, se puede encontrar funciones que no pueden computarse porninguna maquina de Turing, esta es la noción de no-computabilidad.

Entre las aserciones mas importantes que este modelo sostuvo durante muchosaños se encuentra la tesis de Church-Turing

Cualquier proceso algorítmico puede ser simulado eficientemente poruna maquina de Turing. (Tesis de Church-Turing)

La tesis fue contrariada por los algoritmos probabilistas, los cuales no ofrecen larespuesta exacta sino que dan una probabilidad. Esta característica permite que

Page 84: Machine Learning Cuántico - Uniandes

70 Capítulo 4. Desempeño y Complejidad Computacional

los algoritmos relajen muchas condiciones y converjan a soluciones (probabilis-tas) más rápido que una maquina de Turing convencional. El siguiente paso fuedesarrollar la teoría de la maquina de Turing probabilista y por ende, enunciar laversión fuerte de la tesis de Church-Turing

Cualquier proceso algorítmico puede ser simulado eficientemente poruna maquina de Turing probabilista. (Tesis fuerte de Church-Turing)

Aunque se ha mantenido, queda la sensación de que la tesis podría volver a ser en-frentada por un nuevo paradigma de computación. QC parece estar tomando estepapel. Algoritmos como la búsqueda de Grover y la factorización de Schor parecenmas rápidos que sus contrapartes clásicas, aun cuando se trata de maquinas deTuring probabilistas.

La tesis de Church-Turing nos permite realizar equivalencias entre diferentes mo-delos. Cualquier modelo de computación debe tener la misma capacidad que unamaquina de Turing. Ya hemos tocado brevemente uno de ellos, los circuitos, y enparticular circuitos cuánticos. Para estos, resulta mas simple medir la complejidaden términos del numero de compuertas necesarias para implementar un algoritmo.Esto nos daría la complejidad en tiempo. Por otro lado el tamaño de los registrosusados nos ofrece la complejidad en espacio.

Notemos que al final de cuentas, podemos expresar la complejidad de un algoritmopor el numero de pasos que realiza (dependiente de la entrada) y el numero derecursos que utiliza. Esto es al final lo que terminaremos usando en la practica.Claro esta, a menos que toquemos tópicos de teoría de complejidad.

4.2. Desempeño en ML

Prácticamente todo acercamiento a Machine Learning (Modelos lineales, SVMs,Redes neuronales, ...) puede sufrir uno de dos problemas: Overfitting (sobre-ajuste) u overgeneralization (sobre-generalización), también llamado Underfitting.Overfitting ocurre cuando el modelo ajusta de más los datos en el conjunto deprueba. En particular llegando a ajustar el ruido. Evidentemente, el modelo estatan ceñido a los datos que un dato nuevo no sera correctamente clasificado. Uncaso especial simple de entender es un conjunto de puntos sobre el cual queremosrealizar regresión, como en la figura de la derecha en 4.1. Si ajustamos a los datos unpolinomio con un ordenmuy alto, es posible lograr Ein(g) = 0, sin embargo, hemosperdido la capacidad de generalizar sobre otros puntos, es decir, hemos hecho

Page 85: Machine Learning Cuántico - Uniandes

4.2. Desempeño en ML 71

Figura 4.1: El problema de la generalización en ML. El primer casode izquierda a derecha es overgeneralization. El modelo del medioes uno que se ajusta y generaliza bien. El modelo de la izquierdase ajusta demasiado al conjunto de prueba, overfitting. Tomado de

[24].

Eout(g) >> 0. La situación opuesta, overgeneralization, ocurre en la izquierda dela figura 4.1, donde se usa un polinomio de menor grado. El modelo resulta muypobre y no acierta a los datos, por tanto, tenemos un Ein(g) considerable. Ademástampoco tenemos buena capacidad de predicción. Sin embargo puede que Eout

para este caso sea menor que para el caso de overfitting.

Viendo las situaciones anteriores, definitivamente queremos un punto medio: unmodelo que tenga un error bajo en el conjunto de entrenamiento y aun así gene-ralice bien para nuevos datos. Sin embargo, como hacerlo?, cuando simplementeprobar todos los modelos no es feasible.

4.2.1. La navaja de Occam

Una aproximación general a la selección de modelos es dada por la navaja deOccam, la cual nos dice que modelos simples tienen a generalizar mejor[25].Suponga que para explicar cierto conjunto de datosD disponemos de dos hipótesisalternativas, llamadas h1 y h2. Usando el teorema de Bayes, determinamos cual esla probabilidad de las hipótesis dados los datos P(hi|D). Obtenemos:

P(hi|D) =P(hi)P(D|hi)

P(D) . (4.6)

Fijándonos en el numerador, observamos dos términos. El primero corresponde ala probabilidad a prior del modelo, la cual proviene de nuestro conocimiento previodel problema. Por ejemplo si de alguna manera sabemos o intuimos que para unaregresión los datos tienen una característica lineal, no vamos a intentar ajustarun polinomio de alto orden. El segundo termino corresponde a la probabilidad de

Page 86: Machine Learning Cuántico - Uniandes

72 Capítulo 4. Desempeño y Complejidad Computacional

obtener los datos en D si usamos la hipótesis hi. Note que esto esta relacionadocon Ein(g), un modelo hi que ajusta muy bien tiene alta probabilidad P(D|hi).

Tomamos la razón P(h1|D)/P(h2|D) y encontramos

P(h1|D)P(h2|D)

=P(h1)

P(h2)

P(D|h1)

P(D|h2). (4.7)

La primer razón corresponde a nuestra creencia previa en las hipótesis y la segundaque tan bien ajustan los datos si suponemos h1 respecto a h2. Si por un momentopensamos que en realidad no tenemos ninguna razón para preferir una hipótesisrespecto a otra, el primer termino es 1 y el segundo describe la navaja de Occam.Si por ejemplo el modelo h2 es complejo(o al menos más complejo que h1), estetiene la posibilidad de predecir muchos conjuntos de datos diferentes. Lo anteriorimplica que la probabilidad P(D|h2), con un D es pequeña. Y últimamente

P(h1|D) > P(h2|D), (4.8)

ya que preferimos el modelo más simple. Ademas de la comparación de modelos,realizamos estimación de parámetros en un modelo al considerar la probabilidad

P(w|D, h), (4.9)

donde w representa los parámetros del modelo h [25].

4.2.2. Generalización

En el capitulo 2 encontramos una cota sobre el error |Ein(g)− Eout(g)| de ciertahipótesis g ∈ H,

P(|Ein(g)− Eout(g)| > ε) ≤ 2Me−2ε2 N , (4.10)

donde ε es la tolerancia de error, M = |H| es la cardinalidad del conjunto dehipótesis y N es el numero de datos de prueba. Sabemos que aunque esta medidaes valida, no tiene sentido en prácticamente ninguna aplicación de interés delmundo real, donde los conjuntos de hipótesis, típicamente dependientes de pará-metros, son infinitos. En cuyo caso, la cota trivialmente afirma que la probabilidadde error es menor que infinito.

Page 87: Machine Learning Cuántico - Uniandes

4.2. Desempeño en ML 73

No obstante, podemos escribir esta cota de otra forma más útil si escogemos unatolerancia δ y decimos que con una probabilidad de 1− δ vale

Eout(g) ≤ Ein(g) +

√1

2Nln

2Mδ

. (4.11)

Identificamos δ y ε como

δ = 2Me−2ε2 N (4.12)

ε =

√1

2Nln

2Mδ

. (4.13)

Cotas como la que encontramos en la ecuación 4.11 son llamadas cotas de gene-ralización, pues el termino de error fuera de los datos de prueba se encuentraacotado por el error en el conjunto de prueba mas un termino de generalización.Ahora para establecer una cota de este tipo para el caso en el que el conjunto esfinito, introducimos una función mH(N) llamada función de crecimiento, la cualmide el tamaño de un conjunto de hipótesis H y por ende, su complejidad. Comolo menciona la navaja de Occam.

Esta función de crecimiento depende del número de datos en el conjunto deprueba y se encuentra acotada por un polinomio, lo cual nos permite reemplazarM por mH en la cota de generalización [2]. Una expresión útil para mH es lasiguiente:

mH(N) ≤ NdVC + 1, (4.14)

donde dVC es llamada la dimensión VC, que podemos interpretar como unamedidadel número de parámetros del modelo, o dicho de una mejor manera, una medidadel número de grados de libertad que tienen las hipótesis enH. Son estos gradosde libertad los que le permiten al modelo variar las hipótesis. Por ejemplo en elcaso de regresión, si usamos el conjunto de hipótesis de líneas rectas y = ax + b,los parámetros a y b son los que en realidad cambian la linea de hipótesis y nospermiten establecer modelos diferentes dependiendo de los datos.

Note que la dimensión VC es constante cuando fijamos un conjunto de hipótesis ypor lo tanto la función de crecimiento esta efectivamente acotada por un polinomio.Sin embargo, hay ciertos modelos para los cuales dVC → ∞ y la cota pierde sentido.

Page 88: Machine Learning Cuántico - Uniandes

74 Capítulo 4. Desempeño y Complejidad Computacional

Figura 4.2:Dimensión VC vs. los erroresmedidos, note que amedidaque aumentamos la complejidad del modelo el error del conjuntode entrenamiento disminuye mientras que el de prueba aumenta.

Esto es una clara señal de overfitting. Tomado de [2]

Ahora, teniendo en cuenta otros detalles que no son relevantes en el momentoy que pueden ser consultados en [8] escribimos la nueva versión de la cota degeneralización. Aseguramos que con una probabilidad de 1 − δ se cumple ladesigualdad

Eout(g) ≤ Ein(g) +

√8N

ln4mH(2N)

δ. (4.15)

Analicemos un poco el comportamiento de la cota. Aunque la función de crecimien-to crece con N, se encuentra dentro de un logaritmo y por tanto si aumentamosel numero de datos, la cota disminuye como esperábamos debido al factor 1/N,por otro lado evidentemente una dimensión VC muy alta relaja mucho los limitesde la cota, y sera necesario usar un numero de datos muy grande para acotarcerteramente Ein(g). Esto también se encuentra alineado con la navaja de Occam,pues preferimos modelos con dimensiones VC bajas. l comportamiento de loserrores en función de la dimensión VC se encuentra esquematizado en la figura4.2. Encontramos las siguientes situaciones

Si dVC es bajo, tenemos un alto error en el conjunto de entrenamiento yprobablemente una mala generalización, traducida en un alto error para elresto de los datos.

En el caso contrario, dVC es grande, evidentemente mas grados de liberta

Page 89: Machine Learning Cuántico - Uniandes

4.2. Desempeño en ML 75

nos permiten realizar un ajuste casi perfecto a los datos de entrenamiento,con el costo de perder generalización sobre el resto de los datos.

Queremos entonces un punto intermedio dVC∗, en el cual a costa de ciertoerror en la muestra de entrenamiento logremos el mínimo error de generali-zación posible.

4.2.3. Regularización

Overfitting en los modelos es un problema muy usual, este destruye la capacidadpredictiva del modelo. La principal causante de overfitting es que el modelointenta ajustar el ruido. Esto nos indica algo importante: Si el modelo ajusta elruido probablemente posee muchos grados de libertad innecesarios. Entonces,tiene sentido limitar el espacio de parámetros, y por consiguiente, reducir eltamaño del conjunto H para que el algoritmo de ML tenga mejor oportunidad deencontrar una hipótesis que generalice bien.

En el contexto de SVMs una forma muy aplicada de regularización es colocaruna condición adicional sobre el riesgo empírico que penaliza la norma de lashipótesis, definimos entonces un riesgo regularizado Rreg(g) como

Rreg(g) ≡ Remp(g) + λΩ(g). (4.16)

Con λ > 0 llamada la constante de regularización, la cual tiene el papel de ajustarque tan fuerte queremos que sea el termino de regularización. De hecho, la formamás simple de regularización en SVMs esta dada por

Ω(h) ≡ 12‖w‖2, (4.17)

y por tanto

Rreg(g) ≡ Remp(g) +λ

2‖w‖2. (4.18)

Lo cual es tremendamente conocido, en nuestras definiciones de SVMs estuvi-mos minimizando todo el tiempo esta cantidad al buscar maximizar el margen.Adicionalmente, también escribimos el riesgo regularizado de una manera másabstracta bajo la perspectiva de RKHS

Page 90: Machine Learning Cuántico - Uniandes

76 Capítulo 4. Desempeño y Complejidad Computacional

Rreg(g) ≡ Remp(g) +λ

2‖ f ‖2

H, (4.19)

con H denotando el RKHS, no confundir con el conjunto de hipótesis. La pers-pectiva que nos da esta ultima ecuación es enorme. Puede demostrarse que laescogencia de una cierto kernel implica un cambio de la regularización Rreg[8]. Estoquiere decir que no cualquier k(x, x′) tiene sentido para aplicar en SVMs. Ademas,cada kernel trae sus propias ventajas y desventajas. Mas adelante hablaremoscon argumentos de este tipo para el caso gaussiano (Capitulo 6).

Page 91: Machine Learning Cuántico - Uniandes

77

5Support Vector Machine Cuánticos

Nos encontramos en capacidad de estudiar un algoritmo para construir SVMs queaproveche las ventajas de la computación cuántica. Queremos llegar a formu-lar Maquinas de Soporte Vectorial Cuánticas Quantum Support Vector Machines(QSVMs). Con este objetivo, Primero estudiaremos la representación de los datosen espacios de Hilbert, de manera que codificamos un dato x en un estado |x〉.Más adelante, discutimos el diseño de un algoritmo cuántico a partir de un SVM demínimos cuadrados, explicado en la sección 2.2.4 junto con el algoritmo cuánticopara la resolución de ecuaciones lineales estudiado en 3.6.5. Esta aproximaciónfue propuesta por Rebentrost et. al. en [1].

Partimos de la formulación de mínimos cuadrados para la construcción de unhiperplano de clasificación. Recordemos que nos permite expresar el problemaen términos de una ecuación lineal de la forma

F

(bα

)=

(0

y

), (5.1)

la cual podemos resolver para (b, α) bajo ciertas condiciones de F usando elalgoritmo cuántico para solucionar sistemas de ecuaciones lineales. El anteriorprocedimiento nos dejara con una representación cuántica del clasificador

Page 92: Machine Learning Cuántico - Uniandes

78 Capítulo 5. Support Vector Machine Cuánticos

|b, α〉 = 1√C

(b |0〉+

m

∑i=1

αi |i〉)

, (5.2)

con C = b2 + ∑mi=1 α2

i .

Terminado este proceso, a partir de test swap logramos la clasificación de unnuevo dato x. Finalmente, concluimos este capítulo con un análisis detallado dela complejidad del algoritmo.

5.1. Representación de los datos

En el problema de clasificación tenemos en general datos x de un conjunto cual-quiera X . Durante el capitulo 1 argumentamos que para procesar estos datos pormedio de un computador es deseable una representación cuantitativa, la cuallogramos mapeando características cualitativas a valores numéricos. Un mapeo deeste tipo es logrado a través de una función Φ(x), que lleva los datos al espaciode características

Φ : X → H

x 7→ x ≡ Φ(x). (5.3)

Ahora que contamos con una representación vectorial de los datos, los expresamosen un espacio de Hilbert por medio de la siguiente construcción (usando notaciónde Dirac)

x 7→ |x〉 ≡ 1‖x‖

(N

∑k=1

xk |k〉)

. (5.4)

La construcción de este tipo de estados puede hacerse a través de una memoria deacceso aleatorio cuántica, o Quantum RAM (QRAM), como la expuesta por Giovan-netti et al. en [26]. Con esto, representamos un dato a través de un estado cuánticoen un espacio de Hilbert. Note que, aunque la función Φ permite generar mapeosa espacios de Hilbert, la ecuación 5.4 describe únicamente un caso particular paraeste mapeo. En este caso, el algoritmo limita el mapeo a un caso lineal, donde lafunción de kernel es

k(x, x′) = x · x′, (5.5)

Page 93: Machine Learning Cuántico - Uniandes

5.2. El algoritmo 79

que es lo mismo que obtenemos al calcular 〈x|x′〉. Es también posible usar unaidea similar para la implementación de un kernel polinomial de cierto grado d,

k(x, x′) =(x · x′

)d. (5.6)

Lo anterior es posible al representar un dato x como el producto tensorial d vecesde |x〉, este será algún estado |Φ(x)〉 definido como

|Φ(x)〉 =d⊗|x〉 . (5.7)

El producto interno de dos estados |Φ(x)〉, |Φ(x′)〉 es

⟨Φ(x′)

∣∣Φ(x)⟩=

d

∏⟨x′∣∣x⟩

=⟨x′∣∣x⟩d

= (x′ · x)d, (5.8)

que corresponde a la función de kernel que queríamos obtener [1].

5.2. El algoritmo

La idea detrás de SVMs cuánticos se encuentra fundamentada en cuatro compo-nentes principales[27].

1. El tiempo de construcción de la representación cuántica de matriz del kernel,que consiste de productos internos de los elementos del conjunto de pruebaspuede reducirse exponencialmente [20].

2. La inversión cuántica de matrices puede realizarse rápidamente [5]

3. Simulación de matrices dispersas es rápida [19]

4. Matrices no dispersas revelan la estructura de valores propios exponen-cialmente mas rápido que algoritmos clásicos a través del método de autoanálisis. [21].

Con lo anterior enmente, separamos el algoritmo en tres partes diferentes. Primero,la construcción de la matriz del kernel. Segundo, el entrenamiento del QSVM, elcual corresponde a la construcción de un estado cuántico que acoplado a un

Page 94: Machine Learning Cuántico - Uniandes

80 Capítulo 5. Support Vector Machine Cuánticos

nuevo dato nos permitirá la clasificación y finalmente, el proceso que describecomo se realiza dicha clasificación.

5.2.1. Construcción del Kernel

Esta primera parte corresponde a la construcción de la matriz K. Como fue vistoen el capitulo 2, esta matriz está compuesta por los productos internos de losvectores que pertenecen al conjunto de entrenamiento. Podemos obtener unequivalente cuántico de K valiendonos de un operador

K =K

Tr(K), (5.9)

K es simplemente el kernel normalizado por su traza. Para construirlo disponemosde oráculos a los cuales pasamos el estado inicial

1√M

M

∑i=1|i〉 , (5.10)

para que el oráculo construya el estado |χ〉 definido como

|χ〉 = 1√NX

M

∑i=1‖xi‖ |i〉 |xi〉 , (5.11)

con 1/√

NX = ∑Mi=1 ‖xi‖2, en tiempo O(log NM). Note que si tomamos la traza

parcial de la matriz de densidad de |χ〉 respecto al segundo sistema

Tr2 |χ〉 〈χ| =1

NX

M

∑i,j=1

⟨xj∣∣xi⟩‖xj‖ ‖xi‖ |i〉 〈j|

=K

TrK , (5.12)

obtenemos el operador K. Para completar la caracterización de K debemos estimarsu traza independientemente, puede encontrar el procedimiento en el apéndicede [1].

5.2.2. Entrenamiento del QSVM

En la formulación de mínimos cuadrados del SVM el entrenamiento del QSVMconsiste maximizar los coeficientes αi del lagrangiano

Page 95: Machine Learning Cuántico - Uniandes

5.2. El algoritmo 81

Le(w, b, α, e) =12‖w‖2 + γ

12

m

∑i=1

e2i −

m

∑i=1

αi [yi(〈xi, w〉+ b)− 1 + ei] . (5.13)

Sujeto a las siguientes condiciones

(〈xi, w〉+ b)yi = 1− ei para todo i = 1, ..., m. (5.14)

Como fue explicado en la sección 2.2.4, este problema se convierte en solucionarla siguiente ecuación matricial

F

(b

α

)≡(

0 1T

1 K + γ−1 I

)(b

α

)=

(0

y

), (5.15)

para el vector (b, α). En la anterior ecuación reconocemos la matriz de kernel K,el parámetro γ que nos permite cuantificar el error y los parámetros objetivo b yα. Para resolver esta ecuación matricial, vamos a aplicar el método cuántico parala resolución de ecuaciones lineales estudiado en la sección 3.6.5. Para este fin,debemos contar con una forma eficiente de simular e−iF∆t, F puede ser separadaesquemáticamente como

F =1

Tr F

(J + K + γ−1 I

), (5.16)

donde,

J =

(0 1T

1 0

). (5.17)

De este modo, la formula del producto de Lie permite escribir

e−iF∆t = e−iγ−1 I∆t/ Tr Fe−i J∆t/ Tr Fe−iK∆t/ Tr F + O(∆t2). (5.18)

La exponenciación de la matriz γ−1 I es trivial, la matriz J es un grafo estrella yse encuentra que los valores propios son λ± = ±

√m [1], con m el numero de

datos en el conjunto de entrenamiento, los correspondientes vectores propios son|λ±〉 = 1√

2

(|0〉+ 1√

m ∑mi=1 |i〉

). Caso diferente es la matriz K, para esta aplicamos

la técnica de auto análisis de acuerdo a

Page 96: Machine Learning Cuántico - Uniandes

82 Capítulo 5. Support Vector Machine Cuánticos

e−iLKδt(σ) = TrP

e−iS∆tK⊗ σeiS∆t

= σ− i∆t

[K, σ

]+ O(∆t2).

(5.19)

Contando con lo anterior, partimos de un estado inicial

|Ψ0〉 |y〉, (5.20)

con Ψ0 definido con la ecuación 3.52, y |y〉 el estado que representa el vector(o, y), el cual puede escribirse como descomposición de vectores propios |uj〉 dela base de F, con correspondientes valores propios λj (βi =

⟨uj∣∣y⟩)

|y〉 =m+1

∑j=1

β j |uj〉 . (5.21)

Al aplicar estimación de fase, se es generado un nuevo estado cercano al siguiente

|Ψ0〉 |y〉 7→m+1

∑j=1

β j |λj〉 |uj〉 (5.22)

Sobre este estado se aplica una rotación controlada como en la sección 3.6.5 parainvertir el valor de los λj. Ademas de ello se revierte el proceso de estimación defase sobre el primer registro, con lo que obtenemos

m+1

∑j=1

β j |λj〉 |uj〉 7→m+1

∑j=1

β j

λj|uj〉 . (5.23)

Este ultimo estado, en la base de las etiquetas del conjunto de entrenamiento es

|b, α〉 = 1√C

(b |0〉+

m

∑i=1

αi |i〉)

, (5.24)

con C = b2 + ∑mi=1 α2

i .

Concluimos esta etapa del algoritmo con un estado que representa los parámetrosdel QSVM.

Page 97: Machine Learning Cuántico - Uniandes

5.2. El algoritmo 83

5.2.3. Clasificación

Muestreo del estado en 5.24 nos permitiría determinar los valores de los paráme-tros del QSVM, esta operación tiene complejidad de al menos O(N). Sin embargo,podemos usar este estado directamente para realizar clasificación. Suponga quecomo entrada tenemos un nuevo dato x que es representado con x.

El primer paso es construir el siguiente estado a partir de |v, α〉:(

Nu = b2 + ∑mi=1 α2

i ‖xi‖2)

|u〉 = 1√Nu

(b |0〉 |0〉+

m

∑i=1

αi‖xi‖ |i〉 |xi〉)

. (5.25)

A su vez, construimos el estado query a partir de |x〉,

|x〉 = 1√Nx

(|0〉 |0〉+

m

∑i=1‖x‖ |i〉 |x〉

), (5.26)

donde Nx = m‖x‖2 + 1. Con estos estados haremos un test swap, dicho test nospermitirá establecer la clase a la que el dato x pertenece.

Continuando el procedimiento, construya con una ancilla el estado

|ψ〉 = 1√2(|0〉 |u〉+ |1〉 |x〉), (5.27)

y realice una medición proyectiva de la ancilla sobre el estado

|φ〉 = 1√2(|0〉 − |1〉). (5.28)

Obtenemos en la medición el estado |ψ〉 con una probabilidad P = |〈ψ|φ〉|2 con

|〈ψ|φ〉|2 =12(1− 〈u|x〉), (5.29)

donde 〈u|x〉 corresponde a

〈u|x〉 = 1√Nx Nu

(b +

M

∑i=1

αi‖xk‖‖x‖ 〈xk|x〉)

, (5.30)

Page 98: Machine Learning Cuántico - Uniandes

84 Capítulo 5. Support Vector Machine Cuánticos

que es el funcional que se encuentra dentro del operador sgn en la función de de-cisión f que encontramos para SVMs (eq. 2.47). Note que el factor de normalizaciónal inicio no es relevante pues de esta función solo nos importa el signo.

Encontramos que si P > 1/2, 〈u|x〉 < 0 y clasificamos el nuevo dato en la clase+1. En el caso opuesto, con P < 1/2 clasificamos el dato en la clase −1.

5.3. Desempeño de la QSVM

En esta sección estudiamos el desempeño de los algoritmos que utilizamos parala construcción de la QSVM,

Preparación del KernelEste paso se apoya fuertemente en la existencia de oráculos que per-miten construir los estados |x〉 y el estado |χ〉, el cual últimamentecontiene la información del kernel. Usando una memoria aleatoriacuántica QRAM. Los datos ocupan O(MN) en espacio, sin embargo,una consulta query a la QRAM toma

O(log(MN)) (5.31)

en tiempo [26].

ExponenciaciónEl procedimiento que permite exponenciar el operador F es el auto-análisis de matrices. Si queremos obtener la exponencial e−iFt conuna precisión ε debemos repetir el procedimiento de autoanálisisn = O(t2/ε) veces [20]. Como la preparación de la matriz de kerneltoma O(log(MN)), todo el procedimiento de autoanálisis tiene untiempo del orden

O(t2ε−1 log(MN)) (5.32)

Estimacion de faseLa estimación lleva un error en lambda proporcional a 1/t0, este sepropaga a un error O(1/λt0) en la estimación de 1/λ. Definiendo κ

como la razón entre el valor propio más grande, suponemos λ ≥ 1/κ.Por ende, al tomar t0 = O(κ/ε), inducimos un error ε en la estimaciónde fase.

Page 99: Machine Learning Cuántico - Uniandes

5.3. Desempeño de la QSVM 85

En este punto, vale la pena estudiar un poco el espectro de F, o deigual manera, de K, pues el espectro es dominado por la matriz dekernel. Debido a la normalización, el máximo valor absoluto es menorque 1 y el mínimo es del orden 1/M, esto implicaría κ = O(M). El cual,según Harrow et. al. [5] torna inviable el algoritmo de estimación defase. Por ello, se escoge una constante εK que acote los valores propiosa considerar en la estimación

εK ≤ |λi| ≤ 1. (5.33)

Lo anterior define un κ efectivo κe f f = 1/εK. Aplicando las técnicasen [5], se filtran valores propios muy pequeños. Esencialmente se estarealizando PCA de la matriz de kernel[21]. Con las anteriores considera-ciones en cuenta, t0 = O(κe f f /ε) y la complejidad del algoritmo hastael momento es

O(ε−2K ε−3 log(MN)). (5.34)

Finalmente, todo el proceso debe repetirse O(κe f f ) para que la selec-ción de estados en 3.61 tenga probabilidad constante. Expresamos lacomplejidad de la creación del clasificador como

O(κ3e f f ε−3 log(MN)) = O(log(MN)). (5.35)

ClasificaciónSi queremos obtener P con una precisión ε, debemos repetir el pro-cedimiento al menos O(P(1− P)/ε2) veces[1]. Recordemos que un Pcalculado es básicamente la condición de clasificación. Con P < 1/2

clasificamos el dato en la clase −1. Como este P varia entre valorespequeños, la complejidad del algoritmo no se ve alterada, ya que es-cribimos la complejidad total como

O(P(1− P)κ3e f f ε−5 log(MN)), (5.36)

que continua siendo O(log(MN)).

Page 100: Machine Learning Cuántico - Uniandes

86 Capítulo 5. Support Vector Machine Cuánticos

Recapitulando, encontramos que la formulación de SVM de mínimos cuadradosencaja perfectamente con el algoritmo de inversión de matrices cuántico. Estacombinación permite establecer una versión cuántica de una SVM la cual tieneuna mejora exponencial en tiempo de procesamiento, aun respecto a los mejoresalgoritmos clásicos, donde encontramos ordenes típicos de O(log(1/ε)M2(M +

N)) [1] . Sin embargo, existen ciertas consideraciones sutiles, como la debida elhecho de que no aceptamos autovalores muy pequeños del espectro de la matrizde kernel.

Tal vez la mayor limitación del modelo es que solo permite el uso de kernel lineales.Es por esta razón que en el capitulo 6 nos dedicamos a desarrollar una forma deconstruir un kernel alternativo para la QSVM.

Page 101: Machine Learning Cuántico - Uniandes

87

6Extensión de kernel Gaussiano para

QSVMs

Hasta el momento, hemos considerado solamente kernel lineales para la construc-ción de QSVMs, esto es, la función de kernel k depende linealmente del productopunto de los elementos del conjunto de entrada k(x, x′) = x · x′. También, en loscapítulos 2 y 4 comentamos brevemente como en un SVM clásico es posible usarfunciones de kernel arbitrarias, estas representan un producto interno en ciertoespacio de características H, el cual es un espacio de Hilbert donde la nociónde similitud de los elementos del conjunto de datos de entrada inducida por elkernel se traduce al producto interno de los elementos en este nuevo espacio.

Dentro de nuestra formulación de QSVMs, describimos un dato x ∈ Rn a tra-vés de un estado |x〉 ∈ H como aparece en la ecuación 5.4. A partir de dicharepresentación, el producto interno de dos estados es

⟨x∣∣x′⟩ = x · x′, (6.1)

con x, x′ ∈ Rn datos del conjunto de prueba.

A lo largo de este capitulo profundizamos sobre la idea de reemplazar las funcionesde kernel por otras en lo que se conoce como “kernel trick”. Luego, hacemos uso deesta posibilidad para describir la construcción de una QSVM demínimos cuadrados

Page 102: Machine Learning Cuántico - Uniandes

88 Capítulo 6. Extensión de kernel Gaussiano para QSVMs

reemplazando el kernel lineal por un kernel gaussiano. Finalmente, concluimoscon un análisis de las condiciones que debe cumplir nuestra propuesta para sereficiente.

6.1. “Kernel Trick”

Un kernel k : X × X → R induce espacios de características H a partir de unmapa Φ : X → H, para el cual se cumple la propiedad

k(x, x′) =⟨Φ(x), Φ(x′)

⟩H . (6.2)

Por otro lado, recordemos que formulamos el problema de optimización paraencontrar los parámetros de SVMs en base a una función de kernel. Por ejemplo,en el caso separable, la formulación indica que debemos variar los parámetros αi

para minimizar la función

W(α) =m

∑i=1

αi −12

m

∑i,j=1

αiyiKijαjyj, (6.3)

sujeto a las condiciones en 2.45 y 2.46. Igualmente, en la LS-SVM, tenemos laecuación matricial

F

(b

α

)≡(

0 1T

1 K + γ−1 I

)(b

α

)=

(0

y

), (6.4)

sujeto a las condiciones en 2.61.

La observación más relevante que podemos realizar respecto a las anterioresformulaciones es la siguiente: Toda la información de los datos esta contenida enla matriz K. Esta es la matriz de Gram para el kernel, definida en 2.1. Recordando,la celda Kij corresponde a

Kij = k(xi, xj). (6.5)

En principio, podemos cambiar la función de kernel sin hacer ningún cambio alresto del procedimiento para encontrar los parámetros αi. Visualmente, estamoscambiando la geometría del espacio de características, generalmente mapeando a

Page 103: Machine Learning Cuántico - Uniandes

6.1. “Kernel Trick” 89

Figura 6.1: Problema no separable. En este caso no existe un planoque separe las clases. Sin embargo, al usar un mapeo a un espaciode mayor dimensión las clases se tornan separables. Tomado de

[28].

mayores dimensiones. Considere el problema de la figura 6.1. En este caso no existeun hiperplano que pueda separar ambas clases. No obstante, a través de unafunción de kernel diferente podemos mapear los datos a otro espacio de mayordimensionalidad donde existe un hiperplano que separe los datos. Hiperplanosde decisión en algún espacio de características representan fronteras no linealesen el espacio original, tal como muestra la figura 6.2. Es más, es posible que losdatos de entrada sean entidades arbitrarias; igualmente, a través de una funciónde kernel escogida apropiadamente se genera una clasificación (Por ejemplo,cadenas de texto). Esta es una de las características que brinda mayor poder a losSVM.

En el contexto de QSVMs, la idea es hacer que el espacio de Hilbert represente elespacio de características, es decir que si representamos datos x como estados|x〉, el producto interno de dos estados |x〉 , |x′〉 representa el kernel

⟨x∣∣x′⟩ = k(x, x′). (6.6)

Por tanto, debemos encontrar espacios de Hilbert en mecánica cuántica quesimulen espacios de características.

Page 104: Machine Learning Cuántico - Uniandes

90 Capítulo 6. Extensión de kernel Gaussiano para QSVMs

Figura 6.2: Para este caso un hiperplano en R3 representa unafrontera de decisión circular en el espacio original R2. Tomado de

[12].

6.2. Kernel Gaussiano

Pasamos a estudiar uno de los kernel no lineales más versátiles y aplicados: elkernel gaussiano, definido de la siguiente manera

k(x, x′

)= e−γ‖x−x′‖2/2, (6.7)

donde γ es un parámetro que determina que tanto se concentran datos similaresen el espacio de características [8]. Con este kernel suponemos que los datos ya seencuentran representados originalmente en algún espacio vectorial V = Rn (estadefinida la norma y podemos calcular ‖x− x′‖). El kernel gaussiano lleva estosvectores a un espacio de mayor dimensionalidad. En este caso, el RKHS asociadoes de dimensionalidad infinita[8].

Vamos a discutir brevemente las principales características del kernel gaussiano.Intuitivamente, al tomar dos puntos x, x′, el kernel penaliza la diferencia ‖x− x′‖exponencialmente, por ende, datos similares se encontraran en regiones densasdel espacio. Podemos variar el parámetro γ para modular el decaimiento de lasimilitud. Un γ grande equivale a aceptar mas puntos como similares, mientras queun valor pequeño sesga los datos. Es más, debido a la alta dimensionalidad (∞)del espacio, siempre se puede encontrar un hiperplano que los separe. Podríamospensar que esto nos llevaría a un problema de overfitting. Sin embargo recordemosque en SVMs el margen es quien impone la medida de la generalización.

Page 105: Machine Learning Cuántico - Uniandes

6.3. Estados coherentes 91

Figura 6.3: Datos entrenados con un kernel gaussiano, en este casoγ = 100. Tomado de [29]

Por otro lado, volviendo a la discusión sobre regularización, puede mostrarseque la norma ‖g‖2

H para el kernel gaussiano penaliza derivadas de alto orden.El resultado neto es que un SVM gaussiano actúa como un filtro pasa-bajas yselecciona las hipótesis, más suaves. Es por ello que las fronteras de decisiónresultan ser como en la figura 6.3

Como vimos en el capitulo 2, existen varias formas de construir un RHKS asociadoa cierto kernel. Por ejemplo a través del teorema de Mercer, el cual nos permiterepresentar los datos en un espacio infinito de secuencias de funciones dondese puede lograr una descomposición espectral del kernel. Sin embargo, este esmás un teorema de existencia y no provee ninguna pista para construir dichoespacio. Es entonces cuando debemos buscar nuevos RKHS que sean más fácilesde interpretar e implementar. En la siguiente sección, mostramos una de estosespacios.

6.3. Estados coherentes

En mecánica cuántica usamos las soluciones del oscilador armónico cuántico paramodelar un modo de oscilación de un campo electromagnético. Buscamos la solu-ción a la ecuación de Schrodinger con un Hamiltoniano en segunda cuantización

Page 106: Machine Learning Cuántico - Uniandes

92 Capítulo 6. Extensión de kernel Gaussiano para QSVMs

H =1

2m(

p2 + (mωx)2)= hω

(a† a +

12

), (6.8)

donde expresamos el Hamiltoniano en términos de los operadores de creación yaniquilación a† y a, con estos definimos el operador numero N = a† a.

Escribimos los vectores propios del Hamiltoniano en la base |n〉, también llamadabase de Fock. donde denotamos como n el número de modos de oscilación. Estosson autoestados cumplen

H |n〉 =(

hωn +12

)|n〉 (6.9)

N |n〉 = n |n〉 (6.10)

a† |n〉 =√

n + 1 |n + 1〉 (6.11)

a |n〉 =√

n |n− 1〉 (6.12)

〈m|n〉 = δmn. (6.13)

Esto quiere decir que un estado |n〉 representa un modo de oscilación particularcon energía hωn. Estos niveles están cuantizados, e interpretamos estos cuantos deenergía como fotones. Ahora, si queremos representar un campo electromagnéticocon estos estados tenemos un problema ya que estas soluciones no poseen unafase bien definida y el valor esperado del operador de campo Ex es 0 [30]. Noobstante, existe una base de estados que reproduce las expectativas clásicas:llamados estados coherentes.

Un estado coherente es un autovector del operador de aniquilación a

a |α〉 = α |α〉 , (6.14)

donde α es un numero complejo arbitrario que caracteriza el estado. Expandimosun estado coherente en la base de los |n〉 como

|α〉 = e−|α|2/2

∑n=0

αn√

n!|n〉 . (6.15)

Sabemos ademas que

Page 107: Machine Learning Cuántico - Uniandes

6.3. Estados coherentes 93

∑n=0

αn√

n!|n〉 = eαa† |0〉 (6.16)

se cumple. |0〉 representa físicamente el estado sin modos de oscilación, es lla-mado también el estado de vacío. A partir de lo anterior escribimos

|α〉 = eαa†−α∗ a |0〉 , (6.17)

donde identificamos el operador de desplazamiento D(α) como

D(α) = eαa†−α∗ a. (6.18)

Bajo esta definición, interpretamos los estados coherentes como desplazamientosrespecto al vació producidos por el operador de desplazamiento

|α〉 = D(α) |0〉 . (6.19)

Volviendo a la representación cuántica de un campo electromagnético, dado unestado |α〉, el valor esperado para el operador de campo eléctrico (suponga endirección x) es

〈α|Ex(r, t)|α〉 = 2|α|

√hω

2ε0Vsin (wt− k · r− θ). (6.20)

Ademas, las fluctuaciones corresponden a

∆Ex =

√hω

2ε0V. (6.21)

Esto valores, son resultados característicos de electrodinámica clásica. Deducimosque los estados coherentes aproximan resultados clásicos de campos electromag-néticos.

Ahora, analizando la relación de los estados coherentes encontramos que el valoresperado del operador N es

n = 〈α|N|α〉 = |α|2. (6.22)

Page 108: Machine Learning Cuántico - Uniandes

94 Capítulo 6. Extensión de kernel Gaussiano para QSVMs

Lo cual elucida el papel de α como una medida del numero promedio de fotonescontados. Es más, si calculamos la probabilidad Pn de medir n fotones en el campoelectromagnético obtenemos

Pn = |〈n|α〉|2

= e−n nn

n!. (6.23)

El resultado anterior corresponde a una distribución de Poisson. Este tipo decomportamiento es típico en un láser.

Para nuestros fines, la propiedad que mas nos interesa es el producto interno dedos estados coherentes |α〉 y |β〉, que expresamos como

〈α|β〉 = e−12 (|α|

2+|β|2−2α∗β). (6.24)

Asumiendo que es posible crear estados coherentes escogiendo α, β ∈ R llegamosa

〈α|β〉 = e−12 (α2+β2−2αβ). (6.25)

Este resultado es el ingrediente principal para construir un QSVM con un kernelgaussiano.

6.4. Kernel gaussiano con estados coherentes

Procedemos a discutir como usar un kernel gaussiano en un SVM cuántico. Si-guiendo las ideas propuestas en el capitulo 3, debemos encontrar un espacio deHilbert que reproduzca el kernel gaussiano. Es decir buscamos estados |Φ(x)〉que cumplan

⟨Φ(x′)

∣∣Φ(x)⟩= e−γ‖x−x′‖2/2, (6.26)

donde x, x′ ∈ Rn, con algún n finito. Proponemos la siguiente construcción de unestado |Φ(x)〉

Page 109: Machine Learning Cuántico - Uniandes

6.4. Kernel gaussiano con estados coherentes 95

|Φ(x)〉 = |x1〉1 ⊗ · · · ⊗ |xn〉n

=n⊗

i=1

|xi〉i , (6.27)

con x = (x1, . . . , xn). Cada uno de los |xi〉i es un estado coherente, escrito en labase de Fock como

|xi〉i = e−(γxi)2

n

∑k=0

(γxi)k

√k!|k〉i , (6.28)

donde el parámetro γ se encuentra implícito en la definición de los |xi〉i. Recor-dando que el producto interno entre estados coherentes |α〉 , |β〉, con α, β ∈ R

es〈α|β〉 = e−

12 (α

2+β2−2αβ), (6.29)

el producto de dos estados |xi〉i , |x′i〉i será

〈xi|x′i〉i = e−γ2(x2i +x′2i−2xix′i)/2, (6.30)

claro está, si consideramos xi y x′i reales. Reuniendo todo, el producto interno dedos estados |Φ(x)〉 y |Φ(x′)〉 es

⟨Φ(x)

∣∣Φ(x′)⟩= 〈x1|x′1〉1 . . . 〈xn|x′n〉n=(

e−γ2(x21+x′21−2x1x′1)/2

). . .(

e−γ2(x2n+x′2n−2xnx′n)/2

)=(

e−γ2(x21+···+x2

n)/2)(

e−γ2(x′21+···+x′2n)/2)(

eγ2(2x1x′1+···+2xnx′n))

= e−γ2(x2+x′2−2x·x′)/2

= e−γ2‖x−x′‖2/2.

(6.31)

El cual es el resultado que estábamos buscando. A partir de este, para construirla matriz del kernel debemos construir el estado |χ〉 correspondiente a

|χ〉 = 1√M

M

∑i=1|i〉 |Φ(xi)〉 . (6.32)

Siguiendo el procedimiento del capitulo anterior, tomamos la traza parcial de lamatriz densidad de |χ〉, ρχ = |χ〉〈χ|, donde encontramos

Page 110: Machine Learning Cuántico - Uniandes

96 Capítulo 6. Extensión de kernel Gaussiano para QSVMs

Tr2 |χ〉〈χ| =1M

M

∑i,j=1

⟨Φ(xj)

∣∣Φ(xi)⟩|i〉〈j|

=K

TrK= K. (6.33)

Hemos encontrado una forma de construir kernel gaussianos usando estadoscuánticos. Inicialmente, podemos pensar representar cada |xi〉 con algún campoclásico, por ejemplo usando laser con intensidad modulada por xi, pero entramosen problemas de acople con el computador cuántico. No obstante, vale la penaestudiar a futuro estas alternativas en conjunto con la comunidad experimental.

6.5. QSVM con kernel gaussiano

La ventaja de un SVM es que podemos cambiar arbitrariamente la función dekernel y la implementación del algoritmo se mantiene igual, esto nos permiteconcentrarnos solamente las condiciones sobre el kernel para determinar lafactibilidad de un QSVM con kernel gaussiano. Hace falta entonces estudiar laspropiedades de esta matriz de Gram para determinar si puede reemplazar lamatriz de kernel lineal usada en el capitulo 5 para construir QSVMs. En particularqueremos saber si esta bien condicionada, κ = λmax/λmin no puede crecer comopoly(M, N), de lo contrario, perdemos la ganancia exponencial del algoritmo.

Recordemos que la complejidad viene dada como

O(P(1− P)κ3e f f ε−5 log(MN)). (6.34)

Estudiemos el efecto de γ en la matriz de kernel. Cuando el parámetro γ espequeño la matriz de Gram tiene forma de bajo rango [31] y aplican todas lasconsideraciones estudiadas en [1] para el caso de bajo rango. Propiamente, vana existir pocos λi = O(1) y muchos con O(1/M). El algoritmo, mantiene sudesempeño, y va a filtrar los valores propios pequeños lo cual induce un errorE = 1/

√M en la clasificación.

Ahora, cuando γ es grande la matriz de Gram toma forma de bloques [31]. Segúnlos estudios de Friedman [10] y Reyhani et al. [32], Esperamos que los valorespropios decaigan rápidamente a 0, efectivamente reduciendo la dimensionalidad

Page 111: Machine Learning Cuántico - Uniandes

6.5. QSVM con kernel gaussiano 97

del kernel. Después de la normalización, esta reducción se marca aun más ya queignoramos los valores propios del orden O(1/M). Argumentamos que el impactosobre el desempeño de clasificación es poco pues el kernel gaussiano tambiénelimina las componentes de mas alta frecuencia del espacio de características.Dicho esto, aun no sabemos si κ es alguna función de orden O(poly(M)), lo cualarruinaría la ganancia exponencial. Simulaciones numéricas indican que no [31],pero hace falta establecer cotas más claras.

Page 112: Machine Learning Cuántico - Uniandes
Page 113: Machine Learning Cuántico - Uniandes

99

7Conclusiones

Hemos llegado con un entendimiento mucho más claro de las posibilidades de lacomputación cuántica en aplicaciones que cada vez están más cercanas a lo quees usado y necesitado actualmente. La aplicación a SVMs es un caso idóneo enel sentido que gran parte de las personas y compañías están confiando más entécnicas de aprendizaje de maquina, reflejado en la rápida inserción y adopciónque han tenido estos métodos recientemente. En adición, tenemos la ventajade que este algoritmo es intrínsecamente escalable, la complejidad logarítmicaO(log(MN)) permite manejar volúmenes de datos cada vez mas grandes conpocos requerimientos de recursos adicionales. Podemos decir que estamos enel momento preciso para estudiar QSVMs, pues con el advenimiento muy cer-cano de computación cuántica de propósito general, este tipo de algoritmos seposicionarán entre los más útiles.

Con lo anterior en mente, propusimos una forma de solventar una de las limitacio-nes mas importantes de la propuesta de Rebentrost et al: La limitación de kernellineal. Escogimos el kernel gaussiano ya que, por un lado, es uno de los kernel demayor aplicabilidad, y por el otro, requieren mayor tiempo de cálculo cuando losdatos se hacen muy grandes. El reto fue encontrar estados cuyo producto internoreflejara la función de kernel. Encontramos como construir dichos estados a partirde productos tensoriales de estados coherentes. A su vez, un análisis preliminar

Page 114: Machine Learning Cuántico - Uniandes

100 Capítulo 7. Conclusiones

indica que para valores pequeños del parámetro γ, el kernel se acopla satisfacto-riamente al algoritmo. Para un parámetro γ grande argumentamos que debido alrápido decaimiento de la dimensionalidad, este kernel también se acopla bien.No obstante, es necesario revisar con mayor detalle la razón κ = λmax/λmin paracorroborar que esta no crezca como algún poly(M, N).

Como un comentario adicional quisiéramos señalar el avance que se ha tenidoen computación cuántica, a tal punto que ya nos encontramos diseñando losalgoritmos pensando de forma modular. Con el tiempo van desapareciendo lascajas negras y podemos diseñar soluciones completas a problemas complejos.Esto a partir de componentes simples, como la estimación de fase, la simulaciónde exponenciales y el auto análisis.

Page 115: Machine Learning Cuántico - Uniandes

101

Bibliografía

1. Rebentrost, P., Mohseni, M. y Lloyd, S. Quantum support vector machine forbig data classification. Physical review letters 113. 00046, 130503 (2014).

2. Abu-Mostafa, Y. S., Magdon-Ismail, M. y Lin, H.-T. Learning from data: a shortcourse 00000. 201 págs. isbn: 978-1-60049-006-4 (AMLbook.com, S.l., 2012).

3. Rieffel, E. y Polak, W.Quantum computing: a gentle introduction 00000. 372 págs.isbn: 978-0-262-01506-6 (The MIT Press, Cambridge, Mass, 2011).

4. Nielsen, M. A. y Chuang, I. L. Quantum computation and quantum information10th anniversary ed. 24770. 676 págs. isbn: 978-1-107-00217-3 (CambridgeUniversity Press, Cambridge ; New York, 2010).

5. Harrow, A. W., Hassidim, A. y Lloyd, S. Quantum algorithm for linear systemsof equations. Physical review letters 103. 00226, 150502 (2009).

6. Schuld, M., Sinayskiy, I. y Petruccione, F. An introduction to quantum machinelearning. Contemporary Physics 56. 00019, 172-185 (2015).

7. Russell, S. J., Norvig, P. y Davis, E. Artificial intelligence: amodern approach 3rded. 00003. 1132 págs. isbn: 978-0-13-604259-4 (Prentice Hall, Upper SaddleRiver, 2010).

8. Schölkopf, B. y Smola, A. J. Learning with kernels: support vector machines,regularization, optimization, and beyond 10231. 626 págs. isbn: 978-0-262-19475-4 (MIT Press, Cambridge, Mass, 2002).

9. Settles, B. Active learning literature survey. University of Wisconsin, Madison52. 00000, 11 (2010).

10. Friedman, J., Hastie, T. y Tibshirani, R. The elements of statistical learning00787. <http://statweb.stanford.edu/~tibs/book/preface.ps> (visita-do 09-02-2016) (Springer series in statistics Springer, Berlin, 2001).

11. Burges, C. J. A tutorial on support vector machines for pattern recognition.Data mining and knowledge discovery 2. 15565, 121-167 (1998).

12. Kim, E. The Kernel Trick 00000. <http://www.eric-kim.net/eric-kim-net/posts/1/kernel_trick.html> (2016).

Page 116: Machine Learning Cuántico - Uniandes

102 BIBLIOGRAFÍA

13. Brereton, R. G. y Lloyd, G. R. Support Vector Machines for classification andregression. Analyst 135. 00116, 230-267. issn: 1364-5528 (25 de ene. de 2010).

14. Cortes, C. y Vapnik, V. Support-vector networks. Machine learning 20. 19423,273-297 (1995).

15. Suykens, J. A. y Vandewalle, J. Least squares support vector machine classifiers.Neural processing letters 9. 00000, 293-300 (1999).

16. Bennett, C. H. Quantum cryptography using any two nonorthogonal states.Physical Review Letters 68. 02714, 3121 (1992).

17. Kaye, P., Laflamme, R. y Mosca, M. An introduction to quantum computing00000. 274 págs. isbn: 978-0-19-857000-4 978-0-19-857049-3 (Oxford Univ.Press, Oxford, 2007).

18. Lloyd, S., Mohseni, M. y Rebentrost, P. Quantum self analysis. Nature Physics10. 00000, 631-633 (2014).

19. Ahokas, G., Cleve, R., Sanders, B. C. y Berry, D. W. Efficient quantum algorithmsfor simulating sparse Hamiltonians 00000 (2005).

20. Lloyd, S., Mohseni, M. y Rebentrost, P. Quantum algorithms for supervisedand unsupervised machine learning. arXiv preprint arXiv:1307.0411. 00000.<http://arxiv.org/abs/1307.0411> (visitado 22-01-2016) (2013).

21. Lloyd, S., Mohseni, M. y Rebentrost, P. Quantum principal component analysis.Nature Physics 10. 00000, 631-633 (2014).

22. Arora, S. y Barak, B. Computational complexity: a modern approach 00000.isbn: 978-0-511-53290-0 978-0-511-53075-3 978-0-511-65053-6 978-0-511-53381-5 978-0-511-80409-0 978-0-511-53199-6. <http://www.books24x7.com/marc.asp?bookid=31235> (visitado 10-05-2016) (2009).

23. Goldreich, O. Computational Complexity a Conceptual Perspective. 00000.isbn: 978-0-511-39882-7. <http://public.eblib.com/choice/publicfullrecord.aspx?p=343545> (visitado 10-05-2016) (Cambridge University Press, Leiden,2008).

24. Kumar, A. Machine Learning - How to Diagnose Underfitting/Overfitting ofLearning Algorithm 00000. <http://vitalflux.com/machine-learning-diagnose - underfittingoverfitting - learning - algorithm/> (2015-02-26T11:44:21+00:00).

25. MacKay, D. J. Information theory, inference and learning algorithms 00000.<http://books.google.com/books?hl=en&lr=&id=AKuMj4PN_EMC&oi=fnd&pg=PR7&dq=%22requires+some+of+the%22+%22are+towards+the+

end.+All+chapters+of+Part+III+are+optional+on+a%22+%22Parts+I,

+II,+IV,+and+V+of+this+book,+chapters+on+advanced+or%22+&ots=

Page 117: Machine Learning Cuántico - Uniandes

BIBLIOGRAFÍA 103

ELnkg86xGh&sig=3ny9bT5U7ooK1zieLb0cgn- egPo> (visitado 04-05-2016)(Cambridge university press, 2003).

26. Giovannetti, V., Lloyd, S. y Maccone, L. Quantum random access memory.Physical review letters 100. 00000, 160501 (2008).

27. Wittek, P. Quantum machine learning: what quantum computing means todata mining 1. ed. 00000. 163 págs. isbn: 978-0-12-800953-6 (Elsevier [u.a.],Amsterdam, 2014).

28. Fletcher, T. Support vector machines explained. Online]. http://sutikno. blog.undip. ac. id/files/2011/11/SVM-Explained. pdf.[Accessed 06 06 2013]. 00097(2009).

29. Ng, A. Machine Learning 11541. <http://openclassroom.stanford.edu/MainFolder/DocumentPage.php?course=MachineLearning&doc=exercises/

ex8/ex8.html> (2016).30. Gerry, C. C. y Knight, P. Introductory quantum optics 00000. isbn: 978-0-

511-22695-3 978-0-511-22865-0 978-0-511-22949-7 978-0-511-64837-3 978-0-511-79123-9. <http://dx.doi.org/10.1017/CBO9780511791239> (visitado14-03-2016) (Cambridge University Press, Cambridge, UK; New York, 2005).

31. Si, S., Hsieh, C.-J. y Dhillon, I. Memory efficient kernel approximation en Pro-ceedings of The 31st International Conference on Machine Learning 00000(2014), 701-709. <http://jmlr.org/proceedings/papers/v32/si14.html>(visitado 21-03-2016).

32. Reyhani, N., Hino, H. y Vigário, R. New probabilistic bounds on eigenvaluesand eigenvectors of random kernel matrices. arXiv preprint arXiv:1202.3761.00000. <http://arxiv.org/abs/1202.3761> (visitado 05-05-2016) (2012).