[PYTHON] [Note de lecture] Apprentissage automatique pratique avec Scikit-Learn, Keras et TensorFlow Chapitre 1

The Machine Learning Landscape

Why Use Machine Learning? La programmation d'un filtre anti-spam est la prochaine étape.

  1. Notez que le courrier indésirable utilise une langue, il existe un modèle dans le nom de l'expéditeur et la composition du courrier électronique.
  2. Écrivez un programme qui détecte de tels modèles, et si un certain nombre de modèles sont détectés, marquez-le comme spam.
  3. Exécutez le programme et répétez les étapes 1 et 2.

Un programme de détection des spams est difficile à maintenir car il contient de nombreuses règles, mais lors de la création d'un filtre anti-spam par machine learning, il est facile de garder court. Et plus précis.

Lors de l'écriture d'un programme, si le spamer sait quel mot est utilisé pour détecter le spam, il peut utiliser un autre mot pour contourner le filtre anti-spam. Lors de l'écriture d'un programme, vous devez ajouter de nouvelles règles, mais pour les filtres anti-spam basés sur l'apprentissage automatique, cela peut être fait automatiquement.

Types of Machine Learning Systems

La distinction entre supervisé et non supervisé, apprentissage par lots et apprentissage hors ligne, et basé sur une instance et basé sur un modèle.

Supervised/Unsupervised Learning ・ Dans l'apprentissage supervisé, les données d'entraînement incluent une étiquette. • Une tâche d'apprentissage supervisé typique est la classification, par exemple un filtre anti-spam. -Une autre tâche consiste à prévoir, par exemple, la prévision du prix d'une voiture.

Méthode ・ Méthode de voisinage K · Régression linéaire ・ Retour logistique ・ Machine de vecteur de soutien ・ Arbre de décision et forêt aléatoire ·réseau neuronal

Unsupervised learning -Dans l'apprentissage non supervisé, les données d'entraînement n'incluent pas d'étiquettes. ・ En utilisant le clustering, vous pouvez découvrir le type de groupe des personnes qui visitent le blog.

Clustering de méthodes ・ Méthode de la moyenne K ・ DBSCAN · Classification hiérarchique

-La visualisation vise à tracer des données dans un espace bidimensionnel ou tridimensionnel, et la suppression de dimension vise à simplifier les données sans réduire beaucoup d'informations.

Visualisation de la technique et suppression des dimensions ・ Analyse en composantes principales (ACP) ・ PCA du noyau ・ Incorporation localement linéaire (LLE) ・ Incorporation de voisin stochastique distribué en T (t-SNE)

-La détection d'anomalies est, par exemple, la détection d'une utilisation inhabituelle d'une carte de crédit, et est similaire à la détection de nouveauté.

Méthode Détection d'anomalies et détection de nouveauté ・ SVM à une classe ・ Forêt d'isolement

-L'apprentissage des règles d'association vise à trouver des relations intéressantes à partir d'une grande quantité de données. Par exemple, les gens qui achètent de la sauce barbecue et des croustilles ont tendance à acheter du steak.

Apprentissage des règles d'association de méthodes ・ Aprili ・ Éclat

Semisupervised learning ・ L'apprentissage semi-supervisé est un algorithme qui gère les données avec quelques étiquettes et les données sans beaucoup d'étiquettes. Par exemple, il est déterminé si le visage est ou non le même que le visage d'une autre photo sur une photo.

Reinforcement Learning ・ L'apprentissage intensifié apprend les politiques (définition de la manière de se comporter dans une situation donnée) en observant l'environnement, en sélectionnant des actions, en effectuant des actions et en recevant des récompenses. Par exemple, lorsqu'un robot apprend à marcher, il est utilisé dans AlphaGO.

Batch and Online Learning Batch learning ・ Ceux qui ne peuvent pas réapprendre sont appelés apprentissage hors ligne.

Online learning -En apprentissage en ligne, le système peut être formé sur une base régulière en donnant des données dans l'ordre. L'apprentissage en ligne est utilisé lorsque l'ensemble de données est volumineux. ・ Le nom d'apprentissage en ligne est trompeur, il est donc préférable de le considérer comme un apprentissage incrémental. -Le problème est que si un système reçoit de mauvaises données, les performances du système diminuent. Par conséquent, il est nécessaire de surveiller le système.

