未提供项目说明

gradient-free-optimizers的Python项目详细描述


无梯度优化器

利用数值搜索空间中的局部、全局、基于群体和序列的技术进行简单可靠的优化


Master status:img not loaded: try F5 :)img not loaded: try F5 :)
Code quality:img not loaded: try F5 :)img not loaded: try F5 :)
Latest versions:img not loaded: try F5 :)

简介

无梯度优化器提供了一系列易于使用的优化技术, 它的目标函数只需要一个得到最大化的任意分数。在

这使得无梯度优化方法能够对机器学习方法进行超参数优化。这个包中的优化器只需要该点的分数来决定下一步要评估哪个点。在





主要特点

  • 易于使用:

    • Simple API-design
    • 接收有关正在进行的和已完成的优化运行的准备信息
  • 高性能:

    • 现代优化技术
    • 轻量级后端
    • 用“短期记忆”节省时间
  • 高可靠性:

    • 广泛的测试
    • 每个优化器的性能测试

安装

PyPI version

PyPi上提供了最新版本的无梯度优化器:

pip install gradient-free-optimizers

示例

<详细信息> 凸函数 ^{pr2}$ <详细信息> 非凸函数
importnumpyasnpfromgradient_free_optimizersimportRandomSearchOptimizerdefackley_function(pos_new):x=pos_new["x1"]y=pos_new["x2"]a1=-20*np.exp(-0.2*np.sqrt(0.5*(x*x+y*y)))a2=-np.exp(0.5*(np.cos(2*np.pi*x)+np.cos(2*np.pi*y)))score=a1+a2+20return-scoresearch_space={"x1":np.arange(-100,101,0.1),"x2":np.arange(-100,101,0.1),}opt=RandomSearchOptimizer(search_space)opt.search(ackley_function,n_iter=30000)
<详细信息>机器学习示例
importnumpyasnpfromsklearn.model_selectionimportcross_val_scorefromsklearn.ensembleimportGradientBoostingClassifierfromsklearn.datasetsimportload_winefromgradient_free_optimizersimportHillClimbingOptimizerdata=load_wine()X,y=data.data,data.targetdefmodel(para):gbc=GradientBoostingClassifier(n_estimators=para["n_estimators"],max_depth=para["max_depth"],min_samples_split=para["min_samples_split"],min_samples_leaf=para["min_samples_leaf"],)scores=cross_val_score(gbc,X,y,cv=3)returnscores.mean()search_space={"n_estimators":np.arange(20,120,1),"max_depth":np.arange(2,12,1),"min_samples_split":np.arange(2,12,1),"min_samples_leaf":np.arange(1,12,1),}opt=HillClimbingOptimizer(search_space)opt.search(model,n_iter=50)

API基本信息

优化类:

  • HillLimbing优化器
  • 随机链接优化器
  • 禁忌优化
  • 随机搜索优化器
  • 随机重启爬升优化器
  • 随机退火优化器
  • 模拟ANALINGOOptimizer
  • 随机隧道优化器
  • 并联温度优化器
  • 粒子助燃剂
  • 进化策略优化器
  • 贝叶斯优化
  • TreeStructuredParzen估计量
  • 决策树定时器

搜索方法参数:

  • 目标函数
  • 纽特
  • 初始化
  • 热启动
  • 最长时间
  • 最高得分
  • 记忆
  • 热启动U
  • 冗长
  • 随机状态

GFOs设计

此包被创建为Hyperactive包的优化后端。 无梯度优化器与Hyperactive的分离实现了多重优势:

  • 如果需要,其他开发人员可以轻松地将GFOs用作优化后端
  • 单独且更彻底的测试
  • 在过度活跃的情况下,更好地隔离复杂的信息流。GFOs只在N维搜索空间中使用位置和分数。它只返回每次迭代后的新位置。在
  • 一个更小更干净的代码库,如果你想探索我的这些优化技术的实现。在

引用无梯度优化器

@Misc{gfo2020,
  author =   {{Simon Blanke}},
  title =    {{Gradient-Free-Optimizers}: Simple and reliable optimization with local, global, population-based and sequential techniques in numerical search spaces.},
  howpublished = {\url{https://github.com/SimonBlanke}},
  year = {since 2020}
}

许可证

LICENSE

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java随机填充2d数组   java运行时。getRuntime。带有长参数的exec(cmd)   java Minecraft无法放置自定义背景   java AChartEngine YAxis自定义标签区域边距和图表值为字符串?   泛型类的java类型安全错误   整数的java符号等价物。toBinaryString方法?   Java中数组列表的数组   java WebView应用程序在谷歌登录后显示空白屏幕   java从backback中删除特定片段   如果服务器不支持使用的协议,java JSSE是否实现回退?   java Sonarqube正在进行核心漏洞查找。如何解决   javajavax。jcr。UnsupportedPositionOperationException:testVersionable处的节点不可版本化   java在安卓中每隔X小时运行一次文件/函数,无需打开应用程序   java如何为磁盘持久性配置BigMemory?   java BufferWriter不转换383以上的整数   Java7交集类型:规范具体说明了什么?   Java:CollectionHow创建多列   java如何检测运算符的空白   java问题:在firebase中为导航栏中的第二个表单提交数据第一个表单工作正常。实际isse是连接Mainactivity中的另一个活动