Location : Home > Languages > Perl > Package
Title : AI::NeuralNet::Kohonen::Visual
Toolbox Logo

名称

 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 本体と同等の条件で利用可能である。

Toolbox Logo
Updated : 2006/12/15