Instance-Based Versus Model-Based Learning Instance-based learning ・ L'apprentissage instantané est la généralisation de nouveaux exemples en comparant des exemples appris avec de nouveaux basés sur une mesure de similitude. Par exemple, le filtrage du courrier indésirable. (Cela semblait être un apprentissage non supervisé, mais cela inclut également la méthode du quartier K)

Model-based learning -Utiliser un modèle pour faire des prédictions en construisant un modèle de données est appelé apprentissage basé sur un modèle. Par exemple, faites une analyse de régression de la satisfaction à l'égard de la vie et du PIB dans chaque pays en partant de l'hypothèse que l'argent rend les gens heureux.

Main Challenges of Machine Learning Points importants de l'apprentissage automatique ・ Les bébés peuvent reconnaître les «pommes» simplement en pointant leurs doigts et en disant «pommes», mais pas l'apprentissage automatique. 1 000, 1 000 000 de données sont nécessaires. -Si l'échantillonnage est mauvais même pour un très grand ensemble de données, ce ne sont pas des données typiques. -Si les données d'entraînement sont inondées d'erreurs, de valeurs aberrantes et de bruit, il sera difficile pour le système de détecter le modèle, donc un prétraitement est nécessaire. ・ L'ingénierie de la quantité de caractéristiques est importante ・ Le sur-ajustement est dangereux. Pour éviter le sur-ajustement, simplifiez le modèle pour le rendre régulier et ajustez les hyper paramètres. ・ La sous-adaptation est le contraire de la sur-adaptation. Causé par le modèle trop simple.

Testing and Validating -Split les données 80% pour la formation et 20% pour les tests pour voir si le modèle fonctionne. • Entraînez et comparez les deux modèles pour savoir quoi faire si vous êtes perdu entre deux modèles (par exemple, régression linéaire ou méthode de K-voisinage). ・ Que faut-il faire pour rendre les hyper paramètres réguliers? Il existe un moyen de dire que 100 modèles utilisent 100 hyper paramètres différents. ・ Vérification du holdout

Data Mismatch -Bien que les données puissent être facilement obtenues, elles peuvent ne pas représenter les données utilisées en production.

End-to-End Machine Learning Project

Ensemble de données publié — UC Irvine Machine Learning Repository — Kaggle datasets — Amazon’s AWS datasets • Meta portals (they list open data repositories): — http://dataportals.org/ — http://opendatamonitor.eu/ — http://quandl.com/ • Other pages listing many popular open data repositories: — Wikipedia’s list of Machine Learning datasets — Quora.com question — Datasets subreddit

Fonction d'évaluation de l'analyse de régression · Racine carrée de l'erreur quadratique moyenne (RMSE) ・ Erreur absolue moyenne (RMSE)

Biais de fouille des données Si vous négligez les caractéristiques des données, vous trouverez une hypothèse sur-appariée, il est donc préférable de décider de l'algorithme à utiliser avec modération.

Recommended Posts

