我试图从Weka Rapidminer插件中实现W-Multilayer Perceptron。当我在我的数据集中运行它时,需要大约1.5小时才能完成一个简单的5层感知器训练。
然而,虽然当我将Perceptron放在验证操作符上时它似乎正常工作,但它会在验证阶段停滞不前,消耗越来越多的内存。我让它在夜间运行,它已经存在了15个小时。对我而言没有意义,因为在创建模式之后,应用它不应该花费太多时间。知道这种运作方式的人是否可以告诉我发生了什么?
我使用运算符的方式如下,在我的方案中,它直接连接到一个read数据库运算符,它们之间只有set role运算符。
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<process version="5.3.008">
<context>
<input/>
<output/>
<macros/>
</context>
<operator activated="true" class="process" compatibility="5.3.008" expanded="true" name="Process">
<process expanded="true">
<operator activated="true" class="split_validation" compatibility="5.3.008" expanded="true" height="112" name="Validation (6)" width="90" x="45" y="120">
<process expanded="true">
<operator activated="true" breakpoints="after" class="weka:W-MultilayerPerceptron" compatibility="5.3.001" expanded="true" height="76" name="W-MultilayerPerceptron" width="90" x="69" y="30">
<parameter key="N" value="100.0"/>
<parameter key="S" value="30.0"/>
<parameter key="H" value="5"/>
</operator>
<connect from_port="training" to_op="W-MultilayerPerceptron" to_port="training set"/>
<connect from_op="W-MultilayerPerceptron" from_port="model" to_port="model"/>
<portSpacing port="source_training" spacing="0"/>
<portSpacing port="sink_model" spacing="0"/>
<portSpacing port="sink_through 1" spacing="0"/>
</process>
<process expanded="true">
<operator activated="true" class="apply_model" compatibility="5.3.008" expanded="true" height="76" name="Apply Model (6)" width="90" x="45" y="30">
<list key="application_parameters"/>
</operator>
<operator activated="true" class="performance" compatibility="5.3.008" expanded="true" height="76" name="Performance (6)" width="90" x="147" y="30"/>
<connect from_port="model" to_op="Apply Model (6)" to_port="model"/>
<connect from_port="test set" to_op="Apply Model (6)" to_port="unlabelled data"/>
<connect from_op="Apply Model (6)" from_port="labelled data" to_op="Performance (6)" to_port="labelled data"/>
<connect from_op="Performance (6)" from_port="performance" to_port="averagable 1"/>
<portSpacing port="source_model" spacing="0"/>
<portSpacing port="source_test set" spacing="0"/>
<portSpacing port="source_through 1" spacing="0"/>
<portSpacing port="sink_averagable 1" spacing="0"/>
<portSpacing port="sink_averagable 2" spacing="0"/>
</process>
</operator>
<portSpacing port="source_input 1" spacing="0"/>
<portSpacing port="sink_result 1" spacing="0"/>
</process>
</operator>
</process>