Des compétences difficiles à trouver chez les apprenants en machine?


71

Il semble que l’exploration de données et l’apprentissage automatique soient devenus si populaires qu’à présent presque tous les étudiants CS connaissent les classificateurs, le regroupement, la PNL statistique, etc.

Ma question est la suivante: quelles compétences un fouisseur de données pourrait-il acquérir pour le rendre différent des autres? Pour faire de lui un genre de personne pas si facile à trouver.


6
Bien que ce soit une réponse à une question différente, plusieurs des points d’une ancienne réponse peuvent être reportés ici. Assad fait quelques remarques similaires dans sa très belle réponse ci-dessous.
cardinal

Réponses:


62

J'ai vu plusieurs fois les développeurs utiliser les techniques ML. C'est le schéma habituel:

  1. bibliothèque de téléchargement avec nom de fantaisie;
  2. passer 10 minutes à lire comment l’utiliser (en sautant les statistiques, les maths, etc.);
  3. alimentez-le avec des données (pas de prétraitement);
  4. mesurer les performances (par exemple, la précision même si les classes sont totalement déséquilibrées) et dire à tout le monde à quel point il est génial avec une précision de 99%;
  5. déployer en production avec des résultats d'échec épiques;
  6. Trouvez quelqu'un qui comprend ce qui se passe pour l'aider, car le manuel d'utilisation n'a aucun sens.

La réponse simple est que (la plupart) les ingénieurs logiciels sont très faibles en statistiques et en mathématiques. C'est l'avantage de quiconque veut rivaliser avec eux. Bien sûr, les statistiques sont hors de leur zone de confort s’ils doivent écrire du code de production. Le genre de rôle qui devient vraiment rare est celui de Data Scientist. C'est quelqu'un qui peut écrire du code pour accéder à l'énorme quantité de données et y jouer, et en trouver la valeur.


14
LOL à "dire à tout le monde combien il est génial avec sa précision de 99%"
Jack Twain

2
+1 je suis d'accord avec tout. "[...] Data Scientist. C'est quelqu'un qui peut écrire du code pour accéder à l'énorme quantité de données et y jouer, et y trouver de la valeur.". Ce qui, selon moi, devrait rester naturellement rare, car il semble impossible à la plupart des mortels de s'attaquer aux problèmes statistiques et fondamentaux complexes et de transformer quelque chose en code de production. Cela explique aussi pourquoi nous avons des chirurgiens cardiovasculaires, des anesthésistes, des neurologues, des infirmières, des administrateurs d'hôpitaux, etc. Ou d'ingénieurs civils, aéronautiques, des mines, chimiques, en mécanique, etc.
Thomas Speidel

2
Pour moi, ce n'est pas vraiment une description de ce que quelqu'un doit être un candidat distingué du ML - plus d'une bassesse du ML. On dirait que vous décrivez quelqu'un qui est trop concentré sur l'obtention de "la réponse" avant même d'être sûr de la nature de la question. Fondamentalement, votre personne "typique du ML" est une personne qui a de faibles compétences en planification, et qui ne discute pas de ce qu'elle a l'intention de faire avec le "client" avant de poursuivre, et de revenir avec "la réponse". Ce n'est pas quelque chose qui est aidé par de bonnes statistiques / statistiques - c'est quelque chose qui nécessite de bonnes compétences en communication.
probabilityislogic

61

De quoi s'agit-il

Connaître les techniques équivaut à connaître les animaux d'un zoo - vous pouvez les nommer, décrire leurs propriétés, peut-être les identifier à l'état sauvage.

Comprendre quand les utiliser, formuler, construire, tester et déployer des modèles mathématiques fonctionnels dans un domaine d'application tout en évitant les pièges - ce sont les compétences qui distinguent, à mon avis.

L'accent devrait être mis sur la science , en appliquant une approche scientifique systématique aux problèmes commerciaux, industriels et commerciaux. Mais cela nécessite des compétences plus vastes que l’exploration de données et l’apprentissage automatique, comme le fait valoir Robin Bloor dans «A Data Science Rant» .

Alors, que peut-on faire?

Domaines d'application : découvrez les différents domaines d'application proches de votre intérêt ou de celui de votre employeur. La zone est souvent moins importante que de comprendre comment le modèle a été construit et comment il a été utilisé pour ajouter de la valeur à cette zone. Les modèles qui réussissent dans un domaine peuvent souvent être transplantés et appliqués à différents domaines qui fonctionnent de manière similaire.

Compétitions : essayez le site de compétition d’exploration de données Kaggle , rejoignant de préférence une équipe. (Kaggle: une plate-forme pour les concours de modélisation prédictive. Les entreprises, les gouvernements et les chercheurs présentent des ensembles de données et des problèmes, ainsi que les meilleurs scientifiques de données du monde se font concurrence pour produire les meilleures solutions.)

