ALGORITMOS Y HERRAMIENTAS DE MACHINE LEARNING


Disciplina de la inteligencia artificial, capaz de crear sistemas. En el campo de la ciencia, aprender significa explorar e identificar patrones complicados entre miles de datos. Para que ésta aprenda necesita algoritmos que permitan, recibir, revisar, procesar e interpretar comportamientos y predecirlos. Nos referimos a lo automático, cuando estos mejoran su proceso de ejecución con el pasar del tiempo, bajo pruebas de ensayo y error, sin intervención humana.



Evolución del Machine Learning

Sus inicios con Arthur Samuel en los años 50s, gran creador de juegos informáticos basado en algoritmos de I.A., escribiendo el primer programa de machine learning, éste se basó en el juego de “damas”, el objetivo era que el sistema encuentre la mejor combinación de pasos armando una estrategia con poco margen de fracaso, también encontramos a Frank Rosenblatt, en la misma década, creador del Perceptrón, siendo esquema de la técnica de redes neuronales artificiales, su finalidad era encontrar una tecnología que se asemeje al cerebro humano. El Perceptrón, era conocido como una conexión en red de puntos críticos de un sistema capaces de retener información. Por otro lado, Alan Turing crea el “Test of Turing” para determinar si una máquina era realmente inteligente, donde debe convencer a un humano de no ser máquina.

En los 60s, conocimos el algoritmo “vecino más cercano”, su utilidad radicaba en encontrar patrones para enlazar elementos con características específicas, un grupo de estudiantes de Stanford codificaron un programa capaz de conducir un auto por espacios desordenados, proyectando las imágenes por un televisor de sistemas integrados.

A principios de los 80s, Gerald Dejong plantea el concepto «Aprendizaje Basado en Explicación», su finalidad es que el sistema analice los datos recibidos mediante prueba de entrenamiento creando una regla general que pueda seguir para descartar información.

En la década de los 90s, el Machine Learning se consagra en el plano tecnológico al asociar sus algoritmos informáticos con la estadística dando lugar a percepciones probabilísticas en el campo de la Inteligencia Artificial, pasando de un enfoque orientado al conocimiento hacia uno orientado al dato, creando aplicaciones para la minería de datos, software adaptable, las aplicaciones web, aprendizaje de texto y de idiomas.

A partir del año 2000, se da la explosión, apareciendo el analizador de imágenes y videos en tiempo real, Geoffrey Hinton con el Deep Learning, creando una arquitectura de Redes Neuronales Artificiales más potente, con el que pueden distinguir objetos y textos.



A partir del año 2010 se implementaron aplicaciones de machine Learning:

  • IBM. Su tecnología Watson, sistema informático de IA es capaz de responder a preguntas formuladas en lenguaje natural, logra vencer a un humano en el juego de Jeopardy.
  • Google. El científico informático Jeff Dean y Andrew Ng, de la Universidad de Stanford, lideran el proyecto GoogleBrain, que desarrolla una red neuronal profunda que puede aprender a descubrir y categorizar objetos.
  • Facebook. Los responsables en el área desarrollan DeepFace, un algoritmo de software que puede reconocer o verificar individuos en fotos al mismo nivel que los humanos.
  • Amazon. Esta empresa crea su propia plataforma de machine learning.
  • Microsoft. Logran que Kinect pueda rastrear 20 funciones humanas a una velocidad de 30 veces por segundo, lo que permite a las personas interactuar con la computadora a través de movimientos y gestos.

En 2015, más de tres mil investigadores de IA y robótica, respaldados por Stephen Hawking, Elon Musk y Steve Wozniak, advierten del peligro de armas que seleccionan y atacan objetivos sin intervención humana, algo que da lugar a muchas especulaciones, robots vs humanos.

Tipos de aprendizaje

Aprendizaje supervisado:

Sus algoritmos trabajan con datos etiquetados, interviene una función que dada las características de los datos de entrada se le asigna una etiqueta a la salida. El algoritmo entrena con un historial, con esto el sistema entrena y aprende, logrando predecir un valor de salida.

Aprendizaje no supervisado:

A diferencia del anterior no tenemos datos etiquetados, por lo que no existe reglas generales, solo conocemos los datos de entrada, en ellos nos basaremos para encontrar la instrucción de agrupamiento, estos sistemas tienen carácter exploratorio.

