本文共 1822 字,大约阅读时间需要 6 分钟。
BP??????????????????????????????????????????????????????????????????????????BP?????????????????????????
?????BP????????????????????????????????????PyTorch?TensorFlow??????????????????????????????????????????????????????????????Numpy????BP?????????????????
???????????Numpy???BP????????????????????????????????????????????
????4?????????????????784??????128????1??64????2??10??????????????784?128?128?64?64?10?10?1???????????????
?????
?????
???????Sigmoid???????????
Sigmoid(x) = 1/(1 + e^(-x))
Sigmoid'(x) = Sigmoid(x) * (1 - Sigmoid(x))
???????????
data ??????MNIST??????????mnist.pkl.gzmnist_loader.py?????MNIST???BP_Numpy.py?BP??????????????????????
def initialize_weights(shape): np.random.seed(42) return np.random.randn(*shape)
??????????????????????????????????
?????????
def forward_propagation(inputs, weights, biases): activation = sigmoid(np.dot(inputs, weights) + biases) return activation, weights, biases
????????????????????
?????????
def backward_propagation(outputs, targets, weights, biases): loss = np.mean(np.sum((outputs - targets) ** 2)) delta = (outputs - targets) * sigmoid_derivative(outputs - targets) gradients = np.dot(weights.T, delta) + biases.T return loss, gradients
????????????
?????????
def update_parameters(weights, biases, gradients, learning_rate): weights -= gradients[0] * learning_rate biases -= gradients[1] * learning_rate return weights, biases
??????????????
??????????????
0.1100010???????????????????????????????????????
??????????????????BP???????????????????????????????????????????Numpy????????????????
????BP????????????????PaperWeekly??????????????????
转载地址:http://teoj.baihongyu.com/