什么是神经网络
来源:互联网 发布:软件使用许可费 编辑:程序博客网 时间:2024/06/13 23:05
本文结构:
- 什么是神经网络
- 什么是神经元
- 神经网络的计算和训练
- 代码实现
1. 什么是神经网络
神经网络就是按照一定规则将多个神经元连接起来的网络
例如全连接(full connected, FC)神经网络,它的规则包括:
- 有三种层:输入层,输出层,隐藏层。
- 同一层的神经元之间没有连接。
- full connected的含义:第 N 层的每个神经元和第 N-1 层的所有神经元相连,第 N-1 层神经元的输出就是第 N 层神经元的输入。
- 每个连接都有一个权值。
不同的神经网络,具有不同的连接规则
2. 什么是神经元
神经元和感知器的区别也是在激活函数:
感知器,它的激活函数是阶跃函数,神经元,激活函数往往选择为 sigmoid 函数或 tanh 函数等
其中 sigmoid 函数的公式和图表示如下:
sigmoid 函数的求导公式:
想了解更多还可以看这篇:常用激活函数比较
3. 神经网络的训练
先向前计算,再向后传播
例如上面神经网络的结构
输入层,首先将输入向量的每个元素的值,赋给输入层的对应神经元
隐藏层,前一层传递过来的输入值,加权求和后,再输入到激活函数中,根据如下公式,向前计算这一层的每个神经元的值
输出层的计算和隐藏层的一样
用矩阵来表示
这个公式适用于每个隐藏层和输出层,就是 W 的值和 f 的形式会不一样,
其中 W 是某一层的权重矩阵,x 是某层的输入向量,a 是某层的输出向量
模型要学习的东西就 W。
诸如神经网络的连接方式、网络的层数、每层的节点数这些参数,不是学习出来的,而是人为事先设置的,称之为超参数。
训练它们的方法和前面感知器中用到的一样,就是要用梯度下降算法:
完整的推导可以看这篇,一步一步很详细:
手写,纯享版反向传播算法公式推导
part 4. 代码实现 下次再写
学习资料:
https://www.zybuluo.com/hanbingtao/note/476663
推荐阅读
历史技术博文链接汇总
也许可以找到你想要的
0 1
- 什么是神经网络?
- 什么是神经网络
- 什么是神经网络
- 神经网络初探:什么是神经网络?
- 什么是神经网络(转)
- 【Introduction】什么是神经网络?
- 什么是人工神经网络?
- 什么是全连接神经网络
- 1.2 什么是神经网络
- 1.什么是神经网络
- 什么是人工神经网络 人工神经网络的介绍
- 深度学习之一---什么是神经网络
- 什么是end-to-end神经网络?
- 什么是end-to-end神经网络?
- 深度学习之什么是神经网络
- 【深度学习概论】什么是神经网络
- 2 什么是神经网络(NN)?
- 【神经网络与深度学习】什么是HDF
- 解决方案、项目、程序集、命名空间
- 神经网络 之 线性单元
- jq.fullpage插件
- 因有需求给每个 a和post带上一个参数,故需要一个通用的js来完成此功能
- VS调试Bug记录
- 什么是神经网络
- 学习 笔记
- Bagging,Random Forests以及Boosting
- IT开发笔记
- 神经网络的前世
- sdut3257(质因数分解平方和)
- 函数调用规则
- 图解何为CNN
- e的前2000位