跟李沐学AI:实用机器学习 | 前三章总结&第四章

前三章总结

跟李沐学AI:实用机器学习 | 前三章总结&第四章_第1张图片

跟李沐学AI:实用机器学习 | 前三章总结&第四章_第2张图片  

4.1 模型评估

模型指标

监督学习:通过降低损失值训练模型

分类任务:精度

目标检测:mAP

产品:商业指标

根据多个指标选择模型

分类任务的指标

  • Accuracy:sum(y==y_hat)/y.size,不适用于类不平衡的情况
  • Precision:sum((y_hat==1)&(y==1)) / sum(y_hat==1)  即TP/(TP+FP)
  • Recall:sum((y_hat==1)&(y==1)) / sum(y==1) 即TP/(TP+FN)
  • F1:精确率和召回率的平衡  2pr/(p+r)

精确率(查准率)看预测正类中的准确率

召回率(查全率)看真实正类中的覆盖率

  • AUC: ROC曲线下的面积,ROC曲线纵轴是TP/(TP+FP),横轴是TP/(TP+FN),也就是recall,随机选择一个θ,如果y_hat大于等于θ则为正类,否则为负类,就可以画出ROC曲线了。

跟李沐学AI:实用机器学习 | 前三章总结&第四章_第3张图片 

AUC=0.5的时候最糟糕,AUC=0的时候把正负类调换一下就可以了

  • 广告收入revenue= #pageviews*ASN*CTR*ACP

pageviews 流量    ASN 每页多少广告    CTR 点击率    ACP 广告商给的费用

4.2 过拟合和欠拟合

训练误差:在训练数据中的模型误差

泛化误差:在新数据中的模型误差

跟李沐学AI:实用机器学习 | 前三章总结&第四章_第4张图片

跟李沐学AI:实用机器学习 | 前三章总结&第四章_第5张图片 

 数据复杂度:实例的个数、每个实例中元素的个数、时间/空间结构、多样性(不同类型数据集的复杂度不好比较)

数据集比较小的时候,优先考虑比较简单的模型

模型选择:①根据数据选择合适复杂度的模型,最小化泛化误差/考虑商业指标;②选一个模型的类(决策树/神经网络……),再选择合适的超参数(如树的深度,神经网络的架构、层数、正则项…)

4.3 模型验证

使用测试数据集(test dataset)估计泛化误差,只能使用一次。

使用验证数据集(validation dataset)估计泛化误差,可以使用多次。

        通常是训练数据集的一部分

生成验证数据集的方法:把数据集分成训练集和验证集,随机选择n%样本作为验证集 n=50,40,30,20,10 (样本多n就高)

“随机”划分:有时序信息下,保证验证集在训练集之后;有组信息下,先对组进行分割;不平衡时,对小类采样概率要高一些

k折交叉验证:把训练数据分成k份(k=5或10),对于i=1,…,k,使用第i份的数据作为验证集,剩下的作为训练集,把k个验证误差的平均值作为估计的误差。(适用于数据集不足的情况)

构造验证集的常见错误:

①验证集中包含训练集样本:输入数据集中有重复值;数据融合,冗余

②信息泄露:股票预测中使用了未来的数据,人脸识别中使用了待识别的人脸

你可能感兴趣的:(跟李沐学AI,笔记整理,人工智能,深度学习)