Principes fondamentaux : Il en existe quatre: (1) une solide base en statistiques, (2) des compétences en programmation assez bonnes, (3) une bonne structuration des requêtes de données complexes, (4) la création de modèles de données. Si certains sont faibles, alors c'est un point de départ important.


Quelques citations à ce sujet:

`` J'ai appris très tôt la différence entre connaître le nom de quelque chose et savoir quelque chose. Vous pouvez connaître le nom d'un oiseau dans toutes les langues du monde, mais lorsque vous aurez terminé, vous ne saurez absolument rien sur cet oiseau ... Alors, regardons cet oiseau et voyons ce qu'il fait. ce qui compte. '' - Richard Feynman, "L’établissement d’un scientifique", page 14 dans De quoi parlez-vous, que pensent les autres, 1988

Garder en tete:

`` La combinaison des compétences requises pour mener à bien ces projets de science des affaires réside rarement chez une seule personne. Quelqu'un aurait en effet pu acquérir une connaissance approfondie des trois domaines suivants: (i) ce que fait l'entreprise, (ii) comment utiliser les statistiques et (iii) comment gérer les données et les flux de données. Si tel est le cas, il pourrait en effet prétendre être un scientifique commercial (ou «scientifique des données») dans un secteur donné. Mais ces personnes sont presque aussi rares que les dents de poule. '' - Robin Bloor, A Data Science Rant , août 2013, Inside Analysis

Et enfin:

`` La carte n'est pas le territoire. '' - Alfred Korzybski, 1933, Science & Sanity.

La plupart des problèmes réels et appliqués ne sont pas accessibles uniquement à partir de `` la carte ''. Pour faire des choses pratiques avec la modélisation mathématique, il faut être prêt à s'empiffrer de détails, de subtilités et d'exceptions. Rien ne peut remplacer la connaissance du territoire.



6
+1 Les solutions prêtes à l'emploi fonctionnent rarement pour un problème métier spécifique de votre organisation. Vous devez adapter et améliorer, et pour cela, vous devez comprendre ce qui se cache sous le capot.
Zhubarb

4
@Zhubarb - Je pense que cela n'est que partiellement vrai. Les solutions "prêtes à l'emploi" peuvent être utilisées à bon escient, mais pas tout le temps, et généralement pas pour mener à bien une tâche du début à la fin. L'astuce consiste à savoir quand vous pouvez vous en tirer en utilisant des "solutions originales" et quand une approche plus adaptée est nécessaire.
probabilitéislogique

41

