Tag: aprendizaje automático

Netflix es la red de televisión por Internet líder en el mundo con más de 160 millones de miembros en más de 190 países. Sus usuarios disfrutan de cientos de millones de horas de contenido al día, incluidas series originales, documentales y largometrajes. Es por ello, que para mejorar la experiencia de sus usuarios y optimizar sus servicios, Netflix invierte en la investigación y desarrollo de tecnología como el Machine Learning, utilizando en muchas áreas donde prototipan, diseñan, implementan, evalúan y producen modelos y algoritmos tanto a través de experimentos off line como con pruebas A-B on line.

Como hemos dicho, el Machine Learning tiene un impacto en muchas áreas de Netflix. Históricamente, la personalización ha sido el área más conocida, donde el aprendizaje automático impulsa algoritmos de recomendación para ofrecer a sus usuarios contenidos en base a sus perfiles. Sin embargo, también utilizan el aprendizaje automático con otras finalidades como:

  • Ayudar a dar forma al catálogo de películas y programas de televisión al aprender las características que hacen que el contenido sea exitoso.
  • Optimizar la producción de películas y programas de TV originales en el estudio de rápido crecimiento de Netflix.
  • Optimizar la codificación de vídeo y audio, la selección de velocidad de bits adaptativa y su red de entrega de contenido interna que representa más de un tercio del tráfico de Internet de América del Norte.
  • También, potencia el gasto en publicidad, mezcla de canales y creatividad publicitaria para que puedan encontrar nuevos miembros que disfrutarán de Netflix.

El uso generalizado del aprendizaje automático en Netflix presenta muchos desafíos nuevos en los que deben impulsar el estado de la técnica. Esto significa generar nuevas ideas y probarlas, ya sean nuevos modelos y algoritmos o mejoras a los existentes, mejores métricas o metodologías de evaluación, y abordar los desafíos de escala. Netflix presta especial atención a la investigación en esta área abarcando muchos enfoques algorítmicos diferentes que incluyen modelado causal, bandidos, aprendizaje por refuerzo, conjuntos, redes neuronales, modelos gráficos probabilistas y factorización matricial.

Fuente: Netflix Research

El Machine Learning o aprendizaje automático es una rama del campo de la Inteligencia artificial y se trata de una técnica de análisis de datos que enseña a las computadoras «aprender de la experiencia», aquello que es natural para los humanos. Los algoritmos de Machine Learning usan métodos computacionales para «aprender» (learning) la información extraída de los datos y mejorar su rendimiento de forma adaptada -conforme aumenta el número de muestras disponibles para el aprendizaje-.

Con el auge del Big Data, el Machine Learning se ha convertido en una técnica clave para resolver problemas en diversas áreas como medicina, energía, aeroespacial, automoción, fabricación, etc. tanto para detectar tumores como para previsión de cargas energéticas o para el mantenimiento predictivo, entre otras opciones.

Los algoritmos de Aprendizaje Automático encuentran patrones naturales en los datos que generan información y lo ayudan a tomar mejores decisiones y predicciones. Por ejemplo, paginas webs de musica o vídeos utilizan Machine Learning para analizar millones de opciones y dar recomendaciones sobre canciones o películas a los usuarios. También, los retailers lo utilizan para obtener información sobre el comportamiento de compra de sus clientes.

Machine Learning: cómo funciona

El Machine Learning emplea dos tipos de técnicas:

  • Aprendizaje Supervisado, que entrena un modelo sobre datos de entrada y salida conocidos para que pueda predecir resultados futuros
  • Aprendizaje No Supervisado, que encuentra patrones ocultos o estructuras intrínsecas en los datos de entrada.

esquema machine learning

Fuente: https://es.mathworks.com/discovery/machine-learning.html

Machine Learning: aprendizaje supervisado

El aprendizaje automático supervisado crea un modelo que realiza predicciones basadas en evidencia en presencia de incertidumbre. Un algoritmo de aprendizaje supervisado toma un conjunto conocido de datos de entrada y respuestas conocidas a los datos (salida) y entrena un modelo para generar predicciones razonables para la respuesta a nuevos datos. El aprendizaje supervisado lo puedes usar si tienes datos conocidos para la salida que está intentando predecir.

El aprendizaje supervisado utiliza técnicas de clasificación y regresión para desarrollar modelos predictivos.

  • Técnicas de clasificación. Las técnicas de clasificación predicen respuestas discretas, por ejemplo, si un correo electrónico es genuino o spam, o si un tumor es canceroso o benigno. Los modelos de clasificación clasifican los datos de entrada en categorías. Las aplicaciones típicas incluyen imágenes médicas, reconocimiento de voz y calificación crediticia.Utilice la clasificación si sus datos se pueden etiquetar, categorizar o separar en grupos o clases específicos. Por ejemplo, las aplicaciones para el reconocimiento de escritura a mano utilizan la clasificación para reconocer letras y números. En el procesamiento de imágenes y la visión por computadora, se utilizan técnicas de reconocimiento de patrones sin supervisión para la detección de objetos y la segmentación de imágenes.
  • Regresión. Las técnicas de regresión predicen respuestas continuas, por ejemplo, cambios en la temperatura o fluctuaciones en la demanda de energía. Las aplicaciones típicas incluyen predicción de carga eléctrica y comercio algorítmico.Utilice las técnicas de regresión si está trabajando con un rango de datos o si la naturaleza de su respuesta es un número real, como la temperatura o el tiempo hasta el fallo de un equipo.

