【发布时间】:2018-09-29 05:16:47
【问题描述】:
如何在 Neupy 或 Theano 中实现自定义激活函数(RBF 内核,通过梯度下降调整均值和方差)以用于 Neupy。
{快速背景:梯度下降适用于网络中的每个参数。我想制作一个包含优化特征参数的特殊特征空间,所以 Neupy}
我认为我的问题在于参数的创建、它们的大小以及它们是如何连接的。
感兴趣的主要功能。
激活函数类
class RBF(layers.ActivationLayer):
def initialize(self):
super(RBF, self).initialize()
self.add_parameter(name='mean', shape=(1,),
value=init.Normal(), trainable=True)
self.add_parameter(name='std_dev', shape=(1,),
value=init.Normal(), trainable=True)
def output(self, input_value):
return rbf(input_value, self.parameters)
RBF函数
def rbf(input_value, parameters):
K = _outer_substract(input_value, parameters['mean'])
return np.exp(- np.linalg.norm(K)/parameters['std_dev'])
造型功能?
def _outer_substract(x, y):
return (x - y.T).T
我们将非常感谢您的帮助,因为这将提供有关如何自定义 neupy 网络的深刻见解。至少可以说,该文档可能会在某些领域使用一些工作......
【问题讨论】:
标签: python machine-learning theano neupy