Machine learning 为Weka中的XOR案例培训多层感知器的分步指南?

Machine learning 为Weka中的XOR案例培训多层感知器的分步指南?,machine-learning,neural-network,weka,xor,Machine Learning,Neural Network,Weka,Xor,我刚开始学习Weka,第一步有困难 我们有我们的训练设备: @relation PerceptronXOR @attribute X1 numeric @attribute X2 numeric @attribute Output numeric @data 1,1,-1 -1,1,1 1,-1,1 -1,-1,-1 @关系感知器 @属性X1数值 @属性X2数值 @属性输出数字 @资料 1,1,-1 -1,1,1 1,-1,1 -1,-1,-1 我想做的第一步就是训练,然后使用WEKAGUI对集

我刚开始学习Weka,第一步有困难

我们有我们的训练设备:

@relation PerceptronXOR @attribute X1 numeric @attribute X2 numeric @attribute Output numeric @data 1,1,-1 -1,1,1 1,-1,1 -1,-1,-1 @关系感知器 @属性X1数值 @属性X2数值 @属性输出数字 @资料 1,1,-1 -1,1,1 1,-1,1 -1,-1,-1 我想做的第一步就是训练,然后使用WEKAGUI对集合进行分类。 到目前为止我一直在做的事情:

使用Weka 3.7.0

  • 启动GUI
  • 探险家
  • 打开文件->选择我的arff文件
  • 分类选项卡
  • 使用“训练集”单选按钮
  • 选择->函数>多层感知器
  • 单击顶部的“多层感知器”文本打开设置
  • 将隐藏层设置为“2”。(如果gui选择为true,则表明这是我们想要的正确网络)。单击“确定”
  • 单击开始 产出:

    === Run information === Scheme: weka.classifiers.functions.MultilayerPerceptron -L 0.3 -M 0.2 -N 500 -V 0 -S 0 -E 20 -H 2 -R Relation: PerceptronXOR Instances: 4 Attributes: 3 X1 X2 Output Test mode: evaluate on training data === Classifier model (full training set) === Linear Node 0 Inputs Weights Threshold 0.21069691964232443 Node 1 1.8781169869419072 Node 2 -1.8403146612166397 Sigmoid Node 1 Inputs Weights Threshold -3.7331156814378685 Attrib X1 3.6380519730323164 Attrib X2 -1.0420815868133226 Sigmoid Node 2 Inputs Weights Threshold -3.64785119182632 Attrib X1 3.603244645539393 Attrib X2 0.9535137571446323 Class Input Node 0 Time taken to build model: 0 seconds === Evaluation on training set === === Summary === Correlation coefficient 0.7047 Mean absolute error 0.6073 Root mean squared error 0.7468 Relative absolute error 60.7288 % Root relative squared error 74.6842 % Total Number of Instances 4 ==运行信息=== 方案:weka.classifiers.functions.MultilayerPerceptron-L0.3-M0.2-N500-V0-S0-E20-H2-R 关系:感知机 实例:4 属性:3 X1 X2 输出 测试模式:根据培训数据进行评估 ==分类器模型(完整训练集)=== 线性节点0 输入权重 阈值0.21069691964232443 节点1 1.8781169869419072 节点2-1.8403146612166397 乙状结1 输入权重 阈值-3.73311568143786885 属性X1 3.6380519730323164 属性X2-1.0420815868133226 乙状结2 输入权重 阈值-3.64785119182632 属性X1 3.603244645539393 属性X2 0.9535137571446323 等级 输入 节点0 生成模型所用的时间:0秒 ==对训练集的评估=== ==摘要=== 相关系数0.7047 平均绝对误差0.6073 均方根误差0.7468 相对绝对误差60.7288% 相对平方根误差74.6842% 实例总数4 奇怪的是,0.3的500次迭代没有得到错误,但是5000次@0.1得到了错误,所以让我们继续吧

    现在使用测试数据集:

    @relation PerceptronXOR @attribute X1 numeric @attribute X2 numeric @attribute Output numeric @data 1,1,-1 -1,1,1 1,-1,1 -1,-1,-1 0.5,0.5,-1 -0.5,0.5,1 0.5,-0.5,1 -0.5,-0.5,-1 @关系感知器 @属性X1数值 @属性X2数值 @属性输出数字 @资料 1,1,-1 -1,1,1 1,-1,1 -1,-1,-1 0.5,0.5,-1 -0.5,0.5,1 0.5,-0.5,1 -0.5,-0.5,-1
  • “提供的测试集”单选按钮
  • 选择我的测试集arff
  • 单击开始
  • ==运行信息=== 方案:weka.classifiers.functions.MultilayerPerceptron-L0.1-M0.2-N5000-V0-S0-E20-H2-R 关系:感知机 实例:4 属性:3 X1 X2 输出 测试模式:用户提供的测试集:大小未知(增量读取) ==分类器模型(完整训练集)=== 线性节点0 输入权重 阈值-1.2208619057226187 节点1 3.1172079341507497 节点2-3.212484459911485 乙状结1 输入权重 阈值1.091378074639599 属性X1 1.8621040828953983 属性X2 1.800744048145267 乙状结2 输入权重 阈值-3.372580743113282 属性X1 2.9207154176666386 属性X2 2.576791630598144 等级 输入 节点0 构建模型所需时间:0.04秒 ==对测试集的评估=== ==摘要=== 相关系数0.8296 平均绝对误差0.3006 均方根误差0.6344 相对绝对误差30.0592% 相对平方根误差63.4377% 实例总数8 为什么不能正确地对这些进行分类

    是否只是因为它在训练数据上很快达到了局部最小值,并且不“知道”这并不适合所有情况

    问题

  • 为什么500@0.3不起作用?对于这样一个简单的问题来说似乎很奇怪
  • 为什么它在测试集上失败
  • 如何传入集合进行分类
    对于这两个示例,使用0.5的学习率进行500次迭代。 学习率就是它对新例子的重视程度。
    显然,这个问题很难解决,而且很容易在有两个隐藏层的情况下得到局部极小值。如果使用低学习率和高迭代次数,学习过程将更加保守,更有可能达到良好的最小值。

    1。如果学习率太高,它就不会收敛。即使是0.1也有点大。 === Run information === Scheme: weka.classifiers.functions.MultilayerPerceptron -L 0.1 -M 0.2 -N 5000 -V 0 -S 0 -E 20 -H 2 -R Relation: PerceptronXOR Instances: 4 Attributes: 3 X1 X2 Output Test mode: user supplied test set: size unknown (reading incrementally) === Classifier model (full training set) === Linear Node 0 Inputs Weights Threshold -1.2208619057226187 Node 1 3.1172079341507497 Node 2 -3.212484459911485 Sigmoid Node 1 Inputs Weights Threshold 1.091378074639599 Attrib X1 1.8621040828953983 Attrib X2 1.800744048145267 Sigmoid Node 2 Inputs Weights Threshold -3.372580743113282 Attrib X1 2.9207154176666386 Attrib X2 2.576791630598144 Class Input Node 0 Time taken to build model: 0.04 seconds === Evaluation on test set === === Summary === Correlation coefficient 0.8296 Mean absolute error 0.3006 Root mean squared error 0.6344 Relative absolute error 30.0592 % Root relative squared error 63.4377 % Total Number of Instances 8