Python

Quickstart(ドキュメントより)|Flaxの確認 #1

以前の記事でFlaxが出てきて軽く流したため、当シリーズでは詳しく取り扱いを行います。 FlaxはJAXで用いるニューラルネットワークのライブラリです。当シリーズでは基本的にはドキュメントの内容を元にある程度の概要の把握を目標とします。 Flax documenta…

JAX Quickstart(公式ドキュメントより)②|jaxの確認 #2

昨今のDeepLearningの実装ではJAXを用いるケースもあるようなので、簡単に仕様を確認できればということで当シリーズではJAXの把握を行なっていきます。一旦はドキュメントのQuickstartの内容を取り扱うことにし、下記の確認を行っていきます。 JAX Quicksta…

JAX Quickstart(公式ドキュメントより)①|jaxの確認 #1

昨今のDeepLearningの実装ではJAXを用いるケースもあるようなので、簡単に仕様を確認できればということで当シリーズではJAXの把握を行なっていきます。#1ではまずは概要の把握をということでドキュメントのQuickstartの内容を取り扱います。 JAX Quickstart…

Pythonを用いた誤差逆伝播(Backpropagation)の実装|微分をプログラミングする #4

当シリーズでは、近年の深層学習の発展に関連するトレンド的に微分のプログラミングの重要度は増していると思われるので、関連文脈の取りまとめを行なっています。#1、#2、#3では自動微分の概要やSurvey論文の参照や誤差逆伝播と自動微分の関係性の確認を行…

線形回帰処理のパフォーマンス比較②(勾配法による数値解)|Pythonにおける処理高速化をラフに考える #6

このシリーズではPythonの処理高速化についてラフに取り扱っています。#5では単回帰分析の解析解の計算にあたってのパフォーマンス比較を行いました。 #6では単回帰分析の勾配法を用いた数値解のパフォーマンス比較を行います。以下、目次になります。1. 問…

線形回帰処理のパフォーマンス比較①(解析解)|Pythonにおける処理高速化をラフに考える #5

このシリーズではPythonの処理高速化についてラフに取り扱っています。#4ではリストの生成と内包表記について取り扱いました。 #5では単回帰分析の解析解を求める処理について、scikit-learnなどを中心にパフォーマンス比較を行いたいと思います。以下、目次…

リストの生成と内包表記|Pythonにおける処理高速化をラフに考える #4

このシリーズではPythonの処理高速化についてラフに取り扱っています。#3ではPandasとmapについて取り扱いました。 #4ではリストの生成と内包表記について取り扱います。以下、目次になります。1. 内包表記の構文とパフォーマンスの比較2. timeitを用いた統…

Pandasとmap|Pythonにおける処理高速化をラフに考える #3

このシリーズではPythonの処理高速化についてラフに取り扱っています。#2ではmapと繰り返し文(for)について簡単に取り扱いました。 #3ではPandasとmapについて取り扱います。以下、目次になります。1. mapを用いたPandasのカラムの置換2. map、lambdaを用い…

mapと繰り返し文|Pythonにおける処理高速化をラフに考える #2

このシリーズではPythonの処理高速化についてラフに取り扱っています。#1では「%%time」を用いたパフォーマンス測定と、NumPyを用いた簡単な高速化について確認しました。 #2ではmapと繰り返し文(for)について簡単に取り扱います。以下、目次になります。1. …

パフォーマンス測定とNumPyを用いた簡単な高速化|Pythonにおける処理高速化をラフに考える #1

基本的にプログラミングは動けば良い派で可読性の高さを優先することが多いですが、処理の高速化が必要な際もあるので、Pythonを用いた処理高速化について考える新規シリーズを作成いたしました。最初から難しく考えると大変なので、しばらくは緩めに進め、…

変分推論の枠組みにおけるEMアルゴリズム|Python実装で理解する変分推論(VariationalInference) #3

当シリーズはPython実装を通して変分推論を理解していこうということで進めています。下記などを主に参照しています。 Pattern Recognition and Machine Learning | Christopher Bishop | Springer #1、#2ではKLダイバージェンスやイェンセンの不等式につい…

ベクトル的取り扱いによるイェンセンの不等式の図的理解|Python実装で理解する変分推論(VariationalInference) #Appendix1

#2ではイェンセンの不等式とKLダイバージェンスの非負性について取り扱いましたが、少し考察が定性的になりましたので、もう少しイェンセンの不等式ベースでわかりやすくしようということで、Appendixを設けました。3つ以上のやに対する取り扱いのイメージが…

イェンセンの不等式とKLダイバージェンスの非負性|Python実装で理解する変分推論(VariationalInference) #2

当シリーズはPython実装を通して変分推論を理解していこうということで進めています。下記などを主に参照しています。 Pattern Recognition and Machine Learning | Christopher Bishop | Springer #1では変分推論の議論の中心となってくるKLダイバージェン…

KLダイバージェンスの数式とPython実装|Python実装で理解する変分推論(VariationalInference) #1

確率的変分推論(SVI; Stochastic Variational Inference)の論文について確認していたのですが、ベースの理解についてもう少し固める方が良さそうだったので、Python実装を通して変分推論を理解していくシリーズを新たに作成することにしました。シリーズを通…

混合ガウスモデル(Gaussian Mixture Model)|PyMC3チュートリアルに学ぶ統計モデリング #6

当シリーズではPyMC3のチュートリアルを元に統計モデリングについて確認しています。PyMC3はベイズ統計モデリングのためのPythonのパッケージで、Pythonにおいてベイズ統計を取り扱うにあたってはデファクトとみて良いパッケージだと思います。#1〜#5は下記…

SVI(Stochastic Variational Inference)①|Pyroドキュメントに学ぶ統計モデリングの実装 #3

