机器学习样本划分

本贴最后更新于 1126 天前,其中的信息可能已经东海扬尘

五月底我开始接触机器学习,买了周志华老师《机器学习》西瓜书和 《Python 核心编程》,之前对机器学习没了解,加上数学功底半吊子,看《机器学习》这本书来相当吃力,公式和推导囫囵过了。

不过编程功底还行,花半天时间把 Python 语法看完,再花半天时间学习 matlab 图形和脚本编程,能着手开始工作。

回到正题,我们如何进行样本划分?

一般地,样本集合划分为 Train set、Test set 两部分,特殊情况下,会从 Train set 中随机抽取 10% 的样本作为 Validation set。

训练集:学习样本数据集,通过匹配一些参数来建立一个分类器。建立一种分类的方式,主要是用来训练模型的。

验证集:对学习出来的模型,调整分类器的参数,如在神经网络中选择隐藏单元数。验证集还用来确定网络结构或者控制模型复杂程度的参数。

测试集:主要是测试训练好的模型的分辨能力(识别率等)

因此可以区分不同数据集的作用,训练集用于模型选择,验证集用于参数调优,模型优化及确定,测试集为了测试已训练出模型的泛化能力。

样本划分方法:
1.留出法
直接将数据集 D 划分为两个互斥的集合,其中一个集合作为训练集 S,另一个作为测试集 T, 比如训练集占 70% 样本,那么测试集占 30% 样本。

2.交叉验证法
将数据集 D 划分成 k 个大小相似互斥子集,前 k-1 个子集作为训练集,最后一个子集作为测试集。从而可进行 k 次训练和测试,最终返回 k 个测试结果的均值,预测的结果的准确度取决于 k 的取值,所以叫做 k 值交叉验证法,k 不是越大越好,也不是越小越好,通常取 k = 10, 叫做 10 折交叉验证法;当 k = 1 时,叫做留一法。

  • 机器学习

    机器学习(Machine Learning)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。

    60 引用 • 28 回帖
  • 样本
    4 引用 • 4 回帖

赞助商 我要投放

4 回帖
请输入回帖内容 ...
  • Derobukal

    哈哈,最近刚学了 kNN,感觉 ml 还是挺有意思的~~~

  • yangyujiao

    怎么总感觉你们接触的东西都好高级。。。

    是自己兴趣,还是工作用呢?

  • someone

    边工作边学习

  • someone

    恩 有人带学习快