El “Machine Learning” una ciencia Multidisciplinaria.

César Orozco
Datonautas
Published in
7 min readAug 27, 2018

“Machine Learning” es un campo de la inteligencia artificial, que en pocas palabras busca emular y en algunos casos superar el comportamiento humano más específicamente su capacidad de pensar, razonar, construir, evaluar y resolver problemas, con el objetivo de tomar decisiones basadas en datos en escala. De aquí la necesidad de esta para usar diferentes contextos y metodologías de diferentes disciplinas científicas, entre las cuales encontramos:

Ciencia de Datos

La ciencia de datos es una ciencia que aporta importantes características al “Machine Learning”, agrupando multitud de disciplinas con el objetivo de extraer conocimientos de los datos por medio de métodos científicos, procesos y sistemas, en pocas palabras esta otorga metodologías de trabajo para la búsqueda de información.

Matemáticas

Asociado a estas ciencias importantes a tomar en cuenta que usa el “Machine Learning” encontramos a las matemáticas, ciencia formal que se define como

“La ciencia de la cantidad, las matemáticas poseen un gran número de campos de estudio relacionados como la álgebra, geometría, calculo, teoría de los números, entre otras, pero las que se relacionan en mayor medida con el tema en cuestión son la probabilidad y la álgebra lineal.”

Las matemáticas contienen importantes definiciones para su uso en el desarrollo de la “Inteligencia Artificial” más específicamente del “Machine Learning”, como lo son:

Los escalares los cuales son números en oposición a una colección de números. Naturalmente estas colecciones de números mencionadas con anterioridad pueden ser vectores, los cuales son un arreglo unidimensional de números ordenados, otro arreglo de números es llamado matriz el cual es una estructura bidimensional que está compuesto por filas y columnas. En Python se pueden realizar numerosas operaciones con matrices como suma, resta, multiplicación, invertir, transponer, cálculo de determinantes, y muchas más.

Entre otras definiciones de importancia dentro de esta rama tenemos: La de tensor el cual es un arreglo genérico que posee un número variable de ejes, asimismo podemos hablar de la norma, la cual es una medida de tamaño de un vector, en este orden de ideas existen aún operaciones que podemos realizar con matrices como la descomposición espectral, que en líneas generales descompone a una matriz en un conjunto de autovectores y autovalores, también existen otros tipos de descomposición de matrices como la descomposición en valores singulares que es el proceso de factorización que nos permite descomponer una matriz para obtener vectores singulares y valores singulares.

Al igual las variables aleatorias juegan un papel significativo, como una función real definida en espacio de probabilidad, estas pueden ser continuas o discretas. Varias conceptualizaciones van de la mano a esta, la de la función de distribución que que representa la probabilidad de que una variable aleatoria o variables tomen en cada uno de sus estados probables, también la definición de función de masa de probabilidad que es la distribución de probabilidad de variables aleatorias discretas, en el orden de las variables aleatorias continuas encontramos la función de densidad de probabilidad, también la de función de probabilidad marginal la cual es la función que usamos cuando queremos la distribución de probabilidad de un subconjunto de variables aleatorias, en el caso discreto una sumatoria y en el caso continuo una integral.

La probabilidad condicional posee importancia siendo una regla para determinar que la probabilidad de que un evento tome lugar, tal que otro ya haya tomado lugar. Existe así mismo el teorema de Bayes que se usa para calcular la probabilidad condicional de un evento aleatorio A dado B en términos de la distribución de probabilidad condicional del evento B dado A y la distribución de probabilidad marginal de solo A.

Estadística

Una de las ramas relacionadas con el “Machine Learning”, la cual es una rama especializada de las matemáticas que recopila, organizar, analiza, interpreta y presenta datos. Posee dos campos principales como lo son la estadística descriptiva que busca mediante medidas variadas (media, varianza, desviación estándar, etc.) describir un conjunto de datos y la estadística inferencial que por medio de la inducción determina propiedades de una población estadística, a partir de una parte de esta. Las bibliotecas y frameworks como pandas, scipy y numpy en general nos ayudan a calcular estadísticas descriptivas y resumir datos fácilmente en Python.

