代码之家  ›  专栏  ›  技术社区  ›  dave mankoff

定位分析中神经网络的建立

  •  2
  • dave mankoff  · 技术社区  · 15 年前

    我的第一个倾向是将状态表示为0-49之间的数值,然后有一个只有3个左右输入的网络。然而,我发现,我的训练从来没有集中在一个有用的价值上。我假设这是因为状态的值是完全任意的——MA的值39与CA的值38没有关系,特别是当37代表跳回到CT时。

    我有更好的办法吗?我是否应该创建一个包含100多个输入的网络,表示源和目标状态的布尔值?

    1 回复  |  直到 15 年前
        1
  •  1
  •   Nate Kohl    15 年前

    我认为你关于将不同状态表示为连续整数的困难的直觉是正确的——这种表示将大量信息压缩到每个输入中。这意味着你的网络可能需要学习很多关于如何将信息解码成事实的知识,这些事实实际上对解决你的问题是有用的。

    每个输入一个状态,使用布尔输入,可能会有帮助。这将使网络更容易找出你所说的两个州。当然,这种方法不一定能让网络很容易地学习到有用的事实,比如哪些状态彼此相邻。

    方便您提供 这也可能 . 例如,如果州的物理布局对解决您的问题很重要(即CT与NY相邻,NY与PA相邻),那么您也许可以将国家划分为多个区域(如西北、东南、中西部),并为每个区域提供布尔输入。

    将这样的一些输入方案输入到一个网络中可以允许您使用(潜在的)更有用的表示来指定一个状态:您可以说(例如)“它是 最北端的州 触动 超过五个邻国 ".

    如果网络发现确定两个状态是否接近是有用的,这种表示可能会使学习速度加快一点——只要比较两个状态的“区域”输入,网络就可以大致了解两个状态是否接近。检查两个区域输入是否相等要比记住状态39接近状态38、21、7和42容易得多。