首先,这肯定是功课(所以请不要完整的代码示例)。那就是说...
我需要使用 Matlab 中的神经网络工具箱测试监督算法旁边的无监督算法。数据集是UCI 人工字符数据库。问题是,我有一个关于监督算法的很好的教程,却被无监督地淹没了。
所以我知道如何使用 . 创建自组织地图 selforgmap
,然后使用train(net, trainingSet)
. 我不明白接下来要做什么。我知道它把我给它的数据聚集成(希望)10个集群(每个字母一个)。
那么两个问题:
- 然后我如何标记集群(假设我有一个比较模式)?
- 当我这样做时,我是否试图将其变成一个监督学习问题?
- 如何在(另一个)测试集上创建混淆矩阵以与监督算法进行比较?
我想我在这里遗漏了一些基于概念或行话的东西——我所有的搜索都提出了监督学习技术。一个正确方向的观点将不胜感激。我现有的代码如下:
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'