当シリーズではPyroのドキュメントを元に統計モデリングの実装について確認しています。 Pyro Documentation — Pyro documentation #1ではPyroの導入として概要の確認・インストール・簡単な動作確認を、#2ではPyroを用いた推論について取り扱いました。 #3…

Pyroを用いた近似推論(approximate inference)|Pyroドキュメントに学ぶ統計モデリングの実装 #2

当シリーズではPyroのドキュメントを元に統計モデリングの実装について確認しています。 Pyro Documentation — Pyro documentation #1ではPyroの導入として概要の確認・インストール・簡単な動作確認を行いました。 #2では"An Introduction to Inference in …

Pyroの概要とインストール|Pyroドキュメントに学ぶ統計モデリングの実装 #1

以前のシリーズでPyMC3のチュートリアルを元にPyMC3の実装例の把握や、それに伴って階層線形モデリングなどについても確認しました。 PyMC3はMCMC法などを中心とした統計モデリングを行う上でデファクトスタンダードに近くなっているライブラリですが、少し…

Graph Classification|Deep Graph Libraryの0.5系を確認する #2

Deep Graph Libraryの0.5系のドキュメントを読み進めています。#1では"DGL at a Glance"や"USER GUIDE"の内容などを元にPyTorchベースでの処理概要の把握を行いました。 #2では引き続き"USER GUIDE"から、5.4のGraph Classificationについて確認できればと思…

階層線形(Hierarchical Linear Regression)モデル|PyMC3チュートリアルに学ぶ統計モデリング #5

当シリーズではPyMC3のチュートリアルを元に統計モデリングについて確認しています。PyMC3はベイズ統計モデリングのためのPythonのパッケージで、Pythonにおいてベイズ統計を取り扱うにあたってはデファクトとみて良いパッケージだと思います。#1〜#4は下記…

PyTorchベースでの処理概要の把握|Deep Graph Libraryの0.5系を確認する #1

以前のシリーズでDGL(Deep Graph Library)について確認していたのですが、0.4系から0.5系への移行に伴い色々とドキュメントなども変わっているようなので、改めて0.5系のシリーズとして確認していきます。それほど読み込んでいるわけではないですが、"DGL at…

PyMC3における確率分布(Probability Distributions)の実装|PyMC3チュートリアルに学ぶ統計モデリング #4

当シリーズではPyMC3のチュートリアルを元に統計モデリングについて確認しています。PyMC3はベイズ統計モデリングのためのPythonのパッケージで、Pythonにおいてベイズ統計を取り扱うにあたってはデファクトとみて良いパッケージだと思います。#1〜#3ではPyM…

ベイズロジスティック回帰(Logistic Regression)モデル|PyMC3チュートリアルに学ぶ統計モデリング #3

当シリーズではPyMC3のチュートリアルを元に統計モデリングについて確認しています。PyMC3はベイズ統計モデリングのためのPythonのパッケージで、Pythonにおいてベイズ統計を取り扱うにあたってはデファクトとみて良いパッケージだと思います。#1では導入と…

ベイズ線形回帰(Linear regression)モデル|PyMC3チュートリアルに学ぶ統計モデリング #2

当シリーズではPyMC3のチュートリアルを元に統計モデリングについて確認しています。PyMC3はベイズ統計モデリングのためのPythonのパッケージで、Pythonにおいてベイズ統計を取り扱うにあたってはデファクトとみて良いパッケージだと思います。#1では導入と…

PyMC3の概要とインストール|PyMC3チュートリアルに学ぶ統計モデリング #1

当シリーズではPyMC3のチュートリアルを元に統計モデリングについて確認していきます。PyMC3はベイズ統計モデリングのためのPythonのパッケージで、Pythonにおいてベイズ統計を取り扱うにあたってはデファクトとみて良いパッケージだと思います。#1では導入…

インストールとグラフ畳み込みを用いた学習の動作例の確認①|DGL(Deep Graph Library)を動かす #1

別のシリーズでGraph Neural Networkのサーベイを元にした研究トレンドの把握を行いました。 上記シリーズを元に大体の概要は掴めたのですが、実装についても確認してみれればということで、Section8のApplicationsで取り扱われていたDGL(Deep Graph Library…

Python実装で理解するラプラシアン行列(Laplacian matrix)の概要

GNN(Graph Neural Network)関連についていくつか見ていたのですが、ラプラシアン行列はConvolutinal Graph Neural NetworkのSpectral-basedの話に関連して出てくるものの、あまり見たことがなかったのでPython実装を通して簡単にまとめておきます。 [1901.00…

Python実装において役立つ工夫まとめ|非技術者のための業務効率化 #3

当シリーズでは非技術者向けに知っておくと役に立つ技術系の知識についてまとめていきます。#1では業務効率化にあたっての基本的な考え方を抑えたのちにPythonやSQLの導入について、#2ではPythonとSQLの基本的な内容の演習について取り扱いました。 #3ではPy…

数式を実装するを考えるにあたっての基本的な考え方

『数式を実装するってどうやったらどうやったら良いでしょうか?』のような質問をたまにいただくのですが、改めて考え直すと意外とコツがいるなと思われたので、数式を実装に落としていくにあたっての基本的な考え方を簡単にまとめておこうと思います。数式…

PythonライブラリのAxelrodで実行するシミュレーション③(Visualising results)|ゲーム理論について #7

ゲーム理論に関するシリーズとして、諸々取り扱っています。#1〜#4ではWikipediaの内容を元にゲーム理論の大枠について抑えました。 ゲーム理論 - Wikipedia #1では大まかな枠組みについて、#2、#3ではゲーム理論の研究史について、#4ではゲーム理論の応用分…