在缩放参数之前,必须了解
最大值(参数)
和
最小值(参数)
。
然后,可以按如下方式将值缩放到0到1之间:
归一化[x1]
=
(x1最小值(参数))/(最大值(参数)-最小值(参数))
下面的示例代码运行良好:
test=[1,3,5] #test values
def norm(params = [], *args):
new_list=[]
print params
for x in params:
y=(float(x)-min(params))/(max(params)-min(params)) #normalize
new_list.append(y)
return new_list
output=norm(test)
print output
要添加到程序中的代码:
def blabla(params): ### SOME FUNCTION WE WANT TO MINIMIZE
x1,x2,x3=params #### PARAMETERS OF THE FUNCTION
x1=(float(x1)-min(x1,x2,x3))/(max(x1,2,x3)-min(x1,x2,x3)) ## Similarly for x2 and x3
c=100+x1*9*x2-3*x3
return(c)