1

自己組織化マップ ニューラル ネットワークのコードを書きながら、各ニューロンの重みと各トレーニング入力の間のユークリッド距離を見つけるためのコードレットを書きました。次に、 compet 関数を使用して、最大距離値が 1 で残りがゼロの要素を作成しました (疎行列)。

つまり、各行には少なくとも 1 つの要素が 1 である必要があります。しかし、find 関数を使用して各行でそのような要素のインデックスを見つけるループを実行すると、空の行列が得られました。これがコードの抜粋です。

euc=negdist(cluster,x_train);
comp=compet(euc);
for i=1:10
ind=find(comp(i,:)==1);
m=mean(x_train(:,ind),2);
label(ind)=i;
4

1 に答える 1

1

この関数は、各行ではなく、各に が含まれていることが保証されているcompet0 と 1 の行列を返します。コードでは、行を使用してを抽出していますが、それらの行の一部には行がないため、 を返します。インデックスを に交換する必要があります。1comp(i,:)find[]comp(:,i)

また、その後に使用するインデックスを再x_train確認して、それらが反転していないことを確認します。

于 2016-12-06T18:52:51.833 に答える