Minería de datos

Otra de estas ciencias importantes mencionadas con anterioridad es la minería de datos, que tiene como objetivo principal la extracción de patrones y conocimiento de conjuntos de datos. Tal vez la más importante es la inteligencia artificial que en si engloba a nuestro objetivo principal el cual es el “Machine Learning”, que se puede definir como el arte, ciencia e ingeniería de la creación de agentes inteligentes, máquinas y programas. Uno de los objetivos principales de la inteligencia artificial es el procesamiento de lenguaje natural el cual en si busca procesar, entender e interactuar con lenguaje humano.

Deep Learning

Vale recalcar que el “Machine Learning” es un campo variado que posee de por si ramificaciones científicas como lo es el “Deep Learning” que busca construir modelos inteligentes que representen a los datos como una jerarquía de conceptos en capas, donde cada capa de conceptos se construye a partir de otras capas más simples, básicamente tratamos de aprender un mapeo entre nuestras muestras de datos y nuestra salida, y luego tratamos de predecir el resultado para muestras de datos más nuevos. Entre las definiciones pertinentes relacionadas con el “Deep Learning” encontramos a las redes neuronales artificiales que en resumen es un modelo computacional y una arquitectura que simula las neuronas biológicas y la forma en que funcionan en nuestro cerebro una capa de entrada, una capa de salida y al menos una capa oculta entre la entrada y la salida, estas trabajan a partir de pesos que se van actualizando mientras aprenden del proceso. Para entrenar a estas redes neuronales encontramos el método algorítmico conocido como “Backpropagation” que en líneas generales calcula un gradiente que se necesita en el cálculo de los pesos que se utilizarán en la red.

Asociado a las redes neuronales encontramos a los perceptrones multicapa, que son un tipo de redes neuronales con tres capas una conectada completamente a la capa adyacente, existen otros tipos de redes neuronales como la red neuronal convolucional que es usada comúnmente para analizar imágenes e intenta emular la funcionalidad y el comportamiento de nuestra corteza visual, las redes neuronales recurrentes que es un tipo especial de red neuronal que toma información constante fundada en el conocimiento pasado mediante el uso de un diseño de arquitectura en bucle, con gran utilidad en áreas relacionadas con datos en secuencia como la predicción de la siguiente palabra de una oración, las redes neuronales de corto o largo plazo que en si consisten en recordar información de una secuencia realmente larga de datos y prevenir casos como el problema del gradiente de fuga, a partir de tres o cuatro puertas y por ultimo tenemos a los llamados codificadores automáticos que es una red neuronal que posee como objetivo el conocer representaciones de datos, aproximaciones y codificaciones.

Existen diferentes metodologías relacionadas al “Machine Learning” para la creación de modelos que resuelvan problemas reales a partir de datos, entre los que está el aprendizaje supervisado que ​​usa algoritmos de aprendizaje que toman muestras de datos y salidas asociadas con cada muestra de datos durante el proceso de capacitación modelo, buscando conocer una asociación entre muestras de datos de entrada y sus salidas correspondientes. Existen dos tipos de problemas que esta metodología resuelve el cual es la clasificación que consiste en predecir las etiquetas de salida de naturaleza categórica para los datos de entrada en función de lo que el modelo ha aprendido en la fase de entrenamiento y la regresión que tiene como base el uso de características o atributos de datos de entrada (también llamados variables explicativas o independientes) y sus valores de salida numéricos continuos correspondientes (también llamados como variable respuesta o dependiente) para aprender relaciones y asociaciones específicas entre las entradas y sus salidas correspondientes. Con este conocimiento, puede predecir respuestas de salida para instancias de datos nuevas.

Referencias

D. Sarkar, R. Bali, T. Sharma (2018) Practical Machine Learning with Python.

--

--