{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# 多层神经网络和反向传播\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 神经元\n", "\n", "神经元和感知器本质上是一样的,只不过我们说感知器的时候,它的激活函数是阶跃函数;而当我们说神经元时,激活函数往往选择为sigmoid函数或tanh函数。如下图所示:\n", "![neuron](images/neuron.gif)\n", "\n", "计算一个神经元的输出的方法和计算一个感知器的输出是一样的。假设神经元的输入是向量$\\vec{x}$,权重向量是$\\vec{w}$(偏置项是$w_0$),激活函数是sigmoid函数,则其输出y:\n", "$$\n", "y = sigmod(\\vec{w}^T \\cdot \\vec{x})\n", "$$\n", "\n", "sigmoid函数的定义如下:\n", "$$\n", "sigmod(x) = \\frac{1}{1+e^{-x}}\n", "$$\n", "将其带入前面的式子,得到\n", "$$\n", "y = \\frac{1}{1+e^{-\\vec{w}^T \\cdot \\vec{x}}}\n", "$$\n", "\n", "sigmoid函数是一个非线性函数,值域是(0,1)。函数图像如下图所示\n", "![sigmod_function](images/sigmod.jpg)\n", "\n", "sigmoid函数的导数是:\n", "$$\n", "y = sigmod(x) \\ \\ \\ \\ \\ \\ (1) \\\\\n", "y' = y(1-y)\n", "$$\n", "可以看到,sigmoid函数的导数非常有趣,它可以用sigmoid函数自身来表示。这样,一旦计算出sigmoid函数的值,计算它的导数的值就非常方便。\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 神经网络是啥?\n", "\n", "![nn1](images/nn1.jpeg)\n", "\n", "神经网络其实就是按照一定规则连接起来的多个神经元。上图展示了一个全连接(full connected, FC)神经网络,通过观察上面的图,我们可以发现它的规则包括:\n", "\n", "* 神经元按照层来布局。最左边的层叫做输入层,负责接收输入数据;最右边的层叫输出层,我们可以从这层获取神经网络输出数据。输入层和输出层之间的层叫做隐藏层,因为它们对于外部来说是不可见的。\n", "* 同一层的神经元之间没有连接。\n", "* 第N层的每个神经元和第N-1层的所有神经元相连(这就是full connected的含义),第N-1层神经元的输出就是第N层神经元的输入。\n", "* 每个连接都有一个权值。\n", "\n", "上面这些规则定义了全连接神经网络的结构。事实上还存在很多其它结构的神经网络,比如卷积神经网络(CNN)、循环神经网络(RNN),他们都具有不同的连接规则。\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 计算神经网络的输出\n", "\n", "神经网络实际上就是一个输入向量$\\vec{x}$到输出向量$\\vec{y}$的函数,即:\n", "\n", "$$\n", "\\vec{y} = f_{network}(\\vec{x})\n", "$$\n", "根据输入计算神经网络的输出,需要首先将输入向量$\\vec{x}$的每个元素的值$x_i$赋给神经网络的输入层的对应神经元,然后根据式1依次向前计算每一层的每个神经元的值,直到最后一层输出层的所有神经元的值计算完毕。最后,将输出层每个神经元的值串在一起就得到了输出向量$\\vec{y}$。\n", "\n", "接下来举一个例子来说明这个过程,我们先给神经网络的每个单元写上编号。\n", "\n", "![nn2](images/nn2.png)\n", "\n", "如上图,输入层有三个节点,我们将其依次编号为1、2、3;隐藏层的4个节点,编号依次为4、5、6、7;最后输出层的两个节点编号为8、9。因为我们这个神经网络是全连接网络,所以可以看到每个节点都和上一层的所有节点有连接。比如,我们可以看到隐藏层的节点4,它和输入层的三个节点1、2、3之间都有连接,其连接上的权重分别为$w_{41}$,$w_{42}$,$w_{43}$。那么,我们怎样计算节点4的输出值$a_4$呢?\n", "\n", "\n", "为了计算节点4的输出值,我们必须先得到其所有上游节点(也就是节点1、2、3)的输出值。节点1、2、3是输入层的节点,所以,他们的输出值就是输入向量$\\vec{x}$本身。按照上图画出的对应关系,可以看到节点1、2、3的输出值分别是$x_1$,$x_2$,$x_3$。我们要求输入向量的维度和输入层神经元个数相同,而输入向量的某个元素对应到哪个输入节点是可以自由决定的,你偏非要把$x_1$赋值给节点2也是完全没有问题的,但这样除了把自己弄晕之外,并没有什么价值。\n", "\n", "一旦我们有了节点1、2、3的输出值,我们就可以根据式1计算节点4的输出值$a_4$:\n", "![eqn_3_4](images/eqn_3_4.png)\n", "\n", "上式的$w_{4b}$是节点4的偏置项,图中没有画出来。而$w_{41}$,$w_{42}$,$w_{43}$分别为节点1、2、3到节点4连接的权重,在给权重$w_{ji}$编号时,我们把目标节点的编号$j$放在前面,把源节点的编号$i$放在后面。\n", "\n", "同样,我们可以继续计算出节点5、6、7的输出值$a_5$,$a_6$,$a_7$。这样,隐藏层的4个节点的输出值就计算完成了,我们就可以接着计算输出层的节点8的输出值$y_1$:\n", "![eqn_5_6](images/eqn_5_6.png)\n", "\n", "同理,我们还可以计算出$y_2$的值。这样输出层所有节点的输出值计算完毕,我们就得到了在输入向量$\\vec{x} = (x_1, x_2, x_3)^T$时,神经网络的输出向量$\\vec{y} = (y_1, y_2)^T$。这里我们也看到,输出向量的维度和输出层神经元个数相同。\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 神经网络的矩阵表示\n", "\n", "神经网络的计算如果用矩阵来表示会很方便(当然逼格也更高),我们先来看看隐藏层的矩阵表示。\n", "\n", "首先我们把隐藏层4个节点的计算依次排列出来:\n", "![eqn_hidden_units](images/eqn_hidden_units.png)\n", "\n", "接着,定义网络的输入向量$\\vec{x}$和隐藏层每个节点的权重向量$\\vec{w}$。令\n", "\n", "![eqn_7_12](images/eqn_7_12.png)\n", "\n", "代入到前面的一组式子,得到:\n", "\n", "![eqn_13_16](images/eqn_13_16.png)\n", "\n", "现在,我们把上述计算$a_4$, $a_5$,$a_6$,$a_7$的四个式子写到一个矩阵里面,每个式子作为矩阵的一行,就可以利用矩阵来表示它们的计算了。令\n", "![eqn_matrix1](images/eqn_matrix1.png)\n", "\n", "带入前面的一组式子,得到\n", "![formular_2](images/formular_2.png)\n", "\n", "在式2中,$f$是激活函数,在本例中是$sigmod$函数;$W$是某一层的权重矩阵;$\\vec{x}$是某层的输入向量;$\\vec{a}$是某层的输出向量。式2说明神经网络的每一层的作用实际上就是先将输入向量左乘一个数组进行线性变换,得到一个新的向量,然后再对这个向量逐元素应用一个激活函数。\n", "\n", "每一层的算法都是一样的。比如,对于包含一个输入层,一个输出层和三个隐藏层的神经网络,我们假设其权重矩阵分别为$W_1$,$W_2$,$W_3$,$W_4$,每个隐藏层的输出分别是$\\vec{a}_1$,$\\vec{a}_2$,$\\vec{a}_3$,神经网络的输入为$\\vec{x}$,神经网络的输出为$\\vec{y}$,如下图所示:\n", "![nn_parameters_demo](images/nn_parameters_demo.png)\n", "\n", "则每一层的输出向量的计算可以表示为:\n", "![eqn_17_20](images/eqn_17_20.png)\n", "\n", "\n", "这就是神经网络输出值的矩阵计算方法。\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 神经网络的训练 - 反向传播算法\n", "\n", "现在,我们需要知道一个神经网络的每个连接上的权值是如何得到的。我们可以说神经网络是一个模型,那么这些权值就是模型的参数,也就是模型要学习的东西。然而,一个神经网络的连接方式、网络的层数、每层的节点数这些参数,则不是学习出来的,而是人为事先设置的。对于这些人为设置的参数,我们称之为超参数(Hyper-Parameters)。\n", "\n", "反向传播算法其实就是链式求导法则的应用。然而,这个如此简单且显而易见的方法,却是在Roseblatt提出感知器算法将近30年之后才被发明和普及的。对此,Bengio这样回应道:\n", "\n", "> 很多看似显而易见的想法只有在事后才变得显而易见。\n", "\n", "按照机器学习的通用套路,我们先确定神经网络的目标函数,然后用随机梯度下降优化算法去求目标函数最小值时的参数值。\n", "\n", "我们取网络所有输出层节点的误差平方和作为目标函数:\n", "![bp_loss](images/bp_loss.png)\n", "\n", "其中,$E_d$表示是样本$d$的误差。\n", "\n", "然后,使用随机梯度下降算法对目标函数进行优化:\n", "![bp_weight_update](images/bp_weight_update.png)\n", "\n", "随机梯度下降算法也就是需要求出误差$E_d$对于每个权重$w_{ji}$的偏导数(也就是梯度),怎么求呢?\n", "![nn3](images/nn3.png)\n", "\n", "观察上图,我们发现权重$w_{ji}$仅能通过影响节点$j$的输入值影响网络的其它部分,设$net_j$是节点$j$的加权输入,即\n", "![eqn_21_22](images/eqn_21_22.png)\n", "\n", "$E_d$是$net_j$的函数,而$net_j$是$w_{ji}$的函数。根据链式求导法则,可以得到:\n", "\n", "![eqn_23_25](images/eqn_23_25.png)\n", "\n", "\n", "上式中,$x_{ji}$是节点传递给节点$j$的输入值,也就是节点$i$的输出值。\n", "\n", "对于的$\\frac{\\partial E_d}{\\partial net_j}$推导,需要区分输出层和隐藏层两种情况。\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 输出层权值训练\n", "\n", "![nn3](images/nn3.png)\n", "\n", "对于输出层来说,$net_j$仅能通过节点$j$的输出值$y_j$来影响网络其它部分,也就是说$E_d$是$y_j$的函数,而$y_j$是$net_j$的函数,其中$y_j = sigmod(net_j)$。所以我们可以再次使用链式求导法则:\n", "![eqn_26](images/eqn_26.png)\n", "\n", "考虑上式第一项:\n", "![eqn_27_29](images/eqn_27_29.png)\n", "\n", "\n", "考虑上式第二项:\n", "![eqn_30_31](images/eqn_30_31.png)\n", "\n", "将第一项和第二项带入,得到:\n", "![eqn_ed_net_j.png](images/eqn_ed_net_j.png)\n", "\n", "如果令$\\delta_j = - \\frac{\\partial E_d}{\\partial net_j}$,也就是一个节点的误差项$\\delta$是网络误差对这个节点输入的偏导数的相反数。带入上式,得到:\n", "![eqn_delta_j.png](images/eqn_delta_j.png)\n", "\n", "将上述推导带入随机梯度下降公式,得到:\n", "![eqn_32_34.png](images/eqn_32_34.png)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 隐藏层权值训练\n", "\n", "现在我们要推导出隐藏层的$\\frac{\\partial E_d}{\\partial net_j}$。\n", "\n", "![nn3](images/nn3.png)\n", "\n", "首先,我们需要定义节点$j$的所有直接下游节点的集合$Downstream(j)$。例如,对于节点4来说,它的直接下游节点是节点8、节点9。可以看到$net_j$只能通过影响$Downstream(j)$再影响$E_d$。设$net_k$是节点$j$的下游节点的输入,则$E_d$是$net_k$的函数,而$net_k$是$net_j$的函数。因为$net_k$有多个,我们应用全导数公式,可以做出如下推导:\n", "![eqn_35_40](images/eqn_35_40.png)\n", "\n", "因为$\\delta_j = - \\frac{\\partial E_d}{\\partial net_j}$,带入上式得到:\n", "![eqn_delta_hidden.png](images/eqn_delta_hidden.png)\n", "\n", "\n", "至此,我们已经推导出了反向传播算法。需要注意的是,我们刚刚推导出的训练规则是根据激活函数是sigmoid函数、平方和误差、全连接网络、随机梯度下降优化算法。如果激活函数不同、误差计算方式不同、网络连接结构不同、优化算法不同,则具体的训练规则也会不一样。但是无论怎样,训练规则的推导方式都是一样的,应用链式求导法则进行推导即可。\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 具体解释\n", "\n", "我们假设每个训练样本为$(\\vec{x}, \\vec{t})$,其中向量$\\vec{x}$是训练样本的特征,而$\\vec{t}$是样本的目标值。\n", "\n", "![nn3](images/nn3.png)\n", "\n", "首先,我们根据上一节介绍的算法,用样本的特征$\\vec{x}$,计算出神经网络中每个隐藏层节点的输出$a_i$,以及输出层每个节点的输出$y_i$。\n", "\n", "然后,我们按照下面的方法计算出每个节点的误差项$\\delta_i$:\n", "\n", "* **对于输出层节点$i$**\n", "![formular_3.png](images/formular_3.png)\n", "其中,$\\delta_i$是节点$i$的误差项,$y_i$是节点$i$的输出值,$t_i$是样本对应于节点$i$的目标值。举个例子,根据上图,对于输出层节点8来说,它的输出值是$y_1$,而样本的目标值是$t_1$,带入上面的公式得到节点8的误差项应该是:\n", "![forumlar_delta8.png](images/forumlar_delta8.png)\n", "\n", "* **对于隐藏层节点**\n", "![formular_4.png](images/formular_4.png)\n", "\n", "其中,$a_i$是节点$i$的输出值,$w_{ki}$是节点$i$到它的下一层节点$k$的连接的权重,$\\delta_k$是节点$i$的下一层节点$k$的误差项。例如,对于隐藏层节点4来说,计算方法如下:\n", "![forumlar_delta4.png](images/forumlar_delta4.png)\n", "\n", "\n", "最后,更新每个连接上的权值:\n", "![formular_5.png](images/formular_5.png)\n", "\n", "其中,$w_{ji}$是节点$i$到节点$j$的权重,$\\eta$是一个成为学习速率的常数,$\\delta_j$是节点$j$的误差项,$x_{ji}$是节点$i$传递给节点$j$的输入。例如,权重$w_{84}$的更新方法如下:\n", "![eqn_w84_update.png](images/eqn_w84_update.png)\n", "\n", "类似的,权重$w_{41}$的更新方法如下:\n", "![eqn_w41_update.png](images/eqn_w41_update.png)\n", "\n", "\n", "偏置项的输入值永远为1。例如,节点4的偏置项$w_{4b}$应该按照下面的方法计算:\n", "![eqn_w4b_update.png](images/eqn_w4b_update.png)\n", "\n", "我们已经介绍了神经网络每个节点误差项的计算和权重更新方法。显然,计算一个节点的误差项,需要先计算每个与其相连的下一层节点的误差项。这就要求误差项的计算顺序必须是从输出层开始,然后反向依次计算每个隐藏层的误差项,直到与输入层相连的那个隐藏层。这就是反向传播算法的名字的含义。当所有节点的误差项计算完毕后,我们就可以根据式5来更新所有的权重。\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Program" ] }, { "cell_type": "code", "execution_count": 49, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "% matplotlib inline\n", "\n", "import numpy as np\n", "from sklearn import datasets, linear_model\n", "import matplotlib.pyplot as plt\n", "\n", "# generate sample data\n", "np.random.seed(0)\n", "X, y = datasets.make_moons(200, noise=0.20)\n", "\n", "# generate nn output target\n", "t = np.zeros((X.shape[0], 2))\n", "t[np.where(y==0), 0] = 1\n", "t[np.where(y==1), 1] = 1\n", "\n", "# plot data\n", "plt.scatter(X[:, 0], X[:, 1], c=y, cmap=plt.cm.Spectral)\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 50, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# generate the NN model\n", "class NN_Model:\n", " epsilon = 0.01 # learning rate\n", " n_epoch = 1000 # iterative number\n", " \n", "nn = NN_Model()\n", "nn.n_input_dim = X.shape[1] # input size\n", "nn.n_output_dim = 2 # output node size\n", "nn.n_hide_dim = 4 # hidden node size\n", "\n", "nn.X = X\n", "nn.y = y\n", "\n", "# initial weight array\n", "nn.W1 = np.random.randn(nn.n_input_dim, nn.n_hide_dim) / np.sqrt(nn.n_input_dim)\n", "nn.b1 = np.zeros((1, nn.n_hide_dim))\n", "nn.W2 = np.random.randn(nn.n_hide_dim, nn.n_output_dim) / np.sqrt(nn.n_hide_dim)\n", "nn.b2 = np.zeros((1, nn.n_output_dim))\n", "\n", "# defin sigmod & its derivate function\n", "def sigmod(X):\n", " return 1.0/(1+np.exp(-X))\n", "\n", "def sigmod_derivative(X):\n", " f = sigmod(X)\n", " return f*(1-f)\n", "\n", "# network forward calculation\n", "def forward(n, X):\n", " n.z1 = sigmod(X.dot(n.W1) + n.b1)\n", " n.z2 = sigmod(n.z1.dot(n.W2) + n.b2)\n", " return n\n", "\n", "\n", "# use random weight to perdict\n", "forward(nn, X)\n", "y_pred = np.zeros(nn.z2.shape[0])\n", "y_pred[np.where(nn.z2[:,0]" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# plot data\n", "y_pred = np.zeros(nn.z2.shape[0])\n", "y_pred[np.where(nn.z2[:,0]" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "ename": "ValueError", "evalue": "shapes (200,2) and (4,2) not aligned: 2 (dim 1) != 4 (dim 0)", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 122\u001b[0m \u001b[0mnn\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mNN_Model\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m2\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m4\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m2\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 123\u001b[0m \u001b[0mnn\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0minit_weight\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 124\u001b[0;31m \u001b[0mnn\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbackpropagation\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mX\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mt\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 125\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 126\u001b[0m \u001b[0mnn\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mevaluate\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m\u001b[0m in \u001b[0;36mbackpropagation\u001b[0;34m(self, X, y, n_epoch, epsilon)\u001b[0m\n\u001b[1;32m 75\u001b[0m \u001b[0md\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mz\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m-\u001b[0m\u001b[0mz\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0md0\u001b[0m \u001b[0;34m-\u001b[0m \u001b[0mz\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 76\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 77\u001b[0;31m \u001b[0md\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mz\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m-\u001b[0m\u001b[0mz\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdot\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0md0\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mW\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mjj\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mT\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 78\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 79\u001b[0m \u001b[0md0\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0md\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mValueError\u001b[0m: shapes (200,2) and (4,2) not aligned: 2 (dim 1) != 4 (dim 0)" ] } ], "source": [ "% matplotlib inline\n", "\n", "import numpy as np\n", "from sklearn import datasets, linear_model\n", "import matplotlib.pyplot as plt\n", "\n", "\n", "# defin sigmod & its derivate function\n", "def sigmod(X):\n", " return 1.0/(1+np.exp(-X))\n", "\n", "\n", "# generate the NN model\n", "class NN_Model:\n", " def __init__(self, nodes=None):\n", " self.epsilon = 0.01 # learning rate\n", " self.n_epoch = 1000 # iterative number\n", " \n", " if not nodes:\n", " self.nodes = [2, 4, 2] # default nodes size (from input -> output)\n", " else:\n", " self.nodes = nodes\n", " \n", " def init_weight(self):\n", " W = []\n", " B = []\n", " \n", " n_layer = len(self.nodes)\n", " for i in range(n_layer-1):\n", " w = np.random.randn(self.nodes[i], self.nodes[i+1]) / np.sqrt(self.nodes[i])\n", " b = np.random.randn(1, self.nodes[i+1])\n", " \n", " W.append(w)\n", " B.append(b)\n", " \n", " self.W = W\n", " self.B = B\n", " \n", " def forward(self, X):\n", " Z = []\n", " x0 = X\n", " for i in range(len(self.nodes)-1):\n", " z = sigmod(np.dot(x0, self.W[i]) + self.B[i])\n", " x0 = z\n", " \n", " Z.append(z)\n", " \n", " self.Z = Z\n", " \n", " # back-propagation\n", " def backpropagation(self, X, y, n_epoch=None, epsilon=None):\n", " if not n_epoch: n_epoch = self.n_epoch\n", " if not epsilon: epsilon = self.epsilon\n", " \n", " self.X = X\n", " self.Y = y\n", " \n", " for i in range(n_epoch):\n", " # forward to calculate each node's output\n", " self.forward(X)\n", " \n", " # calc weights update\n", " W = self.W\n", " B = self.B\n", " Z = self.Z\n", " \n", " D = []\n", " d0 = y\n", " n_layer = len(self.nodes)\n", " for j in range(n_layer-1, 0, -1):\n", " jj = j - 1\n", " z = self.Z[jj]\n", " \n", " if j == n_layer - 1:\n", " d = z*(1-z)*(d0 - z)\n", " else:\n", " d = z*(1-z)*np.dot(d0, W[jj].T)\n", " \n", " d0 = d\n", " D.insert(0, d)\n", " \n", " # update weights\n", " for j in range(n_layer-1, 0, -1):\n", " jj = j - 1\n", " \n", " if jj != 0:\n", " W[jj] += epsilon * np.dot(Z[jj-1].T, D[jj])\n", " else:\n", " W[jj] += epsilon * np.dot(X.T, D[jj])\n", " \n", " B[jj] += epsilon * np.sum(D[jj], axis=0)\n", " \n", " def evaulate(self):\n", " z = self.Z[-1]\n", " \n", " # print loss, accuracy\n", " L = np.sum((z - self.Y)**2)\n", " \n", " y_pred = np.argmax(z)\n", " y_true = np.argmax(self.Y)\n", " acc = accuracy_score(y_true, y_pred)\n", " \n", " print(\"L = %f, acc = %f\" % (L, acc))\n", " \n", "\n", "\n", "\n", "# generate sample data\n", "np.random.seed(0)\n", "X, y = datasets.make_moons(200, noise=0.20)\n", "\n", "# generate nn output target\n", "t = np.zeros((X.shape[0], 2))\n", "t[np.where(y==0), 0] = 1\n", "t[np.where(y==1), 1] = 1\n", "\n", "# plot data\n", "plt.scatter(X[:, 0], X[:, 1], c=y, cmap=plt.cm.Spectral)\n", "plt.show()\n", "\n", "\n", "nn = NN_Model([2, 4, 2])\n", "nn.init_weight()\n", "nn.backpropagation(X, t)\n", "\n", "nn.evaluate()\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## References\n", "* [零基础入门深度学习(3) - 神经网络和反向传播算法](https://www.zybuluo.com/hanbingtao/note/476663)\n", "* [Neural Network Using Python and Numpy](https://www.python-course.eu/neural_networks_with_python_numpy.php)\n", "* http://www.cedar.buffalo.edu/%7Esrihari/CSE574/Chap5/Chap5.3-BackProp.pdf\n", "* https://mattmazur.com/2015/03/17/a-step-by-step-backpropagation-example/" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.5.2" } }, "nbformat": 4, "nbformat_minor": 2 }