Auto ML自动调参
Auto ML自动调参
本文介绍Auto ML自动调参的算法介绍及操作流程。
操作步骤
- 登录PAI控制台。
- 单击左侧导航栏的实验并选择某个实验。
本文以雾霾天气预测实验为例。
- 在实验画布区,单击左上角的Auto ML > 模型自动调参。
- 在自动调参配置页面,选择需要调参的算法,单击下一步。
说明 一个实验中有多个算法时请单选一个算法。
- 在调参配置模块,选择调参方式,完成后单击下一步。
阿里云机器学习提供如下调参方式供选择:
- EVOLUTIONARY_OPTIMIZER
- 随机选定a个参数候选集(探索样本数a)。
- 取其中评估指标较高的n个参数候选集,作为下一轮迭代的参数候选集。
- 继续在这些参数周边的r倍(收敛系数r)标准差范围探索,以探索出新的参数集,来替代上一轮中评估指标靠后的a-n个参数集。
- 根据以上逻辑,迭代m轮(探索次数m),直到找到最优的参数集合。
根据如上原理,最终产生的模型数目为a+(a-n)*m 。
注意 n的第一个值为a/2-1,在迭代过程中默认为n/2-1(小数向上取整)。
- 数据拆分比例:将输入数据源分为训练集和评估集。0.7表示70%的数据用于训练模型,30%用于评估。
- 探索样本数:每轮迭代的参数集个数,个数越多越准,计算量越大,取值范围为5~30。
- 探索次数:迭代次数,次数越多探索越准、计算量越大,取值范围为1~10。
- 收敛系数:调节探索范围,越小收敛越快,但是可能会错过适合的参数,取值范围为0.1~1。
- 自定义范围:输入每个参数的调节范围,如果未改变当前参数范围,则此参数按照默认值代入,不参与自动调参。
- RANDOM_SEARCH
. 每个参数在所在范围内随机选取一个值。
- 将这些值组成一组参数进行模型训练。
- 如此进行m轮(迭代次数),训练产生m个模型并进行排序。
- 迭代次数:表示在所配置的区间的搜索次数,取值范围为2~50。
- 数据拆分比例:将输入数据源分为训练集和评估集,0.7表示70%的数据用于训练模型,30%用于评估。
- 自定义范围:输入每个参数的调节范围,如果未改变当前参数范围,则此参数按照默认值代入,不参与自动调参。
- GRID_SEARCH
. 将每个参数的取值区间拆成n段(网格拆分数)。
- 在n段里面各随机取出一个随机值。假设有m个参数,就可以组合出n^m组参数。
- 根据n^m组参数训练生成n^m个模型并进行排序。
- 网格拆分数:表示拆分出的grid个数,取值2~10。
- 数据拆分比例:将输入数据源分为训练集和评估集,0.7表示70%的数据用于训练模型,30%用于评估。
- 自定义范围:输入每个参数的调节范围,如果未改变当前参数范围,则此参数按照默认值代入,不参与自动调参。
- UserDefine
自定义范围:系统对枚举的参数取值范围进行全部组合尝试并打分,如果未输入按照默认参数执行。
说明 在2.0版本中调参算法种类从4个增加到7个,各算法详细说明如下:
- 在调参模型输出选择模块,配置模型输出参数,完成后单击下一步。
- 评估标准:可选择 AUC、F1-score、Precision、Recall四个维度中的一个作为评估标准。
- 保存模型数量:取值范围为1~5。根据所选择的评估标准,对模型进行排名,最终保存排名靠前的几个模型,数量对应所选择的保存模型数量。
- 模型是否向下传导:默认打开。如果开关关闭,则将当前组件的默认参数生成的模型,向下传导至后续组件节点;如果开关打开,则将自动调参生成的最优模型,向下传导至后续组件节点。
- 配置完成后,单击画布左上角的运行。
此时画布上的对应算法已打开Auto ML 开关,后续也可以选择打开或关闭此开关。
- 可选:鼠标右键单击画布模型组件,选择编辑AutoML参数,修改AutoML配置参数。
执行结果
输出模型:
- 在调参过程中,鼠标右键单击目标模型组件,选择调参运行详情。在 AutoML-自动调参详情页面,单击指标数据,查看当前调参的进度、各模型的运行状态等信息。
- 根据候选模型的指标列表(AUC、F1-score、准确率、召回率)进行排序。
- 在查看详情列单击日志或参数,查看每一个候选模型的日志及参数。
调参效果展示:
可以通过超参迭代效果对比,查看每一轮参数更新后评估指标增长的趋势。
模型存储:
- 选择左侧导航栏的模型。
- 单击实验模型,打开实验模型文件夹。
- 单击打开对应实验文件夹,查看Auto ML保存的模型。
人工智能芯片与自动驾驶