我找不到设置神经网络初始权重的方法,有人可以告诉我如何吗?
我正在使用python包sklearn.neural_network.MLPClassifier。
这是供引用的代码:
from sklearn.neural_network import MLPClassifier
classifier = MLPClassifier(solver="sgd")
classifier.fit(X_train, y_train)
最佳答案
docs显示使用中的属性。
只需在调用clf=MLPClassifier(solver="sgd")
之前构建分类器coefs_
并设置intercepts_
和clf.fit()
即可。
剩下的唯一问题是:sklearn是否会覆盖您的init?
code看起来像:
if not hasattr(self, 'coefs_') or (not self.warm_start and not
incremental):
# First time training the model
self._initialize(y, layer_units)
在我看来,这不会代替您给定的
coefs_
(您也可以检查偏差)。打包和解压缩functions进一步表明应该可行。这些可能内部用于通过pickle进行序列化。