![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
深度学习
文章平均质量分 69
小脆脆
我和我最后的倔强,握紧双手绝对不放
展开
-
过拟合及改善方法
最近在学习深度学习相关内容,关于机器学习中过拟合的几种方法进行总结。 首先什么是过拟合,简而言之就是训练成功的模型对于训练集具有非常好的一个预测能力,但是对于测试集的数据其预测能力往往差强人意。 可以用以下几幅图比较形象地解释: 上图中的小圆点的待拟合的数据点,我们用M次多项式进行拟合的过程中,M值越大,用于拟合的参数越多 显然M=0时候,相当于y=c0,参数只有一个c0,是一条平原创 2017-05-16 18:21:09 · 1174 阅读 · 0 评论 -
交叉验证
在机器学习中,我们需要对模型进行训练跟测试评价,那么这时候就需要用到训练集跟测试集数据,但是有时候我们的数据集比较少,资源珍贵,如何才能更加有效地利用这些数据来训练模型呢,这就是交叉验证需要解决的问题。交叉验证的思想就是数据的重复利用,具体说就是将给定的数据集进行切分,将切分的数据集组合为训练集和测试集,利用数据集的不同组合对模型进行反复训练,测试以及模型的选择。 几种交叉验证的方法:简单的交叉原创 2017-05-17 15:37:42 · 566 阅读 · 0 评论 -
神经网络训练细节之batch normalization
在对神经网络进行训练的时候,经常涉及到的一个概念就是batch normalization,那么究竟什么是batch normalization,以及为什么在训练的时候要加入batch normalization呢?以下就是我的一些学习心得。 1、提出batch normalization的原因 (1) 我们在对某个神经网络训练完成之后,需要测试该网络,那么如果我们的训练集数据与测原创 2017-06-28 21:35:46 · 3291 阅读 · 0 评论 -
关于激励函数的一些思考
在学习神经网络的时候,会发现神经网络中的各个神经元代表的其实就一种运算,这=这种运算就是激励函数,激励函数一般都是非线性的,为什么呢? 因为线性函数有一个特点,那就是线性函数的组合还是线性函数,这也就以为这不论你所设计的神经网络有多深,多么复杂,只要里面用到的激励函数是线性函数,那么这些层层之间都是线性函数的一个组合,最终整个网络依然是线性的,可以用一个矩阵来代替,跟只有一层网络是没有区别的,所原创 2017-06-20 20:48:30 · 1760 阅读 · 0 评论 -
梯度反向传播求解示例
深度学习中进行网络的训练的时候,常常采用梯度反向传递的方式对网络中的参数进行调整,那么具体是怎么实现的呢?我用一个简单的例子进行推导求解。 如下图,这里采用的是两层网络,损失函数采用的是平方差损失函数,激励函数采用的是sigmoid函数,sigmoid函数的导数在我的上篇文章中有写,这里直接用,不再赘述。 通过上面的一系列推导就可以看出,反向传播网络的工作过程是原创 2017-06-23 13:02:28 · 1805 阅读 · 0 评论