Red de conocimiento informático - Aprendizaje de código fuente - Prefacio del algoritmo de red inteligente

Prefacio del algoritmo de red inteligente

Mientras estaba en la escuela de posgrado, me interesé en el aprendizaje automático, especialmente en el reconocimiento de patrones. Mi trabajo se centra principalmente en modelado matemático y simulación numérica, pero el reconocimiento de patrones de datos masivos en realidad tiene amplias aplicaciones en muchos campos. Nunca pensé que profundizaría tanto en el aprendizaje automático a lo largo de los años.

En 1999 completé mis estudios y comencé a trabajar en el mundo empresarial. En un proyecto en el que fui consultor, intentábamos determinar la probabilidad de un ataque cardíaco en un paciente según su electrocardiograma. Obviamente, no existe una fórmula matemática precisa para este problema y no se puede derivar ninguna fórmula matemática precisa. De hecho, los cardiólogos ya diagnostican el riesgo de enfermedad cardíaca en un gran número de pacientes, y los métodos que utilizamos para modelar deben poder aprender de estos registros médicos cómo predecir el riesgo de enfermedad cardíaca. En términos sencillos, buscamos formas de "aprender" continuamente nuevos conocimientos a partir de las aportaciones del usuario.

Mientras tanto, en la década de 1990, una confluencia de factores condujo al rápido crecimiento de una nueva industria: ¡Internet se volvió omnipresente! Según la Ley de Moore, las CPU son cada vez más rápidas y baratas, y el rendimiento de los módulos de memoria, discos duros y otro hardware informático también mejora cada día que pasa, mientras que los precios bajan una y otra vez. Al mismo tiempo, las conexiones a Internet consumen cada vez más ancho de banda y son más asequibles. Además, ha madurado una poderosa tecnología de desarrollo de aplicaciones web y la proliferación de varios proyectos de código abierto también ha promovido el avance de tecnologías relacionadas. Todos estos factores conforman el vasto ecosistema que ahora llamamos web.

Obviamente, como ingenieros de software y desarrolladores web, nuestra primera prioridad es proporcionar suficiente tecnología para crear aplicaciones web robustas, escalables y hermosas. De hecho, este es el caso. En los últimos diez años, hemos hecho grandes esfuerzos y logrado resultados considerables. Por supuesto, no existe lo mejor, sólo lo mejor, y todavía tenemos margen de mejora. Aunque hemos estado buscando aplicaciones web más poderosas, más escalables y más hermosas, nos hemos topado con un cuello de botella. En nuestra opinión, las monótonas aplicaciones de Internet son cosa del pasado, y el modelo de solicitud/respuesta del usuario, en el que los datos simplemente se agregan y se procesan según una lógica predeterminada, también ha llegado a su fin.

Ahora, hay una nueva ola en algunas aplicaciones que proporciona una nueva perspectiva sobre las aplicaciones de Internet. Esto es lo que este libro llama una aplicación inteligente (IA). A diferencia de las aplicaciones tradicionales, las aplicaciones inteligentes ajustan su comportamiento en función de las aportaciones del usuario, como mi software de modelado que predice la probabilidad de enfermedad cardíaca basándose en un electrocardiograma.

Durante los últimos cinco años, me he dado cuenta de que la tecnología para crear aplicaciones inteligentes sigue siendo un misterio para la mayoría de los desarrolladores de software. En mi opinión, hay dos razones para ello. Por un lado, el valor comercial potencial de estas tecnologías puede generar enormes beneficios económicos. Por lo tanto, es comprensible desde una perspectiva económica proteger estas aplicaciones y ocultar sus detalles críticos. Por otro lado, casi todas las tecnologías relacionadas se originan en investigaciones académicas y requieren una sólida formación matemática para comprenderlas. No hay nada que podamos hacer respecto de la primera razón, pero en el mundo actual de fácil acceso a enormes cantidades de conocimiento, ¿sigue siendo la segunda razón un obstáculo insuperable? Puedo dar una respuesta breve y clara: "¡No!". Puedo dar una respuesta breve y clara: "¡No!" Si desea una respuesta detallada, ¡lea este libro!

Decidí escribir este libro para demostrar que estas técnicas se pueden expresar algorítmicamente y no requieren una base sólida en matemáticas. El objetivo de este libro es proporcionar a los lectores técnicas que ayuden a desarrollar un comportamiento inteligente en las aplicaciones manteniendo al mismo tiempo la barrera matemática para dominarlas lo más baja posible. El código contiene todas las matemáticas necesarias en forma de algoritmos.

Inicialmente, esperaba utilizar una biblioteca de código abierto para demostrar estas técnicas, pero la mayoría de estas bibliotecas se desarrollan para resolver un problema específico y no están diseñadas para demostrar la tecnología subyacente. Como resultado, el código fuente de estas bibliotecas suele ser largo y oscuro. Claramente, los lectores de este libro se beneficiarían enormemente de un código claro y anotado, y aquí es donde entra en juego Dmitry, quien terminó escribiendo gran parte del código de este libro.

Aunque el desarrollo es lento, el número de libros escritos sobre este nuevo y apasionante campo ciertamente está aumentando. Este libro es sólo una introducción a este amplio campo que aún evoluciona rápidamente. Por lo tanto, el libro cubre algoritmos muy limitados y las explicaciones de los mismos son breves.

Mi objetivo era seleccionar y explorar algunos temas representativos en lugar de escribir un manual de códigos o un libro potencialmente vertiginoso y abarcador.

Espero lograr mi objetivo de las siguientes cuatro maneras:

Centrarme en ejemplos claros y comprensibles.

Utilice un lenguaje de secuencias de comandos de alto nivel para demostrar el uso de algoritmos tal como los usarían los lectores en sus propias aplicaciones.

Con una gran cantidad de tareas pendientes, los lectores tienen la oportunidad de intentar pensar en el código.

Escribir código legible de alto nivel.

¡Así que toma tu bebida caliente favorita, siéntate y prueba estas ingeniosas aplicaciones! ¡Están en este libro!

HARALAMBOS MARMANIS