サイトアイコン NegativeMindException

MLDemos:機械学習について理解するための可視化ツール

たまたま面白いツールを見つけた。機械学習のパラメータをいじるとインタラクティブに学習結果が可視化して見れるお勉強アプリ。

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の協力無しではこれほどのパフォーマンスのプログラムにはならなかったでしょう。


スポンサーリンク

関連記事

  • FCN (Fully Convolutional Network):ディープラーニングによるSema...
  • KelpNet:C#で使える可読性重視のディープラーニングライブラリ
  • 画像生成AI Stable Diffusionで遊ぶ
  • prosper
  • Dlib:C++の機械学習ライブラリ
  • hloc:SuperGlueで精度を向上させたSfM実装
  • マインドマップ作成ツール『MindNode』
  • 3D復元技術の情報リンク集
  • Houdiniのライセンスの種類
  • MythTV:Linuxでテレビの視聴・録画ができるオープンソースプロジェクト
  • ドットインストールのWordPress入門レッスン
  • データサイエンティストって何だ?
  • 3Dスキャンしたテクスチャから照明を除去するUnityツール『De Lighting tool』
  • CNN Explainer:畳み込みニューラルネットワーク可視化ツール
  • Unityで強化学習できる『Unity ML-Agents』
  • 書籍『ゼロから作るDeep Learning』で自分なりに学ぶ
  • オンライン英会話ネイティブキャンプを始めてみた
  • AnacondaとTensorFlowをインストールしてVisual Studio 2015で使う
  • 機械学習での「回帰」とは?
  • iOSで使えるJetpac社の物体認識SDK『DeepBelief』
  • Pix2Pix:CGANによる画像変換
  • オープンソースの物理ベースレンダラ『Mitsuba』をMayaで使う
  • 手を動かしながら学ぶデータマイニング
  • 書籍『伝わる イラスト思考』読了
  • YOLO (You Only Look Once):ディープラーニングによる一般物体検出手法
  • UnityユーザーがUnreal Engineの使い方を学ぶには?
  • U-Net:ディープラーニングによるSemantic Segmentation手法
  • Blender 2.8がついに正式リリース!
  • OpenCV 3.3.0-RCでsfmモジュールをビルド
  • Perfumeのライブパフォーマンスのビジュアル
  • Googleが画像解析旅行ガイドアプリのJetpac社を買収
  • Faster R-CNN:ディープラーニングによる一般物体検出手法
  • 東京オリンピックと案内表示
  • .NETで使えるTensorFlowライクなニューラルネットワークライブラリ『NeuralNetwo...
  • オープンソースの物理ベースGIレンダラ『appleseed』
  • OpenCV 3.3.0 contribのsfmモジュールのサンプルを動かしてみる
  • Math.NET Numerics:Unityで使える数値計算ライブラリ
  • NeRF (Neural Radiance Fields):機械学習による未知視点合成
  • C#で使える遺伝的アルゴリズムライブラリ『GeneticSharp』
  • ディープラーニングに対応したPythonの機械学習ライブラリ『Pylearn2』
  • UnityでOpenCVを使うには?
  • OpenCVの顔検出過程を可視化した動画
  • モバイルバージョンを終了