たまたま面白いツールを見つけた。機械学習のパラメータをいじるとインタラクティブに学習結果が可視化して見れるお勉強アプリ。
MLDemos – A visualization tool for machine learning
MLDemosは、機械学習でのクラス分類、回帰、クラスタリング、次元削減、力学系、報酬最大化を行うそれぞれのアルゴリズムのパラメータが、学習結果にどのように影響しているのかを勉強・理解するための教材として開発されたオープンソースの可視化ツールです。
MLDemosはオープンソースで、個人・アカデミック用途なら無料で利用できます。
可視化結果が美しい。
スポンサーリンク
ペイント感覚でデータの分布を作成できるのも面白いね。
初学者が機械学習のイメージを掴むにはちょうどいいかもしれない。パラメータの調整の感覚も分かってくるかも。プロットしたデータを3Dでグリグリ回して見れるのが個人的に好き。
残念ながらDeep Learningは実装されてないけど、結構いろんな手法が実装されてるみたい。
実装されているアルゴリズム一覧
クラス分類
- Support Vector Machine (SVM)
(C, nu, Pegasos)- Relevance Vector Machine (RVM)
- Gaussian Mixture Models (GMM)
- Multi-Layer Perceptron + BackPropagation
- Gentle AdaBoost + Naive Bayes
- Approximate K-Nearest Neighbors (KNN)
- Gaussian Process Classification (GP)
- Random Forests
回帰
- Support Vector Regression (SVR)
- Relevance Vector Regression (RVR)
- Gaussian Mixture Regression (GMR)
- MLP + BackProp
- Approximate KNN
- Gaussian Process Regression (GPR)
- Sparse Optimized Gaussian Processes (SOGP)
- Locally Weighed Scatterplot Smoothing (LOWESS)
- Locally Weighed Projection Regression (LWPR)
力学系
- GMM+GMR
- LWPR
- SVR
- SEDS
- SOGP (Slow!)
- MLP
- KNN
- Augmented-SVM (ASVM)
クラスタリング
スポンサーリンク
- K-Means
- Soft K-Means
- Kernel K-Means
- K-Means++
- GMM
- One Class SVM
- FLAME
- DBSCAN
射影
- Principal Component Analysis (PCA)
- Kernel PCA
- Independent Component Analysis (ICA)
- Canonical Correlation Analysis (CCA)
- Linear Discriminant Analysis (LDA)
- Fisher Linear Discriminant
- EigenFaces to 2D (using PCA)
報酬最大化 (強化学習)
- Random Search
- Random Walk
- PoWER
- Genetic Algorithms (GA)
- Particle Swarm Optimization
- Particle Filters
- Donut
- Gradient-Free Methods (nlopt)
オイラはまだそれぞれの手法の日本語名を知らない…
謝辞に書かれているこのツールの実装に使われたライブラリがまた面白そう。
謝辞
このプログラムに搭載されているそれぞれのアルゴリズムを実装してくださった方々の労力無しにこのプログラムは完成しませんでした。
- Florent D’Hallouin (GMM + GMR) – LASA
- Dan Grollman (SOGP) – LASA
- Mohammad Khansari (SEDS + DSAvoid) – LASA
- Ashwini Shukla (ASVM, ARD Kernels) – LASA
- Stephane Magnenat (ESMLR) – website
- Chih-Chung Chang と Chih-Jen Lin (libSVM) – website
- David Mount と Sunik Arya (ANN library) – website
- Davis E. King (DLIB) – website
- Stefan Klanke と Sethu Vijayakumar (LWPR) – website
- Robert Davies (Newmat) – website
- JF Cardoso (ICA) – website
- Steven G. Johnson (NLOpt) – website
- The WillowGarage crowd (OpenCV) – website
- Trolltech/Nokia/Digia (Qt) – website
- 一部のアイコンの作者 – website
- スイス連邦工科大学ローザンヌ校の2012年MLクラスの博士課程の学生達(Julien Eberle, Pierre-Antoine Sondag, Guillaume deChambrier, Klas Kronander, Renaud Richardet, Raphael Ullman)
また、LASAのサポート・開発チーム:Christophe Paccolat, Nicolas Sommer, Otpal Vittozの協力無しではこれほどのパフォーマンスのプログラムにはならなかったでしょう。
スポンサーリンク
関連記事
オープンソースの物理ベースレンダラ『Mitsuba』をMayaで使う
3Dスキャンしたテクスチャから照明を除去するUnityツール『De Lighting tool』
機械学習で流体シミュレーションを近似する『Physics Forests』
Mitsuba 3:オープンソースの研究向けレンダラ
OpenCV バージョン4がリリースされた!
Dlib:C++の機械学習ライブラリ
機械学習での「回帰」とは?
libigl:軽量なジオメトリ処理ライブラリ
Boost オープンソースライブラリ
動画で学ぶお絵かき講座『sensei』
OpenCVの三角測量関数『cv::triangulatepoints』
Two Minute Papers:先端研究を短時間で紹介するYouTubeチャンネル
.NETで使えるTensorFlowライクなニューラルネットワークライブラリ『NeuralNetwo...
Point Cloud Utils:Pythonで3D点群・メッシュを扱うライブラリ
OpenCV 3.1のsfmモジュールを試す
映画から想像するVR・AR時代のGUIデザイン
DCGAN (Deep Convolutional GAN):畳み込みニューラルネットワークによる敵...
UnityでOpenCVを使うには?
Javaで作られたオープンソースの3DCGレンダラ『Sunflow』
Faster R-CNN:ディープラーニングによる一般物体検出手法
2D→3D復元技術で使われる用語まとめ
OpenCLに対応したオープンソースの物理ベースレンダラ『LuxRender(ルクスレンダー)』
Windows10でPyTorchをインストールしてVSCodeで使う
Open3D:3Dデータ処理ライブラリ
FCN (Fully Convolutional Network):ディープラーニングによるSema...
ディープラーニングに対応したPythonの機械学習ライブラリ『Pylearn2』
東京オリンピックと案内表示
COLMAP:オープンソースのSfM・MVSツール
ニューラルネットワークで画像分類
ポリゴンジオメトリ処理ライブラリ『pmp-library (Polygon Mesh Process...
PeopleSansPeople:機械学習用の人物データをUnityで生成する
openMVGをWindows10 Visual Studio 2015環境でビルドする
OpenMVS:Multi-View Stereoによる3次元復元ライブラリ
手を動かしながら学ぶデータマイニング
MVStudio:オープンソースのPhotogrammetryツール
OpenMesh:オープンソースの3Dメッシュデータライブラリ
CGレンダラ研究開発のためのフレームワーク『Lightmetrica (ライトメトリカ)』
オープンソースのロボットアプリケーションフレームワーク『ROS (Robot Operating S...
Google製オープンソース機械学習ライブラリ『TensorFlow』のWindows版が公開された
Unityで強化学習できる『Unity ML-Agents』
書籍『イラストで学ぶ ディープラーニング』
GeoGebra:無料で使える数学アプリ
コメント