Attrapez le tour du printemps, accepter algorithme ML Daquan cette interview est GitHub Wanxing!

Source: Almost Human

Cet article sur 2380 mots Il a recommandé la lecture de 7 minutes.

Dans ce projet, les auteurs ont préparé un guide d'entretien ingénieur algorithme ML, qui fournit une connaissance complète de l'entrevue, le problème de la programmation et de la solution à un problème, diverses entreprises technologiques font face à des questions Jin et ainsi de suite.

L'arrivée du printemps, le printemps commence à se déplacer rapidement. Dans ce projet, les auteurs ont préparé un guide d'entretien ingénieur algorithme ML, qui fournit une connaissance complète de l'entrevue, le problème de la programmation et de la solution à un problème, diverses entreprises technologiques font face à des questions Jin et ainsi de suite. Le projet GitHub dispose actuellement d'une collection de 10000 +, les étudiants veulent hop hop viennent l'essayer.

Adresse projet: https: //github.com/imhuay/Algorithm_Interview_Notes-Chinese

Comme le montre la structure suivante de l'ensemble du projet, dont le calcul de l'apprentissage de la machine est le fournisseur principal de notes d'entrevue et point de connaissances, le lecteur peut examiner le cadre général des connaissances. De retour de la surface par l'algorithme principal pour fournir des questions et des réponses écrites est un programme, selon ce qui peut améliorer le niveau global de résolution de problèmes et de compétences en programmation.

connaissance Interview

les questions de visage varié, mais la machine à apprendre beaucoup, puis pour déplacer le saut de printemps ou au printemps, mais encore une fois les connaissances de base ML? Dans ce projet GitHub, l'auteur première partie présente la connaissance de l'apprentissage de la machine et chaque sous-zone. Chacune d'entre elles ne donnent qu'une connaissance du concept de base, si le lecteur rencontre une des lacunes de l'algorithme d'expérience ou de connaissances ne connaissent pas, et vous pouvez lire la documentation pertinente.

Le projet principal de l'apprentissage machine, de fournir des aspects des connaissances détaillées de l'apprentissage en profondeur, le traitement du langage naturel et en mathématiques, parce que l'auteur plus préoccupé par la PNL, et il n'y a pas de notes détaillées sur la vision par ordinateur.

Machine Learning

Pour la première phase d'apprentissage de la machine, le projet principalement à partir des concepts de base, les pratiques de base, les algorithmes de base et des sujets d'apprentissage intégrés résument la situation générale de ces quatre aspects de la ML. Lorsque les concepts sous-jacents peuvent être la plupart des questions d'entrevue de base telles que « comment peser la variance de l'écart? », « Quelle est la différence modèle généré et le modèle discriminante est? », « Les probabilités a priori et a posteriori sont ce qu'ils sont capables de le convertir? » .

Ce sont des connaissances générales débutants besoin de savoir, et pour la pratique de base ML, la question principale sera du point de vue de la façon dont le processus de développement traditionnel ML. Par exemple, « Comment choisissez-vous les hyper-paramètres, d'introduire quelques-uns des paramètres de base de la méthode de recherche sur vous? », « Matrice de confusion, précision, précision, rappel ou F1 valeurs sont ce qu'ils mesurent la façon dont bon ou mauvais modèle? » « pouvez-vous présenter les principales données des processus de nettoyage et les données de pré-traitement pour vous, par exemple ?. »

Ces problèmes peuvent trouver la réponse à la connaissance des deux parties de l'ancienne. La partie de base de l'algorithme est très bien, du plus simple au complexe gradient de régression logistique stimulant arbre, cette section résume le principal algorithme d'apprentissage de la machine:

  • Théorie de l'information
  • La régression logistique
  • SVM
  • Arbre de décision
  • apprentissage intégré
  • Gradient améliorer arbre décision GBDT
  • Les forêts au hasard

Chacun de ces algorithmes ont le concept de base, par exemple, dans l'algorithme d'arbre de décision CART, prend note des principales références décrivant Li Accrocher « méthodes d'apprentissage statistique » dans:

Enfin, il y a un sujet de l'approche intégrée de l'apprentissage de la machine. En plus d'appuyer les questions vecteur approche liées à l'intégration machine sont plus importants en ML parce que, comme XGboost et forêts aléatoires et d'autres méthodes dans le ML traditionnel en vigueur devrait être de premier ordre, a demandé la probabilité est beaucoup plus grande.

étude approfondie

