【问题标题】:Neural Network Inputs and Outputs to meaningful values神经网络输入和输出到有意义的值
【发布时间】:2011-02-09 21:09:39
【问题描述】:

我正在尝试确定如何将我的“有意义的输入”转换为人工神经网络的数据,以及如何将输出转换为“有意义的输出”。

我总能看到这样做的方法是将所有内容转换为具有二进制值的类别。

例如,不是输出年龄,而是用 0-1 表示

与输入相同,例如,我可能会使用头发颜色。将其转换为 Blonde 0-1、Brown 0-1 等的输入的唯一方法是什么?

我是否错过了 ANN 的一些完整主题?我阅读的大多数书籍和类似书籍都使用理论示例。

【问题讨论】:

    标签: neural-network


    【解决方案1】:

    您的示例非常准确,被称为离散化。另一种方法是将连续输入/输出缩放到 0-1 范围。对于您的其他头发颜色示例,这将是一个名义属性,因此唯一真正的选择是将其离散化为每种颜色的单独输入。

    【讨论】:

    • 我认为可能是这种情况。我调整了输入的年龄,但对于头发颜色等问题,我很高兴至少有其他人看到了与我相同的解决方案。 :)(但知道正确的术语:))
    • 其实我一直在思考这个问题,也不确定要不要跨年。如果我理解正确,缩放将无法处理不寻常的峰值(例如 20 岁左右的峰值和 40 岁左右的另一个峰值,中间有一个下降)。这是另一个要求离散化的呼吁吗?
    • 有不同的方法来缩放连续值。我认为线性缩放会保留“峰值”,但你必须为你的年龄建立一个界限。例如,您可以将最小年龄设置为 0(出于显而易见的原因),最大年龄设置为 100,这样 50 岁的年龄将变为 0.5。如果您使用对数缩放,则无需设置明确的界限,但您的分布可能会失真,使得 NN 更难理解它。
    • 只是补充一点,这也称为“binning”,因为您将值放入“bins”并且经常用于图像处理,因此您可能可以从图像处理库中获取一些源代码示例。
    猜你喜欢
    • 2010-10-13
    • 2014-07-05
    • 2017-03-16
    • 1970-01-01
    • 2012-10-05
    • 2017-04-10
    • 2015-02-23
    相关资源
    最近更新 更多