BP神经网络
来源:互联网 发布:后台数据集 js调用 编辑:程序博客网 时间:2024/06/01 10:25
神经网络
NN
多层前向神经网络
输入层(特征向量值):神经元数量由特征值确定,特征值有多少就有多少
隐藏层(可以有很多层):层数和每层神经元数量不定
输出层(标记分类):神经元数量由目标集确定
每个神经元存的数字由上一个神经元传的值,自己的值和偏置值决定
权重(w)
偏置(b):除了输入层,每一层神经元都有偏置
激励函数activation function
隐藏层足够多,训练集足够大,可以模拟任何问题
NN算法(BP=Back Propagation后项传播)
1.特征向量标准化normalize(通过算法,特征值转化为0-1之间的值,即输入值在0-1之间)
比如毛色:输入层四个输入值 黑1000 蓝0100 就是选到谁谁就设1
2.随机初始化权重和偏置(-1-1之间)
3.传入样例
比如:输入层四个输入传为0.1,0.2,0.3,0.4
4.计算神经元的值
1.对上层输入加权求和:上层的每个特征值乘以自己和该神经元的权重的值再相加
2.加上偏置值
3.用激励函数产生最后结果(sigmoid function)
f(x)=1/(1+e^(-x))
5.根据误差反向传送
6.误差计算
1.输出层 Err =(结果)*(1-结果)*(预期值-结果)
2.隐藏层 Err = ( 结果 )*(1-结果)*(后一层Err加权求和)
3.权重更新
Δwij = (learning rate)*Err*Oi learning grate: 学习率
wij = wij + Δwij
4.偏置更新
Δbj=(learning rate)*Errj
bj = bj+Δbj
训练NN
不断通过样例调整权重和偏置的过程
训练好的神经网络可以用于预测新的样例
训练终止
1.训练一定次数(epoch)
或
2.既定错误率
或
3.权重更新低于某个Threhold(阈值)
自己定
激励函数
如双曲函数,逻辑函数(上面例子),阶跃函数。。。
learning rate
学习的步长
- BP神经网络
- BP神经网络
- BP 神经网络
- bp神经网络
- BP神经网络
- BP神经网络
- BP神经网络
- BP神经网络
- BP神经网络
- bp神经网络
- BP神经网络
- BP神经网络
- BP神经网络
- BP神经网络
- BP神经网络
- BP神经网络
- BP神经网络
- BP神经网络
- angular4.0学习笔记(01)-环境搭建(2017-06)
- Linux常用性能分析命令
- D 01-HTML表格标签
- 使用redis解决并发操作问题
- win10(64位)+boost1.64.0
- BP神经网络
- freemaker想到哪里就写到哪里
- 【FreeMarker】判断是否为空
- [译]Android架构组件 – 查看ViewModel – 第二部分
- 打印从1到n的整数
- Ubuntu12.04 LTS下Facebook scribe安装过程
- 你不知道的javascript之Object.create 和new区别
- Java简介
- 一个简单的爬虫程序,包含请求头。