1
我想知道sklearn.neural_network.MLPClassifier
如何初始化權向量。在文檔page中,沒有任何關於默認情況下如何初始化權向量的提及。scikit如何初始化MLPClassifier的權重向量
謝謝,
我想知道sklearn.neural_network.MLPClassifier
如何初始化權向量。在文檔page中,沒有任何關於默認情況下如何初始化權向量的提及。scikit如何初始化MLPClassifier的權重向量
謝謝,
def _init_coef(self, fan_in, fan_out):
if self.activation == 'logistic':
# Use the initialization method recommended by
# Glorot et al.
init_bound = np.sqrt(2./(fan_in + fan_out))
elif self.activation in ('identity', 'tanh', 'relu'):
init_bound = np.sqrt(6./(fan_in + fan_out))
else:
# this was caught earlier, just to make sure
raise ValueError("Unknown activation function %s" %
self.activation)
coef_init = self._random_state.uniform(-init_bound, init_bound,
(fan_in, fan_out))
intercept_init = self._random_state.uniform(-init_bound, init_bound,
fan_out)
return coef_init, intercept_init
:Glorot, X. & Bengio, Y.. (2010). Understanding the difficulty of training deep feedforward neural networks. Proceedings of the Thirteenth International Conference on Artificial Intelligence and Statistics, in PMLR 9:249-256