Location : Home > Languages > Perl > Package Title : AI::NeuralNet::Kohonen::Visual |
![]() |
AI::NeuralNet::Kohonen::Visual - AI::NeuralNet::Kohonen の Tk-ベースの可視化
このディストリビューションにあるテストファイルをテストするか、または以下を実行する。
package YourClass; use base "AI::NeuralNet::Kohonen::Visual"; sub get_colour_for { my ($self,$x,$y) = (shift,shift,shift); # From here you return a TK colour name. # Get it as you please; for example, values of a 3D map: return sprintf("#%02x%02x%02x", (int (255 * $self->{map}->[$x]->[$y]->{weight}->[0])), (int (255 * $self->{map}->[$x]->[$y]->{weight}->[1])), (int (255 * $self->{map}->[$x]->[$y]->{weight}->[2])), ); } exit; 1;
それから
use YourClass; my $net = AI::NeuralNet::Kohonen::Visual->new( display => 'hex', map_dim => 39, epochs => 19, neighbour_factor => 2, targeting => 1, table => "3 1 0 0 red 0 1 0 yellow 0 0 1 blue 0 1 1 cyan 1 1 0 yellow 1 .5 0 orange 1 .5 1 pink", ); $net->train; $net->plot_map; $net->main_loop; exit;
AI::NueralNet::Kohonen 用の Tk ベースの可視化を提供する。
AI::NeuralNet::Kohonen::Demo::RGB を置換する。
これは Tk を利用して外部メソッドを実装する AI::NeuralNet::Kohonen のサブクラスである。
本モジュールはサブクラスとして提供されることを想定しており、メソッド get_colour_for のバージョンを提供している。詳しくはメソッド get_colour_for 及び概要を見よ。
CONSTRUCTOR (new)
以下のパラメータフィールドを基本モジュールフィールドの追加する。
train
Tk によるマップ表示のために基本クラスをオーバライドする。
get_colour_for
本メソッドはサブクラス化されることを意図している。
現在では重みベクトルの最初の3要素のみを捜査し、RGB 値に変換する。
マップパラメータの位置 x, y における Tk における色を返す。
マップにおける座標 x, y を受け入れる。
prepare_display
メソッド create_empty_map を見よ。
create_empty_map
空のマップとして扱うように TK MainWindow 及び Canvas を設定する。
plot_map
既存の canvas にマップをプロットする。引数としてはオプションで以下のキーをハッシュとして取る。
bmu_x 及び bmu_y の値は hicol における値を用いてハイライトするために単位の x 及び y 座標を示す。hicolo が指定されなければデフォルトの赤に設定される。
本メソッドは呼び出されると、オブジェクトフィールドにフラグ plotted を立てる。現在では main_loop がこのルーチンから呼ばれることを禁止している。メソッド get_colour_for を見よ。
label_map
マップ上にテキストラベルを置く。ただしい最初の2つのパラメータで指定される x, y 座標に、3つめのパラメータで指定されるテキストを用いて表示する。
マップ上にテキストがどのように表示されるかのチェックは行っていないので注意すること。
main_loop
ユーザが閉じるまでウィンドウをオープンしたままにするために TK の MainLoop を維持する。
Copyright (C) Lee Goddard, 2003. All Rights Reserved.
Perl 本体と同等の条件で利用可能である。
![]() |
Updated : 2006/12/15 |