Je suis d'accord avec tout ce qui a été dit. Ce qui se démarque pour moi sont:

  1. Combien peu d’experts en apprentissage machine sont vraiment intéressés par la matière à laquelle ils veulent appliquer le ML
  2. Combien peu comprennent vraiment la précision prédictive et les règles de notation appropriées
  3. Combien peu comprennent les principes de validation
  4. Combien peu de gens savent quand utiliser une boîte noire par rapport à un modèle de régression traditionnel
  5. Comment aucun des «experts» ne semble avoir jamais étudié les fonctions optimales de décision ou de perte / utilité / coût de Bayes [ce manque de compréhension est affiché presque chaque fois que quelqu'un utilise la classification au lieu du risque prédit]

3
Pourriez-vous élaborer sur 4? Je ne comprends pas très bien ce que vous voulez dire

17
J'aurais pensé que cet élément était le plus facile à comprendre. Voici un exemple: dans un domaine d'études particulier, supposons que nous ayons déjà eu l'expérience que la plupart des variables fonctionnent de manière additive. L'ajustement d'un modèle de régression additif qui ne suppose pas que les prédicteurs fonctionnent de manière linéaire (par exemple, en utilisant des splines de régression) fournira un modèle statistique interprétable et utile. En revanche, utiliser des forêts svm ou aléatoires sera très difficile à interpréter, n'aura aucun effet séparable et ne prédira pas mieux que le modèle additif non linéaire.
Frank Harrell

7
Oui, vraiment à la superficialité du sujet. Pas même dans le monde du ML, je vois souvent cette tendance à vouloir rassembler les données brutes dans une boîte magique et à faire ressortir une merveilleuse perspicacité. Ce que ces gens recherchent, c'est un cerveau artificiel.
DarenW

3
+1 pour le point 1 en particulier. La preuve du manque d’intérêt pour le domaine est que pour appliquer les connaissances du domaine, il faudra savoir «ouvrir» la boîte noire et la modifier. Par boîte noire, je veux dire pour une grande partie du niveau d'entrée ML, même les techniques de modélisation statistique de base sont dans cette boîte noire. Si l'intérêt / la capacité n'est pas là, il est beaucoup plus difficile d'appliquer la connaissance du domaine.
Meadowlark Bradsher

7
@DarenW: La tendance se reflète également dans le nom: "Machine Learning" avec la connotation que la machine apprend ... par elle-même ... il suffit de pelleter des données brutes. Contrastez le nom moins glamour (mais plus précis, OMI) choisi par Hastie, Tibshirani et autres: "Apprentissage statistique". Différentes connotations, différentes explications, renvoyant toutes à des principes statistiques.
Assad Ebrahim

11

Voici quelques éléments pour vous démarquer de la foule:

  • Comprendre le ou les domaines d'application. C'est l'environnement commercial ou un autre contexte.
  • Comprenez la grande image. C'est très important! Les personnes qui étudient l'apprentissage machine se perdent souvent dans les détails. Réfléchissez à l’image générale dans laquelle vos modèles ML s’intégreront. Souvent, la partie ML n'est qu'un petit segment d'un système beaucoup plus vaste. Comprenez l'ensemble du système.
  • Étudiez la théorie de l'utilité et de la décision et l'inférence bayésienne, et pas seulement ce qui est maintenant considéré comme "l'habituel" modèle ML. L’inférence bayésienne n’est qu’un moyen de formaliser la notion qui consiste à appliquer toutes les informations contextuelles à un problème. La théorie de l'utilité et de la décision consiste à introduire des valeurs dans l'image.

Le message général qui s'applique aux trois points: Regardez la situation dans son ensemble, ne vous perdez pas dans les détails.


4

La compétence qui distingue un mineur de données des autres est la capacité d'interpréter des modèles d'apprentissage automatique. La plupart construisent une machine, signalent l'erreur puis s'arrêtent. Quelles sont les relations mathématiques entre les caractéristiques? Les effets sont-ils additifs ou non-additifs ou les deux? Est-ce que certaines des caractéristiques ne sont pas pertinentes? La machine est-elle attendue sous l'hypothèse nulle qu'il n'y a que des modèles de hasard dans les données? Le modèle se généralise-t-il aux données indépendantes? Que signifient ces modèles pour le problème à l'étude? Quelles sont les inférences? Quelles sont les idées? Pourquoi un expert du domaine devrait-il s'énerver? La machine amènera-t-elle l'expert du domaine à poser de nouvelles questions et à concevoir de nouvelles expériences? Le Data Miner peut-il communiquer efficacement le modèle et ses implications au monde?


8
+1 accepté - bien que ce que vous décriviez s'appelle des statistiques.
Thomas Speidel

4

Je mettrais là-bas la notion de "compétences non techniques".

  • reconnaître qui est "l'expert" pour la méthode X et être en mesure de puiser dans ses connaissances (vous ne devriez pas être en mesure de savoir tout sur n'importe quoi). La capacité et la volonté de collaborer avec les autres.

  • la capacité de traduire ou de représenter "le monde réel" avec les mathématiques utilisées dans ML.

  • la capacité d'expliquer vos méthodes de différentes manières à différents publics - savoir quand se concentrer sur les détails et quand prendre du recul et voir le contexte plus large.

  • en pensant aux systèmes, en étant capable de voir comment votre rôle se répercute sur d’autres domaines de l’entreprise et comment ces domaines se répercutent sur votre travail.

  • une appréciation et une compréhension de l'incertitude et des méthodes structurées pour y faire face. Être capable de dire clairement quelles sont vos hypothèses.


4

Être capable de bien généraliser

C'est l'essence d'un bon modèle. Et c’est l’essence de ce qui distingue les meilleurs praticiens de l’apprentissage automatique.

Comprendre que l'objectif est d'optimiser les performances sur des données invisibles et non de minimiser les pertes d'apprentissage. Savoir éviter à la fois le sur-ajustement et le sous-ajustement. Venir avec des modèles pas trop complexes mais pas trop simples pour décrire le problème. Extraire l'essentiel d'un ensemble de formation, plutôt que le maximum possible.

Il est étonnant de constater combien de fois, même les praticiens expérimentés en apprentissage automatique, ne respectent pas ce principe. Une des raisons est que les humains ne parviennent pas à apprécier deux grandes différences d'ampleur théorie-pratique :

  • Combien plus large est l'espace de tous les exemples possibles par rapport aux données de formation disponibles, même lorsque les données de formation sont très volumineuses.
  • L' espace "d'hypothèses" complet est beaucoup plus vaste : nombre de modèles possibles pour un problème, par rapport à l '"espace de solutions" pratique: tout ce que vous pouvez penser et tout ce que vos logiciels / outils sont capables de représenter.

N2N2N

C'est aussi ce que la plupart des réponses ci-dessus ont dit de manière plus spécifique et concrète. bien généraliser n’est que le moyen le plus court auquel je puisse penser, pour le dire.


2

Je vois qu'il y a deux parties dans la pratique de l'apprentissage automatique

  1. Ingénierie (qui couvre tous les algorithmes, apprentissage de différents packages, programmation).

  2. Curiosité / Raisonnement (capacité à poser de meilleures questions aux données).

Je pense que la "curiosité / raisonnement" est la compétence qui distingue l’un des autres. Par exemple, si vous voyez les classements des finitions kaggle, de nombreuses personnes ont peut-être utilisé des algorithmes communs (similaires). Ce qui fait la différence, c’est la façon logique de questionner les données et de les formuler.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.