Red de conocimientos turísticos - Conocimientos sobre calendario chino - Además de utilizar Mahout en sistemas de recomendación, ¿existe alguna otra forma en el mundo? ¿Cuál es la importancia de utilizar Mahout y Hadoop para resolver problemas de datos a gran escala en algoritmos de aprendizaje automático? Consideremos algunos tamaños de problemas para los que podría necesitar implementar Mahout. Según una estimación aproximada, hace tres años, Picasa tenía 500 millones de fotografías. Esto significa que hay millones de fotografías nuevas que procesar cada día. Analizar una foto no es un gran problema en sí mismo, incluso si hay que hacerlo millones de veces. Pero en la etapa de aprendizaje, puede ser necesario obtener información de miles de millones de fotografías al mismo tiempo, y esta escala de cálculo no puede lograrse con una sola máquina. Según se informa, Google News procesa aproximadamente 3,5 millones de noticias nuevas cada día. Si bien el número absoluto de términos puede parecer pequeño, imagine que estos términos y otros artículos recientes deben agruparse en cuestión de minutos para poder proporcionarlos de manera oportuna. El subconjunto de datos de calificaciones publicados por Netflix para el Premio Netflix contiene 100 millones de calificaciones. Dado que estos son solo los datos publicados para la competencia, asumimos que la cantidad total de datos que Netflix necesita procesar para formar recomendaciones es mucho mayor que esto. Las técnicas de aprendizaje automático deben implementarse en escenarios de aplicación como estos, donde la cantidad de datos de entrada suele ser demasiado grande para procesarlos completamente en una sola computadora, incluso si esa computadora es muy poderosa. Sin implementaciones como Mahout, esto sería una tarea imposible. Esta es la razón por la que Mahout considera la escalabilidad como una prioridad máxima y por la que este libro se diferencia de otros libros al centrarse en el procesamiento eficiente de grandes conjuntos de datos. Actualmente, sólo las grandes empresas de alta tecnología consideran aplicar técnicas sofisticadas de aprendizaje automático para resolver problemas a gran escala. Sin embargo, la potencia informática actual es mucho más barata que en el pasado y más fácilmente accesible a través de marcos de código abierto como Apache Hadoop. Mahout completa el rompecabezas proporcionando implementaciones de código abierto y de alta calidad de problemas a gran escala creados en la plataforma Hadoop, disponibles para todos los grupos tecnológicos. MapReduce es un paradigma de programación que puede parecer extraño al principio o demasiado simple para creer en su poder. El paradigma MapReduce se utiliza para resolver este tipo de problemas: la entrada es un conjunto de "pares clave-valor", la función de mapa convierte estos pares clave-valor en otro conjunto de pares clave-valor intermedios y la función de reducción convierte de alguna manera todos los Las claves correspondientes a cada clave intermedia se combinan para producir resultados. De hecho, muchos problemas pueden reducirse a problemas de MapReduce o cascadas de problemas. Este modelo también es fácilmente paralelizable: todo el procesamiento es independiente y, por lo tanto, puede distribuirse entre varias máquinas. No entraré en detalles sobre MapReduce aquí. Se recomienda que los lectores consulten algunos tutoriales introductorios para comprenderlo, como los tutoriales proporcionados por Hadoop. Aunque MapReduce parece tan simple, sigue siendo un paradigma. gran progreso. Es responsable de gestionar el almacenamiento de datos de entrada, pares clave-valor intermedios y datos de salida. Estos datos pueden ser muy grandes y deben ser accesibles para muchos nodos trabajadores en lugar de almacenarse en un solo nodo. Hadoop es más que una simple biblioteca que se puede agregar a un proyecto. Hadoop no es solo una biblioteca que se puede agregar a un proyecto, sino que consta de múltiples componentes, cada uno con muchas bibliotecas y (múltiples) procesos de servicio independientes que pueden ejecutarse en múltiples máquinas. Los procesos basados ​​en Hadoop no son simples, pero invertir en una implementación distribuida escalable puede dar sus frutos más adelante: sus datos pueden crecer rápidamente hasta alcanzar tamaños muy grandes, y una implementación tan escalable puede hacer que sus aplicaciones se queden atrás. Dada la creciente popularidad de marcos tan complejos que requieren una gran potencia informática, no sorprende que los proveedores de la nube estén comenzando a ofrecer servicios relacionados con Hadoop.