Machine Learning: aprendizaje NO supervisado

El aprendizaje no supervisado encuentra patrones ocultos o estructuras intrínsecas en los datos. Se utiliza para extraer inferencias de conjuntos de datos que consisten en datos de entrada sin respuestas etiquetadas.

El Clustering es la técnica de aprendizaje no supervisada más común. Se utiliza para el análisis exploratorio de datos para encontrar patrones ocultos o agrupaciones en los datos. Las aplicaciones para el análisis de conglomerados incluyen análisis de secuencia génica, investigación de mercado y reconocimiento de objetos.

Por ejemplo, si una compañía de telefonía celular quiere optimizar las ubicaciones donde construyen torres de telefonía celular, pueden usar el aprendizaje automático para estimar la cantidad de grupos de personas que confían en sus torres. Un teléfono solo puede hablar con una torre a la vez, por lo que el equipo utiliza algoritmos de agrupamiento para diseñar la mejor ubicación de las torres de telefonía móvil para optimizar la recepción de señal para grupos o grupos de sus clientes.

Aquí hay algunas pautas para elegir entre aprendizaje automático supervisado y no supervisado:

  • Elija el aprendizaje supervisado si necesita entrenar un modelo para hacer una predicción, por ejemplo, el valor futuro de una variable continua, como la temperatura o el precio de una acción, o una clasificación, por ejemplo, identificar marcas de automóviles a partir de imágenes de video de la cámara web .
  • Elija el aprendizaje no supervisado si necesita explorar sus datos y desea entrenar un modelo para encontrar una buena representación interna, como dividir los datos en grupos.

Fuente: https://www.mathworks.com/discovery/machine-learning.html

  • Os recomendamos un framework de Machine Learning de código abierto y multi-plataforma para C#
  • ML.NET ofrece la posibilidad de agregar el aprendizaje automático en aplicaciones de .NET, ya sea en escenarios on line o sin conexión

machine learning mlnet

¿Qué es ML.NET?

ML.NET ofrece la posibilidad de agregar el aprendizaje automático en aplicaciones de .NET, ya sea en escenarios on line o sin conexión. Con esta funcionalidad, es posible realizar predicciones automáticas usando los datos disponibles para la aplicación sin tener que estar conectado a una red.

Aprendizaje automático en ML.NET, ¿qué predicciones puede hacer?

Algunos ejemplos del tipo de predicciones que puede hacer con ML.NET son los siguientes: 

  1. Clasificación y categorización. Por ejemplo, clasificar automáticamente los comentarios de clientes en positivos y negativos
  2. Valores continuos de regresión y predicción. Por ejemplo, predecir el precio de la vivienda según el tamaño y la ubicación
  3. Detección de anomalías. Por ejemplo, detectar fraudes en transacciones bancarias
  4. Recomendaciones. Por ejemplo, realizar sugerencias de productos al consumidor on line en función de sus compras anteriores

ML.NET ofrece Model Builder (una herramienta de interfaz de usuario simple) y ML.NET CLI para que sea muy fácil crear modelos de aprendizaje automático personalizados. Estas herramientas utilizan Automated ML (AutoML), una tecnología de vanguardia que automatiza el proceso de creación de modelos con el mejor rendimiento para su escenario de Machine Learning. Lo único que se necesita es cargar tus dato y AutoML se encarga del resto del proceso de construcción del modelo.

¿En qué se caracteriza ML.NET?

  • Extendido con TensorFlow y otros..  ML.NET ha sido diseñado como una plataforma extensible para que se pueda consumir otros framework de aprendizaje automático populares tales como TensorFlow, ONNX, Infer.NET, entre otros; y tener acceso a más escenarios de machine learning, como clasificación de imágenes, detección de objetos, etc.
  • Alto rendimiento y precisión. Utilizando un conjunto de datos de revisión de Amazon de 9GB, ML.NET entrenó un modelo de análisis de sentimientos con un 95% de precisión. Otros framworks de aprendizaje automático populares no pueden procesar el conjunto de datos debido a errores de memoria. La capacitación en el 10% del conjunto de datos, para permitir que todos los framworks completen la capacitación, ML.NET ha supuesto la mayor velocidad y precisión.

¿Quieres saber más? Puedes consultar todos los tutoriales, ejemplos de código, referencia de API y otra documentación en la web de docs.microsoft.com