【问题标题】:Neural Networks in Matlab. Adding large learning patternsMatlab 中的神经网络。添加大型学习模式
【发布时间】:2013-05-08 22:43:20
【问题描述】:

我是 matlab 新手,我找不到解决问题的方法...

有什么问题?

我必须使用 matlab 创建一个具有近 25k 输入和 10 个输出的神经网络。还有 300 种模式可供学习。

当我在 matlab 中阅读有关神经网络的信息时,我看到所有输入/学习数据都在一个矩阵中。 xor 或类似的小东西没关系。然后我意识到我必须创建包含 25 000 * 300 个元素(7,5 百万个整数)的矩阵。

1) 是否有可能通过添加新行(学习模式)来扩展矩阵?

2) 或者它可能是这样的:

learnPatternMatrix1 = [1, 2, 3 , ..., 25 000];
perfectOutputMatrix1 = [1, 2, 3, ... , 10];

network.addPattern(learnPatternMatrix1, perfectOutputMatrix1);
network.addPattern(learnPatternMatrix2, perfectOutputMatrix2);
% ...
network.addPattern(learnPatternMatrix300, perfectOutputMatrix300);
network.learn()?

感谢您的帮助;)

【问题讨论】:

    标签: matlab neural-network


    【解决方案1】:

    很抱歉,我没有让 Matlab 处理这种大小的矩阵的答案。不过,我确实有一些可能与问题相关的 cmets。

    与大多数机器学习算法一样,神经网络在特征(输入)数量多于数据点数量时不太可能表现良好。除非您的数据点比您描述的 250,000 个特征多一个或两个数量级,否则这种方法可能行不通。你好像只有300箱。即使支持向量机,据说对这个问题很健壮,在这些条件下也不太可能表现良好。

    如果没有足够的数据来表示特征数量,您可以将其视为保证过拟合,因为每个数据点的位置都是唯一的,并且在特征空间中相距甚远。

    您是否考虑过减少特征?这将解决您的 Matlab 问题,并且可能会提高您的 ANN 的性能。

    【讨论】:

    • 好消息 - 我甚至可以将输入减少到 10,000。
    猜你喜欢
    • 2011-08-17
    • 1970-01-01
    • 2016-07-11
    • 1970-01-01
    • 2017-02-28
    • 2016-05-25
    • 2019-03-15
    • 2020-10-29
    • 1970-01-01
    相关资源
    最近更新 更多