Recientemente me introdujeron en el campo de la Ciencia de Datos (han pasado 6 meses aproximadamente), y Ii comenzó el viaje con el Curso de Aprendizaje Automático de Andrew Ng y la publicación que comenzó a trabajar en la Especialización en Ciencia de Datos de JHU.
En el frente de la aplicación práctica, he estado trabajando en la construcción de un modelo predictivo que predeciría el desgaste. Hasta ahora he usado glm, bayesglm, rf en un esfuerzo por aprender y aplicar estos métodos, pero encuentro mucha brecha en mi comprensión de estos algoritmos.
Mi dilema básico es:
¿Debería centrarme más en aprender las complejidades de algunos algoritmos o debería utilizar el enfoque de conocer muchos de ellos cuando sea necesario?
Guíame en la dirección correcta, quizás sugiriendo libros o artículos o cualquier cosa que creas que podría ayudar.
Le agradecería que respondiera con la idea de guiar a alguien que acaba de comenzar su carrera en el campo de la ciencia de datos y quiere ser una persona que resuelva problemas prácticos para el mundo de los negocios.
Leería (tantos como sea posible) los recursos (libros, artículos) sugeridos en esta publicación y proporcionaría una retroalimentación personal sobre los pros y los contras de la misma para hacer de esta una publicación útil para las personas que se encuentran con una pregunta similar en el futuro, y creo que sería genial si las personas que sugieren estos libros pueden hacer lo mismo.
fuente
Podría decirse que alguien que se autodenomina científico de datos debería saber más sobre las complejidades de los algoritmos que utiliza, por ejemplo, lo que afecta la tasa de convergencia del algoritmo de puntuación de Fisher en GLM, que un estadístico común o de jardín, que podría estar contento de saber que el se encontrará una solución de máxima probabilidad (tal vez después de que hagan una taza de café). En cualquier caso, es importante comprender los conceptos generales de estadística y aprendizaje automático, además de familiarizarse con los métodos que utiliza: la teoría detrás de ellos, los supuestos que hacen, las comprobaciones de diagnóstico que debe realizar, cómo interpretar los resultados. Evita ser esta parodia .
Probablemente disfrutarías leyendo a Hastie et al. (2009), Los elementos del aprendizaje estadístico .
fuente
Bueno, yo diría que conocer las complejidades de 1 o 2 algoritmos en detalle (como el funcionamiento interno de sus parámetros) es definitivamente mejor que saber cómo ejecutar un montón de ellos.
He estado en el área de análisis durante aproximadamente 11 años y soy un científico de datos durante 2.5 años y estoy hablando por experiencia. Por otro lado, definitivamente debe conocer otras cosas (algoritmos más recientes como aprendizaje profundo, SVM, XGboost, etc.) que podrían ser más aplicables a su problema en cuestión.
Creo que el curso del Dr. Andrew Ng incluye algunos detalles de algunos algoritmos y es un buen comienzo. Como otros han señalado, http://statweb.stanford.edu/~tibs/ElemStatLearn/ es un buen libro y tiene videos que lo acompañan.
Esta es mi opinión personal, los algoritmos que no debes perderte son: (Conócelos en detalle):
1) Regresión lineal múltiple 2) Regresión logística 3) Técnicas comunes de reducción de dimensionalidad como PCA 4) Agrupación de medios K 5) Regresión no lineal 6) Métodos de optimización: métodos de búsqueda basados en gradientes, programación lineal y optimización discreta 7) Conceptos y algoritmos en ingeniería de características 8) Métodos simples de pronóstico de series temporales
Más algoritmos esotéricos:
1) Bosques aleatorios 2) SVM 3) aprendizaje profundo 4) Otros métodos de reducción de dimensionalidad como LDA 5) Otros métodos basados en kernel 6) Algoritmos genéticos 7) XgBoost 8) Regresión dinámica 9) Métodos GARCH / ARCH 10) Modelado de ecuaciones estructurales 11) Métodos de Box Jenkins en pronósticos de series temporales 12) Teoría de la información: ganancia de información, ganancia mutua, etc.
fuente
Había estado en una situación similar. Comencé con todos y cada uno de los algoritmos aquí (y con gran detalle).
Sin embargo, pronto descubrí que la academia en aprendizaje automático / profundo se está moviendo muy rápido, y siempre está obteniendo algoritmos más rápidos / avanzados que superan en gran medida los algoritmos tradicionales en muchas aplicaciones del mundo real. . Por lo tanto, siempre es preferible actualizarse con las últimas tendencias. Sugiero (como normalmente lo hago yo mismo) obtener una suscripción de una buena fuente de noticias (como Medium) o una increíble e innovadora revista de investigación y seguirla. Muchas veces los algoritmos sorprendentes provienen de trabajos de investigación que abordan un problema particular (probablemente similar al suyo).
El punto es que, para ser un buen científico de datos (o un ingeniero de ML), necesita una combinación de profundidad y anchura.Personalmente, me resulta útil conocer muchos algoritmos en su superficie (simplemente lo que hacen, cuándo se usan, pros y contras). Vuelvo a ellos cuando siento ( solo siento ) que podrían ayudarme a resolver un problema en particular. Los leo en detalle y veo si encajan bien. Podrían, o podrían no ser. Pero pensar en los detalles es esencial para garantizar que no se pierda un enfoque sorprendente de su problema debido a la falta de conocimiento de ese enfoque. Por ejemplo, una vez que estaba trabajando en algo que requería la detección de objetos (aunque muy simple). Leí en alguna parte sobre R-CNN, Fast-CNN, YOLO. Inmediatamente me volví hacia ellos para ver si quedaban bien. Ese día los conocí con más detalle.
¿Debería centrarme más en aprender las complejidades de algunos algoritmos o debería utilizar el enfoque de conocer muchos de ellos cuando sea necesario?
Aprender las complejidades es increíble. Sin embargo, el mundo se mueve a un ritmo realmente rápido. Puede haber un nuevo algoritmo que supere al que aprendió con gran detalle. Es hora, por lo tanto, de eliminar ese uso y ver si el nuevo te hace más bien.
Aprende cosas cuando sea necesario. Y cuando sea necesario, apréndalos en detalle. Debería poder aplicar las cosas si cree que probablemente puedan funcionar. Y esta idea proviene del conocimiento.
Buena suerte.
fuente