3
我有一个需求,我需要找到在ANN实现中使用的属性的相对重要性。我使用Spark MLib库MultiLayerPerceptron来实现。该模型给我一个向量,这是一个权重数组。我知道有算法可以从权重中推导出相对的重要性,但是MLib实现给出了一个大的单维数组,并且没有说明与每个输入对应的权重。任何人都知道如何获得与每个输入节点相对应的权重?如何使用Spark Mlib多层感知器权重阵列
我有一个需求,我需要找到在ANN实现中使用的属性的相对重要性。我使用Spark MLib库MultiLayerPerceptron来实现。该模型给我一个向量,这是一个权重数组。我知道有算法可以从权重中推导出相对的重要性,但是MLib实现给出了一个大的单维数组,并且没有说明与每个输入对应的权重。任何人都知道如何获得与每个输入节点相对应的权重?如何使用Spark Mlib多层感知器权重阵列
model使用Breeze
操纵:toDenseVector
展平权重矩阵。 (注意行:val brzWeights: BV[Double] = weightsOld.asBreeze.toDenseVector
)
这个操作acts like numpy
's flatten()
。 因此,取回权重矩阵,你必须做两件事情:
+1
由于偏差)采取(layerSize + 1) * nextLayerSize
权重。numpy
的reshape
以及参数(layerSize + 1, nextLayerSize)
。当您获取权重的相对重要性,注意到在pyspark implementation,偏置表示为最后一个特性:。
因此,每个权重矩阵中的最后一行代表偏差值。
对此的任何答案?我一直想知道权重向量的语义 – besil