Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Se empieza por dar una descripción del libro, que a la vez es una guía de lo que es el
Machine learning. A continuación se vera la estructura usada en el libro:
1 INTRODUCCION
La IA ha tenido gran desarrollo en los últimos años, en especial el Mchine learning. Por
esto, el siguiente texto pretende aclarar los conceptos, usos y teorías bajo los cuales esta
tecnología opera.
1.1 MUESTRA DE APRENDIZAJE AUTOMATICO
Empezando por las aplicaciones, los datos que manejan, finalmente se llega a la
generalidad de los problemas de machine learning para no volver a cometer los mismos
errores. En este ultimo punto es donde el machine learning tiene capacidad de lidiar con
problemas pasados, de resolverlos y cada vez mas irlos evitando.
1.2 APLICACIONES
Las paginas web en los buscadores de Google, los links asociados entre paginas web, los
escritos en dos idiomas distintos para aprender a traducir, los reconocimientos faciales a
partir de imagen o video, categorías de recomendaciones en Amazon, reconocimiento de
voz, reconocimiento de la escritura a mano, control de motores a reacción, avatares en los
juegos, marketing, robots, etc. Todas estas son aplicaciones del machine learning. Sin
embargo en el fondo puede ocurrir un problema de clasificación para que el machine
learning pueda hacer bien su trabajo.
1.3 DATOS
Los problemas de machine learning se pueden caracterizar según el tipo de datos que se
usa. De esta manera las soluciones a unos problemas pueden servir para otros, por la
similitud de los tipos de datos. Algunas formas de clasificar los datos son:
Lists: listas de información que pueden tener variables dependiendo lo que se neceite usar
de la base de datos.
Sets: o conjuntos de datos, sirven para agrupar datos que tienen alguna relación importante
para la solución de un problema.
Imágenes: se pueden considerar como matrices, coherencia geométrica y lineal (ya que
ocupan un espacio)
Video: es una matriz en tres dimensiones, además que debe tener una coherencia espacial y
temporal.
Trees and Graphs: se usan para ver relaciones entre conjuntos de objetos, arboles que
refinan o categorizan mas en profundidad un tema.
Estructuras compuestas: tenemos una estructura donde se asimilan varios tipos de datos en
una misma relación, un ejemplo la pagina web (texto, imagen, video, gráficos etc.)
1.4 PROBLEMAS
Partiendo de varios problemas de cada categoría antes descrita, se llega a la generalización
de problemas, los cuales se resulven por medio de plantillas objetivas.
Estimación estructurada: se asume que las categorías tienen una estrucvtura adicional que
puede usarse. Por ejemplo, al intentar clasificar páginas web, y podría ser una permutación,
cuando intentar unir objetos, realizar filtros colaborativos o clasificar documentos en un
entorno de recuperación.
Regresión: Aquí el objetivo es estimar una variable de valor real y darle R dado un patrón
x. Por ejemplo, podríamos querer estimar el valor de unas acciones al día siguiente, el
rendimiento de una fábrica de semiconductores dado el proceso actual, el contenido de
hierro de o dadas mediciones de espectroscopia de masas, o la frecuencia cardíaca de un
atleta.
Para resolver estos problemas es necesario crear unlenguaje que pueda ayudar a entender y
resolver los problemas.
1.5.2 DISTRIBUCION
Aquí se asocia la aleatoriedad con los posibles valores que pueda tener. De esta manera se
encuentra un rango donde oscila el valor que puede suceder.
Dadas dos variables aleatorias X e Y, uno puede escribir su densidad conjunta p (x, y).
Dada la densidad conjunta, se puede recuperar p (x) integrando.
Cuatro son los algoritmos básicos que podrían usarsen en Machine learning: Naive Bayes,
vecinos más cercanos, el clasificador medio y el Perceptron, que puede usarse para resolver
un problema de clasificación binaria.
En un sentido amplio, los modelos de Naive Bayes son una clase especial de algoritmos de
clasificación de Machine Learning. Se basan en una técnica de clasificación estadística
llamada “teorema de Bayes”. En ellos se asume que las variables predictores son
independientes entre sí. En otras palabras, que la presencia de una cierta característica en un
conjunto de datos no está en absoluto relacionada con la presencia de cualquier otra
característica.
En su forma básica asigna la etiqueta de su vecino más cercano a una observación x. Por lo
tanto, todo lo que necesitamos para implementarlo es una medida de distancia d (x, x0)
entre pares de observaciones. Tenga en cuenta que esta distancia ni siquiera necesita ser
simétrico Esto significa que los clasificadores vecinos más cercanos pueden ser
extremadamente flexible.
Podemos usar geometría para diseñar otro algoritmo de clasificación simple para nuestro
problema. Por simplicidad, suponemos que las observaciones x ∈ R, tal como la
representación en bolsa de palabras de los correos electrónicos.
1.6.4 PERCEPTRON
Por medio de un ejemplo, un usuario puede querer tener resultados instantáneos cada vez
que llega un nuevo correo electrónico y le gustaría que el sistema aprenda de inmediato
desde correcciones hasta errores que comete el sistema. Para superar estas dos dificultades,
uno podría imaginar trabajar con siguiente protocolo: a medida que llegan los correos
electrónicos, nuestro algoritmo los clasifica como spam o no spam, y el usuario
proporciona comentarios sobre si la clasificación es correcto o incorrecto. Esta
retroalimentación se utiliza para mejorar el rendimiento.
1.6.5 K MEANS
Todos los algoritmos que discutimos hasta ahora son supervisados, es decir, suponen que
los datos de entrenamiento etiquetados están disponibles. En muchas aplicaciones esto es
demasiado esperar el etiquetado puede ser costoso, propenso a errores o, a veces,
imposible. En tales casos, uno tiene que recurrir al aprendizaje no supervisado. Un
algoritmo prototípico de aprendizaje no supervisado es K-means, que es el algoritmo de
agrupamiento. Dado X = {x1,. . . , xm} el objetivo de K-means es dividirlo en k grupos de
manera que cada punto en un grupo sea similar a puntos de su propio grupo que con puntos
de algún otro grupo.
2. DENSITY ESTIMATION
A menudo, los resultados del sistema con el que estamos tratando pueden ser variables
aleatorias de valor continuo en lugar de binarias, posiblemente incluso con rango
desconocido. Por ejemplo, cuando se trata de determinar el promedio Salar a través de un
cuestionario que necesitamos determinar cuántas personas es necesario preguntar para
obtener un cierto nivel de confianza. Para responder a estas preguntas necesitamos discutir
teoremas de límites. Ellos dicen nosotros por cuánto promedios sobre un conjunto de
observaciones pueden desviarse de las expectativas correspondientes y cuántas
observaciones debemos estimar una cantidad de probabilidades de manera confiable.
2.1 LEYES FUNDAMENTALES
La Ley de Grandes Números desarrollada por Bernoulli en 1713 es una de las bloques de
construcción fundamentales del análisis estadístico. Establece que promedios sobre un
número de observaciones convergen a sus expectativas dado un número suficientemente
grande de observaciones y dados ciertos supuestos sobre el independencia de estas
observaciones. Viene en dos sabores: el débil y La ley fuerte.
La ley débil de los grandes números y el teorema del límite central para una ilustración
probando la convergencia en el dominio de Fourier. Prueba [Ley débil de grandes números]
En el centro de nuestro análisis se encuentra una expansión de Taylor de lo exponencial.
el teorema del límite central no se aplica pero es solo una aproximación al situación real.
Por ejemplo, en el caso de los dados, podríamos querer decir límites de los peores casos
para sumas finitas de variables aleatorias para determinar por cómo tanto la media empírica
puede desviarse de su expectativa. Esos límites no solo será útil para promedios simples
sino para cuantificar el comportamiento de estimadores más sofisticados basados en un
conjunto de observaciones. Los límites que discutimos a continuación difieren en la
cantidad de conocimiento que asumir sobre las variables aleatorias en cuestión. Por
ejemplo, solo podríamos conocer su media. Esto lleva a la desigualdad de Gauss-Markov.
Si sabemos su media y su varianza podemos establecer un límite más fuerte, la desigualdad
de Chebyshev.
Es evidente que es crucial elegir un buen ancho de los datos, claramente, un núcleo que es
demasiado ancho excederá cualquier limite de detalle que puede haber en la densidad. Por
otro lado, un muy estrecho el núcleo no será muy útil, ya que solo podrá hacer
declaraciones sobre los lugares donde realmente observamos datos. Además, está la
cuestión de elegir una función de núcleo adecuada, el hecho de que exista una gran
variedad de ellos que podría sugerir un problema. En la práctica, este no es el caso y, en
cambio, la elección de un ancho de datos adecuado es mucho más vital para buenas
estimaciones. En otra palabras, el tamaño importa, la forma es secundaria. El problema es
que no sabemos qué ancho de núcleo es mejor para los datos. Si el problema es
unidimensional, podríamos esperar poder mirar el tamaño de los datos en dimensiones
superiores este enfoque falla.
2.5 ESTIMACION
2.6 MUESTREO
2.7 OPTIMIZACION
En la base de muchos algoritmos de machine learning está encontrar los parámetros del
modelo que minimizan una función de coste dados los datos de entrenamiento. Este
problema de optimización es clave ya que si tenemos garantizada su solución podremos
encontrar los parámetros que minimizan el error.
Las claves para que este problema de optimización sea tratable son que se trate de un
problema de optimización convexa y que se pueda resolver en tiempo polinómico. Si un
problema de optimización es convexo sabemos que si existe un mínimo local este será un
mínimo global, el conjunto de mínimos globales es convexo y para cada función
estrictamente convexa si la función tiene un mínimo el mínimo es único. Por ejemplo,
hemos generado en Python la función de Rosenbrock usando matplotlib y mplot3d para
visualizar el gráfico en 3D. La función Rosenbrock es una función no convexa empleada
para probar algoritmos de optimización.
Por lo tanto para redes neuronales de más capas y nodos, como es el caso del Deep
Learning, la optimización se complica y no tenemos garantizado que usando descenso por
gradiente lleguemos a un mínimo global. Surge la duda de si tenemos este problema de
optimización cómo es posible que en muchas tareas el uso de modelos de deep learning ha
permitido alcanzar errores muy bajos.
Dualidad: a veces problemas que son difíciles de optimizar en el primario puede volverse
más simple en el dual. Por ejemplo, si la función objetivo es fuertemente convexo pero no
liso, su conjugado Fenchel es liso con un Gradiente continuo de Lipschitz.
https://alex.smola.org/drafts/thebook.pdf
p.151
linkedIA
Varias reflexiones a partir del Colombia 4.0, el cual tuvo lugar el día 25 de septiembre de
2019.
Empezamos con la conferencia sobre etiquetado de datos para modelos de IA, llamada
Data labeling for IA. La cual estuvo a cargo de la directora de la empresa de Linkedai. Se
empieza hablando sobre el procesamiento de imágenes, por detección de la forma de un
objeto y se le da una categoría a dicho objeto.
Hay otras formas de detección de objetos en las imágenes, por ejemplo la detección
semántica, por medio de la imagen, se puede saber qué tipos de objetos hay en la imagen. A
la vez las cajas 2D, las cuales son las mas usadas para detección de objetos, encerrando al
objeto en una caja y saber donde se encuentra en una imagen. Los polígonos son detección
de objetos por sus formas. Las polilineas son líneas límites que dan una guía por ejemplo a
los carros automáticos. También existen los puntos que se adecuan a una imagen y en su
variación se puede notar los cambios de una imagen a otra (rasgos de las caras etc.),
finalmente, existen las palabras claves las cuales se suelen usar en chatbots.
Pero y ¿los datos? Aquí aparece el problema de la insuficiencia de datos: el problema de los
datos privados, sensibles, datos costosos o inaccesibles. El ejemplo del carro autónomo, el
cual aun no cuenta con suficiente información para poner un carro inteligente en las vías
comunes.
De esta forma surgen los datos sintéticos, los cuales son simulaciones del mundo real. Con
esto se puede mejorar el dataset de imágenes. En los carros autónomos se ha usado este tipo
de datos. El ejemplo del carro de Google a recorrido 8.000 millas en vías, pero a la vez han
recorrido muchos kilómetros por medio de simulaciones, por ejemplo el juego GTA.
También se ha usado un dataset sobre historiales pasados para prever que puede pasar a
futuro, para finalmente detectar el cáncer. Por medio de redes adversarias se generó mas
datos sintéticos que ayudo a reducir la probabilidad de falsos diagnósticos.
A la vez por medio de los fake videos se genera data que ayuda a prever casos que aun no
han pasado y recrearlos, para cuando llegue el momento se actue debidamente, en el caso
de los carros autónomos crear una situación que pueda pasar.
Aparecen asi varios problemas. ¿Se puede solo basarse en datos sintéticos y dejar de lado la
realidad?, ¿puede solo los datos reales ser suficientes para llegar a un buen resultado?,
¿Cómo hacer para que la IA, en especial machine learning aprenda de forma correcta por
medio del etiquetado de datos? De esta manera la conferencia da varias luces sobre la
importancia de los datos y los distintos modos de obtenerlos, a la vez de recrearlos y de
ponerlos a prueba.
Para la corrección de imágenes y videos, este mismo sistema funciona ya que la IA aprende
de los distintos tonos de luz y de sombra, logrando los acabados post foto o post video, para
así mejorar los contenidos digitales. Pero de esta tecnología se ha llegado a los deepfakes,
donde se interponen caras de personas en videos. Esto se ha convertido en un problema de
la identidad, del copyright y de los posibles problemas legales y éticos que surgirían.
Esto es un problema social desde las redes sociales y en momentos reales, pues cualquier
persona se puede adueñar de estos medios y generar falsa información. Se crea toda verdad
llegando a un momento de la duda sobre toda información.
Esta misma tecnología se puede utilizar para hacer que una persona en video pareciera que
habla en el idioma que queramos. Pues luego de recolectar la información de los
movimientos de la cara, se puede llegar a recrear un movimiento de la cara que corresponda
a lo que se quiere decir en un nuevo idioma. A la vez, la noticia del faceapp la cual hacia
que los rostros se envejecieran bastante, sin embargo el problema de fondo es que se estaba
usando estas aplicaciones para generar una gran base de datos, estamos ahora en el mercado
de la innovación.
El problema que surge es ¿Cómo usar el machine learning de tal manera que no vaya en
contra del libre desarrollo de la personalidad, la identidad, la libertad y el uso adecuado de
nuestros datos?, ¿Cómo lograr desarrollar un machine learning que tenga en cuenta la
realidad, la objetividad y el desarrollo adecuado, para que así se pueda llegar a un producto
digital sano?, ¿Cómo lidiar con la libertad del acceso a la tecnología y el buen uso y
desarrollo de la misma? Esta conferencia nos hace reflexionar sobre todos estos aspectos,
pero a la vez nos hace pensar en que la tecnología puede lidiar con los problemas y
ayudarnos a desarrollar esas ideas que tanto anhelamos, a la vez de empezar a persivir la
creatividad y el arte de otras formas, extendiendo el talento humano a la tecnología para
potenciarlo aún más.