分享

机器学习算法实现流程

 昵称68307919 2020-03-13

一、实现流程

    1、问题建模

        解决一个机器学习问题从建模开始,首先前期调研资料,将问题抽象成机器学习可预测问题。再这个过程中要明确业务指标和模型预测目标,根据目标选择适当得评估指标。然后从原始数据中选取相关子样本集用于训练和测试。

    2、特征工程

        完成第一步之后,就需要对选取得样本集进行特征抽取,即特征工程。特征工程是一项很重要又很困难得工作,尤其是在推荐系统等领域。不仅需要对算法模型得深入了解,还需要我们又很扎实得专业领域知识。成功得机器学习应用一定是特征工程做的好的,当然特征提取也有很多可以通用的技巧。

    3、模型选择

        我们做特征是为了将特征输入给模型,让模型从中学习出普遍规律。但是模型很多,不同的模型使用天差地别,当我们有一份高质量的数据后,还需要选择一个适合的模型,可以充分的学习到数据中规律,同时还需要在性能和部署方面考虑其实用性。

    4、模型融合

        如上所言,不同的模型会有很大差别,可以从数据中学到的规律也会不同,所以我们经常会使用多种模型来进行学习,然后将不同模型融合,充分利用各模型特点。多种模型可以使用同一份特征,也可以根据需求做多份特征。

二、问题建模

    2.1  评估指标

        评估指标用于反映模型效果。在预测问题中,要评估模型效果,就需要将模型预测结果f(X)和真是结果Y进行比较,评估指标定义为f(X)和Y函数:

score=metric(f(X),Y)

模型的好坏是相对的,使用不同的评估标准往往会导致不同结论,所以在选择评估标准是要结合业务需求。

        评估指标根据任务类型可分类为:分类指标、回归指标、聚类指标和排序指标。

    2.1.1  分类指标

    1. 精确率和召回率

 精确率和召回率多用于二分类模型,可结合混淆矩阵来看。

表2-1  混淆矩阵


预测结果
真实结果
正(P)负(N)
正(P)TP
FN
负(N)FPTN

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是模型。

样本选择的意义:

  1. 数据量过大时,程序会耗费大量计算资源和计算时间,减少数据量可以有效控制成本;

  2. 全部数据集包含丰富信息,但就每一个具体问题并不一定都需要,我们只取其中相关性高的一部分;

  3. 数据噪声时所有数据集不可避免的,包括信息错误、标签错误、缺失值、重复等等,通过去除噪声可以有效提高样本质量。

    2.2.1  去噪

        数据中噪声是一个不可避免的问题,噪声的存在会降低数据质量,导致模型训练效果不佳。但是在训练集中加入适量噪声能使模型更加健壮。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多