まず、これは間違いなく宿題です (したがって、完全なコード サンプルはありません)。それは言った...
Matlab のニューラル ネットワーク ツールボックスを使用して、教師ありアルゴリズムの隣に教師なしアルゴリズムをテストする必要があります。データセットはUCI人工文字データベースです。問題は、私は教師ありアルゴリズムに関する優れたチュートリアルを持っていたのに、教師なしアルゴリズムに取り残されたことです。
を使用して自己組織化マップを作成する方法を知っているので、 を使用し selforgmap
てそれをトレーニングしtrain(net, trainingSet)
ます。次に何をすべきかわかりません。私が与えたデータが(うまくいけば)10個のクラスター(文字ごとに1つ)にクラスター化されていることを知っています。
次に2つの質問:
- 次に、クラスターにラベルを付けるにはどうすればよいですか (比較パターンがある場合)。
- これを行うとき、これを教師あり学習の問題に変えようとしていますか?
- 教師ありアルゴリズムと比較するために、(別の) テスト セットで混同行列を作成するにはどうすればよいですか?
ここでは、概念的または専門用語に基づいた何かが欠けていると思います。私の検索はすべて、教師あり学習手法を思いつきます。正しい方向へのポイントは大歓迎です。私の既存のコードは以下の通りです:
P = load('-ascii', 'pattern');
T = load('-ascii', 'target');
% data needs to be translated
P = P';
T = T';
T = T(find(sum(T')), :);
mynet = selforgmap([10 10]);
mynet.trainparam.epochs = 5000;
mynet = train(mynet, P);
P = load('-ascii', 'testpattern');
T = load('-ascii', 'testtarget');
P = P';
T = T';
T = T(find(sum(T')), :);
Y = sim(mynet,P);
Z = compet(Y);
% this gives me a confusion matrix for supervised techniques:
C = T*Z'