趣投稿浅析机器学习中的自由度( 二 )
yhat = x1 * beta1 + x2 * beta2
该线性回归模型具有两个自由度 , 因为它有两个参数必须从训练数据集中估计得到 。 在数据中再增加一列(增加一个输入变量)将为模型增加一个度自由度 。
模型自由度 = 根据数据估算的参数数量
人们通常根据模型训练的参数数量来表达一个模型的复杂程度 。 例如 , 具有两个参数的线性回归模型的复杂度等于自由度 , 在这种情况下为2 。 相对于较高复杂度的模型 , 我们通常更喜欢较低复杂度的模型 。 简单的模型通常更有普适性 。
自由度是对模型估计多少参数的解释 , 也是对线性回归模型的复杂度的衡量
— P71 , 应用预测建模 (2013)
线性回归误差的自由度
训练集的数据量很重要 , 并且会影响回归模型的总体自由度 。
假设使用包含100个样本的训练集拟合线性回归模型的系数 , 通过最小化模型预测值与实际值之间的误差来拟合模型 。 考虑该模型的误差时 , 误差值对于模型训练集的每一个样本具有一个自由度 , 同时需要减去参数的个数 。
在这种情况下 , 模型误差的参数个数为100减2 , 即98个自由度 。
- 误差自由度 = 样本数量 - 参数数量
- 误差自由度 = 100 - 2
- 误差自由度 = 98
线性回归的总体自由度
线回归模型的总体自由度就是模型自由度与模型误差自由度的和 。
- 线性回归自由度 = 模型自由度+模型误差自由度
- 线性回归自由度 = 2 + 98
- 线性回归自由度 = 100
而模型的总自由度仍等于样本量 , 即70 + 30 = 100 。
负自由度
当我们的数据集列多于行时会发生什么?
例如 , 我们可能有100行数据和10000个变量 , 例如100位患者的基因标记 。 这种情况下 , 线性回归模型将具有10000个参数 , 这意味着该模型将具有10000个自由度 。
我们可以如下计算模型误差的自由度:
- 模型误差的自由度 = 样本量 – 参数量
- 模型误差自由度 = 100 – 10000
- 模型误差自由度 = -9900
- 线性回归自由度 = 模型自由度 + 模型误差自由度
- 线性回归自由度 = 10000 + (–9900)
- 线性回归自由度 = 100
自由度和过拟合
当我们的参数量比样本量大时 , 模型就存在过拟合训练集的风险 。 如果我们将模型中的每个系数都视为一个控制点就很容易理解 。 如果在模型中的控制点多于观察点 , 则理论上我们可以通过调参来百分百正确的预测实际值 。 过度学习训练集的细节 , 从而降低了准确预测新数据的性能 , 这就是过拟合的定义 。
统计学家们普遍担忧深度学习神经网络模型容易过拟合 。 深度学习模型通常有比样本量更多的参数(模型权重) 。 如果按照我们对线性模型的理解 , 这是很可能过拟合的 。 然而 , 通过仔细选择模型架构和采用正则化技术 , 可以防止它们过度拟合并保持较低的误差 。
此外 , 在深度模型中 , 有效自由度可以与模型中参数的数量分开讨论 。
推荐阅读
- 机器人|深圳机器人产业产值1257亿元
- |《5G技术助力国产机器人完成全球首场骨科实时远程手术》公示材料
- 美军事进行时|五角大楼研制挖隧道的蚯蚓机器人为地面部队提供安全补给
- cnBetaTB|看机器人如何制作出既有颜值又美味的蛋饼
- 山东伟豪思|袋料全自动拆垛机器人的使用给企业带来了哪些益处
- 无人机这两项机器人发明,就是东京大学进军外卖界的野心!?
- 趣投稿|工作复盘:对消息的浅析
- 搜狐新闻|【复材资讯】碳纤维机器人手臂设计需要考虑的要素
- SILVER六足龙虾机器人成海底“清洁工”,可下潜200米续航16小时
- 新智元|机器学习团队常用工具总结,人生苦短,我用Python!