[PYTHON] Notes personnelles et liens sur l'apprentissage automatique ① (Machine learning)

introduction

Il y a une limite à ce que vous pouvez faire à partir de zéro. Il y a aussi l'expression "se tenir sur les épaules d'un géant", mais je voudrais utiliser des articles qui peuvent servir de référence comme la sagesse de nos prédécesseurs pour améliorer notre niveau.

Méthode d'apprentissage automatique

Il existe différentes méthodes d'apprentissage automatique et il est utile de les organiser comme suit.

Classification

Arbre de décision

La précision n'est pas élevée, mais la visualisation par l'arbre est très explicative.

Machine à vecteur de soutien

Forêt aléatoire

Regression

Régression linéaire

Retour LASSO

Modèle de régression pour la régularisation L1

SVR

Analyse des séries chronologiques

Clustering

Analyse de cluster hiérarchique (méthode d'agrégation)

Une méthode qui montre visuellement combien de clusters il est approprié de diviser en dessinant un dendrogramme (diagramme en arbre) qui montre la proximité des objets. Cependant, le nombre d'objets est limité à plusieurs centaines car il se situe dans la plage pouvant être représentée par un dendrogramme. Au-delà, la lecture est difficile.

Dans le monde du Data Mining et du Big Data, la quantité de données a considérablement augmenté et est devenue moins populaire.

Analyse de cluster non hiérarchique (k-means)

La technique de clustering non hiérarchique la plus connue. Si vous divisez le nombre de clusters en K, la façon de les diviser déterminera automatiquement l'optimisation en fonction des informations d'entrée.

La principale caractéristique et faiblesse de cette méthode est qu'il est nécessaire de déterminer à l'avance le nombre de clusters (K). Pour éviter cela, des méthodes telles que K-means ++ et X-means qui dérivent automatiquement le nombre optimal de clusters ont également été développées.

Il est également utilisé pour regrouper les clients en fonction de leur tendance d'achat, mais il est souvent extrêmement divisé, comme un cluster avec des dizaines de milliers de personnes et un cluster avec seulement quelques personnes à la fois, pour éviter cela. Je ne l'utilise pas beaucoup personnellement car il est difficile d'ajuster les paramètres.

Clustering spectral

Carte auto-organisée (SOM, Kohonen)

Un modèle qui exprime la similitude des informations d'entrée données par un type de réseau neuronal par la distance sur la carte.

Puisqu'elle est exprimée sur la carte (bidimensionnelle), lors de la détermination du nombre de grappes, il est nécessaire de penser à la multiplication verticale et horizontale telle qu'une carte 3x3. (Par conséquent, le nombre de groupes 5 ou 7 n'est que de 1x5, 1x7, ce qui est quelque peu désagréable.)

Personnellement, en ce qui concerne le clustering de clients, je l'aime tellement que je devrais utiliser cette méthode. Comparé à d'autres méthodes telles que K-means, il est moins susceptible d'être divisé en extrêmes et tend à être vertical et horizontal, de sorte que l'interprétation des résultats est facile à comprendre pour quiconque.

Puisqu'il s'agit d'un modèle conçu par le Dr T. Kohonen, il est souvent appelé Kohonen au lieu d'une carte auto-organisée (SOM).

Modèle de sujet

Utilisé à l'origine comme méthode d'analyse statistique de la signification latente dans le traitement du langage naturel pour estimer la "probabilité d'apparition d'un mot" dans une phrase, il s'agit d'une sorte de modèle de probabilité numérique et estime la "probabilité d'apparition". Un réseau qui n'est pas 1: 1 lorsqu'il est utilisé dans les données (par exemple: un client n'appartient pas à un cluster, mais à plusieurs clusters.60% de chances d'appartenir au cluster A, 30% pour B ... ・ Il est également utilisé pour (la probabilité d'appartenance est divisée).

Bien qu'il existe différentes méthodes pour les modèles de sujets, LDA (Latent Dirichlet Allocation) est souvent utilisé.

Étant donné que le modèle a des probabilités d'affiliation différentes, il va bien avec l'idée de l'ADN du produit (je pense personnellement).

Compression de dimension

Mécanisme de soutien à l'apprentissage (même s'il s'agit du principal)

Réglage des paramètres

Sélection de fonctionnalité

Autre

Recommended Posts

Notes personnelles et liens sur l'apprentissage automatique ① (Machine learning)
Mémos personnels et liens liés à l'apprentissage automatique ③ (BI / visualisation)
Apprentissage automatique sur le surapprentissage
À propos de la matrice mixte d'apprentissage automatique
Apprentissage automatique et optimisation mathématique
Notes personnelles sur l'intégration de vscode et anaconda
Ce que j'ai appris sur l'IA / l'apprentissage automatique avec Python (4)
Importance de l'apprentissage automatique et de l'apprentissage par mini-lots
Classification et régression dans l'apprentissage automatique
Organisez des plateformes d'apprentissage automatique et d'apprentissage en profondeur
(Notes personnelles) Métaclasses et métaprogrammation Python
Apprentissage automatique
[Note de lecture] Apprentissage automatique pratique avec Scikit-Learn, Keras et TensorFlow Chapitre 1
À propos de _ et __
[Apprentissage automatique] OOB (Out-Of-Bag) et son ratio
Remarques sur la grammaire Python de l'apprentissage automatique PyQ
Une histoire sur l'apprentissage automatique avec Kyasuket
Remarques sur l'exécution locale d'Azure Machine Learning
Résumé de la classification et de la mise en œuvre des algorithmes d'apprentissage automatique
Créer un environnement pour Python et l'apprentissage automatique (macOS)
"Tutoriels OpenCV-Python" et "Système d'apprentissage automatique pratique"
Vulkan compute avec Python avec VkInline et pense à l'apprentissage automatique GPU et plus
Une histoire sur l'automatisation du mahjong en ligne (Jakutama) avec OpenCV et l'apprentissage automatique
Étudiez l'apprentissage automatique et l'informatique. Liste des ressources
Une histoire sur l'apprentissage automatique simple avec TensorFlow
Notes d'apprentissage Python
Remarques sur avec
Tournoi Numerai - Fusion de quants traditionnels et apprentissage automatique -
Notes sur l'apprentissage automatique (mises à jour de temps en temps)
[Note] Python, lors du démarrage du machine learning / deep learning [Liens]
Division des données de formation en apprentissage automatique et apprentissage / prédiction / vérification
Liste des liens que les débutants en apprentissage automatique apprennent
À propos du contenu de développement de l'apprentissage automatique (exemple)
[Memo] Apprentissage automatique
Classification de l'apprentissage automatique
notes personnelles python
Notes sur Pytorch
À propos des liens symboliques
Histoire de l'analyse de données par apprentissage automatique
notes d'apprentissage python
Mémo d'apprentissage Python pour l'apprentissage automatique par Chainer Chapitres 11 et 12 Introduction à Pandas Matplotlib
Exemple d'apprentissage automatique
Ce que j'ai appris sur l'IA / l'apprentissage automatique avec Python (1)
Apprentissage automatique avec Raspberry Pi 4 et Coral USB Accelerator
Note d'apprentissage Python de Mayungo: liste d'histoires et de liens
Apprentissage automatique facile avec scikit-learn et flask ✕ Application Web
Mémo d'apprentissage Python pour l'apprentissage automatique par Chainer chapitres 1 et 2
À propos des tests dans la mise en œuvre de modèles d'apprentissage automatique
Méthode de voisinage #k d'apprentissage automatique et sa mise en œuvre et divers
Ce que j'ai appris sur l'IA / l'apprentissage automatique avec Python (3)
Intelligence artificielle, machine learning, deep learning pour mettre en œuvre et comprendre
L'apprentissage automatique pratique avec Scikit-Learn et TensorFlow-TensorFlow a abandonné -
Ce que j'ai appris sur l'IA / l'apprentissage automatique avec Python (2)
Configurer des bibliothèques Python et d'apprentissage automatique sur Ubuntu
Parlez de l'amélioration du goulot d'étranglement des algorithmes d'apprentissage automatique avec Cython
À propos de la classe et de l'instance
Résumé du didacticiel d'apprentissage automatique
Apprentissage automatique ⑤ Résumé AdaBoost
Apprentissage automatique: supervisé - AdaBoost
Régression logistique d'apprentissage automatique