如何在MATLAB中计算MLP或SVM中的平均输出概率

时间:2014-08-12 05:13:33

标签: matlab statistics neural-network svm probability

我有一个系统,可以在每个插入数据库的财务问题中找到最佳模型(MLP / SVM的最佳输入和参数)模型,并为特定数据样本创建特定模型。我正在使用5倍交叉验证,重复5次(以提高我的系统的可靠性)以获得我的优化算法的成本函数。所以最后我将找到最好的25个模型,现在将用于样本外数据。 / p>

当我在这些25个模型中插入样本数据时,我的输出略有不同(我有一个可以产生概率的分类MLP模型)。这是产出之一:

0.380032703, 0.356491904, 0.369914169, 0.377588996, 0.425321986 ,0.382467546, 0.341404809, 0.538460421, 0.353585952, 0.332340499, 0.36827261, 0.369171894, 0.329522399, 0.398054125, 0.360501952, 0.406897298, 0.480889919, 0.403619213, 0.406236551, 0.422529236, 0.393108809, 0.309808029, 0.357776713, 0.337373411, 0.397259506

如您所知,这些输出具有不同的数据部分作为训练集和用于创建模型的测试集。输入和参数等其他内容是相同的。我应该只有一个概率可用于任何输出样本。我的方法是使用平均值。我希望您的建议能够从这些概率中创建一个强大的概率。当我检查其他样本输出时,在很多情况下差异很小但在某些情况下概率之间的差异很大。

您对此问题的看法是什么?

感谢。

1 个答案:

答案 0 :(得分:0)

您应该根据您认为生成输出的模型的正确程度来对输出进行加权。如果您没有理由选择任何模型,那么它们都具有相同的权重(即1 /(模型数)),组合输出只是单个输出的平均值。