Introducción a Amazon Machine Learning

Cree una cuenta gratuita

Disfrute de doce meses de acceso a la capa gratuita de AWS y de otras características del nivel Basic de AWS Support, entre otras, un servicio ininterrumpido de soporte al cliente, foros de soporte y muchas más.

Tenga en cuenta que Amazon Machine Learning no se encuentra disponible actualmente en la capa gratuita de AWS.

P: ¿Qué es Amazon Machine Learning?

Amazon Machine Learning es un servicio de aprendizaje automático que le permite crear con facilidad aplicaciones predictivas, como la detección del fraude, la previsión de la demanda y la predicción de clics. Amazon Machine Learning utiliza algoritmos potentes que pueden ayudarle a crear modelos de aprendizaje automático al detectar patrones en datos existentes y utilizar dichos patrones para realizar predicciones con datos nuevos en cuanto estos estén disponibles. La consola de administración de AWS y las API proporcionan herramientas de visualización de datos y modelos, así como asistentes que le guiarán a lo largo del proceso de creación de modelos de aprendizaje automático, midiendo su calidad y ajustando las predicciones de acuerdo con los requisitos de su aplicación. Una vez creados los modelos, puede obtener predicciones para su aplicación mediante el API sencilla, sin tener que implementar código de generación de predicciones personalizado ni administrar ninguna infraestructura. Amazon Machine Learning es altamente escalable y puede generar miles de millones de predicciones, además de abastecer dichas predicciones en tiempo real y con un desempeño excelente. Con Amazon Machine Learning no existen costos de contratación. Pagará por lo que utilice, de modo que podrá comenzar con pocos recursos y escalar el servicio a medida que crezca su aplicación.

P: ¿Qué puedo hacer con Amazon Machine Learning?

Puede utilizar Amazon Machine Learning para crear una gran variedad de aplicaciones predictivas. Por ejemplo, puede utilizar Amazon Machine Learning para crear aplicaciones que marquen transacciones sospechosas, detecten pedidos fraudulentos, predigan la demanda, personalicen el contenido, predigan la actividad de los usuarios, examinen el contenido de las redes sociales, analicen el texto sin formato y recomienden artículos.

P: ¿Qué es el aprendizaje automático?

El aprendizaje automático (ML) es una tecnología que le ayuda a utilizar datos antiguos para tomar decisiones empresariales fundamentadas. Los algoritmos de ML detectan patrones en los datos y crean modelos matemáticos a partir de dichos patrones. A continuación, puede utilizar los modelos para realizar predicciones sobre datos futuros. Por ejemplo, una posible aplicación del aprendizaje automático es la detección de transacciones fraudulentas a partir de ejemplos de compras anteriores realizadas con y sin éxito.

P: ¿Cómo puedo comenzar a utilizar Amazon Machine Learning?

La mejor manera de comenzar a utilizar Amazon Machine Learning es consultar el tutorial de la Guía para desarrolladores de Amazon Machine Learning. El tutorial le guía durante el proceso de creación de un modelo de aprendizaje automático a partir de un conjunto de datos de muestra, en el que se evalúa el modelo y se utiliza para crear predicciones. Tras completar el tutorial, podrá utilizar Amazon Machine Learning para crear sus propios modelos de ML. Para obtener más información, consulte la Guía para desarrolladores de Amazon Machine Learning y la Referencia de la API de Amazon Machine Learning.

P: ¿Qué son los datos de capacitación?

Los datos de capacitación se utilizan para crear modelos de capacitación automático. Consisten en puntos de datos anteriores conocidos. Puede utilizar Amazon Machine Learning para extraer patrones de estos datos y utilizarlos para crear modelos de aprendizaje automático.

P: ¿Qué es el atributo de destino?

El atributo de destino es un atributo especial de los datos de capacitación que contiene la información que Amazon Machine Learning intenta predecir. Por ejemplo, asumamos que quiere crear un modelo que prediga si una transacción es fraudulenta. Los datos de aprendizaje contienen metadatos de una transacción anterior con el atributo de destino “1” si el banco denegó la transacción o “0” en caso contrario. Puede utilizar Amazon Machine Learning para detectar patrones que relacionan el atributo de destino con los metadatos de la transacción (todos los demás atributos). A continuación, puede usar los modelos de ML creados a partir de estos patrones para realizar una predicción sin el atributo de destino presente. En este ejemplo, se trata de predecir si una transacción es fraudulenta a partir de los metadatos, antes de saber si el banco la va a denegar.

