[PYTHON] Introduction aux baies non paramétriques

Introduction aux baies non paramétriques

J'ai récemment étudié les baies non paramétriques, alors j'ai essayé d'organiser mon esprit. Je ne suis pas un spécialiste, alors j'apprécierais que vous signaliez des erreurs.

motivation

Les baies non paramétriques sont simplement des modèles de baies aux dimensions infinies. (Ce n'est pas qu'il n'y a pas de paramètres.) Il semble que la théorie elle-même ait déjà été grossièrement développée depuis un certain temps et qu'elle soit utilisée dans le contexte de l'apprentissage automatique depuis les années 2000.

Par exemple, lors de la mise en cluster, vous spécifiez généralement un numéro de mélange. Cependant, dans les baies non paramétriques, une fois que vous pensez qu'il existe un nombre infini de clusters, le nombre de mélange est automatiquement déterminé. Plus précisément, cela ressemble au gif ci-dessous.

npb5.gif

Si les couleurs sont les mêmes, elles sont dans le même cluster. Je n'ai pas spécifié le nombre de clusters, mais vous pouvez voir qu'ils se regroupent bien. Cette fois, nous visons à implémenter ce modèle infiniment mixte. Le code est https://github.com/Ma-sa-ue/practice/tree/master/machine%20learning(python)/nonparabayes Il est répertorié dans. En tant qu'exemple d'application dans l'apprentissage automatique autre que le clustering non parabayes

il y a. Les avantages (bien qu'ils se chevauchent) sont les suivants.

Un bref aperçu

Comme je l'ai dit plus tôt, l'objectif est de mettre en œuvre un modèle infiniment mixte. À cette fin, nous expliquerons d'abord le processus Dirichlet, le processus de rupture du bâton et le processus du restaurant chinois, qui sont les parties non-parabayes. Il est important que les trois ne soient pas séparés, mais aussi des perspectives différentes. Réorganisez ensuite ce qui précède dans le contexte du modèle de distribution mixte. Ensuite, implémentez le modèle infiniment mixte. Après cela, j'ai organisé le contexte théorique. Je ne suis pas en mesure de dire quelque chose de grand, mais quand j'ai étudié, je ne pouvais pas du tout comprendre dans un seul document, alors je vous recommande de vous référer et de mettre en œuvre divers documents.

Édition de base

Ceci est un diagramme tiré du tutoriel du professeur Ueda (référence 1). Comprendre ce chiffre est l'un des objectifs.

image

Modèle mixte limité

Tout d'abord, j'écrirai sur ce qui arrive au modèle mixte fini avant l'infini. Il peut être représenté par un modèle graphique tel que (a). En particulier

\theta_{k}\sim G_{0}, \pi =(\pi_{1},...,\pi_{K}) \sim Dirichlet(\frac{\alpha}{K},...,\frac{\alpha }{K}) z_{i}|\pi \sim Multinomial(\pi) x_{i}|z_{i},\theta_{k} \sim f(\theta_{z_{i}})

Ce sera. $ x = (x_ {1}, ..., x_ {n}) $ est la valeur observée et $ z = (z_ {1}, ..., z_ {n}) $ est l'étiquette. $ \ pi $ est le dé pour déterminer l'étiquette. Pour les distributions gaussiennes mixtes, f est la distribution gaussienne et $ \ theta = (\ theta_ {1}, ..., \ theta_ {k}) $ est la moyenne de chacune des K classes. $ G_ {0} $ est la priorité du paramètre. Dans le cas d'une distribution de Gauss mixte, si elle est conjuguée, ce sera également une distribution de Gauss.

Vous ne pouvez observer que $ x $, mais vous voulez vraiment connaître le vrai $ z $ (étiquette). Dans le cas d'un modèle mixte fini, il peut essentiellement être obtenu par échantillonnage de Gibbs pour $ z $ et $ \ theta $. Vous pouvez également créer une méthode pour un modèle infiniment mélangé en prenant $ K $ à l'infini. Cependant, quand il s'agit d'implémenter cela «tel quel», il s'avère qu'il existe un nombre infini de classes et c'est impossible.

Distribution de Dirichlet

La version multivariée de la distribution bêta est la distribution Dirichlet. La distribution de Dirichlet apparaît souvent comme un a priori d'une distribution polynomiale à Bayes. À ce stade, il est important que la somme des échantillons générés à partir de la distribution de Dirichlet K-dimensionnelle soit de 1. Considérons $ G = \ sum _ {k = 1} ^ {K} \ pi _ {k} \ delta _ {\ theta _ {k}} $. (Remarque $ \ pi \ sim Dirichlet (\ alpha / K, ..., \ alpha / K), \ theta \ sim H $) Ensuite, vous pouvez voir que $ p (x) = \ int p (x | \ theta) G (\ theta) d \ theta $ dans le modèle mixte. (Z est effacé) Ensuite, la forme du modèle graphique du modèle mixte fini devient comme (b). À ce stade, le processus de Dirichlet est utilisé avec la motivation d'échantillonner à partir de G lorsque le nombre de K devient infini.

Dirichlet Process

L'introduction originale du processus de Dirichlet est décrite dans la section théorie. Le processus Dirichlet affiche $ DP (\ alpha, H) $. Comme je l'ai dit plus tôt, le processus Dirichlet est presque partout discret et est $ G = \ sum _ {k} ^ {\ infty} \ pi _ {k} \ delta _ {\ theta _ {k}} $ (somme infinie) .. Utilisez le processus Stick-Breaking pour échantillonner le processus Dirichlet.

Stick-Breaking Process Pour échantillonner à partir du processus Dirichlet

\theta_{k} \sim H,v_{k} \sim Beta(1,\alpha ),\pi_{k}=v_{k}\prod_{j=1}^{k-1} (1-v_{j}),G=\sum _{k=1}^{\infty} \pi _{k} \delta _{\theta _{k}}

Échantillonnage comme. Il est cohérent de sorte que la somme de $ \ pi _ {k} $ soit 1. Il semble s'appeler Processus de rupture de bâton car il donne l'impression de casser des branches progressivement. Un exemple d'échantillonnage est présenté ci-dessous.

SBP.png

Bien sûr, G, qui est la somme d'un nombre infini de pièces, ne peut pas être créé à l'origine, c'est donc une approximation. Vous pouvez voir que plus $ \ alpha $ est grand, plus vous pouvez avoir de branches. Les propriétés suivantes sont une autre chose importante à utiliser dans l'implémentation réelle.

\theta_{i}|\theta_{-i} \sim \frac{1}{i-1+\alpha}\sum_{j=1}^{i-1} \delta (\theta_{j}) + \frac{\alpha }{i-1+\alpha }G_{0}

Chinese Restaurant Process(CRP)

CRP est la distribution de la partition de l'index de cluster. Pour le moment, nous l'introduirons de manière descendante. Par exemple, écrivez l'ensemble entier comme $ [n] = [1,2, ... n] $ et écrivez l'élément de partition comme $ \ rho $. Un exemple de $ \ rho $ est [[1], [2,3], [4]] ou [[1,2], [3,4]] lorsque l'ensemble entier est [4]. La façon suivante de faire une partion est CRP. Imaginez d'abord que chacun entre dans un restaurant chinois l'un après l'autre et s'assoit à une table. Comment asseoir la n + 1ème personne quand n personnes sont assises

P (probabilité de s'asseoir à une table existante c) = $ \ frac {n_ {c}} {a + n} $, P (probabilité de s'asseoir à une nouvelle table) = $ \ frac {\ alpha} {\ alpha + n} $

Si tel est le cas, la distribution finale des pièces lorsque cela se poursuivra sera le CRP. ($ \ Alpha $ est une constante, $ n_ {c} $ est le nombre de personnes déjà assises en c)

Par exemple, s'il y a déjà 4 personnes et qu'une ou 3 personnes sont assises, ce sera [[1], [2,3,4]]. Je vais donc réfléchir à la manière d'entrer la cinquième personne. Ensuite, si $ \ alpha = 1 $, la probabilité de s'asseoir à la première table est $ \ frac {1} {1 + 4} $, et la probabilité de s'asseoir à la deuxième table est $ \ frac {3} {1 + 4} $, La probabilité d'être assis à la troisième (nouvelle) table est $ \ frac {1} {1 + 4} $.

Gardez à l'esprit qu'une table qui a déjà beaucoup de monde sera plus encombrée. Notez également que la création d'une partition est exactement la même chose que le clustering (étiquetage). Par exemple, étiquetons les personnes par numéro de table dans l'exemple ci-dessus. Si la cinquième personne s'assoit à une nouvelle table, elle passera de [2,1,1,1] à [2,1,1,1,3]. Notez également la nature des clients assis peu à mesure que $ \ alpha $ grandit. Je vais effectivement le mettre en œuvre. Fondamentalement, vous pouvez implémenter ce qui précède tel quel, mais vous ne pouvez pas être sûr que cela correspond. À ce moment-là, il peut être grossièrement confirmé en regardant la relation entre le nombre de tables et le nombre de clients. La relation est E[|\rho |] \approx \alpha \log(1+\frac{n}{\alpha}) Il semble que j'ai en fait essayé de dessiner un graphique. CRP.png

L'axe des x est le nombre de clients et l'axe des y est le nombre de tables. Les points rouges sont les points qui ont été échantillonnés et les lignes bleues sont des valeurs approximatives des valeurs attendues. Vous pouvez voir que ça ressemble à ça.

Repenser le modèle mixte

Réorganisons la figure suivante en tenant compte du passé.

image

(a) est comme je l'ai dit plus tôt. La politique d'apprentissage est un échantillonnage de Gibbs de $ z $, $ \ theta $.

(b) est essentiellement comme je l'ai dit plus tôt. Puisqu'il est difficile de gérer directement le processus Dirichlet, c'est pratiquement (c). Dans ce cas, l'étiquette (z) n'est pas explicitement calculée, mais $ \ theta $ est calculé. Ceci est calculé par Gibbs samling pour $ \ theta $. Notez que vous devez échantillonner à partir de G à ce stade, mais pas au sens strict. Dans ce cas, vous devez préparer un nombre infini de $ \ theta $ et $ \ pi $.

Mais si vous y réfléchissez, vous pouvez voir que nous devons nous concentrer uniquement sur les clusters au niveau des points de données. C'est (d). Pour cela, considérons d'abord la distribution postérieure de z dans le modèle mixte fini (a). Puis par un simple calcul (intégrer l'élimination de $ \ pi $)

$ P (z_ {i} = c | z_ {-i}, \ alpha, K) = \ frac {n_ {c} + \ alpha / K} {n-1 + \ alpha} $ ($ n_c $ est c Le nombre de z en cluster, K est le nombre de clusters, $ z_ {-i} $ est z autre que $ z_ {i} $)

Ce sera. En définissant $ K \ sur \ infty $, la molécule devient $ n_ {c} $, et en définissant $ z_ {i} $ comme client et la classe comme table, elle devient exactement CRP. Lorsqu'il est écrit dans la formule, (d) devient comme suit.

z |\alpha \sim CRP([n],\alpha ),\theta _{c}|H \sim H(c\in \rho)

x_{i}|\theta _{c} \sim F(\theta _{c})

(CRP s'appelait la distribution des parties, mais notez que la création d'une partie pour [n] équivaut à étiqueter $ z_ {i} $. À partir de la partie CRP: $ \ Interprétez-le dans le sens où rho $ est généré et étiqueté en fonction de lui est z)

la mise en oeuvre

Enfin, passez à la partie mise en œuvre. Fondamentalement, MCMC est utilisé. En tant que politique, je pense que nous allons fidèlement MCMC sur la base du modèle graphique mentionné précédemment. Il est implémenté sur la base de l'article de Neal (référence 5). Il est facile de comprendre ce qui a été fait jusqu'à présent et comment le mettre en œuvre, je vous recommande donc de le lire.

Mise en œuvre par CRP

Tout d'abord, implémentez en fonction de (d) dans la figure. Nous utilisons la technique des transitions unidimensionnelles vers $ z $ et $ \ theta $. La première chose qui me vient à l'esprit est d'utiliser la formule ci-dessous pour l'échantillonnage de Gibbs.

P(z_{i}|z_{-i},x_{i},\theta )\sim P(z_{i}|z_{-i})P(x_{i}|z_{i},\theta )

If c=z_{j} for some j\neq i then P(z_{i}=c|z_{-i})= \frac{n_{-i,c}}{n+1+\alpha}, P(x_{i}|z_{i},\theta ) = f(x_{i}|\theta_{z_{i}})

If c=z_{i} is new then P(z_{i}|z_{-i}) = \frac{\alpha }{n+1+\alpha}, P(x_{i}|z_{i},\theta ) = \int f(x_{i},\theta )dG_{0}(\theta)

Ce n'est pas si bon de gibbs échantillonner $ z $ en utilisant la formule supérieure telle qu'elle est. C'est parce que le calcul de l'intégrale sort lors du calcul de la probabilité de transition. De plus, comme il n'est pas normalisé, il est nécessaire de calculer le terme normalisé. Donc, rappelez-vous que l'échantillonnage Gibbs était un algorithme Metropolis-Hastings avec un taux d'acceptation de 1 en premier lieu. En même temps, voyons à quel point il est facile de calculer $ P (z_ {i} | z_ {-i}) $. Ensuite, en définissant la probabilité de transition sur $ P (z_ {i} | z_ {-i}) $, vous remarquerez que Metropolis-Hastings facilite l'effort de calcul pour la transition. Il existe une théorie selon laquelle l'intégrale demeure lors du calcul du taux d'acceptation, mais cela est évité par un échantillonnage. En d'autres termes, le taux d'acceptation est $ \ alpha (z_ {i} ^ {*}, z_ {i}) $

min[1,\frac{f(y_{i},\theta_{z_{i}}^{*})}{f(y_{i},\theta_{z_{i}})}]

Ce sera. L'algorithme peut être organisé comme suit.

Vous pouvez voir que cela ressemble à K-means. Il est écrit que la mise à jour de $ \ theta $ provient de la distribution postérieure, mais cette fois nous avons utilisé la distribution de Gauss pour la distribution a priori, donc la distribution postérieure est aussi la distribution de Gauss. En outre, il est recommandé que R soit 3 fois ou plus. En effet, si R = 1, peu de personnes se rassembleront dans le nouveau cluster. La mise en œuvre réelle est la suivante.

npb4.gif

Il est recommandé que $ \ alpha $ ne soit pas assez grand pour éviter un trop grand nombre de clusters. (Environ 1?) Dans le premier gif, il était correctement divisé en quatre, mais cette fois c'est plus compliqué.

Implémentation par SBP (explicit-G-sampler)

Ensuite, implémentez en vous basant sur (b) et (c) dans la figure. La motivation spécifique est d'échantillonner à partir de la distribution postérieure de $ \ theta $ en utilisant la formule suivante.

\theta_{i}|\theta_{-i} \sim \frac{1}{n-1+\alpha }\sum_{j=1}^{n-1} \delta (\theta_{j}) + \frac{\alpha }{n-1+\alpha }G_{0}

Bien entendu, G ne peut pas être échantillonné, il s'agit donc d'un pseudo-échantillonnage. Notez que l'indice de $ \ theta_ {i} $ signifie d'un cluster à un échantillon. Cette fois aussi, au lieu de simplement faire un échantillonnage de Gibbs comme c'est le cas dans l'implémentation de CBP, la probabilité de transition est fixée à $ \ theta_ {i} | \ theta_ {-i} $. Le taux d'acceptation est $ \ alpha (\ theta_ {i} ^ {*}, \ theta_ {i}) $ est

min[1,\frac{f(y_{i},\theta_{*})}{f(y_{i},\theta_{i})}]

Ce sera. Si vous l'organisez, vous pouvez voir que $ \ theta_ {i} (i = 1, ... n) $ doit être échantillonné dans l'ordre avec le taux d'acceptation ci-dessus. Ensuite, ce sera comme ci-dessous. npb2.gif

Dans le gif ci-dessus, $ \ alpha = 1 $. La gauche est $ \ theta $ et la droite est codée par couleur par les clusters résultants. Il n'est pas complètement divisé en quatre, mais si vous augmentez le nombre d'étapes, il se décomposera un peu mieux.

Théorie

Ecrivez des choses théoriques pour les personnes «en apprentissage automatique». Si vous voulez connaître la théorie pour les personnes "statistiques", vous devriez lire le tutoriel du professeur Kato (référence 9). (Je ne l'ai pas lu)

De Finetti's Theorem

Tout d'abord, j'écrirai sur le théorème de De Fineti, qui justifie le style bayésien. Les observations étaient échangeables avec les CRP traités ci-dessus. En d'autres termes, lorsqu'il y avait des variables de probabilité $ X_ {1}, X_ {2}, ..., X_ {n}, ... $, le remplacement de l'indice ne modifiait pas la probabilité simultanée. En termes mathématiques P(X_{1}=x_{1},X_{2} = x_{2},...)=P(X_{1}=x_{\sigma (1)},X_{2}=x_{\sigma_{2}},...) Ce sera. À propos, la condition d'échange est plus faible que la condition i.i.d. Le théorème de De Finetti satisfait $ \ theta $ quand il y a des variables de probabilité interchangeables $ X_ {1}, X_ {2}, ... $

P(X_{1},...,X_{n}) = \int P(\theta )\prod_{i=1}^{n}P(X_{i}|\theta )d\theta

Prétend exister. Ce théorème justifie le style bayésien. Dans le modèle mixte infini ci-dessus, $ P (\ theta) $ était un pdf aléatoire ($ G = \ sum \ pi_ {k} \ delta _ {\ theta _ {k}}) $.

Définition du processus Dirichlet en premier lieu

Le processus de Dirichlet a un espace de probabilité et si la mesure (aléatoire) est G, alors $ (G (A_ {1}),. Pour toute division $ A_ {1}, ..., A_ {n} $. .., G (A_ {n})) Basé sur la distribution de Dirichlet où $ est $ (\ alpha H (A_ {1}), ..., \ alpha H (A_ {n})) $ comme paramètre La définition est $ G $ quand vous l'êtes. Il est difficile d'obtenir une image avec cela, mais on sait que G peut être affiché presque partout comme si c'était fait avec SBP.

Représentation du processus stochastique en temps continu 1

Généralement, étant donné la variable de probabilité $ X $ ($ X $ est une fonction mesurable de $ \ Omega $ à $ \ mathbb {R} $), c'est généralement comme une mesure de retrait de $ \ mathbb {R} $ Après l'avoir défini sur l'espace Borel, je pense au pdf de Radon – Nikodym. L'ensemble de ces variables stochastiques est le processus stochastique {$ X_ {t} } ( t \ in T $). S'il existe un nombre fini de processus stochastiques i.i.d les plus simples, leur existence est garantie en considérant la mesure directe du produit dans l'espace produit direct. Si T est un ensemble infini ou non i.i.d Si vous voulez dire l'existence d'un tel processus stochastique, utilisez le théorème d'extension de Kolmogorov. Le théorème étendu de Kolmogorove est le théorème que si T est un ensemble dénombrable, alors un tel processus stochastique existe s'il y a cohérence dans toute distribution simultanée de tout sous-ensemble fini de T. Par exemple, dans le cas du mouvement brownien ou du processus de Poisson, $ T = \ mathbb {R} $, mais une fois en utilisant le théorème d'extension pour $ \ mathbb {Q} $, $ \ mathbb {Q} $ est $ \ mathbb {R } Nous le définirons continuellement en $ en utilisant la propriété de densité. Cependant, dans le cas du processus Dirichlet, ce $ T $ est un ensemble volell de $ \ mathbb {R} $. Bien sûr, ce n'est pas dénombrable, il semble donc que nous allons prendre un ensemble qui est dénombrable dans l'ensemble Borel et l'étendre continuellement. Ce n'est plus l'image du temps continu.

Représentation du processus stochastique en temps continu 2

D'après la configuration ci-dessus, le processus Dirichlet semble incompréhensible, mais heureusement, on sait qu'il peut être représenté comme SBP et peut être utilisé pour l'échantillonnage. J'ai également utilisé cette expression dans l'implémentation ci-dessus.

Autre

J'écris quelque chose qui semble important car il n'est pas écrit ci-dessus.

Pitman-Yor Process Puisque j'ai fait CRP avec beaucoup d'efforts, je vais également aborder le processus Pitman-Yor. PYP est un gars qui a un peu changé CRP. La formule est la suivante dans la même situation que CRP.

P(Probabilité de s'asseoir sur une table existante c)=\frac{n_{c}-d}{a+\sum_{c\in \rho} n_{c}},P(Probabilité de s'asseoir à une nouvelle table)= \frac{\alpha +d|\rho|}{\alpha + \sum_{c\in \rho} n_{c}}

Si vous dessinez un graphique (échelle log 10) avec d = 0,9 (vert), d = 0,5 (bleu) et d = 0,1 (jaune), il sera comme indiqué ci-dessous. pitman-ypr.png

En regardant ci-dessus, vous pouvez voir que le nombre de tables augmente à mesure que $ d $ augmente. $ d $ réduit le nombre de personnes par table, mais en même temps, le nombre de tables et le nombre de clients par table sont ajustés pour suivre la règle de puissance. (Comme vous le savez peut-être des personnes qui lisent des livres en réseau, il existe une règle empirique selon laquelle le nombre de clusters dans le monde et le nombre de personnes par cluster suivent la règle du pouvoir.) Le processus Pitman-yor est également utilisé pour le traitement du langage naturel et le traitement d'image car il est conforme aux données réelles.

Quand peut-on utiliser des non-parabayes?

Comme mentionné en théorie, le processus de Dirichclet rend les observations interchangeables et homogènes (à partir de la même distribution basale). Par exemple, cette homogénéité est implicitement utilisée dans l'échantillonnage de gibbs à modèle infiniment mixte. Cependant, malheureusement, tous les phénomènes dans le monde ne proviennent pas d'une distribution de base aussi homogène. Par conséquent, nous utilisons le processus Hierarchil Dirichlet, qui échantillonne le processus Dirichlet et l'utilise comme distribution de base pour générer le processus Dirichclet.

Quelle est la méthode autre que MCMC?

Bien sûr, il semble que vous puissiez également le faire avec la variante Bayes. Mais MCMC est plus facile (pour créer un algorithme).

Un sujet que je n'ai pas abordé mais qui me semble important

J'ai mentionné des choses importantes que je n'ai pas abordées cette fois. Infinite HMM, Indian buffet process,Polya Trees,Hierarchical Dirichlet Processes. Aussi, j'étudie, donc si je le mets en œuvre, je peux essayer d'écrire à nouveau un article.

Les références

  1. Le tutoriel créé par Dr. Ueda de NTT est très facile à comprendre. Cet article a également été fortement influencé. Vous pouvez en savoir plus sur IRM. Bien sûr, il est également répertorié dans le modèle de suite. http://www.kecl.ntt.co.jp/as/members/yamada/dpm_ueda_yamada2007.pdf
  2. Une diapositive faite par le professeur Yoshii de l'Université de Kyoto est très facile à comprendre. http://sap.ist.i.kyoto-u.ac.jp/members/yoshii/slides/mus91-tutorial-npb.pdf
  3. Page d'accueil d'Oxford Yee Whye Teh Il existe de nombreux tutoriels utiles. http://www.stats.ox.ac.uk/~teh/npbayes.html
  4. ↑ Conférence du Maître Je n'ai pas compris la première fois que je l'ai entendue, mais avec le recul, c'est merveilleux. Cet article a également été fortement influencé. http://videolectures.net/mlss2011_teh_nonparametrics/
  5. Il s'agit d'un article rédigé par Neal de l'Université de Toronto. A lire absolument pour mettre en œuvre cet article. http://www.stat.columbia.edu/npbayes/papers/neal_sampling.pdf
  6. Tutoriel avec la mise en œuvre réelle https://datamicroscopes.github.io/
  7. Je ne sais même pas si vous regardez ceci, mais une fois que vous étudiez légèrement, vous approfondirez votre compréhension. Http://mlg.eng.cam.ac.uk/zoubin/talks/uai05tutorial-b.pdf
  8. Page d'accueil de l'enseignant de Columbia avec de nombreuses notes de cours http://stat.columbia.edu/~porbanz/npb-tutorial.html
  9. Un tutoriel qui décrit fermement le processus Dirichlet écrit par le professeur Kato de la faculté d'économie de l'Université de Tokyo. difficile. https://docs.google.com/viewer?a=v&pid=sites&srcid=ZGVmYXVsdGRvbWFpbnxra2F0b3N0YXR8Z3g6MmE0NmFkYmU5MzM4YjllNg
  10. Voici le code pour les non-parabayes dans Pymc. Http://xiangze.hatenablog.com/entry/2016/04/09/225754
  11. Inutile de dire BDA http://www.stat.columbia.edu/~gelman/book/

Recommended Posts

Introduction aux baies non paramétriques
Introduction à MQTT (Introduction)
Introduction à Scrapy (1)
Introduction à Scrapy (3)
Premiers pas avec Supervisor
Introduction à PyQt
Introduction à Scrapy (2)
[Linux] Introduction à Linux
Introduction à Scrapy (4)
Introduction à discord.py (2)
Baies non paramétriques avec Pyro
Introduction à Lightning Pytorch
Premiers pas avec le Web Scraping
Introduction à EV3 / MicroPython
Introduction au langage Python
Introduction à la reconnaissance d'image TensorFlow
Introduction à OpenCV (python) - (2)
Introduction à PyQt4 Partie 1
Introduction à l'injection de dépendances
Introduction à Private Chainer
Introduction à l'apprentissage automatique
AOJ Introduction à la programmation Sujet 1, Sujet 2, Sujet 3, Sujet 4
Introduction au module de papier électronique
Introduction à l'algorithme de recherche de dictionnaire
Introduction à la méthode Monte Carlo
[Mémorandum d'apprentissage] Introduction à vim
Introduction à PyTorch (1) Différenciation automatique
opencv-python Introduction au traitement d'image
Introduction à Python Django (2) Win
Introduction à l'écriture de Cython [Notes]
Introduction à Private TensorFlow
Une introduction à l'apprentissage automatique
[Introduction à cx_Oracle] Présentation de cx_Oracle
Une super introduction à Linux
AOJ Introduction à la programmation Sujet n ° 7, Sujet n ° 8
Introduction à la détection des anomalies 1 principes de base
Introduction à RDB avec sqlalchemy Ⅰ
[Introduction au système] Retracement de Fibonacci ♬
Introduction à l'optimisation non linéaire (I)
Introduction à la communication série [Python]
AOJ Introduction à la programmation Sujet n ° 5, Sujet n ° 6
Introduction au Deep Learning ~ Règles d'apprentissage ~
[Introduction à Python] <liste> [modifier le 22/02/2020]
Introduction à Python (version Python APG4b)
Une introduction à la programmation Python
[Introduction à cx_Oracle] (8e) version de cx_Oracle 8.0
Introduction à discord.py (3) Utilisation de la voix
Introduction à l'optimisation bayésienne
Apprentissage par renforcement profond 1 Introduction au renforcement de l'apprentissage
Super introduction à l'apprentissage automatique
Introduction à Ansible Part «Inventaire»
Série: Introduction à cx_Oracle Contents
[Introduction] Comment utiliser open3d
Introduction à Python pour, pendant
Introduction au Deep Learning ~ Rétropropagation ~
Introduction à Ansible Part ④'Variable '
Introduction à la commande vi (Remarque)