A implementação do Multilayer Perceptron (MLP) no scikit-learn é confiável? Posso ter certeza de que o backpropagation dessa classe está correto?
Eu posso ter certeza de que o backpropagation dessa Rede Neural MLPClassifier do Sklearn contido nesse arquivo está correto?
Vou dar um pouco de contexto sobre minha pergunta: Estou estudando Redes Neurais de forma autodidata, e quero entender profundamente como o backpropagation funciona. Preciso de fontes confiáveis para garantir que estou aprendendo corretamente. A implementação do MLPClassifier do scikit-learn é confiável? Posso ter certeza de que o backpropagation desta implementação está correto?
Se eu puder confiar no código do backpropagation do Sklearn, então eu poderia ficar mais tranquilo e basear meus estudos nele. Pois eu saberia que o código é confiável
Trecho do código de meu interesse(retirado da documentação):
# Backward propagate
last = self.n_layers_ - 2
# The calculation of delta[last] here works with following
# combinations of output activation and loss function:
# sigmoid and binary cross entropy, softmax and categorical cross
# entropy, and identity with squared loss
deltas[last] = activations[-1] - y
# Compute gradient for the last layer
self._compute_loss_grad(
last, n_samples, activations, deltas, coef_grads, intercept_grads
)
inplace_derivative = DERIVATIVES[self.activation]
# Iterate over the hidden layers
for i in range(self.n_layers_ - 2, 0, -1):
deltas[i - 1] = safe_sparse_dot(deltas[i], self.coefs_[i].T)
inplace_derivative(activations[i], deltas[i - 1])
self._compute_loss_grad(
i - 1, n_samples, activations, deltas, coef_grads, intercept_grads
)
Tenho duas perguntas importantes sobre o MLPClassifier do scikit-learn:
PERGUNTAS:
(1) A implementação do Multilayer Perceptron (MLP) no scikit-learn é confiável? Posso ter certeza de que o backpropagation dessa classe está correto?
(2) Também, com base na sua experiência, você poderia compartilhar se há evidências ou práticas recomendadas que sustentam a confiabilidade e a eficácia da implementação do MLPClassifier? Sua visão sobre o assunto seria muito apreciada.
Eu gostaria muito de saber se essa implementação do scikit-learn é confiável, para ter uma base sólida e não duvidar durante meus estudos.