为什么SAS Viya演示中神经网络的提升效果如此稳定?

我在查看SAS Viya的机器学习演示。这个演示在一组数据集上对比了多种机器学习算法的表现。所有模型在输出中的提升图表中显示的“提升”效果几乎同样出色。

如果你调整学习过程,只使用数据集总量的0.002%(proc partition data=&casdata partition samppct=0.002;),大多数算法在产生提升效果时都会遇到问题。

但是,神经网络仍然表现得非常好。这是特性还是错误?我猜想可能是脚本没有重新初始化网络,但仅从调用中很难判断出来。


回答:

我在SAS社区得到了很好的回答,是由BrettWujek和Xinmin发布的:

Mats – 简短的回答是,神经网络具有高度的适应性,并且能够使用比许多其他技术少得多的观测值来训练出非常精确的模型。在观测值非常少的情况下,基于树的模型会非常不稳定。在这种情况下,你的样本量减少到了大约20个观测值……即使这样,对于神经网络来说,如果空间不是过于非线性,这也可能是足够的。

关于你最后的评论 – 你似乎在提到所谓的“热启动”,即可以使用之前训练过的模型作为起点,并通过提供新的观测值来进行优化。这里并没有发生这种情况,因为这种功能将在我们即将发布的版本中提供,距离现在只有一个多月的时间。

Brett

我还从Xinmin那里得到了更多细节:

Mats,PROC NNET以随机方式初始化权重,如果你在训练语句中指定了一个种子,初始权重是可重复的。NNET训练由一个复杂的非线性优化求解器驱动,如果日志显示“已收敛”的状态,这意味着模型非常适合数据。

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注