タグ

ブックマーク / hachi-ukkari.hatenadiary.org (4)

  • 線形クラス分類用トレーニングデータ生成 - 泥船

    対象関数、データ範囲、ノイズはYAMLで読み込む。対象関数の次元とかノイズを抽象化して、イケてる感じに書けないかしら。 DataFactory.pl use strict; use warnings; #use Data::Dumper; my $factory = new DataFactory($ARGV[0]); for(my $i = 0; $i < 10000; $i++){ my $data = $factory->data(); if($$data[2] == 0){ print $$data[0] . ", " . $$data[1] . ", " . $$data[2] . "\n"; } } ################################## # トレーニングデータ生成クラス { package DataFactory; use YAML; sub n

    線形クラス分類用トレーニングデータ生成 - 泥船
  • 線形クラス分類 - 泥船

    サポートベクターマシン入門 作者: ネロクリスティアニーニ,ジョンショー‐テイラー,Nello Cristianini,John Shawe‐Taylor,大北剛出版社/メーカー: 共立出版発売日: 2005/03/01メディア: 単行購入: 8人 クリック: 135回この商品を含むブログ (42件) を見るこのを読みながら例題(線形クラス分類、パーセプトロン、主形式)をPerlで実装。ノイズを入れてないのに正答率が97%どまりなのは何故に。 use strict; use warnings; use Data::Dumper; my $trainingDataContainer = new DataContainer($ARGV[0]); my $testDataContainer = new DataContainer($ARGV[1]); my $perceptron = new

    線形クラス分類 - 泥船
  • PerlでCommandパターン - 泥船

    Receiverクラスが実装。ReceiverクラスをCommandクラスでラップして実装をカプセル化。CommandクラスはAdapterパターン的に利用する。 ContextからRecieverを分離するため、Invokerを通じてCommandオブジェクトを呼び出す。下のプログラムにはないけど、InvokerへのCommandのセットをInvokerFactory的なクラスにまかせると、Contextの分離がよりハッキリする。 use strict; use warnings; use Data::Dumper; my $invoker = new Invoker(); my $fireReceiver = new Receiver("fire!"); my $fireCommand = new ConcreteCommand($fireReceiver); $invoker->se

    PerlでCommandパターン - 泥船
  • ■ - 泥船

    N($mean, $deviation^2)なる正規分布に従った乱数生成。一様乱数はメルセンヌツイスタ。 任意の確率分布の乱数をしたい場合は、、、確か逆関数法とか棄却法とかで頑張るんだった気が。 use strict; use warnings; use Math::Random::MT qw(rand srand); use Math::Trig; srand(1); my $mean = 10.0; my $deviation = 1.0; my $numData = 10000; my @data; for(my $i = 0; $i < $numData; $i++){ my $rnd = normalRnd($mean, $deviation); push(@data, $rnd); print "$rnd\n"; } sub normalRnd{ my ($mean, $dev

    ■ - 泥船
  • 1