le contenu d'apprentissage profondeur est relativement plus, et maintenant il y a beaucoup de notes ou de l'information, mais nous pouvons sentir la profondeur du problème et n'a pas appris l'apprentissage difficile machine. Au plus, il nous permettra de pousser un algorithme de rétro-propagation, à la différence poussée que nous poussons SVM expression de convolution du réseau. Si vous voulez apprendre la profondeur de jeter les bases, en fait, la meilleure façon est d'apprendre « Deep Learning » de Ian Goodfellow, nous venons de lire les deux premières parties de ce livre: base d'apprentissage en mathématiques appliquées et machine, réseau de profondeur: la pratique moderne. La troisième partie parce que les choses impliquent beaucoup de recherche de pointe, nous ne sont pas pressés peuvent apprendre.

Le projet se concentre sur un entretien approfondi d'apprendre des connaissances à partir des aspects suivants:

  • Fondation de l'apprentissage en profondeur
  • étude approfondie et pratique
  • sujets CNN
  • sujets RNN
  • algorithme d'optimisation thématique
  • sujets de la série Modélisation
  • Finition « apprentissage profond »

Les six précédentes notes thématiques sont introduites, chaque thème a beaucoup de contenu spécifique, la modélisation de la séquence thématique a également cité une étude des mystères du cur de la machine de la circulation à la convolution, explorer la modélisation de la séquence. Ci-dessous montre le contenu des sujets de l'algorithme d'optimisation inclus:

A la fin de la finition « apprentissage en profondeur », le projet donne à l'auteur de plus de cinquante problèmes d'apprentissage de la profondeur des canaux, et d'introduire la connaissance « Deep Learning » conformément à ces problèmes. Voici un exemple du problème, astérisque différent indique la difficulté du problème:

Natural Language Processing et mathématiques

Traitement du langage naturel est également à l'origine l'accent mis récemment sur les aspects les plus récents sont présentés ici sont:

  • base de traitement du langage naturel
  • tendances PNL
  • Intégrer le mot sujet
  • Intégrer la phrase sujet
  • multimodal spécial
  • Questions et réponses Un examen visuel
  • compréhension approfondie de l'enquête

La PNL est pas vraiment beaucoup de contenu de base de connaissances qui doivent être collectées en fonction du champ d'examiner le contenu de notre propre apprentissage. Mais comme la PNL ou des mots intégrés dans la fondation et d'autres connaissances, la description très détaillée du projet, ils sont aussi entretien PNL connaissances essentielles.

Enfin, il y a quelques connaissances mathématiques, ils sont à la base des ingénieurs de l'algorithme doivent avoir l'entrevue. Par exemple interview stagiaire ingénieur algorithme Headlines Today demandera: « trois points choisis au hasard sur le cercle, la probabilité de triangle aigu de trois points? », Ou d'autres points considérés comme. Le projet principal de l'entrevue préparé pour la connaissance des aspects suivants:

  • probabilité
  • nature calcul
  • noyau de l'apprentissage en profondeur

Dans lequel le noyau principal comporte une fonction d'activation non linéaire de l'apprentissage en profondeur, et descente de gradient rétro-propagation.

Algorithmes problèmes et questions de stylo

Pour la programmation entrevue algorithme est indispensable, ils sont généralement reflétées dans les questions T, telles que les structures de données, programmation dynamique, ou similaire permutations. De nombreux développeurs peuvent se sentir l'épreuve écrite de résolution des problèmes sera difficile, parce que le sujet n'a pas besoin de vous dire quel genre d'algorithmes de base pour résoudre, grâce à une étape par étape pour résoudre nos propres problèmes. Cela nous oblige à différents algorithmes de base sont plus familiers avec les auteurs du projet offrent les sujets arithmétiques de base suivants:

  • chaîne
  • Structure de données
  • Structures de données avancées
  • programmation dynamique
  • Double pointeur
  • problèmes d'intervalle
  • permutation
  • problèmes mathématiques
  • Lecture aléatoire, l'échantillonnage d'un nombre aléatoire
  • Opération d'un grand nombre
  • traitement de données Massive

Ces questions présenteront des algorithmes questions spécifiques, des idées de résolution de problèmes et la résolution des problèmes du code correspondant. Par exemple, dans la structure de données, nous avons déterminé comment arbre B Un sous-arbre est pas un arbre.

Le code ci-dessous à la résolution de problèmes, l'attention est essentiellement la base de chaque algorithmes de solution problème sont écrits en C ++, l'auteur références Solutions Offre solution à un problème et la solution à un problème Leetcode prouver la sécurité et autres.

