博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数据处理和训练模型的技巧
阅读量:4029 次
发布时间:2019-05-24

本文共 1044 字,大约阅读时间需要 3 分钟。

1. 数据处理

请参考,PCA利用数据之间的相关性,通过线性变换将原始数据变换为一组各维度线性无关的表示,可用于提取数据的主要特征分量,常用于高维数据的降维。

 

2. 权重处理:

 

3.权重处理:

关于BN的作用,总体来说,可以提升网络的速度性能和稳定性。至于为什么产生这样的效果,目的实际目前还没有定论,提出的时候是解决一个叫internal covariate shift的问题,直观上还有些其他好处。

对于上述公式的第四步:前面加了个normalization之后,很可能不是最优。再弄个线性映射,参数都是可学的。

 

4、防止过拟合:

(1)防止过拟合的原因

结构风险最小化: 在经验风险最小化的基础上(也就是训练误差最小化),尽可能采用简单的模型,以此提高泛化预测精度。加上L1和L2正则化项可以增大惩罚项,使模型更简单

(2)以同一条原曲线目标等高线来说,现在以最外圈的红色等高线为例,我们看到,对于红色曲线上的每个点都可以做一个菱形,根据上图可知,当这个菱形与某条等高线相切(仅有一个交点)的时候,这个菱形最小,上图相割对比较大的两个菱形对应的1范数更大。所以找相切的点。

几乎对于很多原函数等高曲线,和某个菱形相交的时候极其容易相交在坐标轴(比如上图),也就是说最终的结果,解的某些维度极其容易是0,数学可证明,这也就是我们所说的L1更容易得到稀疏解(解向量中0比较多)的原因。L2范数的从图上来看,不容易交在坐标轴上,但是仍然比较靠近坐标轴。因此这也就是我们老说的,L2范数能让解比较小(靠近0),但是比较平滑(不等于0)

(3)L2 针对于这种变动, 白点的移动不会太大, 而 L1的白点则可能跳到许多不同的地方 , 因为这些地方的总误差都是差不多的. 所以L1相比于L2不稳定。如下图所示:

 

5、防止过拟合:为啥能防止过拟合?

  • 取平均,各种过拟合相互抵消,相当于多个模型的组合
  • 减少特征之间的依赖性,增加鲁棒性,泛化能力

注意: 经过上面屏蔽掉某些神经元,使其激活值为0以后,我们还需要对向量y1……y1000进行缩放,也就是乘以1/(1-p)。

p的概率屏蔽神经元,那平均就是留下了比例为1-p的神经元,那要保证输出的数值差不多,就除以1-p。

dropout率一般选0.5,为了保证随机生成的网络结构的多样性。就是比如p特别小,那很多网络结构出现的概率就很低,p特别大也是。实际中也不见得非是0.5,具体衡量得用网络结构的分布的熵吧,具体得试,不想试就还是0.5。

转载地址:http://duobi.baihongyu.com/

你可能感兴趣的文章
autohotkey快捷键显示隐藏文件和文件扩展名
查看>>
Linux中的进程
查看>>
学习笔记4——猜数字游戏,随机数
查看>>
学习python(1)——环境与常识
查看>>
学习设计模式(3)——单例模式和类的成员函数中的静态变量的作用域
查看>>
学习设计模式(5)——装饰器模式
查看>>
学习设计模式(6)——建造者模式
查看>>
rep movsd ,N - move all of our dwords--【解决办法】
查看>>
查找连续相同值的算法,并给出连续相同值的个数以及位置
查看>>
关于STL中的Vector,list和deque
查看>>
错误:常量中有换行符
查看>>
学习设计模式(8)——单例模式2
查看>>
学习算法(1)——2分查找法
查看>>
github入门指南
查看>>
Import GPG key in CentOS 7
查看>>
CentOS7挂载windows下的共享文件夹
查看>>
CentOS升级gcc4.4.7到gcc4.8.5
查看>>
学习算法(2)——查找数组中的相同元素
查看>>
学习算法(3)——查找2个数组中的相同元素
查看>>
关于数组,sizeof(),strlen的计算问题
查看>>