Aprendizaje por refuerzo:

Su información de entrada es la retroalimentación que obtiene del mundo exterior como respuesta a sus acciones. Por lo tanto, el sistema aprende a base de ensayo-error. No es un procesamiento no supervisado, ya que no se basa en reglas sino en las respuestas emitidas.

Algoritmos de Machine Learning

Arboles de Decisión:

Usados como herramientas de apoyo a la toma de decisiones, basados en gráficos similares a un árbol de decisiones, colaboran en el análisis de eventos fortuitos, un árbol nos ayuda a determinar el número mínimo de interrogantes para solucionar de manera adecuada un problema, mediante las probabilidades de éxito o fracaso.

Clasificador Naive Bayes:

Parte de una familia de clasificadores probabilísticos, muy usado en minería de datos, con fuertes supuestos de independencia entre las características medibles, busca la probabilidad de un evento dado el desarrollo de uno anterior.

Regresión Lineal:

Ajuste de un conjunto de puntos a una recta, la cual está estructurada por modelos matemáticos, sirve para pronosticar una serie distribuida linealmente.

Regresión logística:

Método de clasificación binario, capaz de determinar factores de riesgo, detección de comportamientos, seguimiento de tratamientos y clasificador de imágenes.

Clustering:

Actividad encargada de agrupar un conjunto de objetos, donde los objetos en el mismo grupo (cluster) son más similar respecto los de otros grupos.

Análisis de componentes principales:

Procedimiento estadístico que usa una transformación ortogonal para convertir un conjunto de observaciones de variables posiblemente relacionadas en un conjunto de valores de variables linealmente no correlacionadas, también conocido como un método de priorización, donde las variables más importantes son centradas en los primeros factores analizados.

Análisis de componentes independientes:

Técnica mucho más poderosa que la anterior, encuentra los factores subyacentes cuando estos métodos clásicos fallan por completo. Sus aplicaciones incluyen imágenes digitales, bases de datos de documentos, indicadores económicos y mediciones psicométricas.

Algoritmos de redes neuronales:

Estructuras inspiradas en las funciones biológicas de las redes neuronales.
Usados generalmente para problemas de Clasificación y Regresión, Son muy buenas para detectar patrones, requieren mucha capacidad de procesamiento y memoria y resurgieron con mucha fuerza dando lugar al Aprendizaje Profundo).

Algoritmos de aprendizaje profundo:

Son el siguiente escalón de las RNA’s que aprovechan la tecnología y la mayor capacidad de ejecución, memoria y disco para explotar gran cantidad de datos en enormes redes interconectarlas en diversas capas que se pueden ejecutar en paralelo para realizar cálculos.

Herramientas de Machine Learning

Knime:

Herramienta de código abierto, no requiere ningún conocimiento de programación, usado para, manipulación, minería de datos, etc. Además, procesa creando diferentes flujos de trabajo.

Accord.net:

Marco de referencia computacional, viene con una imagen y paquetes de audio. Dichos paquetes ayudan a entrenar los modelos y a crear aplicaciones interactivas. Como .net está presente, la biblioteca base es el lenguaje C #.

Scikit-Learn:

Paquete de código abierto, plataforma unificada, usada para: regresión, agrupamiento, clasificación, reducción de dimensionalidad y preprocesamiento; está construido sobre las tres bibliotecas principales de Python: NumPy, Matplotlib y SciPy.

TensorFlow:

Marco de código abierto útil a gran escala, mezcla de aprendizaje automático y modelos de redes neuronales. Lo más destacado es que también se ejecuta en CPU y GPU. El procesamiento del lenguaje, la clasificación de imágenes son los que implementan esta herramienta.

Weka:

Software de código abierto, se puede acceder a través de una interfaz gráfica de usuario. Junto con esto, también le permite acceder a otras herramientas. Por ejemplo, R, Scikit-learn, etc.

Pytorch:

Marco de referencia de deep learning, rápido y flexible, se debe a que tiene un buen comando sobre la GPU. Se utiliza en los aspectos que incluye la construcción de redes neuronales profundas y cálculos, tiene sus bases en Python. Junto con esto, es la mejor alternativa a NumPy.

