文章 "深度神经网络 (第 II 部)。制定和选择预测因子"

 

新文章 深度神经网络 (第 II 部)。制定和选择预测因子已发布:

有关深度神经网络系列的第二篇文章研究当准备模型训练的数据期间预测因子的变换和选择。

现在, 我们想要看看异常值被删除之后变量中的 NA 分布。

require(VIM)
evalq(a <- aggr(x.sin.out), env)

SinMissAggr

图例.6. 在数据集合中的 NA 分布

作者:Vladimir Perervenko

 

有趣的是

Обрезка минимального значения — это простой в использовании алгоритм, при котором на каждом шаге отключаются веса с наименьшим абсолютным значением. Этот алгоритм требует ретрансляции сети практически на каждом шаге и дает субоптимальные результаты.

我对该功能操作顺序的理解正确吗?

1) 完全训练原始的 12-8-5-1 网络

2) 找到权重最小的链接并移除输入

3) 在没有远程输入的情况下重新训练11-8-5-1 网络

如此反复几十次。直到没有 6-2-1-1 网络为止。

在我看来,这样消除无关紧要的权重、输入和内部神经元所花费的时间要比一次完整训练(我们在步骤 1 中进行了训练)长得多。

这种方法有什么优势?

 
elibrarius:

有趣的是

我对该功能操作顺序的理解正确吗?

1) 完全训练原始的 12-8-5-1 网络

2) 找到权重最小的链接并移除输入

3) 在没有远程输入的情况下,重新训练11-8-5-1 网络

如此反复几十次。直到没有 6-2-1-1-1 网络为止。

在我看来,这样消除无关紧要的权重、输入和内部神经元所花费的时间要比一次完整训练(我们在步骤 1 中进行了训练)长得多。

这种方法的优点是什么?

1- 算法的工作原理完全相同。只有一个例外:所有隐藏层中的神经元都会被舍弃。

2. 定义了最小的输入集和最小的结构,其结果与全集相同。

优点是什么?我们删除了所有会产生错误分类的不必要内容。这是开发者的说法。

这只是选择重要预测因子的一种方法

好运气

 
Vladimir Perervenko:

1.算法的工作原理完全相同。只有一个例外:所有隐藏层中的神经元都被消除。

定义最小的输入集和最小的结构,其结果 与全集相同

优点是什么?我们删除了所有会产生错误分类的不必要内容。这是开发者的说法。

这只是选择重要预测因子的一种方法

好运气

1) 如果输入与固有神经元之间没有连接,那么输入本身就可以关闭。

2) 如果 结果是一样的,为什么要花费这么多时间?

我可以假定,被删除的预测因子将来在重新训练/再训练时会被忽略,因此节省的时间只是在那时。但是,预测因子的重要性也会随着时间的推移而改变。

我对这一技巧很感兴趣,因为我也开始这么做,但在意识到这需要花费大量时间后就放弃了。

也许与最终训练相比,退出循环允许更多的误差和更少的再训练历元。


我想知道是用什么逻辑筛选出隐藏神经元的?每个神经元都有许多输入连接。是通过最小输入权重之和?还是输出权重的最小和?还是总和?

 
elibrarius:

1) 如果输入与内部神经元之间没有连接,那么输入本身就可以关闭。

2) 我感到困惑的是,如果 结果是一样的,为什么要比根据第 1 点训练整个模型耗时多很多倍?

我可以假定,被删除的预测因子将来在重新训练/再训练时会被忽略,节省的时间也只是到那时。但毕竟,预测因子的重要性也会随着时间的推移而改变。

我对这一技巧很感兴趣,因为我也开始这么做,但在意识到这需要花费大量时间后就放弃了。

也许与最终学习相比,退出循环允许更多的误差和更少的重新训练历元。


我想知道是用什么逻辑筛选出隐藏神经元的?每个神经元都有许多输入连接。是通过最小输入权重之和?还是输出权重的最小和?还是总和?

请看软件包和函数描述。我没有深入研究过。但在一些模型(如 H2O)中,他们就是这样确定预测因子的重要性的。我刚检查过,觉得这并不可靠。

当然,预测因子的重要性会随着时间的推移而变化。但如果你读过我的文章,你应该会注意到,我强烈建议当模型质量下降到预先设定的限度以下时,定期重新训练模型。

这是唯一正确的方法。我认为

祝你好运

祝你好运

 
Vladimir Perervenko:

请查看软件包和功能说明。我没有深入研究过。但在一些模型(如 H2O)中,他们就是这样确定预测因子的重要性的。我刚刚检查了一下,发现它并不可靠。

当然,预测因子的重要性会随着时间的推移而变化。但如果你读过我的文章,你应该会注意到,我强烈建议当质量下降到预先设定的限度以下时,定期重新训练模型。

这是唯一正确的方法。我认为

祝你好运

祝你好运

谢谢
 

将小时和天数数据输入 NS 时,最好不要使用一个预测因子,而是分别使用小时数和天数预测因子,这样不是更好吗?

如果使用一个预测因子,那么周一(1)和周二(2)的权重/值将相差 100%,周四(4)和周五(5)的权重/值将相差 20%。 如果使用小时数 1、2 和 22、23,差异会更大。而从 5 小时到 1 小时,或从 23 小时到 1 小时,权重会有巨大的提升。

也就是说,如果只用一个预测因子来表示天数和小时数,那么它们的重要性就会被扭曲。

5 和 24 个额外的预测因子是一个很大的数字。但是,由于日和小时的序列是循环的,它们可以转化为圆周上的一个角度,并与普通角度做同样的事情:"输入这个角度的正弦和余弦更有意义"。也就是说,小时和天数各有两个预测器。这个想法来自http://megaobuchalka.ru/9/5905.html
 
elibrarius:

将小时和天数数据输入 NS 时,最好不要使用一个预测因子,而是分别使用小时数和天数预测因子。

如果使用一个预测因子,那么周一(1)和周二(2)的权重/值将相差 100%,周四(4)和周五(5)的权重/值将相差 20%。 如果使用小时数 1、2 和 22、23,差异会更大。而从 5 小时到 1 小时,或从 23 小时到 1 小时,权重会有巨大的提升。

也就是说,如果只用一个预测因子来表示天数和小时数,那么它们的重要性就会被扭曲。

5 和 24 个额外的预测因子是一个很大的数字。但是,由于星期和小时的顺序是循环的,它们可以转化为圆周上的一个角度,并与普通角度做同样的事情:"输入这个角度的正弦和余弦更有意义"。也就是说,小时和天数各有两个预测器。这个想法来自http://megaobuchalka.ru/9/5905.html

小时和日(周、月、年)是名义变量,不是数字变量。我们只能讨论它们是否有序。因此,感谢你的建议,但不采纳。

把这些变量用作数值变量?你可以做实验,但我没有往这方面想。如果有结果,请与我分享。

祝你好运

 
我读了这篇文章,在第一部分有很多预测因子的转换,这当然很有参考价值,但我希望看到有转换和无转换的两个模型,以评估所有这些转换的有效性。另外,追求正态分布的意义何在?
 

有关代码的讨论和问题可在该主题 中进行

祝您好运

 
the R package funModeling has not the "
bayesian_plot()

function? why?