论文笔记系列-Multi-Fidelity Automatic Hyper-Parameter Tuning via Transfer Series Expansion

论文: Multi-Fidelity Automatic Hyper-Parameter Tuning via Transfer Series Expansion

我们都知道实现AutoML的基本思路是不断选取不同的超参数组成一个网络结构,然后使用这个网络结构在整个数据集上进行评估 (假设评估值为\(f_H(X)=\mathcal{L}(δ,D^{train},D^{valid})\),X表示某一组超参数) ,最后选择出评估性能最好的网络参数。

但是基于full dataset进行评估cost太大,所以很自然地想到基于一部分数据集进行评估,假设此时的评估结果是\(f_L(X)=\mathcal{L}(δ,D^{sub}_{r_L},D^{valid})\),其中\(D^{sub}_{rL}\)表示从训练集中以\(r_L\)的比例抽取数据。但是这样又存在另外一个问题,那就是基于一部分数据集进行评估得到的结果往往是不准确的,那怎么办呢?下面进行一波分析:

\(R(X)=f_H(X)-f_L(X)\),用来衡量\(f_H\)\(f_L\)之间的残差(residual)。所以如果我们能够得到\(R(X)\),那么我们就能够用\(R(X)+f_L(X)\)来代替需要花费大量算力的\(f_H(X)\),那么怎么得到\(R(X)\)呢?

本文为了求得\(R(X)\)提出了Transfer Series Expansion (TSE),该方法就是通过学习一系列的基预测器,并将他们线性组合得到了最终的预测器,预测结果即为\(R(X)\)。公式如下:
\[\Psi(x)=\sum_{i=1}^kw_i\psi_i(x)+b \tag{1}\]

由公式(1)可以知道我们需要构造出\(k\)个基预测器,换句话说我们需要k个不同的数据集,数据集可以表示为\(D^{predictor}=\{(x_1,y_1),...,(x_m,y_m)\}\),其中\(y_i=R(x_i)\)。很显然为了得到\(y_i\)还是得花费不少代价。所以作者提出了一个折中的办法就是令\(y_i=R(x_i)=f_M(x_i)-f_L(x_i)\),其中\(f_M\)表示介于\(f_L\)\(f_H\)之间的评估,也就是说以\(r_M(0<r_L<r_M<<1)\)的比例从训练集中抽取出数据进行模型的评估。(文中并没有详细介绍如何构造基预测器,只是说使用Random Forest Regressor,所以这里不再对基预测器如何构造进行说明。)。

所以用来构建k个基预测器的数据集对即为\(\{(D^{sub1}_{r_L},D^{sub1}_{r_M}),...,(D^{subk}_{r_L},D^{subk}_{r_M})\}\),注意\((D^{sub1}_{r_L},D^{sub1}_{r_M})\)转变成一组用于生成基预测器的数据集\(D^{predictor}\)。除此以外其实还需要构造\(\{(D^{sub}_{r_L},D^{train})\}\)用于最后的回归问题。所以实际上随机初始化\(k\)\(D^{sub}_{r_M}\)\(k+1\)\(D^{sub}_{r_L}\)

好了现在假设基预测器都构建好了,那么就可以进入正式的TSE算法步骤了,算法如下:

未完待续...

image.png

image.png

tn4cugrr53.png



MARSGGBO原创





2018-8-5



转载于:https://www.cnblogs.com/marsggbo/p/10122934.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值