Matlab中的神经网络.添加大型学习模式



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

有什么问题吗?

我必须使用matlab创建一个神经网络,该网络将具有近25k输入和10个输出。还有300种图案可以学习。

当我在matlab中阅读有关神经网络的信息时,我看到所有输入/学习数据都在一个矩阵中。对于xor或这么小的东西是可以的。然后我意识到我必须创建一个包含25000 * 300个元素的矩阵( 7,500万个整数)。

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处理矩阵的大小。不过,我确实有些意见可能与这个问题有关。

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

在没有足够的数据用于特征数量的情况下,您可以将其视为保证过拟合,因为每个数据点将唯一地位于特征空间中并且广泛分离。

你考虑过特征缩减吗?这将解决您的Matlab问题,并可能提高您的ANN的性能。

最新更新