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