如何解决Scipy优化最小化错误输出
尝试使用 scipy optimize 进行基本最小化,当我使用 fminbound 或 minimum_scalar 时它工作得很好,但偶尔我会陷入局部最小值,因此我需要使用 minimum() 来循环遍历不同的起点。当我使用最小化时,我收到两条消息之一和错误的输出。我要么得到:
message: b'CONVERGENCE: REL_REDUCTION_OF_F_<=_FACTR*EPSMCH'
或:
message: b'CONVERGENCE: norM_OF_PROJECTED_GRADIENT_<=_PGTOL'
def sse_f(alpha):
data = []
for _,row in temp.iterrows():
pc[idx] += (alpha*prediction_error)
#calculate diff variables removed for simplicity
data.append([phase,pi,PE])
col = ['phase','abs_PE','congruency']
df_ = pd.DataFrame(data,columns= col)
df_a = df[(df['phase']=='a')]
x = np.array(df_a[['congruency','abs_PE']]) #run linear regression for first half
y = df_a['RT']
sse = lin_reg(x,y)
return sse
这是我用来运行最小化函数的行:
start = [0]
minimize(sse_f,start,method='L-BFGS-B',bounds=[(0,1)])
感谢任何指点,谢谢!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。