[Note de lecture] Apprentissage automatique pratique avec Scikit-Learn, Keras et TensorFlow Chapitre 1
[Mémo / Création] "Apprentissage automatique pratique avec Scikit-Learn et TensorFlow" Traduction en japonais
L'apprentissage automatique pratique avec Scikit-Learn et TensorFlow-TensorFlow a abandonné -
Créez un environnement d'apprentissage automatique scikit-learn avec VirtualBox et Ubuntu
SVM essayant l'apprentissage automatique avec scikit-learn
Notes personnelles et liens sur l'apprentissage automatique ① (Machine learning)
TensorFlow Machine Learning Cookbook Chapitre 3 Personnellement bouché
TensorFlow Machine Learning Cookbook Chapitre 6 (ou plutôt, la troisième ligne) où je suis personnellement resté coincé
Machine Learning avec docker (40) avec anaconda (40) "Hands-On Data Science and Python Machine Learning" Par Frank Kane
Mémo d'apprentissage Python pour l'apprentissage automatique par Chainer Chapitres 11 et 12 Introduction à Pandas Matplotlib
Apprentissage automatique avec Raspberry Pi 4 et Coral USB Accelerator
[Apprentissage automatique] Comprendre la SVM à la fois à partir de scikit-learn et des mathématiques
Analyse d'images par apprentissage profond à partir de Kaggle et Keras
Lecture de données avec TensorFlow
Apprentissage automatique (TensorFlow) + Lotto 6
Bilan du premier défi du machine learning avec Keras
J'ai essayé d'implémenter Grad-CAM avec keras et tensorflow
Découvrez Wasserstein GAN avec le modèle Keras et l'optimisation TensorFlow
Comment dessiner de manière interactive un pipeline d'apprentissage automatique avec scikit-learn et l'enregistrer au format HTML
[Apprentissage automatique] Démarrez Spark avec iPython Notebook et essayez MLlib
[TensorFlow 2 / Keras] Comment exécuter l'apprentissage avec CTC Loss dans Keras
[Apprentissage automatique] Comprendre les arbres de décision de scikit-learn et des mathématiques
Pour ceux qui souhaitent démarrer l'apprentissage automatique avec TensorFlow2
Apprentissage automatique pour apprendre avec Nogisaka 46 et Keyakizaka 46 Partie 1 Introduction
[Apprentissage automatique] Comprendre la régression logistique à partir de scikit-learn et des mathématiques
L'apprentissage automatique appris avec Pokemon
Essayez l'apprentissage en profondeur avec TensorFlow
Bases de l'apprentissage automatique (mémoire)
Notes AutoEncodder avec Keras
Apprentissage automatique avec Python! Préparation
Démineur d'apprentissage automatique avec PyTorch
Apprentissage automatique et optimisation mathématique
Commencer avec l'apprentissage automatique Python
Essayez le machine learning à la légère avec Kaggle
J'ai touché Tensorflow et keras
Deep Learning avec Shogi AI sur Mac et Google Colab Chapitre 8
[Apprentissage automatique] Essayez d'exécuter Spark MLlib avec Python et faites des recommandations
Deep Learning avec Shogi AI sur Mac et Google Colab Chapitre 12 3
Deep Learning avec Shogi AI sur Mac et Google Colab Chapitre 7
Deep Learning avec Shogi AI sur Mac et Google Colab Chapitre 10 6-9
Deep Learning avec Shogi AI sur Mac et Google Colab Chapitre 10
Deep Learning avec Shogi AI sur Mac et Google Colab Chapitre 7 5-7
Deep Learning avec Shogi AI sur Mac et Google Colab Chapitre 12 3
Deep Learning avec Shogi AI sur Mac et Google Colab Chapitre 12 3
Deep Learning avec Shogi AI sur Mac et Google Colab Chapitre 12 1-2
Deep Learning avec Shogi AI sur Mac et Google Colab Chapitre 12 3
[Apprentissage automatique] Comprendre la régression multiple linéaire à partir de scikit-learn et des mathématiques
Mémo d'apprentissage Python pour l'apprentissage automatique par Chainer Chapitre 9 Introduction à scikit-learn
"Processus Gauss et apprentissage automatique" Régression de processus Gauss implémentée uniquement avec Python numpy
Deep Learning avec Shogi AI sur Mac et Google Colab Chapitre 12 3 ~ 5
Deep Learning avec Shogi AI sur Mac et Google Colab Chapitre 7 9
Deep Learning avec Shogi AI sur Mac et Google Colab Chapitre 8 5-9
Deep Learning avec Shogi AI sur Mac et Google Colab Chapitre 8 1-4
Deep Learning avec Shogi AI sur Mac et Google Colab Chapitre 12 3
Deep Learning avec Shogi AI sur Mac et Google Colab Chapitre 7 8
Deep Learning avec Shogi AI sur Mac et Google Colab Chapitre 7 1-4
<Course> Machine learning Chapitre 6: Algorithme 2 (k-means)
MNIST (DCNN) avec Keras (backend TensorFlow)
[Traitement du langage 100 coups 2020] Chapitre 6: Machine learning
Segmentation d'image avec scikit-image et scikit-learn
J'ai essayé l'apprentissage automatique avec liblinear