超参随机搜索原理及核心实现
是什么
随机搜索是一种常用的机器学习超参优化的方法。随机搜索就是在给定的参数范围之类进行(伪)随机抽样产生参数值,然后对多个抽样值选取最优的参数组合。随机搜索方法是James Bergstra 和 Yoshua Bengio在2012年提出的一种超参搜索算法,在此之前,超参优化算法基本是人工手动搜索和网格搜索的占有绝对优势。
怎么用
sklearn中有RandomizedSearchCV的实现,其使用方法如下。
使用步骤
总结来讲使用步骤就是:
- 定义一个算法,比如LogisticRegression,包括自定义算法。
- 定义参数的分布,如果所有参数都是list,则等同于网格搜索。
- 定义RandomizedSearchCV对象,传入算法、参数分布、随机种子等参数。
- 进行模型训练,并进行参数调优。
代码示例
如下代码是摘自sklearn官方示例代码,
from sklearn.datasets import load_iris
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import RandomizedSearchCV
from scipy.st