零基础网站建设,应用之星 wordpress,动漫设计工作室网站建设公司,网站打开慢模型选择、复杂度、过欠拟合的概念模型选择训练误差和泛化误差验证数据集和测试数据集K-则交叉验证#xff08;没有足够多数据时使用#xff09;过拟合和欠拟合模型容量模型容量的影响估计模型容量控制模型容量数据复杂度处理过拟合的方法#xff08;1#xff09;#xff…
模型选择、复杂度、过欠拟合的概念模型选择训练误差和泛化误差验证数据集和测试数据集K-则交叉验证没有足够多数据时使用过拟合和欠拟合模型容量模型容量的影响估计模型容量控制模型容量数据复杂度处理过拟合的方法1权重衰退参数更新法则处理过拟合的方法2丢弃法无偏差的加入噪音使用丢弃法推理预测中的丢弃法总结模型选择
训练数据集训练模型参数验证数据集选择模型超参数学习率、批量大小、隐藏大小非大数据集上通常使用K-折交叉验证 通过K折平均误差来判断一个参数的好坏对每一个超参数都会得到一个交叉验证的平均精度将最好的精度选出来作为我们采用的超参数
训练误差和泛化误差
训练误差模型在训练数据上的误差泛化误差模型在新数据上的误差
验证数据集和测试数据集
验证数据集一个用来评估模型好坏的数据集不要和训练数据集混在一起例如拿出50%的训练数据测试数据集只用一次的数据集
K-则交叉验证没有足够多数据时使用
算法
将训练数据分割成K块
For i1, ..., K使用第i块作为验证数据集其余的作为训练数据集
报告K各验证集误差的平均常用K5或10
过拟合和欠拟合 模型容量低——模型简单 模型容量高——模型复杂
模型容量
模型容量指的是拟合各种函数的能力低容量的模型难以拟合训练数据高容量的模型可以记住所有的训练数据
模型容量的影响 估计模型容量
难以在不同的种类算法之间比较例如树模型和神经网络给定一个模型种类将有两个主要因素参数的个数参数值的选择范围。
控制模型容量
使用均方范数作为硬性限制 通过限制参数值的选择范围来控制模型容量 冗长不限制偏移b限不限制都差不多 小的 意味着更强的正则项
数据复杂度
多个重要因素
样本个数每个样本的元素个数时间、空间结构多样性
处理过拟合的方法1权重衰退
一般来说不会直接使用“均方范数作为硬性限制”优化函数因为它优化起来相对麻烦一些。
常用均方范数作为柔性限制 对每个θ都可以找到λ使得之前的目标函数等价于下面
可以通过拉格朗日乘子来证明
超参数λ控制了正则项的重要程度
λ 0 无作用λ-∞ w* - 0
如果想把模型复杂度控制地比较低可以通过增加λ来满足此时λ不再是一个硬性的限制所有的值都小于某个值变成了柔性的限制更平滑
参数更新法则 权重衰退通过L2正则项使得模型参数不会过大从而控制模型复杂度正则项权重是控制模型复杂度的超参数
处理过拟合的方法2丢弃法
效果可能会比权重衰退更好。 动机
一个好的模型需要对输入数据的扰动鲁棒
使用有噪音的数据等价于Tikhonov正则加入数据的噪音之前是固定噪音现在是随机噪音不断地随机加噪音丢弃法在层之间加入噪音丢弃法不在输入加噪音在层之间加入噪音其实是一个正则的 无偏差的加入噪音
假设 x 是一层到下一层的输出我们对x加入噪音得到 x’虽然加入了噪音但我们希望加入的噪音不改变期望E 计算xi′x_ixi′的期望仍然与xxx的期望相同没有产生变化 E[xi′]p∗0(1−p)xi/(1−p)xiE[x_i] p * 0 (1-p) x_i /(1-p) x_iE[xi′]p∗0(1−p)xi/(1−p)xi
使用丢弃法
drop out使用的地方通常将丢弃法作用在隐藏全连接层的输出上。
假设有第一层第一个隐藏层输入xxx✖️权重W1W_1W1➕偏移b1b_1b1再将其加上激活函数后得到hhh就是第一个隐藏层的输出对于第一个隐藏层使用drop out将h中间每一个元素作用dropout使p趋近于0p为超参数 第二层拿到的输入是把前面一层输出的一些元素变成0如h2h_2h2、h5h_5h5变成零的结果随机挑选神经元扔出窗外
推理预测中的丢弃法
正则项只在训练中使用他们影响模型参数的更新 在推理过程中丢弃法直接返回输入 hdropout(h)h dropout(h)hdropout(h) 这样也能保证确定性的输出。
总结在训练中使用dropout而在推理预测过程中不使用dropout。因为dropout是一个正则项正则项只在训练中使用因为它只会对权重产生影响当我们在预测的时候权重不需要发生变化此时不需要正则在推理中dropout输出的是它本身对数据没有任何操作
总结
丢弃法将一些输出项随机置0来控制模型复杂度常作用在多层感知机的隐藏层输出上丢弃概率是控制模型复杂度的超参数如果p1就是全部丢掉p0就是没有被丢弃一般取0.9、0.5、0.1