Récemment, j'ai été initié au domaine de la science des données (cela fait environ 6 mois), et j'ai commencé le voyage avec Machine Learning Course par Andrew Ng et un poste qui a commencé à travailler sur la spécialisation en science des données par JHU.
Sur le plan des applications pratiques, j'ai travaillé sur la construction d'un modèle prédictif qui prédirait l'attrition. Jusqu'à présent, j'ai utilisé glm, bayesglm, rf dans le but d'apprendre et d'appliquer ces méthodes, mais je trouve beaucoup de lacunes dans ma compréhension de ces algorithmes.
Mon dilemme de base est:
Que je devrais me concentrer davantage sur l'apprentissage des subtilités de quelques algorithmes ou devrais-je utiliser l'approche consistant à en connaître beaucoup au fur et à mesure et autant que nécessaire?
Veuillez me guider dans la bonne direction, peut-être en suggérant des livres ou des articles ou tout ce que vous pensez pourrait aider.
Je vous serais reconnaissant de bien vouloir me répondre en proposant de guider quelqu'un qui vient de débuter sa carrière dans le domaine de la Data Science et qui souhaite être une personne résolvant des problèmes pratiques pour le monde des affaires.
Je lirais (autant que possible) les ressources (livres, articles) suggérées dans cet article et fournirais un retour personnel sur les avantages et les inconvénients de la même manière à en faire un article utile pour les personnes qui rencontrent une question similaire à l'avenir, et je pense que ce serait formidable si les gens suggérant ces livres pouvaient faire de même.
la source
On peut dire que quelqu'un se qualifiant lui-même de scientifique des données devrait en savoir plus sur les subtilités des algorithmes qu'il utilise - par exemple, ce qui affecte le taux de convergence de l'algorithme de notation de Fisher dans GLM - qu'un statisticien commun ou de jardin - qui pourrait se contenter de savoir que le une solution de probabilité maximale sera trouvée (peut-être après avoir fait une tasse de café). Dans tous les cas, il est important de comprendre les concepts généraux de la statistique et de l'apprentissage automatique en plus de se familiariser avec les méthodes que vous utilisez: la théorie qui les sous-tend, les hypothèses qu'elles font, les vérifications diagnostiques que vous devez effectuer, comment interpréter les résultats. Évitez d'être cette parodie .
Vous aimeriez probablement lire Hastie et al. (2009), Les éléments de l'apprentissage statistique .
la source
Eh bien, je dirais que connaître les subtilités de 1 ou 2 algorithmes en détail (comme le fonctionnement interne de leurs paramètres) est certainement mieux que de savoir comment en exécuter un tas.
Je travaille dans la zone Analytics depuis environ 11 ans et je suis Data Scientist depuis 2,5 ans et je parle d'expérience. D'un autre côté, vous devriez certainement être conscient d'autres choses (algorithmes plus récents comme le deep learning, SVM, XGboost, etc.) qui pourraient être plus applicables à votre problème actuel.
Je pense que le cours du Dr Andrew Ng aborde pas mal de détails sur certains algorithmes et c'est un bon début. Comme d'autres l'ont souligné, http://statweb.stanford.edu/~tibs/ElemStatLearn/ est un bon livre et il contient des vidéos.
Ceci est mon opinion personnelle, les algorithmes que vous ne devriez pas manquer sont: (Connaissez-les en détail):
1) Régression linéaire multiple 2) Régression logistique 3) Techniques courantes de réduction de dimensionnalité comme l'ACP 4) Regroupement des moyennes K 5) Régression non linéaire 6) Méthodes d'optimisation: méthodes de recherche basées sur un gradient, programmation linéaire et optimisation discrète 7) Concepts et algorithmes en ingénierie des caractéristiques 8) Méthodes simples de prévision des séries chronologiques
Plus d'algorithmes ésotériques:
1) Forêts aléatoires 2) SVM 3) apprentissage en profondeur 4) Autres méthodes de réduction de dimensionnalité comme LDA 5) Autres méthodes basées sur le noyau 6) Algorithmes génétiques 7) XgBoost 8) Régression dynamique 9) Méthodes GARCH / ARCH 10) Modélisation d'équations structurelles 11) Encadré méthodes Jenkins dans la prévision chronologique 12) Théorie de l'information: gain d'information, gain mutuel, etc.
la source
J'étais dans une situation similaire. J'ai commencé avec chaque algorithme ici (et en détail).
Cependant, j'ai vite découvert que le monde universitaire de la machine / du deep learning évolue très rapidement et propose toujours des algorithmes plus rapides / à la pointe de la technologie qui vont beaucoup plus loin que les algorithmes traditionnels dans de nombreuses applications du monde réel. . Ainsi, il est toujours préférable d'être mis à jour avec les dernières tendances. Je suggère (comme je le fais normalement moi-même) de prendre un abonnement à un bon fil d'actualité (comme Medium) ou à un journal de recherche de pointe et de le suivre. Plusieurs algorithmes étonnants proviennent de documents de recherche abordant un problème particulier (probablement similaire au vôtre).
Le fait est que, pour être un bon data-scientist (ou un ingénieur ML), vous avez besoin d'un mélange de profondeur et de largeur. Personnellement, je trouve utile de connaître beaucoup d'algorithmes à leur surface (simplement ce qu'ils font, quand sont-ils utilisés, pour et contre). Je reviens vers eux quand je ressens ) qu'ils pourraient m'aider à résoudre un problème particulier. Je les ai lus en détail et voir s'ils sont bien adaptés. Ils le pourraient ou non. Mais penser aux détails est essentiel pour vous assurer de ne pas manquer une approche incroyable de votre problème en raison du manque de compréhension de cette approche. Par exemple, une fois que je travaillais sur quelque chose qui nécessitait la détection d'objets (très simple cependant). J'ai lu quelque part sur R-CNN, Fast-CNN, YOLO. Je me suis immédiatement tourné vers eux pour voir s'ils convenaient bien. Ce jour-là, je les ai connus plus en détail.
Que je devrais me concentrer davantage sur l'apprentissage des subtilités de quelques algorithmes ou devrais-je utiliser l'approche consistant à en connaître beaucoup au fur et à mesure et autant que nécessaire?
Apprendre les subtilités est incroyable. Cependant, le monde évolue à un rythme très rapide. Il pourrait y avoir un nouvel algorithme qui surpasse celui que vous avez appris avec beaucoup de détails. Il est donc temps d'éliminer cette utilisation et de voir si la nouvelle vous fait plus de bien.
Apprenez des choses en cas de besoin. Et si nécessaire, apprenez-les en détail. Vous devriez pouvoir appliquer des choses si vous pensez qu'elles peuvent probablement fonctionner. Et cette perspicacité vient de la connaissance.
Bonne chance.
la source