机器学习、随机优化与搜索
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,如下所示:
- Hayes,G.(2019年)。mlrose:python的机器学习、随机优化和搜索包。https://github.com/gkhayes/mlrose。访问时间:day month year。
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}
}
推荐PyPI第三方库
pip
:pip install mlrose
@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}
}