[PYTHON] Méthode d'étude pour apprendre le machine learning à partir de zéro (version mars 2020)

introduction

La science des données et l'apprentissage automatique semblent intéressants! Avez-vous déjà senti que vous ne saviez pas comment étudier? Au fait, je suis l'un d'entre eux. Dans cet article, *** Qu'est-ce que l'apprentissage automatique en premier lieu? Même les débutants qui connaissent le mot IA mais ne connaissent pas les détails peuvent apprendre à étudier *** à partir des bases nécessaires pour acquérir des connaissances et de l'expérience et pouvoir travailler sur l'apprentissage automatique. Je vais le présenter en fonction de mon expérience! (Je pense que ceux présentés ici peuvent être utilisés comme un examen des connaissances de base même pour ceux qui sont intermédiaires ou supérieurs en apprentissage automatique.)

Vue d'ensemble (essentiellement ces 3 étapes)

  1. Acquérir des connaissances de base (compréhension des mots et des termes)
  2. Comprendre comment utiliser la bibliothèque
  3. Défiez réellement la concurrence ([Kaggle](Qu'est-ce que #kaggle))

1. Un manuel qui comprend clairement le mécanisme et la technologie de l'apprentissage automatique et de l'apprentissage en profondeur dans ce livre unique

image.png

[lien amazon](https://www.amazon.co.jp/%E5%9B%B3%E8%A7%A3%E5%8D%B3%E6%88%A6%E5%8A%9B-%E6 % A9% 9F% E6% A2% B0% E5% AD% A6% E7% BF% 92-% E3% 83% 87% E3% 82% A3% E3% 83% BC% E3% 83% 97% E3% 83% A9% E3% 83% BC% E3% 83% 8B% E3% 83% B3% E3% 82% B0% E3% 81% AE% E3% 81% 97% E3% 81% 8F% E3% 81% BF% E3% 81% A8% E6% 8A% 80% E8% A1% 93% E3% 81% 8C% E3% 81% 93% E3% 82% 8C1% E5% 86% 8A% E3% 81% A7% E3% 81% 97% E3% 81% A3% E3% 81% 8B% E3% 82% 8A% E3% 82% 8F% E3% 81% 8B% E3% 82% 8B% E6% 95% 99% E7% A7% 91% E6% 9B% B8-% E6% A0% AA% E5% BC% 8F% E4% BC% 9A% E7% A4% BE% E3% 82% A2% E3% 82% A4% E3% 83 % 87% E3% 83% 9F% E3% 83% BC / dp / 429710640X)

Dans le domaine de l'apprentissage pour la première fois, le premier problème qui se pose est "je ne comprends pas le japonais" (je ne comprends pas les termes techniques). Je pense que c'est commun à toutes les disciplines, mais je pense que c'est particulièrement vrai en matière d'apprentissage automatique. Ce livre est recommandé pour surmonter une telle situation, et c'est exactement un "manuel" qui vous apprend à partir des bases.

Brève introduction au contenu

Chapitre 1: Connaissance de base de l'intelligence artificielle (Une bonne connaissance de base telle que l'IA, l'apprentissage automatique, l'apprentissage en profondeur, l'historique, etc. est résumée au début) Chapitres 2-4: À propos de l'apprentissage automatique (Explique à partir des connaissances de base qui apparaissent souvent lorsque l'on regarde la littérature sur l'apprentissage automatique jusqu'aux algorithmes) Chapitres 5-7: À propos du Deep Learning (Explication des processus et algorithmes à partir des connaissances de base du deep learning) Chapitre 8: Environnement système et environnement de développement (Explication des bibliothèques et des frameworks de machine learning, des frameworks de deep learning à partir du moment de la sélection d'un langage de programmation)

Lecture recommandée

  1. Première lecture (lisez les mots avec le sentiment de les sauter même si vous ne les comprenez pas) → Même si vous faites juste cela, lorsque vous regardez d'autres articles et de la littérature, cela commencera par des mots que vous avez vus, pas des mots que vous ne comprenez pas, donc ce sera plus facile à apprendre!

  2. Relisez la partie où sont écrites les connaissances de base + le dernier chapitre qui comprend le flux du développement (Chapitre 1, Chapitre 2, Chapitre 5, Chapitre 8 en termes de chapitres)

  3. Après avoir lu dans une certaine mesure, passez à l'étape suivante et utilisez ce livre comme livre de référence pour dessiner lorsque vous rencontrez un mot que vous ne comprenez pas.

2. Introduction à Python pour la science des données

Blog de Kame @ US Data Scientist Screenshot from Gyazo Le blog de Kame-san lui-même a beaucoup de choses à étudier, c'est donc une bonne idée de trouver du temps pour le lire, mais ce cours est particulièrement recommandé. Il est très facile à comprendre car les bibliothèques dont on peut dire qu'elles sont utilisées lors de l'apprentissage automatique sont systématiquement organisées. (Je pense que le livre de démarrage Kaggle que je présenterai plus tard sera mieux compris après avoir lu cet article.)

Brève introduction au contenu

(Pour cette introduction au contenu, la partie "Objectif de ce cours" écrite sur le blog a été écrite de manière facile à comprendre, je vais donc citer cette partie) Le but de ce cours est de maîtriser la construction d'environnement nécessaire à la science des données en Python, les bases de Python, les bases de la bibliothèque Python utilisée pour la science des données et l'utilisation `` basique '' des modules Python qui apparaissent fréquemment en science des données. est.

Quel est le but de ce cours

Maîtrisez les bases de l'utilisation d'outils, de bibliothèques et de modules pour traiter les données nécessaires à la science des données en Python Les données peuvent être traitées sans utiliser d'outils de calcul de table tels qu'Excel Peut traiter des fichiers de données tels que des fichiers image Vous pouvez automatiser le traitement quotidien des données (Excel, etc.) avec Python C'est un endroit comme ça. Je mentionne également quelques statistiques, mais veuillez noter qu'il ne s'agit pas d'un "cours d'apprentissage de la science des données" mais d'un "cours d'apprentissage de Python pour la science des données".

Cependant, comme les cours incluent d'abondantes «techniques utilisables sur le terrain» et des «techniques fréquentes de la science des données», vous pouvez apprendre la science des données au sens large.

Quoi qu'il en soit, j'ai l'intention de l'écrire d'une manière facile à comprendre. Je ne vois pas beaucoup de mots difficiles, et je l'explique d'une manière très capricieuse, donc je ne pense pas que cela s'arrêtera au milieu.

Aussi, au lieu d'enseigner comme un manuel, «comment l'utiliser réellement sur le terrain» est inclus partout. Par conséquent, le contenu est "assez systématiquement complet et peut être utilisé dans des batailles réelles". (Cité jusqu'à présent)

Ce qui est introduit est --Basiques de python --NumPy (utilisé pour le calcul numérique) --Pandas (pour manipuler et analyser les données (les calculs de table comme ceux effectués dans Excel peuvent être effectués plus rapidement)) --matplotlib (pour dessiner des graphiques) --Seaborn (similaire à matplotlib, vous pouvez dessiner des graphiques, mais c'est plus propre et plus facile à dessiner) --Autres bibliothèques, modules, etc. utiles

Lecture recommandée

  1. Première lecture (règle de fer!)

  2. Vous pouvez le faire en même temps que 1, mais bougez vos mains pour apprendre les résultats et les mouvements de l'exécution. (Je pense qu'il y a beaucoup de choses que vous ne pouvez pas apprendre simplement en lisant) → La compétition titanesque [Kaggle](qu'est-ce que #kaggle), qui est abordée ici comme sujet, sera également utilisée comme un tutoriel pour le livre de démarrage Kaggle, qui sera présenté plus tard, donc je pense que la compréhension peut être encore améliorée si elle peut être exécutée ensemble.

  3. Lisez à plusieurs reprises + relisez de temps en temps

3. Série pratique sur la science des données commençant par Python Kaggle Startbook (KS Information Science Specialized Book)

image.png [lien amazon] (https://www.amazon.co.jp/%E5%AE%9F%E8%B7%B5Data-Science%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA-Python%E3%81%A7%E3%81%AF%E3%81%98%E3%82%81%E3%82%8BKaggle%E3%82%B9%E3%82%BF%E3%83%BC%E3%83%88%E3%83%96%E3%83%83%E3%82%AF-KS%E6%83%85%E5%A0%B1%E7%A7%91%E5%AD%A6%E5%B0%82%E9%96%80%E6%9B%B8-%E7%A5%A5%E5%A4%AA%E9%83%8E/dp/4065190061)

[Que faire ensuite après vous être inscrit auprès de Kaggle-Si vous faites cela, vous pouvez vous battre assez! Deux auteurs de Introduction to Titanic 10 Kernel ~ et kaggle tutorial Est un livre tutoriel de [Kaggle](qu'est-ce que #kaggle) que j'ai écrit dans une balise (les deux bases sont à la fois des livres (articles) populaires et faciles à comprendre!)

Dans les deux étapes présentées jusqu'à présent, il y a certaines parties qui sont un peu moins pratiques, mais je pense qu'il y a beaucoup de choses qui peuvent être gagnées en apprenant tout en les utilisant réellement. Cependant, même ainsi, je ne sais vraiment pas par où commencer. Dans de telles circonstances, participer au concours "Titanic", qui est un tutoriel pour les débutants de [Kaggle](qu'est-ce que #kaggle), avec ce livre est une bonne première étape!

Brève introduction au contenu

Chapitre 1: Qu'est-ce que Kaggle? Explique de à comment créer un compte (idéal pour l'introduction) Chapitre 2: Tutoriel Titanic Chapitre 3: Explication sur la façon de gérer plusieurs tables et données image / texte (Il a également été introduit dans des compétitions autres que la compétition titanesque que j'ai essayée au chapitre 2) Chapitre 4: Page contenant des conseils pour en savoir plus (Je viens de faire le tutoriel et ça ne se termine pas. Il y a des contenus qui mènent vers le futur)

Point recommandé ➀: Exemple de code

Étant donné que l'exemple de code est disponible, si vous le suivez, vous devez enregistrer un compte Kaggle, mais vous pouvez également pratiquer l'ensemble du processus avec presque aucun codage. (Je ne connais pas les détails, mais si vous voulez avoir un aperçu, vous voudrez peut-être l'essayer une fois et interpréter le code.)

Points recommandés ➁: article de dialogue

Cette page est un dialogue entre les deux auteurs, et je lis non seulement les parties et les perspectives que les utilisateurs avancés tiennent pour acquis, mais aussi les raisons de démarrer Kaggle et les bonnes choses, et il y a beaucoup de choses utiles à étudier. Sera également.

Points recommandés ➂: note

Il est facile à comprendre car il résume les connaissances périphériques et + α de Kaggle dans un format de colonne. (Cela peut sortir si vous le cherchez vous-même, mais il est facile à comprendre, donc il est apprécié pour les débutants)

Lecture recommandée

(Il y a certaines parties que je n'ai pas encore faites, c'est donc mon plan d'étude actuel.)

  1. Lisez le chapitre 1 pour avoir un aperçu et une image de Kaggle
  2. Essayez le titanic pratique en lisant le chapitre 2
  3. Lisez le chapitre 3 (Lisez le contenu de plusieurs tableaux, images et concours de textes, et relisez-les lorsque vous pratiquez le thème)
  4. Essayez de participer réellement à la compétition. Il y a une page (chapitre 4) qui présente comment choisir la compétition à laquelle participer à côté de Titanic et comment se battre recommandé pour les débutants, donc je pense qu'il est bon de participer en fonction de cela!

J'ai essayé d'organiser les catégories de compétitions de Kaggle ← Les catégories des compétitions Kaggle sont écrites de manière facile à comprendre!

Qu'est-ce que Kaggle

Kaggle est la plus grande communauté de science des données au monde avec des outils et des ressources puissants pour vous aider à atteindre vos objectifs de science des données. Screenshot from Gyazo ↑ Parce qu'il y avait une page dans le matériel de M. Harada sur DeNA dans Devsumi 2018 été qu'il était facile de comprendre intuitivement ce qu'est Kaggle. , Cité.

4. Résumé

Je n'ai moi-même pas une longue histoire de machine learning, et je pense être un débutant, mais grâce à l'environnement et au matériel pédagogique, j'apprends progressivement à le connaître. Donc, dans cet article, j'espère qu'en résumant les méthodes d'apprentissage de base, il sera utile pour ceux qui s'intéressent à l'apprentissage automatique mais ne savent pas comment étudier par eux-mêmes. Alors que j'étudie désormais, je pense qu'il vaut mieux faire cela, et qu'il peut être plus facile pour d'autres personnes (avancées et intermédiaires) d'étudier. J'espère pouvoir le mettre à jour de temps en temps ou le rassembler dans un article séparé!

En passant, je pense que la suite des 3 étapes écrites dans cet article (bien que cela puisse être la même que la pratique du 3 concours) peut être renvoyée aux articles suivants etc. pour améliorer encore la technique. Résumé des matériaux recommandés pour les débutants en apprentissage automatique pour terminer «l'introduction» de Kaggle à grande vitesse M. Murata, l'un des auteurs du Kaggle Start Book (Curry) L'article de Chan).

Autres matériaux de référence

podcast regonn & curry

Recommandé (un podcast qui parle des thèmes Kaggle et des nouvelles compétitions chaque semaine)

[Utilisation de l'apprentissage automatique du japonais appris avec Kaggle (Ogoshi)](https://www.slideshare.net/ssuserafaae8/for-manabiya?ref=http://kaggler-ja-wiki.herokuapp.com/kaggle%E5% 88% 9D% E5% BF% 83% E8% 80% 85% E3% 82% AC% E3% 82% A4% E3% 83% 89)

kaggler-ja slack communauté japonaise de kaggler Slack

9 étapes pour devenir un expert en apprentissage automatique dans les plus brefs délais [entièrement gratuit]

Recommended Posts

Méthode d'étude pour apprendre le machine learning à partir de zéro (version mars 2020)
Méthode Newton pour l'apprentissage automatique (de 1 variable à plusieurs variables)
Méthode d'encodage à chaud "utilisable" pour l'apprentissage automatique
Ordre d'étude recommandé pour les débutants en apprentissage automatique / apprentissage en profondeur
Apprentissage automatique à partir de 0 pour les étudiants en physique théorique # 1
Apprentissage automatique à partir de zéro (apprentissage automatique appris avec Kaggle)
Apprentissage automatique à partir de 0 pour les étudiants en physique théorique # 2
Apprentissage profond à partir de zéro
Mémo d'apprentissage Python pour l'apprentissage automatique par Chainer du chapitre 2
Créez un environnement d'apprentissage automatique à partir de zéro avec Winsows 10
Ensemble de données pour l'apprentissage automatique
Prétraitement japonais pour l'apprentissage automatique
Apprentissage profond à partir de zéro 1 à 3 chapitres
Bloc-notes de ressources d'étude d'apprentissage automatique
Reconstruction de l'environnement pour l'apprentissage automatique avec Miniconda (version Windows)
[Deep Learning from scratch] Implémentation de la méthode Momentum et de la méthode AdaGrad
Créez un environnement pour "Deep Learning from scratch" avec Docker
Créer un environnement PyData pour une session d'étude sur l'apprentissage automatique (janvier 2017)
[Deep Learning from scratch] Principales méthodes de mise à jour des paramètres pour les réseaux neuronaux
[Apprentissage automatique] Comprendre la décorrélation des mathématiques
Version Lua Apprentissage profond à partir de zéro Partie 6 [Traitement d'inférence de réseau neuronal]
Apprentissage profond à partir de zéro (calcul des coûts)
Sortie de méthode d'apprentissage pour l'acquisition LPIC
Informations sur les réunions d'apprentissage automatique pour HRTech
Algorithme d'apprentissage automatique (méthode de descente de gradient)
Mémo d'apprentissage profond créé à partir de zéro
[Balisage recommandé pour l'apprentissage automatique # 4] Script d'apprentissage automatique ...?
Comment étudier pour le test G de Deep Learning Association (pour les débutants) [version 2020]
Réaliser la construction d'environnement pour "Deep Learning from scratch" avec docker et Vagrant
Mémo d'étude Python & Machine Learning: Préparation de l'environnement
[Mémo d'apprentissage] Le Deep Learning fait de zéro [Chapitre 7]
Amplifiez les images pour l'apprentissage automatique avec Python
Apprentissage profond à partir de zéro (propagation vers l'avant)
Premiers pas pour les débutants en apprentissage automatique (IA)
Utiliser le groupe d'API d'apprentissage automatique A3RT de Python
J'ai installé Python 3.5.1 pour étudier l'apprentissage automatique
Apprentissage profond / Apprentissage profond à partir de zéro 2-Essayez de déplacer GRU
Une introduction à OpenCV pour l'apprentissage automatique
Pourquoi Python est choisi pour l'apprentissage automatique
Deep learning / Deep learning made from scratch Chapitre 6 Mémo
[Mémo d'apprentissage] Le Deep Learning fait de zéro [Chapitre 6]
[Shakyo] Rencontre avec Python pour l'apprentissage automatique
[Python] Conception d'applications Web pour l'apprentissage automatique
"Deep Learning from scratch" avec Haskell (inachevé)
Deep learning / Deep learning made from scratch Chapitre 7 Mémo
Une introduction à Python pour l'apprentissage automatique
Mémo d'étude Python & Machine Learning ③: Réseau neuronal
[Windows 10] Construction de l'environnement "Deep Learning from scratch"
Enregistrement d'apprentissage de la lecture "Deep Learning from scratch"
Mémo d'étude Python & Machine Learning ④: Machine Learning par rétro-propagation
Créer un environnement de développement pour l'apprentissage automatique
Mémo d'étude Python & Machine Learning ⑥: Reconnaissance des nombres
[Deep Learning from scratch] À propos de l'optimisation des hyper paramètres
Mémo d'auto-apprentissage "Deep Learning from scratch" (partie 12) Deep learning
[Mémo d'apprentissage] Deep Learning fait de zéro [~ Chapitre 4]
Préparez l'environnement pour le livre O'Reilly "Deep Learning from scratch" avec apt-get (Debian 8)
Apprentissage automatique
Version Lua Deep Learning from scratch Part 5.5 [Rendre les fichiers pkl disponibles dans Lua Torch]