神经网络基础(用来做特征提取的)
- 一、前向传播
- 二、反向传播
- 三、整体架构
- 四、激活函数
- 五、数据预处理
- 六、参数初始化
- 七、DROP-OUT(在测试过程中因模型太过复杂而采取的一种随机杀死的方法)
- 八、总结
一、前向传播
1、线性函数
1)数学表示
2)计算方法
2、损失函数
1)公式分析
分析:
(1)当Sj-Syi<0时,取值0,表示没有损失
(2)+1是因为错误容忍度的存在,损失很小就忽略,比1大就要计算
2)模型判别
串联:
3、softmax
softmax具体分析
总结:
前向传播:通过一个合适的w值计算出最终的损失值
二、反向传播
简单例子
1、举例
2、链式法则(逐层计算从后往前,不是一步得出的)
复杂例子
3、单元概念
三、整体架构
注意⚠️:
不要被图误导,明白它的数学模型,及正向传播和反向传播原理
1、概念解析
层次结构:每一层都是基于前一层进行变换的
神经元:
1)input layer: 输入多少个表示有多少数据元
2)hidden layer:
比如输入是age、weight、height
隐层1就是把它转成计算机能识别的数据,比如age0.1+weight0.3+height*0.2
隐层2就是在隐层1的基础上再加工,更好的被计算机识别
全链接:
input与hidden1之间的线就代表的是w1,hidden1和hidden2之间的线代表的是w2
从上面分析x是固定不变的,什么样的权重参数w1,w2,w3才是适合当前这个任务的
非线性:
2、影响分析:
1)一定程度下神经元个数越多,分类效果越好
2)惩罚力度入参数对结果的影响
四、激活函数
1)Sigmoid函数:存在梯度消失的现象,比如w3=0了,w2,w1也都为0了
2)Relu函数:市面上都用这个,神经网络中比较实用
五、数据预处理
六、参数初始化
随机生成3*4的矩阵,D代表3,H代表4
乘以0.01是为了防止某些值突然过大,使起伏在一个相对均匀的水平
七、DROP-OUT(在测试过程中因模型太过复杂而采取的一种随机杀死的方法)
每次选中一半的神经元进行训练,其他移除,迭代百万次
八、总结
整个神经网络计算过程中就是围绕一个点:什么样的w参数能够适合于当前的这个任务