Además de utilizar Mahout en sistemas de recomendación, ¿existe alguna otra forma en el mundo? ¿Cuál es la importancia de utilizar Mahout y Hadoop para resolver problemas de datos a gran escala en algoritmos de aprendizaje automático? Consideremos algunos tamaños de problemas para los que podría necesitar implementar Mahout. Según una estimación aproximada, hace tres años, Picasa tenía 500 millones de fotografías. Esto significa que hay millones de fotografías nuevas que procesar cada día. Analizar una foto no es un gran problema en sí mismo, incluso si hay que hacerlo millones de veces. Pero en la etapa de aprendizaje, puede ser necesario obtener información de miles de millones de fotografías al mismo tiempo, y esta escala de cálculo no puede lograrse con una sola máquina. Según se informa, Google News procesa aproximadamente 3,5 millones de noticias nuevas cada día. Si bien el número absoluto de términos puede parecer pequeño, imagine que estos términos y otros artículos recientes deben agruparse en cuestión de minutos para poder proporcionarlos de manera oportuna. El subconjunto de datos de calificaciones publicados por Netflix para el Premio Netflix contiene 100 millones de calificaciones. Dado que estos son solo los datos publicados para la competencia, asumimos que la cantidad total de datos que Netflix necesita procesar para formar recomendaciones es mucho mayor que esto. Las técnicas de aprendizaje automático deben implementarse en escenarios de aplicación como estos, donde la cantidad de datos de entrada suele ser demasiado grande para procesarlos completamente en una sola computadora, incluso si esa computadora es muy poderosa. Sin implementaciones como Mahout, esto sería una tarea imposible. Esta es la razón por la que Mahout considera la escalabilidad como una prioridad máxima y por la que este libro se diferencia de otros libros al centrarse en el procesamiento eficiente de grandes conjuntos de datos. Actualmente, sólo las grandes empresas de alta tecnología consideran aplicar técnicas sofisticadas de aprendizaje automático para resolver problemas a gran escala. Sin embargo, la potencia informática actual es mucho más barata que en el pasado y más fácilmente accesible a través de marcos de código abierto como Apache Hadoop. Mahout completa el rompecabezas proporcionando implementaciones de código abierto y de alta calidad de problemas a gran escala creados en la plataforma Hadoop, disponibles para todos los grupos tecnológicos. MapReduce es un paradigma de programación que puede parecer extraño al principio o demasiado simple para creer en su poder. El paradigma MapReduce se utiliza para resolver este tipo de problemas: la entrada es un conjunto de "pares clave-valor", la función de mapa convierte estos pares clave-valor en otro conjunto de pares clave-valor intermedios y la función de reducción convierte de alguna manera todos los Las claves correspondientes a cada clave intermedia se combinan para producir resultados. De hecho, muchos problemas pueden reducirse a problemas de MapReduce o cascadas de problemas. Este modelo también es fácilmente paralelizable: todo el procesamiento es independiente y, por lo tanto, puede distribuirse entre varias máquinas. No entraré en detalles sobre MapReduce aquí. Se recomienda que los lectores consulten algunos tutoriales introductorios para comprenderlo, como los tutoriales proporcionados por Hadoop. Aunque MapReduce parece tan simple, sigue siendo un paradigma. gran progreso. Es responsable de gestionar el almacenamiento de datos de entrada, pares clave-valor intermedios y datos de salida. Estos datos pueden ser muy grandes y deben ser accesibles para muchos nodos trabajadores en lugar de almacenarse en un solo nodo. Hadoop es más que una simple biblioteca que se puede agregar a un proyecto. Hadoop no es solo una biblioteca que se puede agregar a un proyecto, sino que consta de múltiples componentes, cada uno con muchas bibliotecas y (múltiples) procesos de servicio independientes que pueden ejecutarse en múltiples máquinas. Los procesos basados ​​en Hadoop no son simples, pero invertir en una implementación distribuida escalable puede dar sus frutos más adelante: sus datos pueden crecer rápidamente hasta alcanzar tamaños muy grandes, y una implementación tan escalable puede hacer que sus aplicaciones se queden atrás. Dada la creciente popularidad de marcos tan complejos que requieren una gran potencia informática, no sorprende que los proveedores de la nube estén comenzando a ofrecer servicios relacionados con Hadoop.

Por ejemplo, Amazon proporciona Elastic MapReduce, un servicio para administrar clústeres de Hadoop, que proporciona una potente potencia informática y nos permite operar y monitorear trabajos a gran escala en Hadoop a través de una interfaz fácil de usar, que de otro modo sería una tarea muy compleja.

footer>