正如问题所述,我希望训练一个权重为复数的神经网络。使用默认的scikit-learn网络并在此基础上进行修改(编辑源代码),我遇到的主要问题是scikit-learn中使用的优化函数来自scipy,这些函数仅支持输入为实数的函数的数值优化。
scikit-learn似乎在神经网络方面表现不佳,特别是如果你希望分叉并编辑结构时,它显得相当不灵活。
正如我在某篇论文中注意到并阅读到的那样,我需要更改诸如误差函数之类的东西,以确保在最高层面上误差保持在实数域内,否则问题将变得不明确。
我的问题是,是否有任何标准库已经可以做到这一点?或者我可以对lasagne或tensorflow进行一些简单的调整来救急?
P.S. : 抱歉没有发布任何工作代码。这是一个很难按照stackoverflow标准格式化的问题,我承认这可能偏离了主题,如果是这样的话,我深表歉意。
回答:
最简单的方法是将你的特征分成实部和虚部。我曾用leap motion的向量输入做过类似的工作,如果你将向量分解成它们的组成轴,这会显著简化事情。