gpt4 book ai didi

python - 具有正映射的线性回归

转载 作者:行者123 更新时间:2023-11-28 18:59:28 25 4
gpt4 key购买 nike

我正在使用 Tensorflow 进行研究。最近,我正在尝试使用具有正映射 K 的最小二乘法在 Tensorflow 中实现线性回归,即 min ||y-Kx||这样 K 的所有元素都是正值,其中 x 和 y 是通过矩阵 K 映射的向量。基本上,我想在 Tensorflow 中实现时强制可训练变量 K 为正。

我一直在寻找一种在 Tensorflow 中实现它的好方法。一些文章建议使用 tf.clip_by_value,但它可能在 K 中有一堆零条目。我发现 tf.Variable 有“约束”参数,它似乎将解决方案投影到受限空间,但我没有'我无法找到一个很好的例子来遵循我的案例。

对于在 Tensorflow 中对可训练变量强制执行正值的任何建议,我将不胜感激。提前感谢您的帮助。

最佳答案

请注意 constraint :

constraint function that is applied after the update of the optimizer. (e.g. used to implement norm constraints or value constraints for layer weights)

这意味着,以下变量在优化器更新之前都具有相同的值:

myVar1 = tf.Variable([1,-1,2],constraint=lambda x: tf.clip_by_value(x, 0, np.infty))
myVar2 = tf.Variable([1,-1,2],constraint=lambda x: tf.abs(x))
myVar3 = tf.Variable([1,-1,2],constraint=lambda x: tf.clip_by_norm(x,axis=-1))

另外值得一提的是,您也可以定义自己的约束:

def my_constrain(x):
x = tf.abs(x)
return tf.clip_by_value(x, 0, 0.5)

a = tf.get_variable(name='a', initializer=0., constraint=lambda x: my_constrain(x))

您可以考虑的另一个建议是对特定参数进行正则化。例如,自适应套索(H.Zou,JASA 2006,第 101 卷,第 476 期)通过对每个变量使用单独的 lambda 来实现参数估计的一致性。

关于python - 具有正映射的线性回归,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54376508/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com