Google Cloud AutoML

El objetivo es hacer que la inteligencia artificial sea accesible para todos, proporciona los modelos previamente entrenados para los usuarios a fin de crear diversos servicios. Por ejemplo, reconocimiento de texto, reconocimiento de voz, etc. Ya que todas las empresas quieren aplicar esto en todos los sectores de la industria.

Jupyter Notebook

Procesamiento rápido, plataforma eficiente, admite tres idiomas, Julia, R, Python. Su nombre está formado por la combinación de estos, almacena y comparte el código. También se puede acceder a través de winpython navigator, anaconda navigator, etc.

Apache Mahout

Plataforma de código abierto basada en Hadoop. Generalmente se usa para el aprendizaje automático y la minería de datos. Técnicas como la regresión, la clasificación y la agrupación se hicieron posibles con Mahout.

Studio Azure Machine Learning

producto de Microsoft que proporciona servicios de aprendizaje automático a los usuarios, es una forma muy fácil de formar conexiones de módulos y conjuntos de datos. Proporcionar instalaciones de inteligencia artificial al usuario, también funciona en CPU y GPU.

Orange3

Software de minería de datos, ayuda en el pre procesamiento y visualización de datos, Se puede acceder a través del navegador Anaconda. Realmente muy útil en la programación de Python. Junto con esto, también puede ser una excelente interfaz de usuario.

Dataiku:

Ofrece a los usuarios las últimas bibliotecas de aprendizaje automático y permite a las personas usar R y Python para personalizar el código para ajustes avanzados, puede comprender al instante qué características del programa impactan sus predicciones. Si es necesario volver a entrenar un modelo, no necesita comenzar desde cero. Puede rastrear y guardar la progresión de la vida de un modelo y volver a una versión anterior.

Python:

Lenguaje de alto nivel, multiplataforma y dinámico; uno de los más fáciles debido a su sintaxis y filosofía de programar, opuesto a lenguajes como C o C++, usado en ciberseguridad, desarrollo web, recientemente ha estallado en las áreas de ML.

R:

Lenguaje orientado a la estadística, elevó su popularidad debido sus aplicaciones en ciencia de datos, principalmente en áreas de análisis. Poco usado por otros campos del desarrollo de software, pero manejar R además de Python es una gran ventaja.

Evolución de la Inteligencia Artificial, machine learning, redes neuronales y Deep learning


  1. Aprendimos a realizar tareas, luego creamos sistemas que lo realicen por nosotros a eso lo llamamos, inteligencia artificial.
  2. Luego estos sistemas empezaron a tener procedimientos retroalimentados y sin seguimiento, Machine Learning.
  3. Para que la inteligencia artificial prospere necesito de algoritmos que mejoren los procesos de machine learning, allí aparecen las redes neuronales artificiales, desarrollando más capacidad de aprendizaje.
  4. Al fortalecer en funcionamiento en red, logrando así que los sistemas comprendan contextos y entornos más complejos.

Desafíos de la IoT con el Machine Learning

Actualmente tenemos dos razones para creer que el ML es una gran ayuda para IoT:

Automatización de análisis de datos

Los autos autónomos, necesitan sensores que registren su movimiento y pronostiquen accidentes, en tiempo real, por lo que, ningún humano será capaz de procesar esto de auto en auto, para ello existe la automatización, el sistema registrará situaciones peligrosas, además de los parámetros de velocidad y fricción, colocando al vehículo en situación de emergencia activando los sistemas de seguridad.

El poder predictivo de ML

Machine learning es útil para el pronóstico de comportamiento en situaciones complicadas, brinda soportes de ayuda, para estacionar, contra accidentes, situaciones climáticas, buscará actividades anormales, con el pasar del tiempo esto será más efectivo, incluso con los famosos análisis de diagnóstico de decisiones en tiempo real.

Otras características:
  • Seguridad y privacidad: cualquier algoritmo que procese este tipo de datos debe incorporar formas de mantener seguras todas las comunicaciones, especialmente si hablamos de datos personales como los recopilados por sensores médicos.
  • Precisión de operación: los sensores implementados en condiciones difíciles pueden enviar datos defectuosos, o ningún dato, interrumpiendo el algoritmo.
  • Las 3 V de Big Data: verifica los 3 V: volumen, velocidad y variedad. Abordar los 3V significa encontrar los mejores algoritmos para el tipo de datos que está utilizando y el problema que está tratando de resolver.

