机器学习、随机优化与搜索

mlrose的Python项目详细描述


mlrose:机器学习、随机优化和搜索

mlrose是一个python包,用于将一些最常见的随机优化和搜索算法应用于离散值和连续值参数空间上的一系列不同的优化问题。

项目背景

mlrose最初是为了支持乔治亚理工大学omscs/omsa提供的cs 7641:机器学习的学生而开发的。

它包括本课程所教授的所有随机优化算法的实现,以及将这些算法应用于整数串优化问题(如n皇后和背包问题)、连续值优化问题(如神经网络权重问题)和巡游优化问题的功能。比如旅行推销员的问题。它还具有灵活性来解决用户定义的优化问题。

在开发的时候,没有一个Python包将所有的功能集合在一起。

主要功能

随机优化算法
  • 实现:爬山、随机爬山、模拟退火、遗传算法和(离散)模拟;
  • 解决最大化和最小化问题;
  • 定义算法的初始状态或从随机状态开始;
  • 定义您自己的模拟退火衰减计划或使用三个预定义的、可自定义的衰减计划之一:几何衰减、算术衰减或指数衰减。

问题类型

  • 解决离散值(位串和整数串)、连续值和旅行优化(旅行推销员)问题;
  • 为优化定义自己的适应度函数或使用预定义函数。
  • 解决了一个最大值、Flip Flop、四个峰、六个峰、连续峰、背包、旅行推销员、N皇后和MX-K颜色优化问题。

机器学习权重优化

  • 使用随机爬山、模拟退火、遗传算法或梯度下降优化神经网络、线性回归模型和logistic回归模型的权重;
  • 支持分类和回归神经网络。

安装

mlrose是用python 3编写的,需要numpy、scipy和scikit-learn(sklearn)。

最新发布的版本在Python package index上提供,可以使用pip

pip install mlrose

文档

可以找到官方的mlrose文档here

还提供了包含文档中使用的示例的jupyter笔记本here

许可、作者、致谢

mlrose由genevieve hayes撰写,并在3-Clause BSD license下分发。

您可以在研究出版物和报告中引用mlrose,如下所示:

bibtex条目:

@misc{Hayes19,
 author = {Hayes, G},
 title 	= {{mlrose: Machine Learning, Randomized Optimization and SEarch package for Python}},
 year 	= 2019,
 howpublished = {\url{https://github.com/gkhayes/mlrose}},
 note 	= {Accessed: day month year}
}

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

推荐PyPI第三方库


热门话题
接收com。太阳媒体声音Java中来自MIDI控制器的FastShortMessage,如何解码?   JAVA日志记录:当日志文件将要滚动时,应用程序将暂停   java如何使用循环来重复函数选择   java OpenJPA和存储过程,Weblogic 12c   编码风格什么是正确的方式来使用。Java中的equals方法?   通过tcpsocket将xml从java发送到C#   java对象比JTable效率更高   java在运行时删除标志\半透明\状态   java将一个数均匀随机地分成m个部分   链表的Java数组   javajaxws:在数据库中记录请求和响应   java maven,执行标记,缺少id标记   泛型类中的java泛型转换