以下示例如下:目标是使用f(x1,..,xN)
来约束x1 + .. + xN = 1
约束下的函数0 < x_i <= 1
。我如何使用tensorflow进行一般(具有任意约束)?
我见过允许这样做的ScipyOptimizerInterface。
在这种特殊情况下,另一种方法是使用nnsoftmax
转换来编写x_i = exp(y_i)/sum_i(exp(y_i))
,i=1,..,N
。 y1,..,yN
现在不受约束,可以使用SGD进行优化,即TensorFlow没有任何限制。在GPFlow中,这相当于与变量{y1,..,yN}
关联的转换。
还有其他办法吗?