Se ha denunciado esta presentación.
Se está descargando tu SlideShare. ×
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Próximo SlideShare
Inteligencia artificial
Inteligencia artificial
Cargando en…3
×

Eche un vistazo a continuación

1 de 44 Anuncio

Machine learning

Descargar para leer sin conexión

MACHINE LEARNING (Aprendizaje Automático) es la ciencia que permite que las computadoras aprendan y actúen como lo hacen los humanos, mejorando su aprendizaje a lo largo del tiempo de una forma autónoma, alimentándolas con datos e información en forma de observaciones e interacciones con el mundo real.

MACHINE LEARNING (Aprendizaje Automático) es la ciencia que permite que las computadoras aprendan y actúen como lo hacen los humanos, mejorando su aprendizaje a lo largo del tiempo de una forma autónoma, alimentándolas con datos e información en forma de observaciones e interacciones con el mundo real.

Anuncio
Anuncio

Más Contenido Relacionado

Presentaciones para usted (20)

Anuncio

Más de Enmer Genaro Leandro Ricra (20)

Más reciente (20)

Anuncio

Machine learning

  1. 1. SJM Computación 4.0 1 Por: ENMER LEANDRO R.
  2. 2. INTRODUCCIÓN Debido al aumento de la capacidad y al abaratamiento de las tecnologías de la información y de los sensores, podemos producir, almacenar y enviar más datos que nunca antes en la historia. De hecho, se calcula que el 90% de los datos disponibles actualmente en el planeta se ha creado en los últimos dos años, produciéndose actualmente en torno a 2,5 quintillones (2.500.000.000.000.000.000) de bytes por día, siguiendo una tendencia fuertemente creciente. Estos datos alimentan los modelos de Machine Learning y son el impulso principal del auge que esta ciencia ha experimentado en los últimos años. Los investigadores estaban ávidos por encontrar una forma en la cual las computadoras pudieran aprender únicamente basándose en datos. Sucedió con el paso de los años que el machine learning comenzó a enfocarse en diferentes asuntos, tales como el razonamiento probabilístico, investigación basada en la estadística, recuperación de información, y continuó profundizando cada vez más en el reconocimiento de patrones (todos estos asuntos aplicados a procesos de ingeniería, matemáticas, computación y otros campos relacionados con objetos físicos o abstractos). Esto ocasionó que en los 90 se separara de la IA para convertirse en una disciplina por sí sola. SJM Computación 4.0 2
  3. 3. DEFINICIÓN El aprendizaje automático o aprendizaje automatizado o aprendizaje de máquinas (del inglés, machine learning) es el subcampo de las ciencias de la computación y una rama de la inteligencia artificial, cuyo objetivo es desarrollar técnicas que permitan que las computadoras aprendan. Machine Learning es la ciencia que permite que las computadoras aprendan y actúen como lo hacen los humanos, mejorando su aprendizaje a lo largo del tiempo de una forma autónoma, alimentándolas con datos e información en forma de observaciones e interacciones con el mundo real. Machine learning ofrece una manera eficiente de capturar el conocimiento mediante la información contenida en los datos, para mejorar de forma gradual el rendimiento de modelos predictivos y tomar decisiones basadas en dichos datos. SJM Computación 4.0 3
  4. 4. DEFINICIÓN (continuación) El aprendizaje automático también está estrechamente relacionado con el reconocimiento de patrones. El aprendizaje automático puede ser visto como un intento de automatizar algunas partes del método científico mediante métodos matemáticos. Por lo tanto es un proceso de inducción del conocimiento Su principal objetivo es dotar a una computadora de una capacidad propia de los animales y los humanos: aprender de la experiencia. Para conseguir tal objetivo, se apoya en el uso de algoritmos, que, de una forma iterativa, ayudan a descubrir patrones o tendencias existentes en un conjunto de datos. Estos algoritmos, se adaptan y mejoran su rendimiento a medida que el número de datos que se les presentan crece. No existe ningún algoritmo que sea capaz de resolver todos los casos que plantean problemas que el Machine Learning puede resolver, y parte de encontrar una solución óptima consiste en una tarea de prueba y error. La selección del algoritmo apropiado depende del tamaño de la muestra y tipo de datos que esta contiene, las ideas y conocimiento que esperamos extraer, y del uso que queremos dar a la tal información. SJM Computación 4.0 4
  5. 5. SJM Computación 4.0 5
  6. 6. El aprendizaje automático tiene como resultado un modelo para resolver una tarea dada. Entre los modelos se distinguen: Los modelos geométricos, construidos en el espacio de instancias y que pueden tener una, dos o múltiples dimensiones. Si hay un borde de decisión lineal entre las clases, se dice que los datos son linealmente separables. Los modelos probabilísticos, que intentan determinar la distribución de probabilidades descriptora de la función que enlaza a los valores de las características con valores determinados. Uno de los conceptos claves para desarrollar modelos probabilísticos es la estadística bayesiana. Los modelos lógicos, que transforman y expresan las probabilidades en reglas organizadas en forma de árboles de decisión. Los modelos pueden también clasificarse como modelos de agrupamiento y modelos de gradiente. Los primeros tratan de dividir el espacio de instancias en grupos. Los segundos, como su nombre lo indican, representan un gradiente en el que se puede diferenciar entre cada instancia. Clasificadores geométricos como las máquinas de vectores de apoyo son modelos de gradientes. MODELOS DE MACHINE LEARNING SJM Computación 4.0 6
  7. 7. TIPOS DE MACHINE LEARNING 1.- Aprendizaje Supervisado Se refiere a un tipo de modelos de Machine Learning que se entrenan con un conjunto de ejemplos en los que los resultados de salida son conocidos. Los modelos aprenden de esos resultados conocidos y realizan ajustes en sus parámetros interiores para adaptarse a los datos de entrada. Una vez el modelo es entrenado adecuadamente, y los parámetros internos son coherentes con los datos de entrada y los resultados de la batería de datos de entrenamiento, el modelo podrá realizar predicciones adecuadas ante nuevos datos no procesados previamente. De forma gráfica: SJM Computación 4.0 7
  8. 8. Hay dos aplicaciones principales de aprendizaje supervisado: clasificación y regresión: a.- Clasificación: Clasificación es una sub-categoría de aprendizaje supervisado en la que el objetivo es predecir las clases categóricas (valores discretos, no ordenados, pertenencia a grupos). El ejemplo típico es la detección de correo spam, que es una clasificación binaria (un email es spam — valor “1”- o no lo es — valor “0” -). También hay clasificación multi-clase, como el reconocimiento de caracteres escritos a mano (donde las clases van de 0 a 9). Un ejemplo de clasificación binaria: hay dos clases de objetos, círculos y cruces, y dos características de los objetos, X1 y X2. El modelo puede encontrar las relaciones entre las características de cada punto de datos y su clase, y establecer la linea divisoria entre ellos. Así, al ser alimentado con nuevos datos, el modelo será capaz de determinar la clase a la que pertenecen, de acuerdo con sus características. En este caso, el nuevo punto de datos entra en el área correspondiente al subespacio de círculos y por tanto, el modelo predecirá que la clase del objeto es círculo. Aprendizaje Supervisado I SJM Computación 4.0 8
  9. 9. b. Regresión: La regresión se utiliza para asignar categorías a datos sin etiquetar. En este tipo de aprendizaje tenemos un número de variables predictoras (explicativas) y una variable de respuesta continua (resultado), y se tratará de encontrar una relación entre dichas variables que nos proporciones un resultado continuo. Un ejemplo de regresión lineal: dados X e Y, establecemos una linea recta que minimice la distancia (con el método de mínimos cuadrados) entre los puntos de muestra y la línea ajustada. Después, utilizaremos las desviaciones obtenidas en la formación de la línea para predecir nuevos datos de salida. Aprendizaje Supervisado II SJM Computación 4.0 9
  10. 10. 2.- Aprendizaje No Supervisado En el aprendizaje no supervisado, trataremos con datos sin etiquetar cuya estructura es desconocida. El objetivo será la extracción de información significativa, sin la referencia de variables de salida conocidas, y mediante la exploración de la estructura de dichos datos sin etiquetar. Hay dos categorías principales: agrupamiento y reducción dimensional. a) Agrupamiento ó Clustering: El agrupamiento es una técnica exploratoria de análisis de datos, que se usa para organizar información en grupos con significado sin tener conocimiento previo de su estructura. Cada grupo es un conjunto de objetos similares que se diferencia de los objetos de otros grupos. El objetivo es obtener un numero de grupos de características similares. Un ejemplo de aplicación de este tipo de algoritmos puede ser para establecer tipos de consumidores en función de sus hábitos de compra, para poder realizar técnicas de marketing efectivas y “personalizadas”. SJM Computación 4.0 10
  11. 11. b) Reducción dimensional: Es común trabajar con datos en los que cada observación se presenta con alto número de características, en otras palabras, que tienen alta dimensionalidad. Este hecho es un reto para la capacidad de procesamiento y el rendimiento computacional de los algoritmos de Machine Learning. La reducción dimensional es una de las técnicas usadas para mitigar este efecto. La reducción dimensional funciona encontrando correlaciones entre las características, lo que implica que existe información redundante, ya que alguna característica puede explicarse parcialmente con otras (por ejemplo, puede existir dependencia lineal). Estas técnicas eliminan “ruido” de los datos (que puede también empeorar el comportamiento del modelo), y comprimen los datos en un sub-espacio más reducido, al tiempo que retienen la mayoría de la información relevante. Aprendizaje No Supervisado I SJM Computación 4.0 11
  12. 12. Deep Learning El aprendizaje profundo ó Deep Learning, es un subcampo de Machine Learning, que usa una estructura jerárquica de redes neuronales artificiales, que se construyen de una forma similar a la estructura neuronal del cerebro humano, con los nodos de neuronas conectadas como una tela de araña. Esta arquitectura permite abordar el análisis de datos de forma no lineal. La primera capa de la red neuronal toma datos en bruto como entrada, los procesa, extrae información y la transfiere a la siguiente capa como salida. Este proceso se repite en las siguientes capas, cada capa procesa la información proporcionada por la capa anterior, y así sucesivamente hasta que los datos llegan a la capa final, que es donde se obtiene la predicción. Esta predicción se compara con el resultado conocido, y así por análisis inverso el modelo es capaz de aprender los factores que conducen a salidas adecuadas. Es uno de los principales algoritmos utilizados en la creación de aplicaciones y programas para reconocimiento de imágenes. SJM Computación 4.0 12
  13. 13. 3.- Aprendizaje reforzado El aprendizaje reforzado es una de las ramas más importantes del aprendizaje profundo. El objetivo es construir un modelo con un agente que mejora su rendimiento, basándose en la recompensa obtenida del entorno con cada interacción que se realiza. La recompensa es una medida de lo correcta que ha sido una acción para obtener un objetivo determinado. El agente utiliza esta recompensa para ajustar su comportamiento futuro, con el objetivo de obtener la recompensa máxima. Un ejemplo común es una máquina de ajedrez, donde el agente decide entre una serie de posibles acciones, dependiendo de la disposición del tablero (que es el estado del entorno) y la recompensa se recibe según el resultado de la partida. SJM Computación 4.0 13
  14. 14. Metodología general para construir modelos de Machine Learning SJM Computación 4.0 14
  15. 15. Este es uno de los pasos más importantes en cualquier aplicación de Machine Learning. Usualmente los datos se presentan en formatos no óptimos (o incluso inadecuados) para ser procesados por el modelo. En estos casos el pre-procesamiento de datos es una tarea que se debe realizar de manera obligatoria. Muchos algoritmos requieren que las características estén en la misma escala (por ejemplo, en el rango [0,1]) para optimizar su rendimiento, lo que se realiza frecuentemente aplicando técnicas de normalización o estandarización en los datos. Podemos también encontrar en algunos casos que las características seleccionadas están correlacionadas, y por tanto son redundantes para extraer información con significado correcto de ellas. En este caso tendremos que usar técnicas de reducción dimensional para comprimir las características en subespacios con menores dimensiones. Finalmente, fragmentaremos de forma aleatoria nuestro conjunto de datos original en subconjuntos de entrenamiento del sistema y pruebas. a) PREPROCESAMIENTO Pasos de metodología de Machine Learning SJM Computación 4.0 15
  16. 16. Es esencial comparar los diferentes algoritmos de un grupo para entrenar y seleccionar el de mejor rendimiento. Para realizar esto, es necesario seleccionar una métrica para medir el rendimiento del modelo. Una de ellas comúnmente usada en problemas de clasificación es la precisión de clasificación, que es la proporción de instancias correctamente clasificadas. En los problemas de regresión, uno de los más comunes es el Error Cuadrático Medio (MSE), que mide la diferencia media cuadrática entre los valores estimados y los reales. Para asegurarnos de que nuestro modelo funcionará adecuadamente con datos reales, utilizaremos la técnica denominada validación cruzada antes de utilizar el conjunto de datos de prueba para la evaluación final del modelo. Esta técnica divide el conjunto de datos de entrenamiento en subconjuntos menores de entrenamiento y validación, con lo que se estima la capacidad de generalización del modelo b) ENTRENANDO Y SELECCIONANDO UN MODELO Pasos de metodología de Machine Learning SJM Computación 4.0 16
  17. 17. Una vez que hemos seleccionado y ajustado un modelos a nuestro conjunto de datos de entrenamiento, podemos usar los datos de prueba para estimar el rendimiento del modelo en los datos nuevos, por lo que podemos hacer una estimación del error de generalización del modelo, o evaluarlo utilizando alguna otra métrica. Si estamos satisfechos con el valor de la métrica obtenida, podremos usar el modelo para realizar predicciones con los datos futuros. c) EVALUANDO MODELOS Y PREDICIENDO CON DATOS NUEVOS Pasos de metodología de Machine Learning SJM Computación 4.0 17
  18. 18. LENGUAJES DE PROGRAMACIÓN PARA MACHINE LEARNING 1.- Python Python lidera en lenguajes de desarrollo de Machine Learning debido a su simplicidad y facilidad de aprendizaje. Python es utilizado por más y más científicos de datos y desarrolladores para la construcción y análisis de modelos. Además, es un éxito entre los principiantes que son nuevos en Machine Learning. Python viene con librerías específicas como SciPy que contiene NumPy y Pandas, que permiten a la computadora aprender álgebra lineal y métodos kernel. Guido van Rossum presentó Python en 1991. Desde entonces, se ha convertido en un lenguaje de uso general extremadamente popular, y se utiliza ampliamente en la comunidad de data science. Licencia: ¡Gratis! Ventajas Python es un lenguaje de programación de uso general muy popular y general. Cuenta con una amplia gama de módulos específicos y soporte comunitario. Los principales GIS de escritorio como ArcGIS (con la ArpPy), QGIS (con PyQGIS) o gvSIG la introducción de Python. Python es un lenguaje fácil de aprender. La baja barrera de entrada lo convierte en un primer idioma, lo que es ideal para aquellos que son nuevos en programación. Paquetes como pandas, scikit-learn y Tensorflow hacen de Python una opción sólida para aplicaciones avanzadas de aprendizaje automático. SJM Computación 4.0 18
  19. 19. Contras Seguridad de tipos: Python es un lenguaje de tipo dinámico, lo que significa que debemos ser muy cuidadosos. Los errores de tipo (como pasar una string como un argumento a un método que espera un número entero) deben esperarse de vez en cuando. Para los fines específicos de análisis estadístico y de datos, la amplia gama de paquetes de R le da una ligera ventaja sobre Python. Para los lenguajes de propósito general, hay alternativas más rápidas y seguras que Python. Veredicto Python es una muy buena opción de lenguaje para la ciencia de datos, y no solo en el nivel de entrada. Gran parte del proceso de ciencia de datos gira en torno al proceso ETL (extracción- transformación-carga). Esto hace que la generalidad de Python encaje perfectamente. Las librerías como Tensorflow de Google hacen de Python un lenguaje muy emocionante para el aprendizaje automático (machine learning). LENGUAJES DE PROGRAMACIÓN PARA MACHINE LEARNING SJM Computación 4.0 19
  20. 20. LENGUAJES DE PROGRAMACIÓN PARA MACHINE LEARNING 2.- R El lenguaje de programación R está diseñado para análisis estadísticos y visualizaciones, se usa con frecuencia para desbloquear los patrones en grandes bloques de datos. Los desarrolladores pueden construir algoritmos y una fácil visualización estadísticas de esos algoritmos usando RStudio, su entono de desarrollo gratuito. R es una alternativa gratuita a los costosos softwares estadísticos como Matlab, en los últimos años R se ha convertido en el hijo de oro de la ciencia de datos. Lanzado en 1995 como descendiente directo del antiguo lenguaje de programación S, R se ha ido fortaleciendo. Escrito en C, Fortran y en sí mismo, el proyecto cuenta actualmente con el apoyo de la R Foundation for Statistical Computing. Licencia: ¡Gratis! Ventajas Excelente gama de paquetes de código abierto y de alta calidad. R tiene un paquete para casi todas las aplicaciones cuantitativas y estadísticas imaginables. Esto incluye redes neuronales, regresión no lineal, filogenia, cartografía, mapas y muchos, muchos otros. La instalación básica viene con funciones y métodos estadísticos integrales muy completos. R también maneja el álgebra de matriz particularmente bien. La visualización de datos es una fortaleza clave con el uso de bibliotecas como ggplot2. SJM Computación 4.0 20
  21. 21. LENGUAJES DE PROGRAMACIÓN PARA MACHINE LEARNING Contras Rendimiento. R no es un lenguaje rápido. Esto no es un accidente. R fue diseñado a propósito para facilitarle el análisis de datos y las estadísticas. No fue diseñado para hacer la vida más fácil para tu computadora. Mientras que R es lento en comparación con otros lenguajes de programación, para la mayoría de los propósitos, es lo suficientemente rápido. Especificidad de dominio. R es fantástico para fines estadísticos y científicos de datos. Pero no es tan fantástico para programaciones de propósito general. Raro. R tiene algunas características poco frecuentes que pueden atrapar a los programadores con experiencia en otros idiomas. Por ejemplo: indexación desde 1, utilizando operadores de asignación múltiple, estructuras de datos no convencionales. Veredicto: «brillante para lo que está diseñado» R es un lenguaje poderoso que sobresale en una gran variedad de aplicaciones de visualización de datos y estadística, y ser de código abierto permite tener una comunidad muy activa de contribuyentes. Su reciente crecimiento en popularidad es un testimonio de lo eficaz que es. SJM Computación 4.0 21
  22. 22. LENGUAJES DE PROGRAMACIÓN PARA MACHINE LEARNING 3.- Matlab Es un algoritmo rápido, estable y seguro que asegura la matemática compleja. Considerado como un lenguaje de núcleo duro para matemáticos y científicos que se ocupan de sistemas complejos, encuentra un camino en muchas aplicaciones. MATLAB es un lenguaje de computación numérica que se utiliza en el mundo académico y en la industria. Desarrollado y licenciado por MathWorks, una compañía establecida en 1984 para comercializar el software. Licencia: Propietario – los precios varían dependiendo del caso. Ventajas Diseñado para la computación numérica. MATLAB es adecuado para aplicaciones cuantitativas con requisitos matemáticos sofisticados, como procesamiento de señales, transformaciones Fourier, álgebra matricial y procesamiento de imágenes. Visualización de datos. MATLAB tiene incorporadas grandes capacidades de ploteado. MATLAB se enseña con frecuencia como parte de cursos de pregrado en asignaturas cuantitativas como Física, Ingeniería y Matemáticas Aplicadas. Como consecuencia, es ámpliamente utilizado en estos campos. SJM Computación 4.0 22
  23. 23. LENGUAJES DE PROGRAMACIÓN PARA MACHINE LEARNING Contras Licencia propietaria. Dependiendo del caso (uso académico, personal o empresarial) es posible que tengamos que desembolsar una gran cantidad de dinero. Existen alternativas gratuitas disponibles como Octave. MATLAB no es una opción obvia para programación de propósito general. Veredicto El uso generalizado de MATLAB en una variedad de campos cuantitativos y numéricos tanto en la industria como en el mundo académico, lo convierte en una opción seria para la ciencia de datos. Un caso de uso claro sería aquel en el que tu aplicación requiera una funcionalidad matemática intensiva y avanzada. De hecho, MATLAB fue diseñado específicamente para esto. Conclusión Bueno, hemos visto una guía rápida sobre qué idiomas considerar para la ciencia de datos. La clave aquí es comprender los requisitos de uso en términos de generalidad frente a especificidad, así como tu estilo de desarrollo preferido de rendimiento frente a productividad. Para un técnico GIS que quiera comenzar a realizar ciencia de datos, lo ideal es utilizar R, Python o SQL. Ya que las funciones más comunes serán desarrollar procesos de datos existentes y procesos ETL. Estos lenguajes proporcionan un equilibrio adecuado entre generalidad y productividad, con la opción de utilizar paquetes de estadísticas más avanzados de R cuando sea necesario. SJM Computación 4.0 23
  24. 24. LENGUAJES DE PROGRAMACIÓN PARA MACHINE LEARNING 4.- Julia Este lenguaje de programación dinámico de alto nivel diseñado para abordar las necesidades del análisis numérico de alto rendimiento y la ciencia computacional está ganando rápidamente impulso entre los científicos de datos. La biblioteca base escrita en Julia se integró con las mejores bibliotecas open source C y Fortran para el álgebra lineal, la generación de números aleatorios, el procesamiento de señales y el procesamiento de cadenas. Una colaboración entre las comunidades de Jupyter y Julia, proporciona una poderosa interfaz gráfica de navegación basada en el navegador para Julia Lanzada en 2011, Julia impresionó al mundo de la computación numérica. Su perfil se elevó gracias a la adopción temprana por parte de varias organizaciones importantes, incluidas muchas de la industria financiera. Licencia: ¡Gratis! Ventajas Julia es un lenguaje compilado JIT (‘just-in-time‘), que le permite ofrecer un buen rendimiento. También ofrece las capacidades de simplicidad, tipado dinámico y scripting de un lenguaje interpretado como Python. Julia fue diseñada específicamente para el análisis numérico. Pero también ofrece programación de propósitos generales. Legibilidad. Muchos usuarios del lenguaje mencionan como una ventaja clave. SJM Computación 4.0 24
  25. 25. LENGUAJES DE PROGRAMACIÓN PARA MACHINE LEARNING Contras Madurez. Como nuevo idioma, algunos usuarios de Julia han experimentado inestabilidad al usar paquetes complementarios. Pero el núcleo del lenguaje es, al parecer, lo suficientemente estable para usar en producción. Los paquetes limitados son otra consecuencia de la juventud del lenguaje y de la pequeña comunidad de desarrollo. A diferencia de R y Python, Julia no tiene la posibilidad de disponer de paquetes (todavía). Veredicto El principal problema de Julia es su juventud. Como lenguaje reciente, no es tan maduro como sus principales alternativas: Python y R. Si estás dispuesto a ser paciente, hay muchas razones para prestarle atención, estaremos atentos de ver cómo evoluciona en los próximos años. SJM Computación 4.0 25
  26. 26. SOFTWARE PARA MACHINE LEARNING Conociendo algunos de los lenguajes de programación de Machine Learning hagamos ahora un estudio comparativo de los factores que los afectan: SJM Computación 4.0 26
  27. 27. La industria está inundada con innumerables lenguajes de programación con el objetivo de resolver las complejidades del negocio y traer innovaciones tecnológicas. Cada año hay lenguajes de programación, marcos y tecnologías que surgen. Mostramos otros lenguajes adicionales: SQL («lenguaje de consulta estructurado») define, administra y consulta bases de datos relacionales. El lenguaje apareció en 1974 y desde entonces ha sufrido muchas implementaciones, pero los principios básicos siguen siendo los mismos. Licencia: Varía, ya que algunas implementaciones son gratuitas y otras son propietarias. Java es un lenguaje extremadamente popular que se ejecuta en la Máquina Virtual Java (JVM). Es un sistema informático abstracto que permite una portabilidad perfecta entre plataformas. Actualmente respaldado por Oracle Corporation. Licencia: ¡Gratis! Versiones heredadas, propietarias. Scala Desarrollado por Martin Odersky y lanzado en 2004, Scala es un lenguaje que se ejecuta en la Máquina Virtual Java (JVM). Es un lenguaje de múlti paradigmático, que permite tanto enfoques orientados a objetos como funcionales. El framework de computación de cluster Apache Spark está escrito en Scala. Licencia: ¡Gratis! SOFTWARE PARA MACHINE LEARNING SJM Computación 4.0 27
  28. 28. APLICACIONES 1. Seguridad de datos El malware es un problema creciente hoy en día. Pese a que casi a diario surgen nuevos malware, suelen tener casi el mismo código que las versiones anteriores. De esta manera, el machine learning puede predecir qué archivos son malware con gran precisión. Es más, los algoritmos de machine learning pueden buscar patrones en cómo se accede a los datos en la nube e informar de anomalías que podrían predecir infracciones de seguridad. 2. Seguridad personal El machine learning también puede ser una ventaja en este sentido. Por ejemplo, podría servir para aligerar los controles de seguridad en aeropuertos, ya que puede ayudar a eliminar falsas alarmas y detectar anomalías en las proyecciones de seguridad que el ojo humano podría no ver con claridad; en definitiva, aceleraría el proceso a la vez que se garantiza una mayor seguridad. SJM Computación 4.0 28
  29. 29. APLICACIONES 3. Comercio financiero Predecir cómo se comportarán los mercados de valores es el sueño de muchos. Gracias al machine learning esto podría convertirse en una realidad. Muchas empresas del sector ya utilizan sus propios sistemas para predecir y ejecutar operaciones de gran volumen a altas velocidades. Aunque muchas de estas operaciones pueden depender de las probabilidades, hablamos de un mercado con una probabilidad relativamente baja, donde estas aplicaciones pueden generar enormes beneficios y ganancias para las empresas, y donde los humanos no pueden competir con máquinas cuando se trata de consumir grandes cantidades de datos a gran velocidad. 4. Cuidado de la salud En un estudio en el que se empleó el diagnóstico asistido por computadora (CAD) para revisar las mamografías iniciales de mujeres que desarrollaron cáncer de mama posteriormente, la computadora detectó el 52% de los cánceres hasta un año antes de que las mujeres fueran diagnosticadas oficialmente. Esto demuestra que los algoritmos de machine learning pueden procesar más información y detectar más patrones que una mente humana. Además, el machine learning también se puede utilizar para advertir los factores de riesgo de enfermedad en poblaciones grandes. SJM Computación 4.0 29
  30. 30. APLICACIONES 5. Marketing personalizado El marketing personalizado se basa en un sencillo principio: mientras más se pueda saber sobre el cliente y su comportamiento, mejor se le podrá atender y se traducirá en más ventas. El machine learning puede ayudar, y mucho, a mejorar esta base. Por ejemplo, es cada vez más común que tras visualizar un producto en una tienda online, posteriormente nos persiga un anuncio de ese mismo producto para que finalicemos la compra. Y no solo eso, las empresas pueden personalizar qué correos electrónicos recibe un cliente, qué correos directos o cupones, qué ofertas ven, qué productos se muestran como «recomendados», etc., todos diseñados para conducir al consumidor de manera más fiable hacia una venta. 6. Detección de fraudes El machine learning es cada vez más eficaz detectando posibles casos de fraude en diferentes campos. PayPal ya utiliza el machine learning para combatir el blanqueo de dinero; la compañía tiene herramientas que comparan millones de transacciones y pueden distinguir con precisión entre transacciones legítimas y fraudulentas, entre compradores y vendedores. SJM Computación 4.0 30
  31. 31. APLICACIONES 7. Recomendaciones Si eres usuario de plataformas como Amazon ya sabes de lo que hablamos. Los algoritmos de machine learning permiten analizar la actividad de un usuario y compararla con la del resto de usuarios para determinar qué le gustaría ver o comprar en próximas ocasiones. En este campo los avances son increíbles, por ejemplo, gracias a esos algoritmos la plataforma puede detectar que un usuario está comprando un artículo que no es para él, sino para regalar. 8. Búsqueda online Este quizás sea el uso más famoso del machine learning. Google y sus competidores mejoran constantemente lo que entiende el motor de búsqueda. Cada vez que se ejecuta una búsqueda en Google, el programa observa cómo responde a los resultados. Si un usuario hace clic en el resultado superior y permanece en esa página web, podemos suponer que obtuvo la información que estaba buscando y que la búsqueda fue un éxito. Si, por otro lado, hace clic en la segunda página de resultados, o escribe una nueva cadena de búsqueda sin hacer clic en ninguno de los resultados, podemos deducir que el motor de búsqueda no proporcionó los resultados que deseaba, y el programa puede aprender de ese error para ofrecer un mejor resultado en el futuro. SJM Computación 4.0 31
  32. 32. APLICACIONES 9. Procesamiento de lenguaje natural (NLP) Una aplicación menos común pero que ya se está utilizando en diferentes disciplinas. Los algoritmos de machine con lenguaje natural pueden sustituir a los empleados de atención al cliente y dirigir a los usuarios más rápidamente a la información que necesitan. Se está utilizando, por ejemplo, para traducir la jerga legal poco clara en los contratos a un lenguaje sencillo y para ayudar a los abogados a ordenar grandes volúmenes de información para prepararse para un caso. 10. Coches inteligentes Según un estudio de IBM, se espera que en 2025 ya podamos ver coches inteligentes en la carretera. En este sentido, un coche inteligente no solo se integraría en el Internet de las Cosas, sino que también aprendería sobre su propietario y su entorno. Estos vehículos podrían ajustar la configuración interna (temperatura, audio, posición del asiento, etc.) de forma automática en función del conductor, informar e incluso solucionar problemas, y conducir y ofrecer asesoramiento en tiempo real sobre el tráfico y las condiciones de la carretera. SJM Computación 4.0 32
  33. 33. SJM Computación 4.0 33
  34. 34. PRINCIPALES PROVEEDORES DE SERVICIOS DE ML 1.- Google Cloud Machine Learning Engine Cabe destacar que, a diferencia de su predecesor, no existe ocasión de poder probar estos servicios de Google de forma gratuita, ya que siempre tendremos que estar pagando en función del uso que hagamos de estos servicios. Google Cloud Machine Learning es un servicio para desarrollar fácilmente modelos de aprendizaje automático. Se basa en el framework de ML desarrollado por Google: TensorFlow. Es capaz de integrarse con las diversas tecnologías de la nube de servicios de Google, de tal forma que podemos emplear este servicio junto con otros para múltiples fines como, por ejemplo, junto a Cloud Dataflow para procesar funciones, Cloud Storage para almacenar datos o Cloud Datalab para la creación de modelos. Nos permite alta escalabilidad para generar modelos a partir de datos de diverso tamaño, de una forma distribuida y administrada con unidades de procesamiento gráfico 5 y unidades de procesamiento central. Dispone de una documentación muy bien estructurada, con diversas guías que nos conducirán desde los primeros pasos en la plataforma hasta la elaboración de modelos predictivos, pero en contra no suele dar muchos detalles sobre los aspectos técnicos como qué límites de tamaño de datos soporta o cuál es el abanico de modelos disponibles para generar. SJM Computación 4.0 34
  35. 35. PRINCIPALES PROVEEDORES DE SERVICIOS DE ML 2.- Amazon Machine Learning En Amazon Machine Learning ocurre al igual que en Google, no existe la posibilidad de probar este servicio de forma gratuita. Los costes de almacenar los ficheros generados y empleados en Amazon Machine Learning estarán asociados a los precios del servicio Amazon S3. Con respecto a los datos, Amazon Machine Learning nos permite generar datasets utilizando el formato CSV. A la hora de crear modelos, en función de los datos que estemos empleado y el dato que deseemos predecir. Amazon distinguirá entre diversos tipos de modelos: clasificación binaria, clasificación multiclase, o de regresión. Igualmente, en el paso de creación de modelos, podemos personalizar diversos parámetros que pueden ser determinantes para la buena creación de un modelo. Por otro lado, para la creación de este, Amazon dividirá el dataset en dos porciones, una del 70% que se empleará para crear el modelo y una del 30% para entrenar y testear dicho modelo, resultando así un informe de evaluación que determina cuán bueno es nuestro modelo con respecto a estos datos de entrenamiento que le hemos proporcionado. Finalmente, una vez tenemos el modelo listo, es el momento de empezar a realizar predicciones sobre nuestro modelo. SJM Computación 4.0 35
  36. 36. Existen dos tipos de predicciones:  Predicciones simples o en tiempo real: predicciones que hagamos desde el dashboard de Amazon Machine Learning o bien encapsulando nuestro modelo como un servicio web que pueda recibir peticiones (esto conlleva un gasto adicional).  Predicciones batch: predicciones en grupos donde subimos un archivo con tantas filas como predicciones a realizar y la plataforma se encargará de ello. PRINCIPALES PROVEEDORES DE SERVICIOS DE ML SJM Computación 4.0 36
  37. 37. PRINCIPALES PROVEEDORES DE SERVICIOS DE ML 3.- Microsoft Azure Machine Learning A diferencia de las opciones de Google y Amazon, Microsoft nos brinda la posibilidad de emplear sus servicios de forma gratuita. La creación de experimentos de ML es un tanto diferente en Microsoft Azure Machine Learning; ahora disponemos de una paleta y un área de trabajo en el que iremos arrastrando los diferentes módulos que vayamos a emplear de dicha paleta. Existen multitud de módulos con diversas funciones, desde módulos inputs en los que leemos o introducimos información de determinadas fuentes hasta módulos de generación de determinados modelos de aprendizaje automático. Con respecto a las fuentes de datos, podemos usar cualquiera de los módulos disponibles para tal finalidad en la paleta (leer un fichero CSV, importar datos de un servicio web, etc.). A continuación, para la generación de los modelos, de nuevo podemos emplear algún módulo para tal fin. Cabe destacar que, a diferencia de otras plataformas, en Microsoft Azure Machine Learning podemos generar varios modelos dentro de un 6 mismo experimento para así evaluarlos simultáneamente y determinar cuál es el que mejor nos conviene según nuestras necesidades. Dentro de los diversos tipos de modelos existentes en esta plataforma, encontramos: modelos de detección de anomalías, de clasificación binaria y multiclase, de clusterización y de regresión. Además, para cada uno de estos tipos de modelos existen diversas alternativas o estrategias interesantes a la hora de determinar cuál es la más adecuada en nuestra experimentación. Al contrario del resto de plataformas analizadas, esta no contempla las predicciones de la misma forma que si lo hacen Amazon Machine Learning o Google Cloud Machine Learning Engine, entre otros. SJM Computación 4.0 37
  38. 38. PRINCIPALES PROVEEDORES DE SERVICIOS DE ML Por lo cual, debemos encapsular el experimento que hemos desarrollado en un servicio web de tal forma que podemos pasarle determinados datos de entrada que hemos definido, procesar estos datos a través de este experimento diseñado, y finalmente obtener una respuesta o resultado que, en este caso, será una predicción para un valor o conjunto de valores determinado. SJM Computación 4.0 38
  39. 39. PRINCIPALES PROVEEDORES DE SERVICIOS DE ML 4.- BigML Finalmente, para BigML existen hasta 7 planes de pago distintos y uno gratuito. Además del soporte incluido en los planes de pago, existe la posibilidad de adquirir un soporte especial mensual. En esta ocasión, nuestros experimentos de ML estarán limitados por el número de tareas que deseemos realizar en paralelo, así como por el tamaño máximo de los ficheros de datos a utilizar. En función del plan escogido, los límites previamente mencionados se verán extendidos. Para la opción gratuita podemos, como mucho, tener dos tareas en ejecución al mismo tiempo, mientras que en los planes de pago las tareas que podemos tener en ejecución van desde 2 hasta 64. Cabe destacar que existe la posibilidad de aplicar un 50% de descuento sobre el precio de cada uno de estos planes de pago para estudiantes, investigadores u organizaciones no gubernamentales. Con respecto a los ficheros, en BigML podemos subir casi cualquier tipo de dato (.CSV, .TXT, .JSON, etc.) e incluso permite la opción de importar datos desde otros proveedores como Amazon S3, Dropbox o Google Cloud Storage. El tamaño máximo de estos datasets estará limitado en función del plan que tengamos contratado. En cuanto a los tipos de modelos existentes, BigML contempla los que hemos estado viendo en otras opciones hasta el momento: modelos de clasificación binaria y multiclase, modelos de regresión, modelos de detección de anomalías y otros tipos de modelos como son los modelos de asociación que nos servirán para visualizar reglas de asociación entre los datos, los modelos de temas que nos servirán para desvelar temas que se den en los textos analizados o modelos de clusterización para segmentar los datos en diferentes grupos en función de su similitud. SJM Computación 4.0 39
  40. 40. PRINCIPALES PROVEEDORES DE SERVICIOS DE ML Finalmente, en lo relativo a las predicciones, BigML ofrece tres alternativas:  Predicciones por pregunta: insertamos valores para dos atributos del modelo seleccionado por BigML y se realizan predicciones interactivas sobre esos valores.  Predicciones simples: en esta ocasión se insertan valores para los atributos del modelo que deseemos y se realizan predicciones interactivas sobre esos datos de entrada. Además, podemos seleccionar la estrategia de descarte. 7  Predicciones batch: escogemos el modelo y el dataset sobre el cual queramos realizar el conjunto de predicciones. SJM Computación 4.0 40
  41. 41. SJM Computación 4.0 41 PRINCIPALES PROVEEDORES DE SERVICIOS DE ML 5.- IBM Watson El machine learning es una de las principales aplicaciones prácticas de la Inteligencia Artificial y se basa en el hecho de diseñar programas capaces de mejorar su rendimiento mediante la exposición incremental a datos. A esto se lo ha venido a denominar “aprendizaje” y trata de emular el comportamiento humano. Técnicamente hablando, el machine learning consiste en el uso de técnicas estadísticas y matemáticas para crear modelos predictivos de respuesta frente a la recogida de datos. Esta disciplina se subdivide a su vez entre aprendizaje supervisado y aprendizaje no supervisado. Es decir, en lugar de necesitar que un determinado usuario indique exactamente las instrucciones para cada evento, el programa es capaz de aprender progresivamente y mejorar su rendimiento.
  42. 42. SJM Computación 4.0 42 Una de las soluciones de inteligencia artificial más utilizadas en el ámbito empresarial es IBM Watson. Cuyo nombre es un homenaje al primer CEO de IBM, Thomas John Watson. IBM Watson es un sistema de inteligencia artificial capaz de procesar lenguaje humano natural (audios, elementos visuales, textos); realiza razonamientos automatizados a partir de estos datos. Los procesos cognitivos que realiza un experto implican 3 pasos: -Observar -Interpretar y evaluar -Decidir IBM Watson es un sistema de computación cognitiva (cognitive computing) y básicamente su cometido es ofrecer razonamientos de alto nivel con cierta analogía al razonamiento humano y excluyendo aspectos emocionales, que bien sabemos cuánto puede afectar en el caso humano la toma de decisiones. PRINCIPALES PROVEEDORES DE SERVICIOS DE ML
  43. 43. CONCLUSIONES SJM Computación 4.0 43 El machine learning (aprendizaje automático) hace referencia a la idea de que se apliquen fórmulas y algoritmos mediante los cuales los dispositivos puedan obtener datos y conclusiones relevantes sin necesidad de haber sido programados específicamente para dicho cometido. Es decir, este ‘aprendizaje’ implica que los ordenadores puedan identificar multitud de patrones complejos y que, mediante algoritmos, sean capaces de predecir los resultados y tendencias del mercado. Además, esta tecnología influirá en la estructura social y económica. En el futuro, el DEEP LEARNING (aprendizaje profundo) se convertirá en un área principal en el estudio de aprendizaje automático. El machine learning y otra subdisciplina como el ‘deep learning’ es que puedan ayudar a los trabajadores automatizando tareas para agilizar los procesos. Este tipo de Inteligencia Artificial conlleva que los dispositivos ‘van aprendiendo’, es decir, una vez que realizan un proceso lo aprenden y lo hacen siempre igual, utilizando los mismos algoritmos. Esta utilidad es clave para sectores como, por ejemplo, la industria, pues se espera que gracias al machine learning se mecanicen muchas fases que agilicen los proyectos.
  44. 44. WEBGRAFÍA SJM Computación 4.0 44 https://es.wikipedia.org/wiki/Aprendizaje_autom%C3%A1tico https://medium.com/datos-y-ciencia/introduccion-al-machine-learning-una-gu%C3%ADa-desde-cero-b696a2ead359 https://planetachatbot.com/introducci%C3%B3n-al-machine-learning-i-2b83f476040a http://ligdigonzalez.com/lenguajes-de-programacion-para-machine-learning/ https://mappinggis.com/2019/07/lenguajes-de-programacion-para-realizar-ciencia-de-datos/ https://blog.adext.com/machine-learning-guia-completa/ https://ricveal.com/blog/machine-learning/ https://www.arsys.es/blog/soluciones/machine-learning/ https://blogs.deusto.es/bigdata/guia-para-comenzar-con-algoritmos-de-machine-learning/ https://cleverdata.io/que-es-machine-learning-big-data/ https://www.apd.es/que-es-machine-learning/ https://www.iberdrola.com/innovacion/machine-learning-aprendizaje-automatico https://docs.aws.amazon.com/es_es/machine-learning/latest/dg/what-is-amazon-machine-learning.html https://biblioteca.sistedes.es/articulo/un-recorrido-por-los-principales-proveedores-de-servicios-de-machine-learning-y-prediccion-en-la-nube/ https://openexpoeurope.com/es/cuales-son-las-aplicaciones-principales-del-machine-learning/ https://www.showerthinking.es/blog/diferencias-machine-learning-deep-learning-ibm-watson/ Elaborado por: Visita la página:

×