文章目录
- 教程笔记概述
- 本文阅读先决条件
- 留出法(handout approach)
- k折交叉验证法k-fold cross-validation (CV)
- 留一法(Leave-One-Out aka.LOO)
- 自助法(Bootstrap)
- 调参
- one standard error rule
- 子集选择
- 什么是子集选择?
- 为什么要做子集选择?
- 其他方法
- 子集选择的方法
- Forward Stepwise Selection
- Backward Stepwise Selection
- Foward Stagewise Selection
- 放缩法Shrinkage Methods
- 总结
教程笔记概述
来源于课程MA429,讲述统计机器学习。是算法工程师的基础。
本文阅读先决条件
阅读并尽可能理解intro naive bayes.pdf这个课件(本节课件充满大量笔记,建议结合西瓜书阅读)。
留出法(handout approach)
西瓜书P25
k折交叉验证法k-fold cross-validation (CV)
西瓜书P26
k常取5,10,20,将数据集划分为10份,每次用其中一个数据集当作测试集,k次结果取平均。即测试结果。
10次10折划分法,是重复10次使用不同的划分方式,重复分隔数据集为10份。
留一法(Leave-One-Out aka.LOO)
划分时,样本总共为n,另n=k,即每个划分出的子集为1个样本。
这种方法认为比较准确。
自助法(Bootstrap)
看书。
调参
算法参数又称超参数,一般10个,模型参数很多,比如神经网络的epoch。
实际遇到的,无法知道结果的数据集,为测试集。
用来不断查看结果选择参数的,为验证集。
one standard error rule
这小节看补充pdf。
用来选择具有不同参数数量的模型。先选择最小mse即误差的模型,然后选择最简单的模型,这个模型的参数数量少,就是简单,也就是在mse一个标准差内的参数数量最少的模型。
子集选择
子集选择 看补充pdf课件和上面这个博客。
说实话 ,这部分内容有点难度。
什么是子集选择?
一个数据集,有n个样本,p个变量。想选择其中的s个变量,s<p。这样做,数据集的变量减少,模型的参数也会减少,比如神经网络和线性回归。
为什么要做子集选择?
可解释性
和模型精度
- Some may be noise, hurting methods like KNN
- Some may be correlated, hurting methods like naïve Bayes
- p >> n 就无法使用最小二乘回归
- Having many parameters hurts interpretability
其他方法
除了子集选择之外,还有其他方法:降维以及正则
子集选择的方法
Forward Stepwise Selection
Backward Stepwise Selection
Foward Stagewise Selection
放缩法Shrinkage Methods
这里介绍了两种回归方法。没啃下来。
Lasso Regression和Ridge Regression
总结
数据集足够时,使用留出法和交叉验证法,较小时使用自助法。