周志华 机器学习 Day2

本文介绍了机器学习中的模型评估方法,包括留出法、交叉验证法和自助法,并讨论了过拟合与欠拟合的问题及解决方案。此外还阐述了如何通过测试误差来评估泛化性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

模型评估与选择

经验误差与过拟合

通常,分类错误的样本数占样本总数的比例称为“错误率”,即是m个样本中a个样本分类错误,错误率为E=a/m;同时,1-E称为“精度”;学习器的真实输出与预测输出的差异称为“误差”,误差常分为“训练误差”(训练集)和“泛化误差”(新样本)。

当然,机器学习时对于样本学习得过好或者过坏,都将导致“过拟合”或是“欠拟合”现象。


对于上述的想象,欠拟合解决的方法是:(1)在决策树学习中扩展分支 (2)神经网络学习中增加训练轮数


评估方法

通常,我们可通过实验测试来对学习器的泛化误差进行评估并作出选择。为此,需使用一个“测试集”来测试学习器对新样本的判别能力,然后其中的“测试误差”作为泛化误差的近似。但是需要注意的是,测试集和训练集应该相互斥。

留出法:将数据集D分为互斥的两个集,一个作为训练集S,一个作为测试集T,即D=S∪T,S∩T=空集,在S上训练出模型后,用T来评估测试误差,作为对泛化误差的估计。一般来说,将2/3~4/5的样本用于训练,剩余样本用于测试。

交叉验证法:将数据集D分为k个大小相似的互斥子集,每个子集尽可能保持数据分布的一致性;然后每次用k-1个子集的并集作为训练集,剩下作为测试集,最终返回的是k个测试结果的均值。


k常用的取值为10,称为10折交叉验证,上图为10折交叉验证示意图。

自助法:以自助采样法为基础,给定包含m个样本的数据集D,我们对它采样产生数据集D’:每次随机从D中挑选样本加入D’中,再将该样本放回D中;重复m次此操作,就得到了自助采样的结果。显然,D 中有一部分样本会在 D'中多次出现,而另一部分样本不出现。可以做一个简单的估计,样本在 m 次采样中始终不被采到的概率是(1-1/m)^m,取极限得到约为0.368。

性能度量

对学习器的泛化性能进行评估,不仅需要有效可行的实验估计方法,还需要有衡量模型泛化能力的评价标准。




### 关于周志华机器学习》中的公式推导 为了更好地理解周志华机器学习》中的公式推导,可以从几个方面入手: #### 1. 掌握基础知识 确保具备足够的数学背景知识对于理解和掌握书中涉及的各种公式至关重要。这包括但不限于线性代数、概率论与统计学的基础概念[^3]。 #### 2. 阅读相关章节并跟随逻辑推理 每章开头通常会给出该部分的核心思想和目标,在阅读过程中应当注意作者是如何逐步引入新的知识点,并通过具体的例子或应用场景加深理解。当遇到复杂的定理证明时,建议先尝试自己思考其背后的原理再对照原文验证自己的想法是否正确[^4]。 #### 3. 参考其他资源辅助学习 如果觉得某些地方难以理解,则可以寻找额外的学习材料作为补充说明。例如,《机器学习》这本书在系列原创机器学习30讲的基础上进行了扩展,提供了详细的公式推导和代码实现案例,有助于更深入地了解各个算法的工作机制及其数学依据[^1]。 #### 4. 实践练习巩固所学内容 理论联系实际是提高编程能力和解决具体问题的有效途径之一。可以通过编写简单的程序来重现书中的实验结果或是参与开源项目贡献等方式积累经验。此外,“南瓜书”也是一份非常有价值的参考资料,它记录了许多人在自学过程中遇到的问题及解决方案,可以帮助读者克服难关成为更加优秀的开发者。 ```python import numpy as np def calculate_gradient(X, y, w): """ 计算梯度下降法中的梯度 参数: X (numpy.ndarray): 输入特征矩阵 y (numpy.array): 输出标签向量 w (numpy.array): 权重参数 返回: grad_w (numpy.array): 对w求偏导后的梯度值 """ N = len(y) predictions = 1 / (1 + np.exp(-X.dot(w))) error = predictions - y grad_w = (1/N) * X.T.dot(error) return grad_w ``` 此函数展示了如何基于给定的数据集计算逻辑回归模型中权重更新所需的梯度,这是许多机器学习教材都会讨论的一个典型实例。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值