关于机器学习:MindSpore易点通深度学习系列那些介于模糊与清楚之间的一些概念

7次阅读

共计 1833 个字符,预计需要花费 5 分钟才能阅读完成。

之前小编就给大家提过正则化(超链接),其实还有很多定义大家是有点含糊又有点分明的,明天好好带大家一起捋一遍~~

1 训练集、验证集、测试集
正确地配置训练、验证和测试数据集,会很大水平上帮忙大家创立高效的神经网络。即便是深度学习专家也不太可能一开始就晓得匹配度最高的参数,深度学习网络须要屡次周而复始,能力为应用程序找到最佳的神经网络,因而循环该过程的效率是决定我的项目停顿速度的一个关键因素,而创立高质量的训练数据集,验证集和测试集也有助于进步循环效率。

在机器学习倒退的小数据量时代,常见做法所有数据中存在 70% 的验证集,剩下的 30% 作为测试集,如果没有明确设置验证集的话,能够将训练集、验证集、测试集以 3:1:1 的规范划分。(这点小编应该也在之前的机器学习系列中给大家遍及过)而当波及大量数据的时候,验证集和测试集占数据总量的比例会趋向于变得更小。(没错,验证集的目标就是验证不同的算法,测验哪种算法更无效,因而,验证集要足够大能力评估,而因为咱们的数据总量是微小的,因而即便验证集所占的比例很小,然而其数据量也是可观的)。所以当数据集规模较大的,验证集和测试集要小于数据总量的 20% 或 10%。

当然,小编这里还有两个小 TIPS,大家能够细品一下:

1. 尽可能使验证集和测试集的数据来自同一散布;

2. 就算没有测试集也无伤大雅,只须要在训练集上训练,尝试不同的模型框架,在验证集上评估这些模型,而后迭代并选出实用的模型。

1.2 偏差,方差

假如给上图中的数据集拟合一条直线,可能会失去一个逻辑回归拟合,然而并不能很好地拟合该数据,这就是高偏差(high bias)的状况,即欠拟合。

而如果拟合一个非常复杂的分类器实用于这个数据集,这时候就可能会呈现方差较高(high variance),数据适度拟合(overfitting)的景象。

当然,介于欠拟合与过拟合之间也会存在适度拟合(just right)的状况,使得数据拟合看起来更加正当。

了解偏差和方差的两个要害数据是训练集误差(Train set error)和验证集误差(Dev set error)。

1. 假设训练集误差是 1%,验证集误差是 11%,能够看出训练集设置得十分好,而验证集设置绝对较差,可能适度拟合了训练集,像这种状况,咱们称之为“高方差”。

2. 假如训练集误差是 15%,验证集误差是 16%,算法并没有在训练集中失去很好训练,如果训练数据的拟合度不高,就是数据欠拟合,就能够说这种算法偏差比拟高。另一方面,它对于验证集产生的后果却是正当的,验证集中的错误率只比训练集的多了 1%。

3. 训练集误差是 15%,偏差相当高,同时验证集的错误率达到 30%,这样一来方差也很高。

4. 最匹配的后果模型:训练集误差是 0.5%,验证集误差是 1%,偏差和方差都很低。

1.3 解决办法
因而当初始模型训练实现后,咱们首先须要晓得算法的偏差高不高,如果较高,甚至无奈拟合训练集,那么咱们就须要毫不犹豫地抉择一个或多个新的网络。

采纳规模更大的网络,缩短训练工夫也能够试试看,直到解决偏差问题,实现数据拟合。

如果偏差升高到能够承受的数值,查看验证集性能查看方差,如果方差高,那就是采纳更多数据来解决问题,当然无奈减少数据,那么就能够采纳咱们之前提到的正则化来缩小过拟合。

1.4 正则化如何预防过拟合
为什么正则化能够缩小方差问题?这里能够具体给大家解说一下:

左图是高偏差,右图是高方差,两头是恰好适合。

假如上图为一个过拟合的神经网络,代价函数 J,含有参数 W,b。增加正则项防止数据权值矩阵过大。

如果正则化设置得足够大,权重矩阵 W 被设置为靠近于 0 的值,将多暗藏单元的权重设为 0,打消了暗藏单元的影响。如果是这种状况,神经网络会变成一个很小的网络,小到如同一个逻辑回归单元,可是深度却很大,使网络从适度拟合的状态更靠近左图的高偏差状态。然而会存在一个两头值,于是就会有一个靠近“Just Right”的中间状态。

假如应用的是双曲线激活函数。

用 g(z)示意 tanh(z),只有 z 十分小,激活函数开始变得非线性。

如果正则化参数 λ 很大,激活函数的参数会绝对较小,因为代价函数中的参数变大了,如果 W 很小,z 也会很小。

总结来说,如果正则化参数变得很大,参数 W 很小,z 也会绝对变小,此时疏忽 b 的影响,z 会绝对变小。激活函数 tanh 曲线函数会绝对呈线性,整个神经网络会计算离线性函数近的值,不会产生过拟合。

当然啦,正则化咱们之前只是做了比较简单的介绍,下期咱们进行更加具体的介绍~ 再会!

正文完
 0