我有三个输入:x=(A, B, C)
;以及一个输出y
。需要确保A+B+C=1
并且 0<=A<=1
, 0<=B<=1
, 0<=C<=1
。我想找到使y
最大化的x
。我的方法是使用scikit-learn中的回归例程来训练一个模型f
,基于我的输入x
和输出y
,然后在f
上使用numpy.argmax
来找到x_best
。我如何确保x_best=(A,B,C)
的和为1,并且都在单位区间内?有没有什么特殊的编码方法可以使用?
回答:
如果我正确理解了你的问题,那么这只是二次规划 – 你提到的所有约束(无论是等式还是不等式)都是线性的。