Uno de los primeros libros que leí cuando comencé en Aprendizaje automático fue Programming Collective Intelligence por T. Segaran (publicado por O’Reilly Media). Aparte de su pequeño precio, lo recuerdo con gran claridad porque trató de explicar los conceptos principales de los algoritmos y se basó lo menos posible en la formulación matemática, y subrayó cómo funcionaban los algoritmos a nivel general y, lo que es más importante, cómo Se puede utilizar para crear aplicaciones prácticas.
Después de algunos años de estudiar a fondo el aprendizaje automático, debo decir que todavía estoy de acuerdo con la premisa del libro: hay muchas ideas sobre el aprendizaje automático que pueden entenderse (muy superficialmente) por un razonamiento de alto nivel, y si Combínelos con las últimas bibliotecas de primer nivel, en realidad puede implementar cierta lógica de aprendizaje automático en sus programas para lograr resultados que de otra forma serían imposibles. A modo de ejemplo, el servicio de aprendizaje de máquina basado en la nube de Google (API de predicción) no tiene parámetros o configuraciones que se puedan modificar: lo único que necesita son los datos formateados de cierta manera. Si puede comprender los conceptos de “ejemplos”, “entrada” y “salida”, no hay nada que le impida intentar usarlo en sus aplicaciones web para la detección de spam, el reconocimiento de idiomas y muchas otras cosas.
También hay otras ideas que se pueden comprender de manera elemental sin el conocimiento de las matemáticas: los árboles de decisión y cómo se construyen (aunque realmente lo que significa “característica informativa” requiere conocimiento de la teoría de la información), sobreajuste (en términos de “modelos simples”, mientras la comprensión de “simple” requiere conocimiento de (al menos – álgebra lineal), métodos de conjunto, etc. Algunas otras cosas son obviamente más difíciles: las redes neuronales son generalmente más difíciles de comprender (realmente necesitas tener un poco de comprensión del cálculo, teoría de la optimización, posiblemente álgebra lineal), los núcleos también requieren algunos esfuerzos, métodos probabilísticos y otros temas.
El punto es que creo que las bibliotecas de aprendizaje automático son lo suficientemente maduras para que las use con una comprensión muy general (al igual que solo necesita una comprensión general de los algoritmos de clasificación para elegir el mejor para usted), y aplicarlos a algunos problemas específicos. Claramente, muchas cosas quedarán “fuera de tu alcance” (metafóricamente) si eliges evitar las matemáticas, incluidas las teorías del aprendizaje estadístico, el desarrollo de nuevos algoritmos o el hecho de captar algunos detalles de ellos más allá de la superficie (por ejemplo, ¿cuál es la diferencia entre los núcleos?) ¿En las máquinas de vectores de soporte? ¿Cuál es el mejor método de entrenamiento para su red neuronal en función de la cantidad de datos que tiene y su potencia de cálculo?).
- ¿Podemos aprender el poder psíquico?
- ¿Cuáles son algunas de las grandes brechas en la educación primaria y secundaria hoy en día?
- ¿Es demasiado tarde para que un hombre aprenda geometría algebraica a la edad de 29 años?
- ¿Cuáles son las formas en que los autodidactos / polimáticos toman para aprender algo?
- ¿Cómo me beneficiaría aprender japonés en una carrera como traductor?