目录
1、基本概念
机器学习的目的是使学得的模型能很好的适用于“新样本”,即 使得模型具有泛化能力。但太好的模型可能因为学习器学习能力过于强大,进而把训练样本本身的特有性质当做所有潜在样本都会具有的一般性质,进而导致泛化能力减小,出现“过拟合”的情况。“欠拟合”是由于学习器没有通过训练样本学习到一般性质。
P问题:在多项式时间内可解的问题;有效的学习算法必须是p问题,即在多项式时间内可以运行完成。np难问题:不知道这个问题是不是存在多项式时间内的算法。
可选学习算法很多,在模型选择时,训练误差由于过拟合的存在不适合作为评价标准,泛化误差无法直接获得。所以“训练数据”的存在就有了必要,通常选择训练误差较小的模型。
2、数据集划分方法
数据集一般需要分割为训练集和测试集。划分方法如下
2.1、留出法
直接将数据集划分为两个互斥的集合,2/3-4/5。
划分原则:划分过程尽可能保持数据分布的一致性
方法缺陷:训练集过大,更接近整个数据集,但是由于测试集较小,导致评估结果缺乏稳定性;测试集大了,偏离整个数据集,与根据数据集训练出的模型差距较大,缺乏保真性。
2.2、交叉验证法
将数据集划分为k个大小相似的互斥子集,每个子集轮流做测试集,其余做训练集,最终返回这k个训练结果的均值。
优点:更稳定,更具准确定;
缺单:时间复杂的较大
2.3、自助法
包含m个样本的数据集D,对D进行随机抽样构建D'(抽取m次),然后将抽到的数据对象放回D,D'用作训练集,剩余数据作为测试集。某样本不被抽到的概率:
因此初始样本集D约有0.732的样本做训练集,0.368的样本做测试集
优点:适合较小的、难以有效划分训练/测试集的数据集;
缺点:产生的数据集改变了原始数据集的分布,这样会引入估计偏差。
2.4、调参
调参对象:1算法的固有参数,如k-means中的类簇个数;2模型的参数,如深度学习模型中上百亿个参数。两种参数均是产生多个模型之后基于某种评估方法来进行选择,不同之处在于前者通常是由人工设定多个参数候选值,后者通过学习。
参数是连续的,不可能一一实现,现实的做法是选取一个步长,所以选出的参数往往不是最好的,这是综合考虑开销与性能(没有免费的午餐)所做的折中的结果。
性能度量:错误率和精度,两者相加为1;均方误差,概率分布函数。
3、性能度量
首先判断目标任务是回归还是分类
如果是回归那么性能度量方法为聚方误差: