一、实现流程 1、问题建模解决一个机器学习问题从建模开始,首先前期调研资料,将问题抽象成机器学习可预测问题。再这个过程中要明确业务指标和模型预测目标,根据目标选择适当得评估指标。然后从原始数据中选取相关子样本集用于训练和测试。 2、特征工程完成第一步之后,就需要对选取得样本集进行特征抽取,即特征工程。特征工程是一项很重要又很困难得工作,尤其是在推荐系统等领域。不仅需要对算法模型得深入了解,还需要我们又很扎实得专业领域知识。成功得机器学习应用一定是特征工程做的好的,当然特征提取也有很多可以通用的技巧。 3、模型选择我们做特征是为了将特征输入给模型,让模型从中学习出普遍规律。但是模型很多,不同的模型使用天差地别,当我们有一份高质量的数据后,还需要选择一个适合的模型,可以充分的学习到数据中规律,同时还需要在性能和部署方面考虑其实用性。 4、模型融合如上所言,不同的模型会有很大差别,可以从数据中学到的规律也会不同,所以我们经常会使用多种模型来进行学习,然后将不同模型融合,充分利用各模型特点。多种模型可以使用同一份特征,也可以根据需求做多份特征。 二、问题建模2.1 评估指标评估指标用于反映模型效果。在预测问题中,要评估模型效果,就需要将模型预测结果f(X)和真是结果Y进行比较,评估指标定义为f(X)和Y函数: score=metric(f(X),Y) 模型的好坏是相对的,使用不同的评估标准往往会导致不同结论,所以在选择评估标准是要结合业务需求。 评估指标根据任务类型可分类为:分类指标、回归指标、聚类指标和排序指标。 2.1.1 分类指标1. 精确率和召回率精确率和召回率多用于二分类模型,可结合混淆矩阵来看。 表2-1 混淆矩阵
TP(真正,Ture Tositive):真实结果为正,预测结果也为真; FP(假正,False Tosotive):真实结果为负,预测结果为正; FN(假负,False Negative):真实结果为正,预测结果为负; TN(真负,Ture Negative):真实结果为负,预测结果也为负。 样本总数=TP+FP+FN+TN 精确率(P)=TP/(TP+FP) 召回率(R)=TP/(TP+FN) 准确率(accuracy)=(TP+TN)/(TP+FP+FN+TN) 错误率(error rate)=(FN+FP)/(TP+FP+FN+TN) 注:准确率和精确率常混淆,精确率是一个二分类模型指标,准确率可以应用于多分类。 理想情况下,我们希望精确率和召回率两者都越高越好,但一般情况下,精确率越高召回率越低,精确率越低召回率越高。因此需要结合使用场景判断哪个指标更为重要。 我们以召回率R为横轴,精确率P为竖轴画出P-R曲线: 图2-1 P-R曲线 据图可看到,P-R曲线越靠近右上角性能越好,曲线下的面积叫AP分数(平均准确率分数),但这个值计算不方便,所以设计了综合考虑精确率和召回率的指标。 F1值就是这样一个指标,F1是精确率和召回率的调和平均值: 2/F1=1/P+1/R F值可泛化为对精确率和召回率赋不同权重调和:
2. ROC和AUC接收者操作特征(Receiver Operating Characteristic,ROC),纵坐标是真正率,横坐标是假正率, 真正率(TPR)=TP/(TP+FN) 假正率(FPR)=FP/(FP+TN) 图2-2 ROC曲线 ROC与P-R曲线很相似,ROC曲线越靠近左上角性能越好,左上角坐标(0,1),TPR=1,FPR=0,根据公式可知,FN=0,FP=0,模型对所有样本分类正确。绘制ROC曲线,首先对所有样本按预测概率排序,以每条样本的预测概率为阈值,计算对应的FPR、TPR,然后连线。数据量小时,曲线不平滑,数据量大时,曲线会趋于平滑。 AUC(Area Under Roc Curve)ROC曲线下面积,取值越大说明模型越可能将正样本排在负样本前面。AUC特性:AUC等于随机挑选一个正样本和一个负样本时,分类器正样本排前面的概率;AUC和Wilcoxon Test of Ranks等价;AUC还和基尼系数有联系,Gini+1=2*AUC。 2.1.2 回归指标 1. 平均绝对误差也叫L1范数, N为样本数,yi为第i条真实值,pi为第i条预测值。 加权平均绝对误差:是基于MAE得变种指标 wi是第i条样本得权重。 2.平均绝对百分误差 3. 均方根误差均方根对数误差: 2.1.3 排序指标 1. 平均准确率正均值 2. NDCG 2.2 样本选择从全量数据集种选择相关性高的数据作为模型训练测试样本集,最理想的样本是用最少量的训练集S,而模型效果不会变差,满足P(Algo s)=P(Algo T),P为模型评估函数,Algo是模型。 样本选择的意义:
2.2.1 去噪数据中噪声是一个不可避免的问题,噪声的存在会降低数据质量,导致模型训练效果不佳。但是在训练集中加入适量噪声能使模型更加健壮。 |
|
来自: 昵称68307919 > 《待分类》