Perlで単純パーセプトロンを実装するのに必要そうなPDLの勉強
機械学習の数学についていけていない!!
下の実装をPDLに移植できればいいのだが・・
lang/perceptron.pl at 7b840c059c0d783cab9b133c9199c8a2e8e72324 · fujimizu/lang · GitHub
PDLを少しずつ学んでいこう。そこからだ。
zeros
pdl> $a = zeros (3) pdl> print$a [0 0 0]
*=-1
pdl> $a = pdl(1,1,1); pdl> $a *= -1; pdl> print $a; [-1 -1 -1]
+=
pdl> $a = (1,2,3); pdl> $a = pdl(1,2,3); pdl> $b = pdl(4,5,6); pdl> $a += $b; pdl> print $a; [5 7 9]
内積(Inner Product)
use strict; use warnings; use PDL; my $pdl1 = pdl [2, 4, 7]; my $pdl2 = pdl [4, 4, 7]; my $inner_product = ($pdl1 * $pdl2)->sum; warn($inner_product);
append
pdl> $a = pdl(1); pdl> $b = pdl(2,3,4); pdl> print $a->append($b); [1 2 3 4]
nelem
pdl> $a = pdl(1,2,3) pdl> print nelem($a); 3 pdl> $a = pdl(1,2,3,4,5) pdl> print nelem($a); 5
そんな感じで、移植した結果がこちらとりあえずテストも通っておりますので
移植成功かな?
PDL便利です。