博舍

主流人工智能平台的架构及调优经验总结 人工智能平台架构包括什么和什么

主流人工智能平台的架构及调优经验总结

人工智能(ArtificialIntelligence)是一个大的概念,是让机器像人一样思考甚至超越人类;

机器学习(MechineLearning)是实现人工智能的一种方法,机器学习最基本的做法,是使用算法来解析数据、从中学习,然后对真实世界中的事件做出决策和预测;

深度学习(Deeplearning)又是机器学习的一种实现方式,他是模拟人神经网络的方式,用更多的层数,更多的神经元,然后给系统输入海量的数据,来训练网络;

统计学是机器学习和神经网络的一种基础知识,从传统分工来看,统计学一般是数学、统计等专业研究的方向,而机器学习是计算机科学的研究方向,但是目前大家的研究成果越来越殊途同归,有统计学的大师就认为统计实际上一直在从事机器学习的工作。

AI计算需要大量的数据,数据从前端传输到后端进行预处理,然后进行标注,获得训练数据集。对下一轮数据,需要对数据集进行调整,或者增加了新的数据集,生成更大的训练数据集;那么整个数据预处理过程是I/O非常密集的过程。数据整理好之后,进行模型训练,这是一个计算和通信非常密集的过程;模型训练完之后,我们进行推理预测,其主要是一个前向计算过程。其需要对批量样本的高吞吐高并发响应和单个样本的低延时响应。

数据分析过程:问题抽象-》数据域定义-》数据处理-》数据集成-》数据加工-》数据集(用于数据分析的集合)

离线分析:历史数据

实时分析:运行数据

调优方案:

•问题抽象:分类、聚类、推荐、关联规则

•特征获取:预处理

•特征选择-》专业知识(知识库)+算法(逻辑回归+PCA)

•数据模型建立:评价(敏感度、特异度)

•算法库:Weka/Spark/Python/Java/C++;TensorFlow/Torch/Pytorch

•数据特点:大数据4个V

•数据模型的实时更新:按天

•实时预测效率(秒级预测):Spark/Flink

•误差分析:训练集的数据排查

•算法调优

混淆矩阵

混淆矩阵包含四部分的信息:

Truenegative(TN),称为真阴率,表明实际是负样本预测成负样本的样本数Falsepositive(FP),称为假阳率,表明实际是负样本预测成正样本的样本数Falsenegative(FN),称为假阴率,表明实际是正样本预测成负样本的样本数Truepositive(TP),称为真阳率,表明实际是正样本预测成正样本的样本数对照着混淆矩阵,很容易就能把关系、概念理清楚,但是久而久之,也很容易忘记概念。不妨我们按照位置前后分为两部分记忆,前面的部分是True/False表示真假,即代表着预测的正确性,后面的部分是positive/negative表示正负样本,即代表着预测的结果,所以,混淆矩阵即可表示为正确性-预测结果的集合。现在我们再来看上述四个部分的概念(均代表样本数,下述省略):

TN,预测是负样本,预测对了FP,预测是正样本,预测错了FN,预测是负样本,预测错了TP,预测是正样本,预测对了 

召回率/Recall/Truepositiverate/TPR/灵敏度/ 敏感性/sensitive/查全率而召回率是针对我们原来的样本而言的,它表示的是样本中的正例有多少被预测正确了。那也有两种可能,一种是把原来的正类预测成正类(TP),另一种就是把原来的正类预测为负类(FN)。

           R=TP/(TP+FN) 

精确率/precision/PPV/查准率精确率是针对我们预测结果而言的,它表示的是预测为正的样本中有多少是对的。那么预测为正就有两种可能了,一种就是把正类预测为正类(TP),另一种就是把负类预测为正类(FP)。

           P=TP/(TP+FP)

特异性/specificity样本中的负类被预测为负类的比例

ROC曲线事实上,要一下子弄清楚什么是AUC并不是那么容易,首先我们要从ROC曲线说起。对于某个二分类分类器来说,输出结果标签(0还是1)往往取决于输出的概率以及预定的概率阈值,比如常见的阈值就是0.5,大于0.5的认为是正样本,小于0.5的认为是负样本。如果增大这个阈值,预测错误(针对正样本而言,即指预测是正样本但是预测错误,下同)的概率就会降低但是随之而来的就是预测正确的概率也降低;如果减小这个阈值,那么预测正确的概率会升高但是同时预测错误的概率也会升高。实际上,这种阈值的选取也一定程度上反映了分类器的分类能力。我们当然希望无论选取多大的阈值,分类都能尽可能地正确,也就是希望该分类器的分类能力越强越好,一定程度上可以理解成一种鲁棒能力吧。为了形象地衡量这种分类能力,ROC曲线横空出世!如下图所示,即为一条ROC曲线(该曲线的原始数据第三部分会介绍)。现在关心的是:

横轴:FalsePositiveRate(假阳率,FPR)/1-特异性纵轴:TruePositiveRate(真阳率,TPR)/TPR/灵敏度/ 敏感性/sensitive/召回率/Recall 

假阳率,简单通俗来理解就是预测为正样本但是预测错了的可能性,显然,我们不希望该指标太高。FPR=FPTN+FP

真阳率,则是代表预测为正样本但是预测对了的可能性,当然,我们希望真阳率越高越好。TPR=TPTP+FN

显然,ROC曲线的横纵坐标都在[0,1]之间,自然ROC曲线的面积不大于1。现在我们来分析几个特殊情况,从而更好地掌握ROC曲线的性质:

(0,0):假阳率和真阳率都为0,即分类器全部预测成负样本(0,1):假阳率为0,真阳率为1,全部完美预测正确,happy(1,0):假阳率为1,真阳率为0,全部完美预测错误,悲剧(1,1):假阳率和真阳率都为1,即分类器全部预测成正样本TPR=FPR,斜对角线,预测为正样本的结果一半是对的,一半是错的,代表随机分类器的预测效果于是,我们可以得到基本的结论:ROC曲线在斜对角线以下,则表示该分类器效果差于随机分类器,反之,效果好于随机分类器,当然,我们希望ROC曲线尽量除于斜对角线以上,也就是向左上角(0,1)凸。

AUC(AreaundertheROCcurve)ROC曲线一定程度上可以反映分类器的分类效果,但是不够直观,我们希望有这么一个指标,如果这个指标越大越好,越小越差,于是,就有了AUC。AUC实际上就是ROC曲线下的面积。AUC直观地反映了ROC曲线表达的分类能力。

AUC=1,代表完美分类器0.5

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。

上一篇

下一篇