【问题标题】:Qualitative Classification in Neural Network on WekaWeka 上神经网络中的定性分类
【发布时间】:2014-09-26 00:25:26
【问题描述】:

我有一个训练集,其中输入向量是速度、加速度和转角变化。输出是一个清晰的类——来自给定集合 {rest, walk, run} 的活动状态。例如,对于输入向量 [3.1 1.2 2]-->run ; [2.1 1 1]-->步行等等。

我正在使用 weka 开发神经网络模型。我将输出定义为清晰的输出(或者更确切地说是单词中的定性输出 - 分类值)。训练模型后,模型可以公平地对测试数据进行分类。

我想知道内部流程(映射功能)是如何发生的?定性输出状态是否在模型中获得了一些名义值,并且在处理后再次转换为分类数据?因为 NN 模型无法通过隐藏神经元将浮点输入值映射到分类数据,所以实际上发生了什么,尽管模型工作正常。

如果模型将分类输出转换为名义输出然后开始处理,那么它在什么基础上将分类值转换为一些任意数值?

【问题讨论】:

    标签: machine-learning neural-network weka


    【解决方案1】:

    是的,分类值通常被转换为数字,并且网络学会将输入数据与这些数字相关联。然而,这些数字通常被进一步编码,而不是仅使用单个输出神经元。对于无序标签,最常见的方法是添加专用于每个类别的虚拟输出神经元并使用 1-of-C 编码,以 0.10.9 作为目标值。使用Winner-take-all 范式解释输出。

    仅使用一个神经元并为无序标签编码具有不同数字的类别通常会导致问题 - 因为网络会将中间类别视为边界类别的“平均值”。但是,如果您有有序分类数据,这有时可能是需要的。

    您可以在在线Neural Network FAQ 的这一部分找到对此问题的很好解释。

    【讨论】:

      【解决方案2】:

      神经网络的计算都发生在连续值上。为了使用离散输出进行多类分类,它的最后一层会生成一个包含此类值的向量,每个类一个。要进行离散类预测,请获取该向量中最大元素的索引。

      因此,如果四个类别的分类网络中的最后一层预测 [0 -1 2 1],则向量的第三个元素最大,并选择第三个类别。通常,这些值还通过softmax 激活函数被约束以形成概率分布。

      【讨论】:

      • 获取最大元素的索引是什么意思?能举个简单的例子吗?
      • @user26161 在向量(0 .5 .4 .1)中,第二个元素最大,所以最大值的索引是2。
      猜你喜欢
      • 2019-07-17
      • 2019-11-26
      • 1970-01-01
      • 2012-10-08
      • 2013-11-20
      • 1970-01-01
      • 2012-07-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多