我在查看SAS Viya的机器学习演示。这个演示在一组数据集上对比了多种机器学习算法的表现。所有模型在输出中的提升图表中显示的“提升”效果几乎同样出色。
如果你调整学习过程,只使用数据集总量的0.002%(proc partition data=&casdata partition samppct=0.002;),大多数算法在产生提升效果时都会遇到问题。
但是,神经网络仍然表现得非常好。这是特性还是错误?我猜想可能是脚本没有重新初始化网络,但仅从调用中很难判断出来。
回答:
我在SAS社区得到了很好的回答,是由BrettWujek和Xinmin发布的:
Mats – 简短的回答是,神经网络具有高度的适应性,并且能够使用比许多其他技术少得多的观测值来训练出非常精确的模型。在观测值非常少的情况下,基于树的模型会非常不稳定。在这种情况下,你的样本量减少到了大约20个观测值……即使这样,对于神经网络来说,如果空间不是过于非线性,这也可能是足够的。
关于你最后的评论 – 你似乎在提到所谓的“热启动”,即可以使用之前训练过的模型作为起点,并通过提供新的观测值来进行优化。这里并没有发生这种情况,因为这种功能将在我们即将发布的版本中提供,距离现在只有一个多月的时间。
Brett
我还从Xinmin那里得到了更多细节:
Mats,PROC NNET以随机方式初始化权重,如果你在训练语句中指定了一个种子,初始权重是可重复的。NNET训练由一个复杂的非线性优化求解器驱动,如果日志显示“已收敛”的状态,这意味着模型非常适合数据。