Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

UKRにおいて潜在変数と写像を描画するメソッドを追加 #137

Open
wants to merge 84 commits into
base: master
Choose a base branch
from

Conversation

ae14watanabe
Copy link
Member

@ae14watanabe ae14watanabe commented Apr 15, 2020

Description 説明
close #136
UKRで学習した潜在変数と写像を描画するメソッドをモデルに追加。

fit済みのインスタンス ukrに対してukr.visualize()を実行すると描画が行われる。
backendはTkAggのみ挙動するようになっており、事前にmatplotlibがimportされているとうまく動かないことに注意。
オプションの引数などの仕様については 5343e0f を参照のこと。

動物データで動作させた結果。左側が潜在空間、右側が特徴量の成分を表示するバー。これは初期状態(バーはデータの平均を表示するようにしている)
image

左側の任意の座標をクリックすると、その座標の写像先の成分を右で表示する
image

特定のバーを指定すると、その次元の値で左の潜在空間を着色する
image

Type of change 変更の種類

  • New feature (non-breaking change which adds functionality)

How Has This Been Tested? どのようにテストしたか?

  • tutorials/ukr/fitting_animal.py を実行

Reviewerへの依頼

  • 明からさまに不安定な挙動しないか色々いじってみて欲しい
  • 使う人にミスリーディングな部分があったら教えてください
    • どんな説明を画面に書いておくかとか
  • これもできたら良いな、とかあれば教えてください(別issueで取り組んだ方がいい場合は別途issue切ります。)

作業To-do

  • 任意の潜在空間上の座標zに対する写像f(z)=(f_1(z),\dots,f_D(z))の特徴量の描画
    • 潜在変数Z=(z_n)のplot
    • データラベルのplot
      • 潜在変数の値が被ってもラベルが見やすいようにノイズを付加する
    • クリックされた座標zの取得
    • クリックされた座標zのplot
    • その値からf(z)の値の取得
    • f(z)のbarを用いた表示
    • データの潜在変数にマウスを持ってきたらラベルを表示してくれる
      • そもそもラベルが与えられてないときは条件判定すら行わなくていい
  • 任意の特徴量次元dによる潜在空間の着色
    • dの指定
      • やり方の選定
      • どのバーがクリックされたか認識
    • dを元に全ての代表点のd次元目の値を取ってくる
    • pcolormeshで潜在空間上に値を表示
    • どの次元を選択してるか表示する
    • contour表示する
    • 初期状態は非表示にする

@ae14watanabe ae14watanabe added the enhancement New feature or request label Apr 15, 2020
@ae14watanabe ae14watanabe self-assigned this Apr 15, 2020
@ae14watanabe ae14watanabe marked this pull request as draft April 15, 2020 13:19
@ae14watanabe ae14watanabe changed the title 136 add view in ukr UKRにおいて潜在変数と写像を描画するメソッドを追加 Apr 20, 2020
@ae14watanabe
Copy link
Member Author

欲を言えばやりたいこと

  • PCAで3次元に落とした空間での多様体の表示(オプション)
  • SOMでも使えるようにBaseManifoldModelingみたいなクラス作って、それを継承する形で描画出来るようにする

@ae14watanabe ae14watanabe marked this pull request as ready for review April 21, 2020 08:58
tsuno0829
tsuno0829 previously approved these changes May 30, 2020
Copy link
Member

@tsuno0829 tsuno0829 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is_show_all_label_dataの部分も変更してみましたがこちらのPCでも問題なく動作しました.
津野的には問題ないと思いますのでapproveします!

@ae14watanabe ae14watanabe requested a review from tsuno0829 June 2, 2020 12:28
@ae14watanabe
Copy link
Member Author

@tsuno0829 レビューしてもらったのに申し訳ないんだけど、内部の描画のメソッドをpcolormeshからimshowに変更してみたので、結果に違いがないかだけ確認してもらえませんか?お願いします!

@ae14watanabe ae14watanabe marked this pull request as draft June 4, 2020 09:51
@ae14watanabe
Copy link
Member Author

ちょっと自分で結果見てたらなんかおかしいので、reviewタンマで。良さそうだったらdraft解除します。

@ae14watanabe ae14watanabe marked this pull request as ready for review June 5, 2020 09:10
@ae14watanabe
Copy link
Member Author

修正しました。

@ae14watanabe
Copy link
Member Author

colormapのちょうど真ん中の色を0に固定するオプションを付けました.動物データみたいな非負の値しか取らないデータの場合はcolormapの半分しか使わないことになります.バイカラーなcolormapの場合はそっちの方が分かりやすいかも.
image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

UKR(SOM)に写像を用いた描画メソッドを追加
2 participants