传统神经网络
线性回归:
参数[a,b,c,d]
预测:
梯度下降
梯度下降:方向确定,梯度为真实值与预测值之间的差异,让差异逐渐变小,进行更新参数。损失函数求偏导进行。梯度不断更新进行下降。
梯度下降法:真实值与预测值进行比较得到LOSS,对各个变量求导得到∆m,更新变量m,若loss足够小结束循环。
非线性
非线性:线性基础上加入非线性激励,线性函数的基础上进行非线性的改变,若加入sigmoid函数就是取值为0-1的值的函数
非线性激励:
(1)sigmoid函数:将输入的数据映射到[0,1]之间,梯度下降明显
(2)tahn函数:将输入的数据映射到[-1,1],梯度损失明显
(3)ReLU函数:正向截断损失大量特征,反向梯度没有损失
神经网络的构建
单层感知机:就有一个线性函数进行进行激活函数变化。
多层感知机:单层感知机进行组合组成多层感知机,为深度神经网路(DNN)
前向传播:从左往右进行传播
神经网络构成如下:
神经网络前向传播过程:
后向传播:将损失进行传播,将w,b进行改变。损失函数每下降一些w、b改变一些
神经网络执行流程:
损失函数
影响深度学习性能最重要的因素之一。是对神经网络模型训练的直接引导,合适的损失函数可以使得学习模型收敛
(1)Softmox函数
分类问题预测结果比较明显
(2)cross entropy(交叉熵损失函数)
目标为[0,1]区间的回归问题及生成
神经网络配件
1、学习率:
数值大:收敛速度快
数值小:精度高
更新参数的过程为:其中λ为学习率
2、动量:行走惯性,提高速度
动量与学习率区别:动量与原来方向有关系速度矢量相加的结果,学习率原来方向步子更大。
关于过拟合问题
过拟合:对现有数据进行拟合,对未来数据达不到分类效果。参数多会防止过拟合,训练数据拟合好,测试数据效果不好。
应对方法
(1)正则化:减去参数的2倍拉姆达。其中λ为正则化系数
(2)dropout:随机取参数为0,训练时候使用dropout,测试不考虑,此用法使得参数分布更均衡