P: ¿Qué algoritmo utiliza Amazon Machine Learning para generar modelos?

En la actualidad, Amazon Machine Learning utiliza un algoritmo de regresión estándar en el sector para generar modelos.

P: ¿En qué regiones de AWS está disponible Amazon Machine Learning?

Para ver la lista de las regiones donde se admite Amazon Machine Learning AWS, consulte la tabla de regiones de AWS, que contiene información sobre la infraestructura global de AWS.  Para obtener más información, consulte Regiones y puntos de enlace en la Referencia general de AWS.

P: ¿Cuál es la disponibilidad del servicio Amazon Machine Learning?

Amazon Machine Learning está diseñado para ofrecer alta disponibilidad. No hay periodos de mantenimiento ni tiempos de inactividad programados. El API de aprendizaje de modelos, evaluación y predicción por lotes se ejecuta en los centros de datos probados y de alta disponibilidad de Amazon, con la replicación de la pila de servicios configurada en tres instalaciones de cada una de las regiones de AWS a fin de proporcionar tolerancia a errores en caso de que se produzca un error en el servidor o una interrupción en la zona de disponibilidad.

P: ¿De qué medidas de seguridad dispone Amazon Machine Learning?

Amazon Machine Learning garantiza que los modelos de ML y otros elementos del sistema están cifrados tanto en tránsito como en reposo. Las solicitudes a la consola y el API de Amazon Machine Learning se efectúan a través de una conexión segura (SSL). Puede utilizar AWS Identity and Access Management (AWS IAM) para controlar qué usuarios de IAM disponen de acceso a acciones y recursos específicos de Amazon Machine Learning.

Volver arriba >>

P: ¿Dónde se almacenan mis datos?

Puede utilizar Amazon Machine Learning para leer los datos desde tres almacenes de datos: (a) uno o más archivos de Amazon S3, (b) los resultados de una consulta de Amazon Redshift o (c) los resultados de una consulta de Amazon Relational Database Service (RDS) efectuada en una base de datos ejecutada con el motor MySQL. Normalmente, los datos de otros productos se pueden exportar en archivos CSV de Amazon S3, de modo que Amazon Machine Learning pueda acceder a ellos. Para obtener instrucciones detalladas sobre la configuración de permisos que permiten a Amazon Machine Learning obtener acceso a los almacenes de datos compatibles, consulte la Guía para desarrolladores de Amazon Machine Learning.

P: ¿Hay límites en cuanto al tamaño del conjunto de datos que se puede utilizar para la capacitación?

Amazon Machine Learning puede aprender modelos con conjuntos de datos de hasta 100 GB de tamaño.

P: ¿Cómo puedo comprobar si existen errores en los datos?

Puede utilizar Amazon Machine Learning para detectar errores de formato en los datos. La característica de detalles de los datos de la consola del servicio de Amazon Machine Learning le permite encontrar errores más difíciles de hallar en los datos; por ejemplo, campos vacíos o que contienen valores inesperados. Amazon Machine Learning es capaz de aprender modelos de ML y generar predicciones precisas a pesar de la existencia de una pequeña cantidad de los dos tipos de errores, lo que permite que las solicitudes tengan éxito aunque algunas observaciones de los datos sean inválidas o incorrectas.

P: ¿Qué debo hacer si los datos están incompletos o falta información?

Siempre es mejor asegurarse de que los datos están completos y son de lo más precisos. Los algoritmos de aprendizaje de Amazon Machine Learning toleran pequeñas cantidades de información incompleta o no presente sin que esto repercuta en la calidad del modelo. Sin embargo, a medida que incrementa la cantidad de errores, disminuye la calidad del modelo resultante. Amazon Machine Learning dejará de procesar su solicitud de aprendizaje de modelos si el número de registros que fallan durante el procesamiento supera los 10 000 o equivale al 10% de todos los registros del conjunto de datos, lo que suceda antes.

Para corregir información incompleta o no presente, tendrá que volver a la fuente de datos maestra y corregir los datos en la misma o excluir las observaciones con información incompleta o no presente de los conjuntos de datos utilizados para aprender los modelos de Amazon Machine Learning. Por ejemplo, si descubre que algunas filas de una tabla de Amazon Redshift contienen valores no válidos, puede modificar la consulta utilizada de manera que seleccione los datos para Amazon Machine Learning excluyendo estas filas.