Aplicaciones del Machine learning en Finanzas

Modelado de Riesgo de Crédito

Todos sabemos que al pedir un préstamo debemos cumplir una serie de requerimientos, como no ser deudores en otras entidades, tener un trabajo estable, el contrato del mismo, los ingresos económicos, el objetivo del préstamo, la calidad de vida. A esto le llamamos perfil crediticio, La inteligencia artificial es capaz de generar modelos de riesgo, basados en los datos financieros y el comportamiento crediticio y de consumo de sus clientes. Así también pueden identificar cuándo incrementar o reducir la línea de crédito de un cliente.

Detección de fraudes

Los hackeos, los pagos electrónicos, los índices de escalabilidad y los efectos de malos créditos logran que las entidades financieras estén propensos a fraudes. Con el Machine Learning se extraen de los datos, patrones de comportamiento, se convierten en un conjunto de parámetros, son aplicados dentro de nuevos datos, permiten identificar acciones sospechosas y prevenir fraudes antes de que estos ocurran.

Aplicaciones en Mercadotecnia

Agrupamiento para segmentación e identificación de clientes (clustering)

Las técnicas ayudan a agrupar su audiencia en grupos dinámicos. Permite analizar miles de millones de variables de interés del consumidor, identificar los intereses específicos de clientes en función de actividades en las redes sociales y generar informes que agrupan personas con intereses similares.

Modelos de regresión para precios dinámicos

Un esquema de precios adecuado puede condicionar el futuro de un producto. Las técnicas de regresión permiten predecir valores numéricos basados en características preexistentes, lo que permite optimizar diferentes aspectos del cliente.

Extracción de texto y síntesis de tendencias

Se puede aprovechar para extraer contenido relevante de artículos de noticias online y otras fuentes de datos para determinar cómo las personas ven su marca y/o reaccionan frente a sus productos.

Optimización de la inversión publicitaria

Te permite aprovechar tus datos para determinar qué anuncio es más efectivo en cada momento, según en qué canal se encuentre el usuario y qué resultados se hayan obtenido en campañas anteriores.

Valoración de oportunidades de negocio

Se puede utilizar para valorar la calidad de leads conseguidos, es decir, identificar qué prospectos pueden convertirse en clientes. Así conseguirás focalizar tus esfuerzos y optimizar tus recursos. Estas técnicas te ofrecen la oportunidad de predecir el valor de vida de tu cliente, tanto de los nuevos como de los recurrentes.

Aplicaciones en Logística y transporte

  1. Pronóstico de la Demanda: se realiza un agrupamiento de productos según la demanda, se define modelos para cada grupo y se ajusta parámetros para cada caso en particular. A partir de ello podemos tener pronósticos con mejor exactitud, este proceso va aprendiendo y cada vez se va haciendo más preciso.
  2. Gestión de Rutas: se asigna cartera de clientes y rutas de visitas según distancia, valor del cliente y concentración de la venta.
  3. Mantenimiento Predictivo: se evalúa patrones de falla, características de máquinas y operarios, costos de reparación y mantenimiento.

Te invito a  visitar nuestro canal, tenemos estos videos geniales para tus investigaciones:

🟥 INTELIGENCIA ARTIFICIAL, LO QUE NOS ESPERA 🟥

https://www.youtube.com/watch?v=H1ndSPrlj3k

🟥EXPECTATIVAS DEL INTERNET DE LAS COSAS 🟥

https://www.youtube.com/watch?v=uUrRKQnVTL4

🔷 Algoritmos y Herramientas del Aprendizaje Automático 🔷

https://www.youtube.com/watch?v=1llcPkyizlc

💹 FUNDAMENTOS DE CONTABILIDAD FINANCIERA 💹

https://www.youtube.com/watch?v=9RCD9M1bBHY

🟩 GESTIÓN EMPRESARIAL 🟩 

https://www.youtube.com/watch?v=4w9q7A3ZhXo


Linkografía:

Comentarios