回归算法( 五 )


因为神经网络中每一层的输入输出都是一个线性求和的过程,下一层的输出只是承接了上一层输入函数的线性变换,所以如果没有激活函数,那么无论你构造的神经网络多么复杂,有多少层,最后的输出都是输入的线性组合,纯粹的线性组合并不能够解决更为复杂的问题 。而引入激活函数之后,我们会发现常见的激活函数都是非线性的,因此也会给神经元引入非线性元素,使得神经网络可以逼近其他的任何非线性函数,这样可以使得神经网络应用到更多非线性模型中 。
激活函数可以分为线性激活函数(线性方程控制输入到输出的映射,如f(x)=x等)以及非线性激活函数(非线性方程控制输入到输出的映射,比如、Tanh、ReLU、LReLU、PReLU、Swish 等)
为什么被淘汰了!
梯度消失现象:当值比较大的时候,对函数求偏导,会发现斜率趋近于0,越大越趋近0,但是在反向传播时,求偏导等于对该项求偏导乘上上一项的偏导,但是一个上一项的很大的值求偏导都快等于0了,那么这一项也趋近于0,下一项也会被影响,梯度消失
解决办法:用ReLU
3. 过拟合
神经元过多,容易过拟合!
可以使用正则化惩罚项 比如λw^2,以下是惩罚力度对结果的影响
数据预处理:
减去均值,就会以0为中心
除以标准差,就会归一化

回归算法

文章插图
权重初始化:随机,但是不能让初始值为0(高斯初始化!)
偏置初始化:0或1
Drop-out
设定保留率,随机选择几个神经元不更新(这次不更新而已,下次还是会更新的,只要没被随机到)可以降低过拟合风险!并且可以用迭代次数来弥补有些神经元被迭代得少的情况
A:全连接(每个神经元都和上下两层神经元全部连接在一起了)
B:drop-out
4. 例子 PCA降维与SVD矩阵分解 聚类算法 推荐系统第二部分:深度学习 深度学习基础
见《第一部分-机器学习-神经网络基础》
神经网络架构
基本与《第一部分-机器学习-神经网络架构》一致,但是第一部分介绍的比较粗糙
卷积神经网络 1. 应用领域
深度学习让机器识别变得准确
分类与检索 超分辨率重构 医学任务 无人驾驶 人脸识别
GPU比CPU快太多
2. 卷积的作用
CNN是三维的,因为NN的数据只有一维,一组数据就是二维,而CNN图片数据就是二维的了(加上通道还有三维),一大堆图片叠加在一起,就是三维的了(实际上是)
卷积:提取特征
池化:压缩特征
3. 卷积特征值计算
卷积操作:寻找最好的权重参数矩阵,相当于就是寻找最合适的卷积核!(卷积核就是权重参数矩阵呀)
比如图中的这一块卷积核(权重参数)是[[0 1 2][2 2 0][0 1 2]] 计算就是0+1x2+2x2+0+0+0+0+0+0=6(这样就是单一通道的,如果一个像素点RGB三个通道分别计算出来是1、2、3,那么就是1+2+3=6)
三通道例子:
全部加和之后,还要在加上偏置b哦
4. 特征图表示
5. 步长与卷积核
滑动窗口步长:一次可以滑动一格,也可以滑动两格
如果说是对一行字卷积呢?那如果要三个字三个字卷积,那就是1x3的卷积核,卷积核不一定是正方形哦
步长不一样,得到的特征值大小也不一样
卷积核尺寸:影响选择区域的大小和得到的结果大小
6. 边缘填充、卷积核个数
边界信息缺失?边缘填充,可以填充0和其他方法
卷积核个数?比如一共要得到10个特征图,那就需要10个卷积核,每个卷积核卷出来的特征都不一样哦