P: ¿Cómo puedo comprobar si las predicciones de mi modelo son precisas?

Amazon Machine Learning incorpora potentes características de evaluación de modelos. Puede utilizar Amazon Machine Learning para procesar una métrica de evaluación estándar del sector para cualquiera de sus modelos, lo que le ayudará a entender la cualidad predictiva de estos. También puede utilizar Amazon Machine Learning para asegurarse de que la evaluación de modelos es objetiva. Para ello, puede restringir una parte de los datos de aprendizaje con fines evaluativos, lo que garantiza que el modelo nunca se evalúa con puntos de datos observados durante el periodo de aprendizaje. La consola del servicio Amazon Machine Learning proporciona herramientas potentes y de uso sencillo para examinar y entender los resultados de las evaluaciones de modelos.

P: ¿Cómo puedo ajustar el modelo si este no me proporciona los resultados que deseo?

La mejor manera de mejorar la calidad de un modelo es utilizar más datos de mejor calidad para la capacitación. Agregar más observaciones y tipos adicionales de información (características) y transformar los datos para optimizar el proceso de aprendizaje (ingeniería de características) son maneras excelentes de mejorar la precisión predictiva del modelo. Puede utilizar Amazon Machine Learning para crear numerosos prototipos de modelos, al igual que puede utilizar los procesadores de datos integrados de Amazon Machine Learning para realizar varios tipos comunes de ingeniería de características tan sencillos como editar una línea en el lenguaje de la “receta” integrada. Además, Amazon Machine Learning puede crear automáticamente una receta de transformación de datos sugerida a partir de sus datos cuando cree un nuevo objeto de fuente de datos dirigido a sus datos. Esta receta se optimizará automáticamente de acuerdo con el contenido de los datos.

Amazon Machine Learning también proporciona diversos parámetros para ajustar el proceso de aprendizaje: (a) tamaño objetivo del modelo, (b) número de pasadas realizadas a los datos, y (c) tipo y nivel de normalización que se debe aplicar al modelo. Los ajustes predeterminados de Amazon Machine Learning resultan adecuados para numerosas tareas reales de ML, pero se pueden modificar en caso necesario mediante el API o la consola del servicio.

Por último, un aspecto importante que debe tenerse en cuenta respecto del ajuste de modelos es el modo en que la aplicación interpreta las predicciones generadas por el modelo de ML para que se correspondan de manera óptima con los objetivos de la empresa. Amazon Machine Learning le ayuda a ajustar la puntuación límite de interpretación para modelos de clasificación binaria, lo que le permite alcanzar un equilibrio fundamentado entre varios tipos de errores que un modelo aprendido puede cometer. Por ejemplo, algunas aplicaciones son muy tolerantes a errores positivos falsos, pero no admiten bien los errores negativos falsos. La consola de servicio de Amazon Machine Learning le permite ajustar el límite de la puntuación para satisfacer este requisito. Para obtener más información, consulte la sección Evaluating ML Models de la guía para desarrolladores Amazon Machine Learning Developer Guide.

P: ¿Puedo exportar los modelos fuera de Amazon Machine Learning?

No.

P: ¿Puedo importar modelos existentes a Amazon Machine Learning?

No.

P: ¿Es necesario que Amazon Machine Learning realice una copia permanente de mis datos para crear modelos de aprendizaje automático?

No. Amazon Machine Learning solo necesita acceso de lectura a sus datos para encontrar y extraer los patrones existentes en ellos y almacenarlos en los modelos de ML. Los modelos de ML no son copias de sus datos. Al obtener acceso a los datos almacenados en Amazon Redshift o Amazon RDS, Amazon Machine Learning exportará los resultados de las consultas en la ubicación de S3 que desee y leerá los resultados desde S3. Seguirá siendo el propietario de esta copia temporal de los datos, que podrá eliminar una vez completada la operación de Amazon Machine Learning.

Volver arriba >>

P: Cuando el modelo esté listo, ¿cómo puede obtener predicciones para mis aplicaciones?

Puede utilizar Amazon Machine Learning para recuperar predicciones de dos modos: mediante el API de predicciones en lote o mediante el API de predicciones en tiempo real. El API en lote se utiliza para solicitar predicciones para grandes cantidades de datos introducidos. Funciona sin conexión a la red y proporciona todas las predicciones a la vez. El API en tiempo real se utiliza para solicitar predicciones para registros de datos introducidos individualmente y proporciona las predicciones al instante. El API en tiempo real se puede utilizar con excelente desempeño, lo que genera numerosas predicciones simultáneas como respuesta a solicitudes paralelas.

