一种将凸函数拟合到数据上的软件包。
cvxfit的Python项目详细描述
cvxfit是一个包,它提供了用于将凸函数拟合为 给定数据。典型用法如下:
#!/usr/bin/env python from cvxfit import CvxFit import scipy as sp #Generate data N = 1000 n = 3 def f_actual(x): return sp.sum(x*x) X = sp.randn(N, n) Y = sp.array([f_actual(pt) for pt in X]) #Initialize object with 10 affine functions #with regularization 0.001, and maximum #number of iterations 20 fit_object = CvxFit(X=X, Y=Y, type='pwl', extra_param=[10, 0.001, 20]) #Perform fit fit_object.fit() #See training error; repeat fit if high print 'Training error: ' + str(fit_object.mean_training_error) #Compare quality of fit at a random point pt = sp.randn(1, n) print 'Actual value: ' + str(f_actual(pt)) print 'Approximate value: ' + str(fit_object.evaluate(pt)[0])
致谢
这个软件包来自春天斯坦福大学的一个课程项目EE364b 2013-2014年,斯蒂芬·博伊德教授授课。我们要感谢 优秀的教学人员提供了有用的反馈和建设性意见 建议。