我正在使用Tensorflow Adam方法优化随机函数,该函数(几乎)与神经网络无关,而与概率推断无关。
Adam在寻找成本函数的全局最优方面表现很好,但是我的变量是 bounded ,Adam无法实现边界,因为它是一种不受约束的优化方法。 就我而言,我希望变量始终为正。
通常如何为基于随机梯度下降的方法增加界限?对于我认为比较普遍的问题,是否已经实施了解决方案?
答案 0 :(得分:1)
您可以添加虚拟变量以强制执行边界。例如,假设您希望a
是正数,那么您可以做的是引入变量b
并进行计算
a = log(1 + exp(b))
另一个示例,如果您希望c
在a
和b
之内,则可以引入d
并进行计算
c = a + (b - a) / (1 + exp(-d))