Cualquier modelo de ML creado con Amazon Machine Learning se puede utilizar tanto con el API de predicciones en tiempo real como con el API de predicciones en lote. Usted elige, dependiendo de los requisitos de su aplicación. Normalmente, el API de predicciones en lote se utiliza para aplicaciones que manejan registros de datos masivos, mientras que el API de predicciones en tiempo real se usa para aplicaciones web, móviles y de escritorio interactivas.

P: ¿Con qué rapidez puede generar predicciones el API de predicciones en tiempo real de Amazon Machine Learning?

La mayoría de solicitudes de predicciones en tiempo real obtienen una respuesta a los 100 ms, lo que las hace suficientemente rápidas para aplicaciones web, móviles y de escritorio. El tiempo exacto que tarda el API de predicciones en tiempo real en generar una predicción varía según el tamaño de los datos introducidos y la complejidad de la “receta” de procesamiento de datos asociada con el modelo de ML que genera las predicciones.

P: ¿Cuántas solicitudes de API simultáneas en tiempo real soportan Amazon Machine Learning?

A cada modelo de ML que tiene las predicciones en tiempo real activadas se le asigna una URL de punto de enlace. De forma predeterminada, puede solicitar hasta 200 transacciones por segundo (TPS) desde cualquier punto de enlace de predicciones en tiempo real. Contáctese con el servicio de soporte ​al cliente si este límite no satisface las necesidades de su aplicación.

P: ¿Con qué rapidez puede proporcionar predicciones en lote Amazon Machine Learning?

El API de predicciones en lote es rápida y eficaz. El tiempo que se tarda en obtener los resultados de las predicciones en lote depende de varios factores, incluidos (a) el tamaño de los datos introducidos, (b) la complejidad de la "receta" de procesamiento de datos asociada con el modelo de ML que genera las predicciones y (c) el número de otros trabajos por lotes (procesamiento de datos, aprendizaje de modelos, evaluación y otras solicitudes de procesamiento por lotes) que se ejecutan simultáneamente en su cuenta, entre otras cosas. De forma predeterminada, Amazon Machine Learning puede ejecutar simultáneamente hasta cinco trabajos por lotes. Contáctese con el servicio de soporte al cliente si este límite no satisface las necesidades de su aplicación.

P: ¿Cómo puedo monitorizar el desempeño de mis predicciones?

Puede monitorizar el desempeño de las predicciones de dos maneras principales: (a) monitorizando el volumen del tráfico de las predicciones en tiempo real y en lotes, y (b) monitorizando la calidad de los modelos predictivos.

Puede monitorizar el volumen del tráfico de las predicciones si consulta las métricas de Amazon CloudWatch publicadas por Amazon Machine Learning en su cuenta de CloudWatch. Para cada ID de modelo de ML que recibe predicciones en tiempo real o en lotes durante el periodo de monitorización, Amazon Machine Learning publica la cantidad de registros de datos para los que se han efectuado predicciones con éxito y la cantidad de registros de datos cuyo análisis ha fallado, de modo que no se ha obtenido ninguna predicción.

Para monitorizar la calidad del modelo de ML con el paso del tiempo, una práctica recomendada de la industria consiste en recopilar periódicamente una muestra al azar de registros de datos enviados a la aplicación para generar predicciones, obtener respuestas verdaderas (también conocidas como "de destino") y utilizar Amazon Machine Learning para crear una evaluación del conjunto de datos resultante. Amazon Machine Learning procesará una métrica de calidad del modelo al comparar los destinos con las predicciones generadas. Si descubre que la calidad de las métricas disminuye con el tiempo, es posible que tenga que aprender un modelo nuevo con puntos de datos nuevos, ya que los datos utilizados originalmente para aprender el modelo ya no se corresponden con la realidad. Por ejemplo, si utiliza un modelo de ML para detectar transacciones fraudulentas, podría descubrir que la calidad disminuye con el tiempo porque han aparecido nuevos métodos de fraude, que no se conocían cuando se aprendió el modelo. Para contrarrestar esta tendencia, puede enseñarle al sistema un nuevo modelo de aprendizaje automático que incluya ejemplos de las transacciones fraudulentas más recientes, lo que permitirá a Amazon Machine Learning detectar los patrones que identifican a estas transacciones, entre otras cosas.

Volver arriba >>