我正在开发使用神经网络的应用程序。目前,我正在尝试将其放入基于SQL的关系数据库(可能是SQL Server)或图形数据库中。
从性能的角度来看,神经网络将非常大。
我的问题:
最佳答案
这取决于模型进展的意图。
免责声明
首先,我需要否认我只对Kohonnen map 熟悉。 (因此,我承认被Kohonnen mock 为仅仅是几乎没有神经网络的任何事物的入门级。)上述问题是我多年来个人心理剥削的结果,这些剥削是我在随机且低学历的阅读之后幻想化的结果。各种神经素。
类别vs参数vs属性
我们可以按车轮数或吨数对车辆进行分类吗?车轮数量或吨位应为属性,参数或类别特征。
了解此辩论是构建存储库的关键步骤。这场辩论与疾病和患者媒介特别相关。我已经看到了由医学专家设计的患者信息关系图式,但是显然没有在信息科学方面进行大量培训,因此为每个患者假定了一组通用的参数。每个患者记录都有数千列,大部分未使用。并且当它们超过表的列限制时,它们将创建一个新表,其中包含成千上万个稀疏使用的列。
阅读EAV模型以了解参数与属性的问题。在EAV表中,节点仅需要三个特征列:
但是,在技术的约束下,属性可以是数字,字符串,可枚举或类别。因此,将有四个以上的属性表,每个值类型一个,还有节点表:
顺序/链接访问与哈希/直接地址访问
您是否必须直接访问各个节点而不是遍历结构树才能快速到达节点?
您是否需要查找已获得特定特征(一组属性)的节点的列表,而不管它们在网络上的拓扑位置如何?您是否需要在网络的节点上执行分类(即主成分分析)?
状态机
您是否希望将网络区域视为状态机的集合?
状态机是非常有用的量化实体。状态机量化可帮助您根据邻域相似性和关系在一系列节点上形成经验实体。
与其尝试理解和跟踪数百万个节点的个别行为,不如将它们归为相似区域。并跟踪这些区域的状态机流。
结论
这是我的建议。您应该首先使用完全关系数据库。原因是关系数据库和关联的SQL以非常宽松的关系 View 提供信息。使用关系模型上的SQL,您可以查询或关联不存在的关系。
随着实验的进行,您可能会发现某些关系建模更适合于网络图存储库,然后应将架构的那些部分移至此类合适的存储库。
处于最终状态。我会维护一个双模式信息仓库。您维护一个关系存储库以跟踪节点及其属性。因此,您将动态变异结构存储在网络图存储库中,但是每个节点都引用关系数据库中的节点ID。关系数据库允许您根据属性及其值查询节点的位置。例如,
SELECT id FROM Nodes a, NumericAttributes b
WHERE a.attributeName = $name
AND b.value WItHIN $range
AND a.id = b.id
我在想,也许可以使用hadoop代替传统的网络图数据库。但是,我不知道hadoop如何适应动态变化的关系。我的理解是hadoop适合一次写入多次读取。但是,动态神经网络在频繁的关系更改中可能效果不佳。然而,对网络关系建模的关系表效率不高。
尽管如此,我相信我只暴露了您需要考虑的问题,而不是为您提供明确的答案,尤其是对许多概念的生锈知识。