Solution classe { public: bool HasSubtree (TreeNode * p1, TreeNode * p2) { if (p1 p2 == == || nullptr nullptr) // arbre nul n'a pas accepté l'une quelconque des sous- structures arborescentes return false; retour isSubTree (p1, p2) // détermine si le même sous-structures ou non || HasSubtree (P1- > gauche, p2) // arbre récursif pour trouver le nud racine A avec les mêmes nuds sous-arbre B || HasSubtree (P1- > droite, p2); } bool isSubTree (TreeNode * p1, TreeNode * p2) { si (p2 == nullptr) return true; // Notez que l'ordre de ces deux dosages si le retour (p1 == nullptr) faux; si (P1- > val == P2- > val) retour isSubTree (P1- > gauche, P2- > gauche) // récursive détermine gauche et à droite les sous-arbres && isSubTree (P1- > droit, P2- > à droite); d'autre return false; } };

En outre, le projet prévoit également les modèles nécessaires et algorithmes modèle IO. Contrairement à de nombreux auteurs écrits LeetCode qui automatisent E / S, nous avons besoin de compléter manuellement les données d'E / S, et si nous ne vivons pas ACM est susceptible de perdre beaucoup de temps en elle. Voici donc un résumé de plusieurs modèle IO commun est très utile pour la programmation entrevue, un autre algorithme est également un modèle.

Par exemple, si le modèle que nous entrons dans un nombre variable d'entrée, et à la fin d'un symbole d'entrée particulier, utilisez le langage C comme suit:

// Exemple 1 int a, b; while (scanf ( "% d% d", et a, b &)! = EOF && (a! = 0 && b! = 0)) { // ... } // ou while (scanf ( "% d% d", et a, b &)! = EOF && (a || b)) { // ... } // Exemple 2 int n; while (scanf ( "% d", et n)! = EOF && n! = 0) { // ... }

Modèle implémenté en C ++ comme suit:

// Exemple 1 int a, b; while (cin > >  un > >  b) { si (a == 0 && b == 0) break; // ... } // Exemple 2 int n; while (cin > >  n && n! = 0) { // ... }

Interview Zhenti

Enfin, les auteurs du projet ont également recueilli plus d'une douzaine entretien des entreprises technologiques Zhenti et introduites d'un côté au contenu et l'expérience de trois côtés.

Par exemple, un titre / battement octets - apprentissage / PNL trois sens aperçu profond côtés:

questions d'entrevue spécifiques seront fournis, comme indiqué en octets battant 18 questions stylo Août, les points jeu de cartes:

Bien sûr, étant donné le sujet, les solutions correspondantes fourniront:

# Traitement d'entrée n = int (input ()) x, y = , pour i dans la fourchette (n): (Split ()) carte (int, entrée (.)) _X, _y = list x.append (_x) y.append (_y) xy = list (zip (x, y)) xy = trié (xy, key = lambda t: t ) ret = 0 si la somme (x)% 2 == 0: # x, et si tout est encore print (somme (y)) # y, et une sortie directe de tous autre: for i in range (len (xy)): si xy % 2 == 1: # x pour enlever un nombre impair que ret = somme ( ) imprimer (ret) pause Editeur: Wen Jing Relecture: la force Gong - FIN -

attention Tsinghua - données Académie des sciences de Qingdao plate-forme publique micro-canal officiel " données d'envoi THU « Sisters et n ° » Les données envoyées THU « Pour plus de conférences et de bien-être contenu de qualité.

Barcelone trouver Mr. Right! Âgé de 21 ans étoile huit secondes boulonnés 80 mètres de retour à la chasse, ont monté en flèche de 15 millions
Précédent
scientifiques données ont augmenté Guide: entrée d'être fou (un total de 12 questions)
Prochain
Prix National Short Story Competition sur la scène start-up du Sichuan répertoire « performances des jeunes Chen Yi »
Lire une modélisation de la séquence de texte (deeplearning.ai) mots de traitement et l'intégration du langage naturel
[Exclusif] « heureux drôle ni » a gagné 10 millions de yuans pré-A cycle d'investissement, dépanneur express + le mode, quels nouveaux jeux sont joués?
Vous emmène pour bien comprendre l'extraction des trois principales fonctionnalités (CNN / RNN / TF)
GitHub populaire Tutoriel: apprentissage automatique pour 100 jours (ING mises à jour de version chinoise)
Même que le pont « Big Mac », approche Humen pont et le pont du Yangtsé Yangsigang grande différence
34 ans Luo C la nuit après avoir brisé le record de six! De la première balle à la balle 125e, il a juste fallu 12 ans
Pelle excréments tuer officielle grand! Avec cet animal de robot d'entraînement, le chat ne non-droit
20 ans d'errance dans le Cassini univers et nous voulons dire au revoir!
Terrain flip! Barcelone fabrication de superstar de la Ligue des champions gagner la balle, mais finalement l'UEFA compté oolong
Brouillard alors du vent! Shandong cheveux avertissement de vent bleu, rafales 7 refroidissent aussi
Levez l'ancre à la voile la voile à nouveau ensemble pour le monde consacre un Chinois « Valley Health »