Monografia Machine Learning
Monografia Machine Learning
Monografia Machine Learning
Introducción
Las tecnología ha estado en constante cambio en los últimos años, se han
logrado avances que en el siglo pasado eran inimaginables para el hombre, con
estos cambios también se han ido creando nuevas disciplinas entre ellas una de
las más populares por la su cantidad de aplicaciones es la Inteligencia Artificial.
Uno de los grandes problemas con los que nos enfrentamos los estudiantes
hispanohablantes de Ingeniería en Sistemas Computacionales es la poca canti-
dad de información que hay en nuestro idioma y esto no es una excepción con la
Inteligencia Artificial. Es por eso que el presente trabajo dará una introducción
a quien este interesado en aprender uno de los principales tipos de Inteligencia
Artificial: el Machine Learning.
Algunas de las razones por las que el Machine Learning es una disciplina
que ha empezado a ser utilizada para solucionar distintos problemas son las
siguientes:
Los procesos modernos cada vez son mas poderosos. El rendimiento de las
computadoras ha mejorado exponencialmente.
El costo de almacenamiento y procesamiento de una gran cantidad de
datos ha bajado. Además los nuevos dispositivos de almacenamiento tienen
la capacidad de analizar en menos tiempo una gran cantidad de datos.
El computo distribuido, a través de los llamados çlusters", ha permitido
el procesamiento de datos con una gran complejidad.
La cantidad de datos que generamos gracias a Internet ha permitido un
mayor soporte para el análisis de los mismos. Algunos de estos están dis-
ponibles en los servicios de la nube y en las llamadas .APIs"(Application
Programming Interfaces).
Los algoritmos de Machine Learning están disponibles gracias a las co-
munidades que se han formado y comparten los mismos de forma .open
source". Además de que hay más recursos, frameworks y librerias para
facilitar las tarea de los desarrolladores.
Gracias a estas razones el Machine Learning es una disciplina que cualquier
estudiante relacionado con las Ciencias Computacionales debe de empezar a
interesarse y aprender sobre ésta. Sin embargo el Machine Learning no es una
disciplina reciente, sus orígenes se remontan a los años 50’s, pero debido a su
complejidad no había mucha evolución en la disciplina hasta años recientes. En
el trabajo se abarca un poco la historia de la Inteligencia Artificial y también
del Machine Learning, además de algunos antecedentes que es indispensable co-
nocer para adentrarse en el Machine Learning debido a que no es una disciplina
aislada, se sustenta de 3 disciplinas que lo ayudan a tener mejores resultados:
la Estadística, el Big Data y la Minería de Datos.
1
2. Inteligencia Artificial
Inteligencia Artificial (IA) es un término que en los últimos años ha empeza-
do a popularizarse debido a los avances que se han hecho en el área, sin embargo
es un término acuñado desde los años 50’s. La historia de la IA comienza en
el año de 1943 cuando Waren McCulloch y Walter Pitts desarrollan el primer
modelo de red neuronal, 7 años después uno de los personajes más notables en
las ciencias de la computación, Alan Turing, se pregunta Çan machines think?".
En 1956 IBM organiza el primer congreso sobre inteligencia artificial en el Daur-
mouth College en Estados Unidos, donde es usado por primera vez el termino
ïnteligencia artificial".
"Planning".
"Machine Learning (ML)".
3. Machine Learning
Cuando se habla de Machine Learning se suele usar para referirse de IA,
si bien todo algoritmo de Machine Learning es Inteligencia Artificial no toda
la Inteligencia Artificial es Machine Learning. Machine Learning se centra en
desarrollar sistemas que aprenden o mejoren el rendimiento, en función de los
datos que consumen.
Una de las frases más citadas para referirse a Machine Learning es la del
creador del término, Arthur Samuel, quien en 1959 dijo: "Machine Learning es
el campo de estudio que da a las computadoras la habilidad de aprender sin
ser programadas explícitamente". 40 años mas tarde Tom Mitchell se refirió al
Machine Learning como: "Se dice que un programa de computadora aprende de
experiencia E, con respecto a alguna tarea T y alguna medida de desempeño P,
mejora con experiencia E".
Algunos años más tarde el propio Mitchell en un articulo titulado "The dis-
cipline of Machine Learning"publicado en el 2016 extendió su definición sobre
el Machine Learning: Machine Learning es la intersección de la Estadística y
las Ciencias de la Computación y principalmente se centra en cómo hacer que
las computadoras se programen a ellas mismas a partir de la experiencia y es-
tructuras iniciales. Si la Estadística se enfoca en las conclusiones que se pueden
inferir a través de los datos, el Machine Learning se enfoca en como los sistemas
computacionales y algoritmos pueden ser usados para optimizar la captura. al-
macenamiento, clasificación, recuperación y unión de los datos.
2
La Estadística no es la única disciplina que sustenta al Machine Learning,
además de ésta la Minería de Datos y el Big Data son indispensable para el
funcionamiento de los sistemas de Machine Learning.
3.1. Estadística
La Estadística es una de las ciencias que más aplicaciones tienen tanto en el
ámbito científico como en la vida cotidiana. Se encarga del análisis de los datos
para después buscar conclusiones con base en éstos. Existen dos vertientes de
la Estadística: la cualitativa que se encarga de la recopilación de información
de medios que no pueden ser medidos y la cuantitativa que se auxilia en la
recopilación y análisis de datos. Además de ayudar al procesamiento de datos la
estadística ayuda a comprobar la validez de los algoritmos de Machine Learning.
Para que una "data source"sea considerada como BD tiene que tener por lo
menos una de las llamadas "4 V’s":Volumen, veracidad, velocidad y variedad.
Volúmenes extremadamente largos de datos.
La habilidad de transferir los datos a alta velocidad.
Siempre estar en constante expansión con la variedad de datos que con-
tiene.
Veracidad en los datos para que éstos puedan representar la verdad.
Los analistas de BD requieren tecnología diseñada para reunir, almacenar, ad-
ministrar y manipular grandes cantidades de datos con la velocidad correcta
y en el momento correcto para entender e interpretar de manera correcta los
datos. Gracias a los avances tecnológicos se ha hecho más barato el computo y
almacenamiento de datos y esto ha generado un gran interés e inversión de las
grandes start-ups de software.
3
3.3. Minería de Datos
La Minería de Datos (MD) es la conjunción de la Estadística y el Big Data.
Está basada en los principios de la Estadística, es el proceso de explorar y ana-
lizar grandes cantidades de datos para descubrir patrones entre ellos. A través
de programas de búsqueda e identificación de patrones y relaciones globales,
tendencias, desviaciones y otros indicadores aparentemente caóticos que tienen
una explicación que pueden descubrirse mediante diversas técnicas. El objetivo
fundamental es aprovechar el valor de la información localizada y usar los pa-
trones preestablecidos.
Aprendizaje supervisado.
Aprendizaje no supervisado.
4
Aprendizaje reforzado.
Puede ocurrir que los patrones encontrados en una muestra de los datos
de entrenamiento no puedan ser identificados en una muestra de datos mucho
más grande, este problema es conocido como .Overfitting". El Overfitting ocurre
cuando tu algoritmo funciona para la etapa de entrenamiento y no para clasificar
una muestra de datos desconocida. Para proteger contra el overfitting necesitas
realizar la etapa de entrenamiento con datos ïmprevistos.o no etiquetados, así
puedes medir la exactitud de tu modelo para predecir resultados.
5
utilizan cuando se tiene una gran cantidad de datos que no han sido etiquetados.
6
4. La retroalimentación es analizada y almacenada por el programa, después
se repite el proceso hasta llegar al resultado más optimo.
5. Algoritmos de clasificación
Una de las principales aplicaciones del aprendizaje de máquina es la clasifi-
cación de objetos. Los algoritmos de clasificación del machine learning buscan
que a partir de cualquier objeto se busca que a partir de un objeto xi , por
ejemplo la cáscara de un plátano, y una serie de clases V1 , V2 , . . . , Vn , por
ejemplo basura orgánica y basura inorgánica, pueda encontrarse una función f ,
o un afunción aproximada fˆ, tal que aplicada al objeto, se le asigne una clase
correcta, es decir f (xi ) = Vk . Pero esto es bastante díficil para una computadora
por sí sola; siguiendo con el ejemplo de la cáscara de plátano, existe el problema
de cómo decirle a la computadora que ésta es una basura orgánica. Es por esto
que una de las técnicas más utilizadas es generar vectores con a partir de las
características del objeto a clasificar, así como tener una serie de vectores, que
sabemos que pertenecen a cada una de las clases en las que clasificaremos los
objetos, con los que hemos de comparar para poder clasificar.
7
clasificar, compararemos cada uno de los k vectores, con las m clases entre las
cuales se pueden clasificar, es decir
k
X
fˆ(xq ) = arg max δ(Vi , f (xn ))
Vi ∈V
n=1
Clase 2
6 Clase 1
−1 1 2 3 4 5 6 7
La figura (1) es una representación gráfica con cada uno de los casos de
ejemplo, luego, a partir de estos puntos se genera el híper plano que divide
ambas clases, así para d = 2 tenemos que el híper plano tiene es de la forma
wx + b = 0, donde w ∈ Rd es un vector de pesos y b el término de sesgo, estas
variables se aprenden a partir del conjunto de datos con los que entrenamos al
sistema, es decir, un conjunto D = {x1 , x2 , . . . , xn }. [? ]
1 Aunque puede extenderse a aún más clases.
8
6
−1 1 2 3 4 5 6 7
Para clasificar un nuevo ejemplar xq , basta con determinar el lado del híper
plano en el que se localiza xq , esto es, la clase del nuevo objeto estará dada por:
f (xq ) = sign(mx + b)
de tal forma que los objetos que se encuentren por debajo del híper plano, i. e.,
los puntos en los que mx + b < 0, pertenecerán a una clase, y los puntos en los
que mx + b > 0 pertenecen a otra; recordadando que el híperplano es aquel tal
que mx + b = 0. En la SVM el híper plano que separa las clases es aquel que
maximiza el margen de separación entre ejemplos de ambas clases. Para obtener
dicho híper plano se resuelve el siguiente problema de optimización:
1
arg min ||w||2
w 2
sujeto a
yi (φ(xi ) + b) ≥ 1, ∀(xi , yi ) ∈ D
Es decir, el híper plano. Dicho de una manera sintetizada, debe encontrarse un
híper plano, tal que, divida a ambas clases, y además de ésto haya una distancia
equitativa entre los puntos más cercanos al híper plano de distintas clases, y
que ésta distancia sea máxima. El proceso de obtención de dicho híper plano,
conlleva un proceso de análisi matemático más profundo, pero el objetivo de esta
investigación no es ahondar en ese tipo de asuntos sino presentar los algoritmos
existentes. [? ]
9
asignará al objeto. La probabilidad anterior puede ser calculada de muchas ma-
neras, en el caso del clasificador Bayesiano simple, sehace uso del teorema de
Bayes como sigue:
d
Y
P̂ (Vk |xj ) ≈ P̂ (xj,i |Vk )P (Vk )
i=1
Esta fórmula cuenta con dos elementos principales; en primera instancia tene-
mos P (Vk ) que denota la probabilidad de que un objeto pertenezca a la clase Vk ,
es decir, la probabilidad, dependiendo de cuantos elementos tenga cada clase de
que un nuevo objeto pertenezca a dicha clase. Por otro lado, se tiene una proba-
bilidad que depende del elemento xj , ésta se encuentra dada por la probabilidad
de que un valor caracerístico xj,i se encuentre en ejemplos del conjunto con el
que adoctrinamos el sistema , D, pertenecientes a la clase Vk . Por ejemplo, si nos
encontrásemos clasificando correos con spam, esta cantidad podría ser estimada
por la probabilidad de que una palabra (por ejemplo prestamo) aparezcan en
correos que son spam. [? ]
wx + b = 0, w ∈ Rn
Los datos que estas técnicas arrojan, pueden ser utilizados de diversas ma-
neras y en distintos campos de la industria. McKinsey & Company, es un asesor
de compañías, enfocada en la administración estratégica. Esta empresa realizó
un estudio en el cual miden el potencial del ML en distintos sectores de la indus-
tria. La investigación tiene como objetivo motivar a las empresas a adentrarse
en este tipo de métodos para el manejo de sus empresas. La información obte-
nida es bastante interesante, a continuación, se muestran algunos de los datos
que obtuvieron. [3]
10
la misma empresa, clasificaron el potencial del ML en los distintos casos de uso
para cada sector de la industria. Finalmente midieron la cantidad de informa-
ción y algoritmos que se pueden utilizar actualmente en cada uno de los casos
de uso. A continuación, se muestran los resultados obtenidos por la empresa.
11
Figura 4: Información utilizable
12
Tipo de Información
Sector Casos de uso Impacto
Problema disponible
Identificar caminos
Procesar
y obstáculos en
Automotriz datos no 1.5 2.0
tiempo real para
estructurados
autos autónomos
Predecir fallas y
recomendar
Mantenimiento
Manufactura mantenimiento 1.3 1.0
predictivo
preventivo en líneas
de producción
Personalizar la
oferta de productos Personalización
Finanzas 1.2 1.7
con base en datos radical
multimodales
Personalizar
técnicas de
Personalización
Agricultura mejoramiento a 1.1 1.3
radical
parcelas
específicas
Predecir fallas y
recomendar
mantenimiento Mantenimiento
Energía 1.6 0.7
preventivo para predictivo
explotación y
perforación
Diagnosticar
enfermedades con
Análisis
Salud escaneos, biopsias, 1.4 0.3
predictivo
audio y otro tipo de
datos
Optimizar los
Optimización
estudios clínicos
de
Farmacéutico incluyendo la 1.3 0
precios y
selección de
productos
pacientes
Personalizar
publicidad y
Medios de Personalización
recomendaciones 1.9 1.3
comunicación radical
con base en datos
multimodales
Predecir el tiempo
Telecomu- de vida y el riesgo Análisis
1.3 1.3
nicaciones de cancelación de predictivo
los clientes
Optimizar precios y Optimización
horarios con base de
Logística 1.7 1.3
en la demanda en precios y
tiempo real productos
13
En la tabla se puede observar un caso de uso, en el que es posible la aplicación
del ML, por cada sector. Sin embargo, estos no son los únicos, cada sector cuenta
con más casos de usos. De manera que podemos observar que el ML tiene un
gran potencial de aplicación dentro de la industria.
Con estos datos, podemos ver el potencial que el ML representa para las em-
presas. Incluso, en la actualidad muchas empresas ya se encuentran utilizando
estas técnicas.
Además de estas empresas, muchas otras utilizan ML para mejorar sus ser-
vicios. Algunos ejemplos dentro de nuestro país son los siguientes. BBVA Ban-
comer es el primer banco en utilizar técnicas de ML e IA a través de WhatsApp
en México. A través del uso de datos y de ML, crearon un Asistente Personal
capaz de procesar texto y voz para ayudar a sus clientes con sus necesidades
financieras. El asistente cuenta con medidas de seguridad, de manera que no so-
14
licita información confidencial como NIP, CCV, entre otra información delicada.
El asistente ayuda en la búsqueda de cajeros automáticos y sucursales, además
brinda información sobre el tipo de cuentas y tarjetas de crédito que maneja el
banco. Gracias a la implementación de IA, el asistente aprende las diferentes
interacciones con los clientes e identifica sus necesidades, lo cual permitirá al
proyecto ir evolucionando y aumentando sus capacidades. [8]
Estos son solo algunos ejemplos de cómo las empresas utilizan ML para la
mejora de sus productos y servicios. Sin embargo, aún tiene un gran potencial
de crecimiento.
Aunque México no está cerca de ser uno de los líderes en ML e IA, el avan-
ce de estas ciencias representa una gran oportunidad para desarrolladores de
software, quienes son reconocidos a nivel mundial por sus capacidades. Además,
México cuenta con muy pocos científicos de datos, por lo que esta rama es una
gran oportunidad para los jóvenes estudiantes. Con todo lo anterior es fácil com-
prender la importancia del ML. Esta ciencia, permite a las máquinas “actuar
de manera inteligente”, brindándoles la capacidad de aprender y de generar in-
formación útil. Además, el ML deriva de la IA, la cual está considerada como
la segunda tecnología más disruptiva, solo después del Internet de las Cosas. [13]
15
este aspecto en el que el ML brinda una opción muy interesante, ya que brinda
de adaptabilidad al software, permitiéndole aprender y adaptarse a las nuevas
situaciones que se le presentan.
16
mexicanos a realizar diagnósticos de pacientes que padecen cáncer. Watson for
Oncology es una tecnología cognitiva que procesa información de manera simi-
lar a un ser humano, cuando se le hace una pregunta se basa en generación
y evaluación de hipótesis para analizar rápitamente la información, y con el
uso repetido, Watson se vuelve cada vez más listo, con la retroalimentación de
aquellos que lo usan y aprendiendo de los diagnósticos exitosos y los que falla-
ron. Esta tecnología es un claro ejemplo del aprendizaje máquina y sus grandes
virtudes para la predicción y el procesamiento de datos, ya que busca de entre
un gran acervo de información dentro del cual se pueden encorntrar reportes de
prácticas, artículos de journals, libros, etc., y con base en estos datos, muestra
dónde puede encontrarse información para un diagnóstico o un tratamiento que
Watson genera. [? ]
17