神经网络
文章平均质量分 73
w326639619
这个作者很懒,什么都没留下…
展开
-
神经网络简介-神经元
神经网络学习1,神经元 如上图所示为一个神经元,输入样本集合为X∈R1×dX\in R^{1\times d},共有nn个样本,这nn个样本对应的输出为yy。 上图中 z=∑i=1nwi⋅xi+bz=\sum_{i=1}^{n}w_{i}\cdot x_{i}+b 然后对于输入产生的值zz,有一个激活函数f(⋅)f(\cdot),使得a=f(z)a=f(z)。这样,输入xx通过这个神经原创 2016-11-03 09:55:50 · 512 阅读 · 0 评论 -
神经网络简介-多层神经网络
上一节介绍了神经元及相关内容,本节我们看一下神经网络 如上图所示,该神经网络有三层。我们标记第一层(也就是输入层)为a(1)a^{(1)},第一层与第二层连接权重为w(1)w^{(1)},然后第一层输入与第一层权重的线性和为z(1)z^{(1)},第一层神经元个数为n(1)n^{(1)},并依次标记剩余网络层。 可以看出,存在 z(l)j=∑i=1n(l)a(l)i⋅w(l)i,j=a(l)⊤原创 2016-11-05 16:47:01 · 1424 阅读 · 0 评论 -
神经网络简介-防止过拟合
因为神经网络具有很多参数,而训练过程中,如果对这些参数不加以限制,它们很可能会在训练出的模型中含带有训练数据的特性。为了防止这样的情况发生,通常有以下几种方法: 1.early stop(及早停止) 在模型训练过程中,在训练数据集上,代价函数会一直降低,但是训练出来的模型在测试集上的结果是先升高,在过了一定的训练轮数后,结果会在最高值附近波动甚至减低,这是因为模型学习到了训练数据原创 2016-11-07 21:37:08 · 7904 阅读 · 0 评论 -
神经网络简介-加速学习
在训练神经网络过程中,网络训练速度是比较引人关注的一个问题。我们希望在训练过程中网络代价函数会快速收敛,准确率会快速提升,下面来说说一些常见的方法。1.代价函数更换1.1. quadratic-cost functionJ(w,b)=12n∑i=1n(yi−h(w,b)(xi))2+R(w)J(w,b)=\frac{1}{2n}\sum_{i=1}^{n}{\left(y_{i}-h_{(w,b)}原创 2016-11-11 10:39:17 · 442 阅读 · 0 评论 -
Caffe源码阅读(粗读)--网络初始化
最近打算看一看caffe实现的源码,我是从caffe训练这个线索阅读代码的。caffe.bin这个是我们在训练网络时用到的可执行文件,其中main()函数首先对输入参数进行解析,这里边用到了google的工具包gflags,参数会把linux下输入的./build/tools/caffe.bin train –solver=examples/mnist/lenet_solver.prototxt -原创 2016-12-14 21:52:09 · 1225 阅读 · 0 评论 -
Caffe源码阅读(粗读)--网络训练
Caffe源码阅读(粗读)–网络初始化上一篇博文中我们简单了解了网络初始化过程,接下来我们仍将粗略理解网络训练过程。在网络初始化完成之后,生成的Solver类对象solver将会调用Solve()函数训练网络并保存训练好的网络模型。src/caffe/solver.cpp Solve()函数首先根据resume_file是否为空来判断是否需要finetuning网络模型,如果resume_file原创 2016-12-23 17:25:59 · 434 阅读 · 0 评论