使用交叉验证为Apache Spark中的多层感知器选择网络架构

时间:2017-12-04 12:34:44

标签: neural-network apache-spark-mllib cross-validation apache-spark-ml

我正在尝试为Apache Spark中的多层感受器决定最佳架构,我想知道我是否可以使用交叉验证。

一些代码:

func (h *DHCPHandler) ServeDHCP(p dhcp.Packet, msgType dhcp.MessageType, options dhcp.Options)

正如您所看到的,我已经在整数数组(layers-layers4)中定义了一些架构。

原样,我必须多次拟合模型,手动更改学习算法的layers参数。

我想要的是在ParamMap中提供不同的体系结构,我将其传递给CrossValidator(ParamMap中注释掉的行)。

我怀疑这可能是因为paramGridBuilder似乎知道了layers()方法,但是它不接受提供的参数。

如果我在这个假设中是正确的,那么我做错了什么?如何让它按预期工作?

1 个答案:

答案 0 :(得分:1)

查看代码似乎在语法上是正确的。 它不起作用可能是一个错误或意图,因为它在计算上相当昂贵。所以我猜不,你不能使用cv。

我最终使用了以下公式:

Number of units in hidden-layer = ceil((Number of inputs + outputs) * (2/3))

来源:http://www.faqs.org/faqs/ai-faq/neural-nets/part3/section-10.html