经验整理 神经网络基础知识
整体架构
![](https://static001.geekbang.org/infoq/a9/a9525fbc210e3c9ce8363810523b5d9b.png)
输入和输出可以是集合类型,里面包含许多参数
反复迭代
![](https://static001.geekbang.org/infoq/cc/ccbe7a7320feeaed6ee18ae20d994987.png)
反复迭代,逐渐修正误差,使预测值逼近真实值
误差值 = 期望值 - 实际值
多分类器并存
![](https://static001.geekbang.org/infoq/c9/c9433d957b502bfa6f074f0bc7b0c916.png)
当前分类器 1 和 2 都是可以正常工作的,后续需要通过不断加入数据,来对分类器进行迭代调优
训练样本可能包含噪声和错误,要清洗训练样本。
激活函数
![](https://static001.geekbang.org/infoq/89/8975646fa886d7623569e0baebc67389.png)
输入达到阈值时,才能激发神经元。
简单神经网络 与 矩阵乘法
![](https://static001.geekbang.org/infoq/3b/3b55d0fc129c213941ef98d2596e47b7.png)
![](https://static001.geekbang.org/infoq/36/365466b75650502fb2cc3c8fcb8c2875.png)
X = W * I
输出 1 = 阈值函数(输入 1*权重 1,1+输入 2*权重 2,1)
输出 2 = 阈值函数(输入 1*权重 1,2+输入 2*权重 2,2)
三层神经网络
![](https://static001.geekbang.org/infoq/76/7663db7db7140e21beb409dca2357487.png)
X_hidden = W_input_hidden * I
O_hidden = sigmoid(X_hidden)
X_output = W_hidden_output* O_hidden
O_output = sigmoid(X_output)
误差反向传播
![](https://static001.geekbang.org/infoq/5d/5d63467abc74f55007b49479bede2b89.png)
误差_hidden1 = 输出误差 1 * W_ho1,1 / (W_ho1,1 + W_ho2,1) + 输出误差 2 * W_ho1,2 / (W_ho1,2 + W_ho2,2)
备注
欢迎各位同学一起来交流学习心得!
版权声明: 本文为 InfoQ 作者【万里无云万里天】的原创文章。
原文链接:【http://xie.infoq.cn/article/52a0f4188499c17bec32ab7ec】。文章转载请联系作者。
评论