5.2 网络训练
来源:互联网 发布:tps跨境电商是网络传销 编辑:程序博客网 时间:2024/06/15 18:19
5.2 网络训练
1、误差函数
最简单的误差函数是平方和误差函数,即:
而现在我们要从概率的角度考虑误差函数的选择。
⾸先考虑回归问题,只考虑⼀元⽬标变量
其中
值
取负对数,就得到了误差函数:
在神经⽹络的⽂献中,通常考虑最⼩化误差函数⽽不是最⼤化(对数)似然函数,因此这⾥我们遵循这个惯例。⾸先考虑
通过最小化误差函数得到的
得到
现在考虑二分类问题,我们考虑⼀个具有单⼀输出的⽹络,它的激活函数是 logistic sigmoid 函数:
从而
考虑⼀个由独⽴的观测组成的训练集,那么由负对数似然函数给出的误差函数就是⼀个交叉熵( cross-entropy )误差函数,形式为:
扩展到K个二分类问题,可以使用K个输出的神经网络,每个二分类都关联一个二元目标变量
误差函数为:
最后考虑标准的多分类问题,每个输入被分到K个互斥的类别中,误差函数为:
输出单元激活函数(对应于标准链接函数)是下⾯的 softmax 函数:
总⽽⾔之,根据解决的问题的类型,关于输出单元激活函数和对应的误差函数,都存在⼀个⾃然的选择。对于回归问题,我们使⽤线性输出和平⽅和误差函数,对于(多类独⽴的)⼆元分类问题,我们使⽤ logistic sigmoid 输出以及交叉熵误差函数,对于多类分类问题,我们使⽤ softmax 输出以及对应的多分类交叉熵错误函数。对于涉及到两类的分类问题,我们可以使⽤单⼀的 logistic sigmoid 输出,也可以使⽤神经⽹络,这个神经⽹络有两个输出,且输出激活函数为 softmax 函数。
2、参数最优化
下面考虑如何找到使
首先为权向量选择某个初始值
对于权向量更新
3、局部二次近似
考虑
其中立方项和更高阶的项都被忽略,b被定义为
Hessian矩阵
根据公式
考虑⼀个特殊情况:在误差函数最⼩值点
这⾥ Hessian 矩阵在点
其中特征向量
我们现在把
这可以被看成坐标系的变换,坐标系的原点变为了
误差函数可以写为:
对于⼀维权空间,驻点
对应的 D 维的结论是,在
4、梯度下降最优化
最简单的使⽤梯度信息的⽅法是:
在每⼀步,权值向量都会沿着误差函数下降速度最快的⽅向移动,因此这种⽅法被称为梯度下降法( gradient descent )或者最陡峭下降法( steepest descent )。虽然这种⽅法在直觉上看⽐较合理,但是实际上可以证明它是⼀个很差的算法原因如下:
目前有多种优化的梯度下降法,如共轭梯度法( conjugate gradient )、拟⽜顿法( quasi-Newton )。实际中应用最多的是随机梯度下降法,又称顺序梯度下降法,它是梯度下降法的在线版本,权向量的每次更新只依赖于一个数据点,这种更新在数据集上重复进行。
与批处理相比,在线梯度下降更加高效,同时避免了陷入局部最小值。
0 0
- 5.2 网络训练
- 训练网络
- bp网络训练演示
- 训练一个Siamese网络
- tripletLoss,训练,网络配置
- FCN网络训练训练——从零开始
- caffe训练网络的实践
- BP神经网络进行网络训练
- 深度网络的预训练
- FCN网络训练 终极版
- FCN 全卷积网络训练
- YOLO如何训练分类网络???
- 训练GAN网络的技巧
- 浅谈caffe之训练网络
- Caffe MNIST训练lenet网络
- 多任务网络训练技巧
- 训练前后bp网络仿真结果分析
- 黑马程序员训练营:网络编程
- 【杭电】[1302]The Snail
- LeetCode 47 Permutations II
- Android Picasso的简单使用
- R语言-代码规范(Google's R Style Guide)
- LeetCode--No.206--Reverse Linked List
- 5.2 网络训练
- x64通过PspCidTable遍历进程
- Ubuntu 安装开源微信(源码安装+release快速安装)
- 第13课:Spark Streaming源码解读之Driver容错安全性
- oracle错误代码大全
- Number of Islands, variation
- Ubuntu 16.04 卸载vmware
- linux下下安装jdk-6u45-linux-x64.bin
- startForeground()让服务保持前台级别