论文地址:Early Stabilizing Feature Importance for TensorFlow Deep Neural Networks
博客里只给出一下论文中介绍的方法这一章节,论文中前面介绍了神经网络中特征重要性评估方法的背景与发展,感兴趣的可以去阅读原论文。
3. APPROACH
本研究提出了对于深度神经网络混合的特征排序算法,优势在于可以得到快速收敛稳定的特征重要性排序。本研究开发了基于TensorFlow的特征重要性排序工具,包括以下几种算法:输入扰动特征的重要性、相关系数特征重要性,权重特征重要性分析,新的混合算法。
3.1 输入扰动特征的重要性
对数据X的每一个特征,进行打乱,然后对新的X输入网络得到预测值,计算损失函数,作为该特征的重要性分数。
function rank_perturb(x, y, network):
impt = dim(x.shape[1])
for i in range(numcols(x)):
hold = copy(x[, i])
shuffle(x[, i])
pred = network.predict(x)
mse = mean_squared_error(y, pred)
impt[i] = mse
x[:, i] = hold
impt = impt / sum(impt)
return impt
3.2 相关系数特征重要性
将输入数据X中每