【问题标题】:Learning vector quantization doesn't work well in matlab学习向量量化在matlab中效果不佳
【发布时间】:2017-04-16 01:24:52
【问题描述】:

我想使用学习向量量化 (LVQ) 将 F_CK 数据分为 7 个类别。 当我使用 MLP 时,误差约为 15% 。但是当我使用 LVQ 时,错误大约是 75% :( 我看到 LVQ 只对一个类进行了很好的分类,但没有对其他类进行分类。

我的代码:

data = load('F_CK+');
x = data.X';
y_data = data.Y';
t = ind2vec(y_data);    
net = lvqnet(4,0.1,'learnlv2');
net.divideFcn = 'dividerand'; 
net.divideMode = 'sample';  
net.divideParam.trainRatio = 85/100;
net.divideParam.valRatio = 15/100;
net.divideParam.testRatio = 0/100;
net.trainParam.epochs = 15;
net = train(net, x, t);
y = net(x);
classes = vec2ind(y);
figure, plotconfusion(t,y);

我的结果的混淆矩阵。

FC_K

谁能帮助我,为什么这个网络只分类一个类,我的错是什么?

数据集链接:

https://dl.dropboxusercontent.com/u/100069389/File/Stackoverflow/F_CK.rar

https://mega.nz/#!J8ES1DRS!NZwDsD0FFojeZiI-OpORzxGLbMp9rx0XKsfOvGDOaR0

【问题讨论】:

  • 它也可能取决于使用哪个版本的 LVQ matlab。大多数各种语言的库都更喜欢 LVQ2,因为它达到了准确性和简单性之间的最佳平衡点,使用 LVQ2 进行多类分类有点棘手。

标签: matlab neural-network classification


【解决方案1】:

我不知道我的错是什么,但我做了一些提高分类准确性的事情。 1. 规范化-1到1之间的数据 2. 将子类/LVQ 神经元增加到 64 个,以覆盖所有图像类。

据我所知,LVQ 网络必须比 MLP 更准确,但我的 LVQ 准确率提高到 80%。

【讨论】:

    猜你喜欢
    • 2016-03-28
    • 1970-01-01
    • 1970-01-01
    • 2016-05-19
    • 1970-01-01
    • 2012-10-31
    • 2020-04-21
    • 2017-05-17
    • 1970-01-01
    相关资源
    最近更新 更多