机器学习笔记-模型评估与选择, Training set、Validation set 和 Testing set的区别与作用

本文探讨了在机器学习过程中模型评估与选择的重要性,特别是Validation set和Testing set的区别与作用。Validation set主要用于模型选择和避免过拟合,而Testing set则用于最终评估模型的泛化能力。文中提到了数据集的划分策略,如80/20比例和五折交叉验证,以确保模型评估的稳定性和准确性。

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

在自学机器学习的过程中,如果不系统的看一本好的参考书,形成整体的知识框架,很容易在某一个环节停滞不前。

例如:Validation set 的作用是什么?它与 Testing set的区别是什么?

在不同的参考书、博客里关于这部分阐述的重点不一致,本文就结合各大牛的知识心得,尝试梳理一下这一块的内容。


  • Validation set 的作用是什么?

采用机器学习的方法解决一个实际问题的过程应该大致包括以下几个步骤:问题抽象->模型选择->模型训练->模型应用。问题抽象的意思是将问题中的信息以数学形式表示,比如数据集、向量等。

模型选择这部分正是本文的重点所在,模型选择的本质是对候选模型的泛化误差进行评估,然后选择泛化误差最小的模型对样本进行训练,从而防止模型过拟合。模型选择主要包括两部分:

1、机器学习方法的选择

### 机器学习模型评估选择验证的方法 #### 数据分割方法 在机器学习实践中,数据通常被划分为训练集测试集两部分。一般做法是采用80%的数据作为训练集用于构建模型,剩余20%的数据作为测试集来检验模型的表现[^4]。 #### 性能度量标准 对于分类问题而言,常用的性能评价指标有准确率(Accuracy),精确率(Precision),召回率(Recall)以及F1分数(F1 Score)[^1];而对于回归类的任务,则更多依赖均方误差(Mean Squared Error,MSE),平均绝对误差(Mean Absolute Error,MAE)等统计学上的损失函数来进行衡量。 #### 十折交叉验证法 十折交叉验证(Cross Validation,CV)是一种广泛应用于监督式学习算法中的技术手段。具体操作方式为:将原始样本随机分成十个子集,在每次迭代过程中选取其中一个子集作为验证集合其余九个共同组成新的训练集完成一轮完整的建模流程并记录下相应的评分结果;最终取这十次实验所得分值的算术平均数作为该模型的整体效能估计值[^3]。 ```python from sklearn.model_selection import cross_val_score scores = cross_val_score(model, X, y, cv=10) print("Cross-validation scores:", scores.mean()) ``` #### 正则化处理 为了避免过拟合现象的发生,在建立复杂度较高的非线性映射关系之前往往会对目标函数施加一定的约束条件—即引入正则项(regularization term)—以此达到简化假设空间的目的。常见的形式包括Lasso(L1范数惩罚)支持向量机(SVMs)里的软间隔最大化策略等等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值