BP神经网络的手写数字识别 ANN 人工神经网络算法在实践中往往给人难以琢磨的印象,有句老话叫“出来混总是要还的”,大概是由于具有很强的非线性模拟和处理能力,因此作为代价上帝让它“黑盒”化了.作为一种general purpose的学**算法,如果你实在不想去理会其他类型算法的理论基础,那就请使用ANN吧.本文为笔者使用BP神经网络进行手写数字识别的整体思路和算法实现,由于近年来神经网络在深度学**,尤其是无监督特征学**上的成功,理解神经网络的实现机制也许可以让“黑盒”变得不再神秘. 首先,作…
一.两层神经网络(感知机) import numpy as np '''极简两层反传(BP)神经网络''' # 样本 X = np.array([[0,0,1],[0,1,1],[1,0,1],[1,1,1]]) y = np.array([0,0,1,1]) # 权值矩阵 初始化 Wi = 2 * np.random.random(3) - 1 for iter in range(10000): # 前向传播,计算误差 li = X lo = 1 / (1 + np.exp(-np.dot(l…