赞
踩
机器学习模型优化
机器学习中的优化有模型参数优化和数据优化两个思路。
模型参数优化包括网格搜索、随机搜索、遗传算法、粒子群优化、贝叶斯优化等方法,
数据优化主要是处理样本不平衡。本工程采用网格搜索、贝叶斯优化和样本不平衡处理方法进行优化并进行结果对比。
指定参数范围中,得到参数的所有组合并逐个训练模型,从所有参数中找到验证集精度最高参数组合,是一个训练和比较的过程。
需要计算量比较大
def Grid_Train_model(model, train_data, train_label):
parameters = {'max_depth': [4, 5],
'learning_rate': [0.03, 0.05],
'n_estimators': [500, 700],
'subsample': [0.6, 0.9],
'colsample_bytree': [0.6, 0.9],
'reg_alpha': [5, 10],
}
交叉验证
贝叶斯优化算法是根据一组采样点的函数值,预测任意点处的函数值的概率分布。相对于网格搜索每次只进行独立搜索的做法,贝叶斯优化使用已经搜索过的点的信息提高搜索速度和质量。其核心由两部分组成:1.高斯过程回归,先计算每一点处函数值的均值和方差;2. 再根据均值和方差构造采集函数,进而决定下一个采样点。
如下曲线为贝叶斯优化的实现,首先均匀选出 n(0) 个初始点,每次寻找下一个点时,根据已有的点建立高斯回归模型,得到任意点出函数值的后验概率,并生成采集函数。采集函数对于已有的采样的点采集函数值很小,在置信区间更宽的点采集函数值大,在函数均值大的点处采集函数值大。找到的函数极大值作为下一个搜索点。算法最后返回 N 个候选解的极大值作为最优解。
使用 BayesSearchCV 的代码实现
相对来讲,贝叶斯优化速度更快一点,效率更高。
都属于仿生算法,遗传算法主要模拟鸟类觅食人类社会认知等社会行为而提出,GA主要借用生物进化“适者生存”规律。
都属于全局优化方法,都是在解空间随机产生初始种群,因而算法在全局解空间进行搜索,把搜索重点集中在性能高的部分。
都属于随机搜索算法,通过随机优化方法更新种群和搜索最优点,PSO对于认知项和社会项都有随机数;而GA的遗传操作均属于随即操作。
都隐含并行性,搜索过程是从问题解的一个集合开始,而不是从单个个体开始,具有隐含并行搜索特性,从而减小陷入局部极小的可能性,由于这种并行性,在计算机上很容易实现,能够提高速度和效率。
根据个体的适配信息进行搜索,因此不受函数约束条件的限制,如连续性、可异性。
对高维复杂问题,往往会遇到早熟收敛和收敛性能差的缺点,无法保证收敛到最优点。
没有记忆以前的知识随着种群的改变被破坏。
PSO相对于GA,不需要编码,没有交叉和变异操作,粒子只是通过内部速度进行更新,因此原理简单,参数更少,实现更简单。
GA已经有了较成熟的收敛性分析方法,并且对收敛速度进行估计。而PSO这方面研究比较薄弱。
在应用方面,PSO算法主要应用于连续问题,包括神经网络训练和函数优化等,而GA除了连续问题之外,还可应用于离散问题,比如TSP问题、货郎担问题、工作车间调度等。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。