RNN(或任何神经网络)如何成为参数模型?

机器算法验证 时间序列 神经网络 模型 非参数
2022-04-18 10:05:46

我正在阅读这篇论文A Multi-Horizo​​n Quantile Recurrent Forecaster作者指出:

3.1。损失函数

在分位数回归中,训练模型以最小化总分位数损失 (QL):

Lq(y,y^)=q(yy^)++(1q)(y^y)+

其中(·)+=max(0,·)

当 q = 0.5 时,QL 就是平均绝对误差,它的最小值是预测分布的中位数。令 K 为预测层数,Q 为感兴趣的分位数,则矩阵是参数模型\boldsymbol{g(y_{:t}, x, θ)}的输出,例如 RNN。(强调我的;x in g(y_{:t}, x, θ)是外部回归量)K×QY^=[y^t+k(q)]k,q g(y:t,x,θ)xg(y:t,x,θ)

训练模型参数以最小化总损失tqkLq(yt+k,y^t+k(q)),其中 t 迭代所有预测创建时间 (FCT)。根据问题,总和的组成部分可以分配不同的权重,以突出或打折不同的分位数和范围。

为什么这个模型被认为是“参数的”?我认为神经网络在哪里定义为非参数?

是不是它输出了一组分位数,而不仅仅是一个使其参数化的点预测?但即便如此——他们使用上面定义的弹球损失来计算分位数,而不是预定义的分布——所以它对我来说仍然是非参数的。

这种方法如何被认为是参数化的?

1个回答

神经网络由其连接上的权重定义,这些权重是其参数。不管网络是根据什么数据训练的,一旦你有了一组权重,你就可以扔掉你的训练数据集而不会产生任何影响。如果要对新样本进行分类,只需使用参数化网络即可。即使您的训练数据集非常大,您仍然可以使用与小型训练集完全相同的参数数量来描述网络。

另一方面,作为示例,k 最近邻分类器是非参数的,因为它依赖于训练数据来进行任何预测。您需要每个训练点来描述您的分类器,没有办法将其抽象为参数化模型。本质上,这个模型中的“参数”数量随着你拥有的训练点的数量而增长。如果你想对一个新样本进行分类,你需要训练数据本身,因为它不能用更小的参数集来概括。在大数据集上训练的 kNN 分类器将比在小数据集上训练的 kNN 分类器具有更有效的参数。

神经网络是参数化的,因为它使用固定数量的参数来构建模型,与训练数据的大小无关。