精华内容
下载资源
问答
  • 常见的算法模型
    千次阅读
    2020-06-29 07:27:36

    这篇文章主要分享一下模型训练的一般流程,目的是让大家明白做一个算法模型过程中会涉及的流程和数据特征在算法模型中的重要性。

    作为一名算法工程师训练模型可谓是家常便饭,不管是做推荐中的召回模型、排序模型还是其他领域的分类模型等,都应该有一个规范化的流程,这样在做模型的过程中也会更加清晰,当然也不一定完全遵循这个流程,只是说基本过程应该是一致的。

    1、总诀式——定义问题

    What,How,Why。首先要弄清楚自己要干什么,然后调研相关的技术确定怎么解决问题,最后反思自己为什么要用这个方案解决这个问题,有没有更好的思路方法。

    以电商推荐系统中的点击率预估为例。首先明确我们的目标是优化线上的商品点击率,其次可以通过点击率预估算法来离线训练模型,线上进行预估,将点击率较高的商品推荐给用户,这样做的原因是点击率预估是目前业界比较成熟的解决方案,且能够取得不错的效果,如果在实践中遇到问题,也便于解决问题。当然也会有一些其他的方案,比如通过深度学习来做CTR,但是使用深度学习成本较大,所以从成熟的基于机器学习的CTR来做,并逐渐过渡到深度学习。

    2、破剑式——选定模型

    在明确问题之后,要选定用什么算法来解决,在相同的数据特征的前提下,不同的算法带来的效果是不一样的,而且应用的成本也是不一样的。因此选定适合自己业务的算法才是最重要的,而不是选择最高大上的。

    同样以电商推荐为例,比如进行了综合考虑,选定了CTR预估中常用的树模型算法-XGBoost。

    3、破刀式——构造数据

    确定算法模型之后,则是结合业务特性明确模型所需要的训练数据。脱离业务的特征数据是没有灵魂的,比如电商业务中的商品和信息流产品中的新闻背景是不一样的,很多细节性的数据和特征需要去考虑和构造,因此要构造适合自己业务的数据,才能最大化的发挥算法模型的作用。

    比如CTR预估场景中我们要构造的训练数据为 <features, label>,那么如何去确定label呢?不同的kpi指标对应的label是不一样的,比如追求点击率的我们的label可能是0,1;但如果追求的是GMV(商品成交额),制定的label可能是商品下单率。同样制定features的过程中也要结合用户在业务内的数据表现。

    4、破鞭式——模型训练

    模型是基于基础数据进行更好的维度的问题抽象和解决,CTR模型旨在构建features和label之间的隐含关系,通过参数调整,特征优化以追求更好的效果表达。在构建好数据之后就是算法模型进行的舞台了,目前大数据环境下最普遍的则是基于Spark分布式平台进行模型训练和调优。

    5、破索式——模型评估

    训练模型往往需要拟合的是一个目标函数,以追求最小的误差,最大的效果。CTR场景下常见的模型评估指标有:准确率、精确率、F值、AUC、NDCG等。同样是选择适合自己业务和算法模型的评估指标,通过评估指标来调整模型的参数以达到离线最优的效果,但具体的最终效果还是需要进行模型上线,进行ABTest验证模型的优劣。

    在ABTest过程中,新上的模型往往由于其不确定性,会给予较小的流量进行效果的测试,如果效果优于base组模型,则会分配更多的流量,以追求线上整体效果的最优。

    更多关于模型效果的评估可以关注后续章节内容。

    6、破枪式——模型优化

    模型优化的过程则是对模型和数据进行迭代升级的过程,但是这里需要明确的是影响模型的线上效果的因素有很多,从基础数据到构造的特征,从算法选择到实验策略的影响,从给出的排序结果到前端的位置展示,都可能产生影响。在应用算法模型的整个过程中,发生的每个动作或者做的每个修改都会影响模型的效果表达,因此算法工程师一定要注意的是切勿只重视算法和特征,在出现问题的时候往往要从多方面进行问题的定位和解释。

    为了避免其他非数据算法方面的影响,要充分利用ABTest实验,即保证其他因素的一致性,通过实验效果的优劣验证实验改进点的有效性。

    7、破箭式——模型部署

    把模型搞定之后需要考虑的是怎么部署模型,当然不同作用的模型、不同类型的模型部署方式也是不同的。

    比如用户离线计算的用户偏好模型,则不需要进行线上部署,训练好模型之后,保存一下,直接对数据集进行偏好预测,当然也可以不保存,直接进行预测。

    对于线上使用的排序模型,机器学习和深度学习的主流部署方式也是不同的,比如排序的树模型,通常情况下会保存成obj文件,然后写入到固定的地方,线上使用时直接加载到内存进行线上实时的特征拼接和计算即可,对于DL类模型,当然也可以保存成固定格式的文件供线上使用,但更通用的做法是借助于框架本身封装的服务,比如基于Tensorflow的DL模型,可以借助tf-serving进行部署,线上使用时,直接调相应的API接口,传入需要的参数进行计算排序。

    8、破掌式——效果跟踪

    模型部署上线之后并不是终点,一个更重要的步骤则是对上线之后的效果进行追踪。

    通常情况下,新上模型一般会进行白名单测试(一般是内部人员),测试是否能正常返回数据,返回的数据是否正常、是否可信服,确定没问题之后会进行小流量的测试(一般在5%左右),观察一天的效果,如果效果正向,则会扩大流量(一般扩到50%左右),经过一段时间的效果观察(主要是和base组模型进行效果对比)如果效果正向,则会考虑全扩或者扩充接近100%。

    不要小看扩流流程,如果新上模型直接扩充到全量或者大部分流程,是会引起很严重的问题的,比如效果不好,性能不好等,所以要谨慎对待。

    9、破气式——数据保存

    数据保存是指将线上使用的特征数据通过一定的方式进行保存,目的是方便后续模型的训练和优化,形成一个完整的数据闭环。

    保存数据时需要注意的是每条数据的唯一性,即保证最后关联特征数据和label的时候保证是对应的,否则会引起样本误差,引起模型的训练效果。


    【技术服务】详情点击查看: https://mp.weixin.qq.com/s/PtX9ukKRBmazAWARprGIAg

    在这里插入图片描述
    扫一扫关注「搜索与推荐Wiki」!号主「专注于搜索和推荐系统,以系列分享为主,持续打造精品内容!

    更多相关内容
  • 2019 MathorCup数模竞赛常见算法模型及代码
  • 超全,7种经典推荐算法模型及应用

    千次阅读 多人点赞 2021-12-30 16:49:02
    本文调研了推荐系统里的经典推荐算法,结合论文及应用进行分析、归纳并总结成文,既是自己的思考过程,也可当做以后的翻阅手册。 前言 个性化推荐,是指通过分析、挖掘用户行为,发现用户的个性化需求与兴趣特点,将...

    本文调研了推荐系统里的经典推荐算法,结合论文及应用进行分析、归纳并总结成文,既是自己的思考过程,也可当做以后的翻阅手册。

    前言

    个性化推荐,是指通过分析、挖掘用户行为,发现用户的个性化需求与兴趣特点,将用户可能感兴趣的信息或商品推荐给用户。本文调研了推荐系统里的经典推荐算法,结合论文及应用进行分析、归纳并总结成文,既是自己的思考过程,也可当做以后的翻阅手册。俗话说学而时习之,人的认识过程是呈螺旋式上升的,特别是理论应用到实践的过程,理论是实践的基础,实践能反过来指导人对理论的认识,我相信在将下文所述的算法应用到业务中的实践过程也将刷新我在总结此文时的认识。

    个性化推荐系统是一项系统工程,为便于聚焦描述,本文不涉及模型的训练及部署等工程问题,仅对推荐算法原理进行分析和其解决的问题进行总结。

    为方便分析,本文取大家购物时常遇到的商品推荐模型的某些特征进行举例:


    USER侧特征
    ITEM侧特征
    交互行为
    pk
    性别
    天猫会员等级
    商品价格
    销量
    是否点击
    1
    T1
    22223
    301881
    1
    2
    T3
    33333
    25651
    0

    特征可简单分为两类:

    1. 连续特征。如商品价格/销量时长

    2. 类别特征。如性别/天猫会员等级

    对于连续的数值特征,可直接在模型中作为数值参与计算(大部分情况下需要进行归一化等处理)。而对于类别特征,一般是不能直接作为数值参与计算的,通常将其进行Hash散列编码或者one-hot编码。

    以one-hot编码为例,将以上训练数据进行预处理。

    pk
    性别男
    性别女
    天猫会员等级T1
    天猫会员等级T3
    商品价格
    销量
    是否点击
    1
    1
    0
    1
    0
    22223
    301881
    1
    2
    0
    1
    0
    1
    33333
    25651
    0

    预处理之后,可以看到所有的数据已经进行的数值化,可以进行数学运算了。

    接下来将介绍各算法模型是如何利用这些数据进行学习的。

    LR

    算法原理

    逻辑回归LR(Logistic Regression)模型作为经典的机器学习分类模型,以其可解释性强、实现简单、线上高效等优点在线上应用中被大量使用。逻辑回归模型主要有两部分构成:

    1. 线性回归

    2. 逻辑函数

    在机器学习中,线性回归模型可记为:

    图片

    而逻辑函数使用的为sigmoid函数:

    图片

    由(1)和(2)可推出LR模型的数学表达式为

    图片

    在线性回归模型(1)中,图片是具体的某一个特征值,图片是该特征值的权重,是模型的输出。该公式可以直白的解释为模型的输出结果是由输入进行线性加权求和得到的。而逻辑函数(2)的作用是将线性回归模型的输出映射到[0,1],输出一个概率值。商品推荐的场景中如用户对某个item进行点击记为1,未点击记为0。

    解决的问题

    LR是一个基本的回归模型,可以对输入进行一些线性运算得到一个预测的输出值。预测值可以是用户点击某个商品的概率,也可以是用户下单的概率,其含义具体业务具体分析。

    FM

    算法原理

    FM(Factorization Machine)。LR作为一个基础的回归模型,主要原理是通过对各个特征进行线性加权得到预测值,但是其并没有考虑组合特征对模型的影响,比如一名单身女性在晚上观看李佳琦直播概率显然是大于一名妈妈的,这里面包含的组合特征单身女性-晚上在LR中就体现不到。因此相比LR仅对一阶特征进行建模,FM引入了二阶特征,增强了模型的学习能力和表达能力。

    FM的数学表达式如下:

    图片

    如果FM仅仅是在模型的表达式上加入了二阶特征,它的应用绝不会这么广泛,只从式(4)中就可以看出表达式上其实相对于LR的改进是很简单的:在模型中引入输入特征两两组合进行乘积就行了。但是这样会引入一个很大的问题:参数的数目直接从个爆炸增长为图片个,这对于特征维度动辄上千上万数量级的推荐系统来说是断然不能接受的。

    面对这么大的参数矩阵很容易想到将其进行矩阵分解,我们首先观察一下参数矩阵图片

    图片

    可以看到参数矩阵图片是实对称矩阵,可以想到正定矩阵是可以很优雅的进行分解的:

    图片

    特别地,在稀疏矩阵中图片的情况下,便可满足式(6)的近似相等。

    图片,则式(4)中的模型参数可表示为图片

    因此限定参数矩阵为正定矩阵的情况下,FM的二阶特征的表达式可推导如下:

    图片

    对比式(6)和式(7)可知,FM的计算复杂度由图片降至图片,而k的值又是一个可根据业务情况硬编码的值,式(7)的推导使得FM的时间复杂度降至线性复杂度,无论是对于模型的离线训练还是在线推理均使得二阶特征组合成为可能。

    解决的问题

    FM通过引入二阶特征实现了模型学习能力及表达能力的提升,并且利用正定矩阵和稀疏矩阵的性质将二阶特征的计算降低至线性复杂度,也因此成为工业界常用的特征工程算法。

    FFM

    算法原理

    FFM(Field-aware Factorization Machine)。从名字上看,相较于FM, FFM多了一个F,在实现上也是如此。

    FFM的数学表达式如下:

    图片

    从式(8)可以看出FFM相比于FM的不同点在于二阶特征组合的系数上,FFM的权重矩阵比FM多了一维。其算法思想是这样的:以前言中的商品推荐的训练数据举例,在进行one-hot编码时,我们将不同的字段的特征进行编码然后拉平送进模型进行训来,比如字段天猫会员等级T1和天猫会员等级T3这俩字段被独立为两个独立的特征。然而实际情况却是这俩字段其实是对同一个字段天猫会员等级的不同描述。因此在FFM中引入了field的概念:每一维的特征都有对应的field,在进行二阶特征组合时某一维特征对于不同field的特征其所对应的隐向量是不同的。假设所有特征共包含f个filed,则FFM权重矩阵图片,相比于FM的权重矩阵图片,多出的[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MXZGX1kP-1640853994264)(https://mmbiz.qpic.cn/mmbiz_svg/gQQO820rz5VFZsY0q5oeqEibPoeKGvmwJQXODxFOQSJIDFGHJrM99rNeXto5Fyjgh8o6qFxAcLvGFjK48iawTkOI8efBpeibHED/640?wx_fmt=svg)]维便对应着FFM中引入的field的数目。

    需要说明的是,FM可以看做是FFM的特例:所有特征属于同一个field

    解决的问题

    引入field更精准刻画了各维特征之间的关系,通过增大隐向量的数目增强了模型的表达能力。但是由于其隐向量与field有关,其相关计算无法像FM那样化简,在面对特征维度n比较大的情况下,其计算性能容易成为系统瓶颈。

    WDL

    算法原理

    WDL(Wide & Deep Learning)。其核心思想是结合线性模型(如上文的LR)的记忆能力和DNN模型的泛化能力来提升模型的整体能力。

    其网络结构图如下:

    图片

    其中包括

    1. wide部分:wide部分是普通的线性模型,其表达式可参见式(1)

    2. deep部分:deep部分由一个3层的神经网络组成。其输入是对原始的稀疏特征(如ID类特征)进行一次embedding后的结果。每一层的公式如下:

    3. 输出:输出部分将线性模型(Wide)和DNN(Deep)模型的输出结果进行加和作为整个模型的loss进行反向传播来完成联合训练。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YAZsqGw6-1640853994265)(https://mmbiz.qpic.cn/mmbiz_svg/gQQO820rz5VFZsY0q5oeqEibPoeKGvmwJo2vVpuicZia02MY5fJDIrCXpicIr4BacEygzT8If6XJJ5PIic9C5Iu8llwR4do3AdLdf/640?wx_fmt=svg)]

    解决的问题

    结合了线性模型对一阶特征和和深度模型对高阶特征的学习能力来整体提高模型的表达能力。

    DeepFM

    算法原理

    WDL可以看做是LR+DNN,那么DeepFM就可以看做是FM+DNN。相比于WDL做出的改进,DeepFM主要是将WDL中Wide模块由LR替换为了FM。

    其网络结构如图所示:

    图片

    可以看到相对于WDL其做了以下改进:

    1. 引入FM结构代替LR。完成对一阶二阶特征的学习 避免了WDL中人工特征工程过程。见式(4)。

    2. FM和DNN共享Embedding层。减少了额外的计算开销。

    解决的问题

    在减去人工特征工程的前提下,通过Wide部分和Deep部分共享Embedding,可以提高模型的训练速度和模型的特征学习能力。

    DcN

    算法原理

    DCN(Deep & Cross Network)如其名字中cross所示,其主要完成了完全去手工特征交叉的工作。

    其中代替DeepFM中FM模块的核心Cross Network网络结构如下:

    图片

    其中:

    图片

    进而可推出

    图片

    可以看出Cross Network中每一层的输出都是由图片与某一标量进行相乘的结果。因此:

    1. 每层的输出和图片同维

    2. 由于标量和图片是相关的,因此第k层的输出包含了图片的1到k+1阶特征。

    解决的问题

    完全舍弃了人工特征工程过程,并且可以显示指定特征交叉阶数。

    xDeepFM

    算法原理

    xDeepFM(eXtreme Deep Factorization Machine)。从名字上可以看出,xDeepFM是是对于DeepFM的改进,但是实际上xDeepFM是对DCN的改进。DCN 的Cross层在Embedding层后,可以自动构造任意阶高阶特征,但是它是bit-wise的,与bit-wise对应的是vector-wise。现举例分析如下:例如,性别对应嵌入向量<a1,a2,a3>,天猫会员等级对应嵌入向量<b1,b2,b3>,在DCN的Cross网络中,向量<a1,a2,a3>,<b1,b2,b3>会拼接为<a1,a2,a3,b1,b2,b3>作为输入,在进行cross的时候a1可能事实上属于同一个field的a2进行cross。因此称DCN以嵌入向量中的单个bit为最细粒度,即bit-wise。而在FM中,特征的交叉是以该维特征对应的向量为最细粒度进行交叉来学习相关性的,即vector-wise。而xDeepFM的动机,正是将FM的vector-wise的思想引入Cross部分。这一点其实特别像one-hot编码的情况下FM到FFM的演进。

    xDeepFM中,进行vector-wise特征交叉的结构如下:

    图片

    对于每一层的输出

    图片

    其中

    1. 图片代表了第层的输出

    2. 图片代表了第k层输出的vector个数

    3. 图片表示两向量对应元素两两相乘,如图片

    4. 图片表示第层第个向量的向量的权重矩阵

    至此,xDeepFM便实现了vector-wise的特征交叉过程。相比于DCN,其第[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sfkghLmf-1640853994273)(https://mmbiz.qpic.cn/mmbiz_svg/gQQO820rz5VFZsY0q5oeqEibPoeKGvmwJqNPwzG8yHeibdibetsXYapbLFlZH5E16XRyJLpsDPxwFqhgibPkbx63jbDh2Lm4iaECo/640?wx_fmt=svg)]的输出仅包含了k+1阶特征。因此,其需要将每层的输出进行sum-pooling后DNN的输出加和到一起作为loss进行反向传播来完成联合训练。

    解决的问题

    提出了一种vector-wise的高阶特征交叉方式。

    小结

    本文以解决问题的思路介绍了推荐系统里的经典算法演进过程,可以看到每种算法的出现都是为了解决某种特定的问题。学术上评价一个算法的好坏大都在于其精度,而在工业界中,更看重的是一个算法精度与性能的trade-off。比如2013年微软在NLP领域提出的双塔模型,被应用到推荐系统后经久不衰,到现在仍然在各大公司推荐系统里发光光热,究其原因:双塔模型上线有多方便/跑的有多快,谁用谁知道…

    个性化推荐系统算法的演进相比于CV(计算机视觉)和NLP(自然语言处理)来说并没那么快,这一点从顶会论文数目上可窥一斑。究其原因我个人认为是其所应用的场景所限,个性化推荐本质上是一个人与物的匹配过程,所以使用这套系统的前提是应用场景下要有大量的人和大量的物,场景强绑定的特性提高了其研究门槛。而CV和NLP更像是一个个的基础组件,几十人甚至几人的团队就可在CV或者NLP的某个子任务上做出开创性工作然后将其推广至各个不同的应用场景下。比如CV里鼎鼎大名的YOLO系列,其作者凭一人之力一次次帮助各相关厂商主动升级各家的应用SDK…

    资源整理

    模型
    论文链接
    作者
    发表时间
    工业应用举例
    LR
    \
    过于经典没考证
    过于经典没考证
    基础模块 应用广泛
    FM
    Factorization Machines
    阪大
    2010
    基础模块 应用广泛
    FFM
    Field-aware Factorization Machines for CTR Prediction
    某广告公司
    2016
    美团DSP(广告平台)
    WDL
    Wide & Deep Learning for Recommender Systems
    谷歌
    2016
    谷歌应用商店app推荐
    DeepFM
    DeepFM: A Factorization-Machine based Neural Network for CTR Prediction
    哈工大/华为
    2017
    美团预计送达时间
    DCN
    Deep & Cross Network for Ad Click Predictions
    斯坦福/谷歌
    2017
    \
    xDeepFM
    xDeepFM: Combining Explicit and Implicit Feature Interactions for Recommender Systems
    中科大/北邮/微软
    2018
    字节短视频推荐
    展开全文
  • 运营商行业常见算法模型应用.doc
  • 算法模型评测方式

    千次阅读 2021-11-25 23:51:04
    AI算法评测实践与探索-王超 MTSC2021 模型评估方式主要有3种: 人工标注 Manually Annotated 模型效果评估 Model Performance Evaluation 模型效果Diff Model Result Diff

    以下内容来自:AI算法评测实践与探索-王超 MTSC2021

    目录

    模型评估在开发中的位置

    模型评估方式

    人工标注

    模型效果评测

    模型结果DIff

    自动化评测流程


    模型评估在开发中的位置

    整个项目开发生命周期中,模型测试主要处于线下保障部分,贯穿研发和测试阶段。

    模型评估方式

    模型评估方式主要有3种:

    1. 人工标注 Manually Annotated
    2. 模型效果评估 Model Performance Evaluation
    3. 模型效果Diff Model Result Diff

    其中模型效果评测方法主要针对传统机器学习(需要人工进行特征提取,分类器选择步骤)

    模型结果diff方法主要针对深度学习(不需要人工提取特征,而是依靠机器训练自动提取)。

    下面是对三种方法的简单介绍。

    人工标注

    训练集和测试集都是标注过的数据。

    数据标注简单来说就是对图像、文本、语音、视频等数据执行拉框、描点、转写等操作,以满足相关机器学习的需要。

    数据标注主要类型如下:

    分类标注:分类标注,就是我们常见的打标签。一般是从既定的标签中选择数据对应的标签,是封闭集合。如下图,一张图就可以有很多分类 / 标签:成人、女、黄种人、长发等。对于文字,可以标注主语、谓语、宾语,名词动词等。

    适用:文本、图像、语音、视频

    应用:脸龄识别,情绪识别,性别识别

    2. 标框标注:机器视觉中的标框标注,很容易理解,就是框选要检测的对象。如人脸识别,首先要先把人脸的位置确定下来。行人识别。

    适用:图像

    应用:人脸识别,物品识别

    3. 区域标注:相比于标框标注,区域标注要求更加精确。边缘可以是柔性的。如自动驾驶中的道路识别。

    应用:自动驾驶

    4. 描点标注:一些对于特征要求细致的应用中常常需要描点标注。人脸识别、骨骼识别等。

    应用:人脸识别、骨骼识别

    5. 其他标注:标注的类型除了上面几种常见,还有很多个性化的。根据不同的需求则需要不同的标注。如自动摘要,就需要标注文章的主要观点,这时候的标注严格上就不属于上面的任何一种了。(或则你把它归为分类也是可以的,只是标注主要观点就没有这么客观的标准,如果是标注苹果估计大多数人标注的结果都差不多。)

    模型效果评测

    通常,我们可以实现测试来对学习器的泛化误差进行评估并进而做出选择。

    为此,需要使用一个“测试集”来测试学习器对新样本的判别能力,然后以测试集上的“测试误差”作为泛化误差的近似。

    通常我们假设测试样本也是从样本真实分布中独立同分布采样而得。

    需要注意:测试集应该尽可能与训练集互斥,以防止过拟合现象。

    主要流程是:首先基于业务场景进行数据集/测试集构建(重点1),接下来调用模型处理数据集。算法调用后,对模型执行结果进行评测,对于结果中出现的badcase进行聚类分析(重点2),对模型进行优化;无法通过模型解决的badcase,与产品经理沟通在badcase处做用户提示说明及操作引导。

    模型结果DIff

    diff方法直接对数据集操作,不依赖GT标注,但Diff结果需要人工评估。

    Diff方法,是针对同一批数据,对比新旧版本模型的处理结果,通过分析两者结果的不同之处,来评估模型。

    模型的新旧版本通常是指:正在使用的在线模型,以及新开发的离线模型。

    根据调用模型的数据获取方式不同,模型结果diff有3种方法:

    1. 基于数据闭环结果,进行数据Diff

    2. 基于数据中心,通过数据埋点获取数据,进行数据diff

    3. 基于流量调度策略,使用流量回放,进行数据Diff

    下面是详细说明。

    1. 基于数据闭环结果,进行数据Diff

    其中数据闭环系统是指: 

     在数据埋点时,使用模型日志上报消息队列,日志重点信息提取入库,不断积累数据。

    2. 基于数据中心,通过数据埋点获取数据,进行数据diff

    数据埋点我们可以分成:页面统计、行为统计、用户属性统计等。

    页面统计可以帮我们知晓某个页面被多少人访问了多少次。

    行为统计是指用户在界面上的操作行为,应用最为广泛的便是按钮的点击次数。

    用户属性埋点,主要是记录用户相关的信息。

    埋点是用户数据采集与分析的步骤,目的应该是分析行为和跟踪变化。

    C端做埋点主要还是关注用户的行为路径,不断优化找出问题,提高留存,转化;B端的埋点关注功能使用情况,判断某个功能在某个时间段的使用场景,使用次数逐渐下降的就可以考虑考虑给他干掉了。

    3. 基于流量调度策略,使用流量回放,进行数据Diff

    流量录制:在不影响用户正常使用的前提下,获取线上用户的真实请求和服务响应结果,将其保存或者转发到目标应用。

    因为涉及线上用户的真实数据,要注意数据脱敏、安全性等问题。

    自动化评测流程

    基于上述模型评测步骤,总结出了下面的自动化评测范式。

    自动化主要体现在两个方面:

    1 建立标注系统,提高标注效率。使用深度学习训练系统进行模型预标注,人工只需要在此基础上进行微调,而不用全部人工标注。

    标注系统 是一种辅助型的产品;按照一定的标注标准,由人工完成标注对象的标注,为业务系统、模型系统、数据系统等提供支持服务。

    除人工标注数据外,还可借助一些开源标注工具进行标注。

    开源标注工具推荐
    CV: LabelImg, Labelme,OpenCV/CVAT
    NLP:Labelbox,Doccano,Brat,YEDDA

    2. 建立数据闭环系统,感知badcase后自动定位位置,再转给人工分析,无需实时监控;并且通过埋点,模型日志等循环积累数据,有利于模型训练优化。

    下图是自动评测的主要流程。

    这里重点介绍STEP1数据预处理阶段的操作

    此阶段主要进行,业务场景分析,数据收集、筛选及数据集构建,评测指标的选取,标注规则的确定,对数据集进行数据标注,最终输出符合不同模块格式要求的数据集及Ground Truth。

    STEP1-1  首先基于业务场景进行分析。

    主要工作是:

    1. 分析用户行为分布,确定高频场景与边界场景

    2. 基于业务场景设计测试用例脑图

    STEP1-2: 接下来是测试集数据的收集。

    考虑项目交付质量与效率,通过对业务场景分级,梳理测试用例优先级,根据不同优先级收集数据。

    从QA角度拉齐PM同学,补充用例场景维度,对用例 维度划分优先级P0, P1, P2:

    P0: 业务核心Case,用户高频出现Case

    P1: 非业务核心&用户中频出现边界Case

    P2: 可容忍的边界Case

    STEP1-3: 选取评测指标。

    下面分别是基于模型的指标选取,和基于业务场景的指标选取。

     基于业务场景的指标选取,有利于与业务方沟通需求。

    STEP1-4 标注。

    之后标注团队制定标注标准对数据进行预标注,获得GroundTruth及Tag,即模型model期望的结果result。

     STEP1-5 清洗数据集

    对测试集进行格式化,生成满足算法调用模块、算法评测模块 的调用测试集及其 GroundTruth。
    END
    展开全文
  • 人工智能算法模型

    千次阅读 2020-07-18 16:14:32
    人工智能算法模型启发式搜索(有信息搜索)对抗搜索命题逻辑谓词逻辑知识图谱因果推理 启发式搜索(有信息搜索) 1.代价函数h(n),评估函数f(n) 对抗搜索 1.最小最大搜索 例子:以我赢为目的,我选择最大的节点B...

    启发式搜索(有信息搜索)

    1.代价函数h(n),评估函数f(n)在这里插入图片描述

    对抗搜索

    1.最小最大搜索
    在这里插入图片描述
    例子:以我赢为目的,我选择最大的节点B,希望对手再选择B下的最小节点3
    (双方都尽力让对方的收益最小)
    2.αβ剪枝
    优化最大最小,将不必要的节点剪掉
    3.蒙特卡洛树
    (1)多臂赌博机
    在这里插入图片描述

    (2)上限置信区策略(ucb)
    在这里插入图片描述

    (3)蒙特卡洛树搜索(ucb算法实例)
    在这里插入图片描述
    在这里插入图片描述
    围棋对决,黑棋赢例子

    命题逻辑

    在这里插入图片描述

    谓词逻辑

    为什么要谓词逻辑
    在这里插入图片描述
    谓词逻辑的知识:
    在这里插入图片描述
    例子:P(x)是谓词,x是小王,小王是个体,∃x是量词,x是谓词变量
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    知识图谱

    1.一阶归纳
    归纳逻辑程序设计,机器自己从数据学习到新规则

    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述路径排序

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述

    因果推理

    有向无环图:
    在这里插入图片描述
    在这里插入图片描述
    D-分离
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    可用正常无干预条件下的条件概率来计算干预后的条件概率
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    反事实推理
    在这里插入图片描述

    线性回归分析

    在这里插入图片描述
    在这里插入图片描述

    提升算法(Ada boosting)

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    k均值聚类

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    主成分分析(pca特征降维法)

    在这里插入图片描述

    协方差(高维数据的相关性):
    在这里插入图片描述
    在这里插入图片描述

    皮尔逊系数:
    var表示方差
    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述
    PCA:

    在这里插入图片描述
    在这里插入图片描述
    trace是提取对角线这布没懂在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    特征人脸算法

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    这里用系数α做比较可以理解,但是用其做为系数和特征人脸相乘线性累加变为人脸,似乎不对,不好理解?在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述

    逻辑斯蒂回归与分类

    理解交叉熵函数为什么可以做为优化参数权重w和b的损失函数,由下图式子可以得知,当y=1,时即,当输入x为正例时,要想-log(hθ(xi))最小,即hθ(xi)最大,即概率p(y=1|x)最大,符合y=1,x是正例这个事实,训练成功,反之y=0,同理。
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述
    xw相叉乘是一个实数,且w相当于权重在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述

    潜在语义分析

    线性区别分析及分类(LDA监督学习降维法)

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    深度学习基本概念

    浅层学习:每个阶段可采用更好的函数
    深度学习:端到端
    像素点空间——>像素点组成的线条——>视觉对象——>视觉语义

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    关于前馈神经网络,反馈神经网络,前馈网络的误差向后传播(BP)的区别链接: link.

    前馈神经网络

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述
    红色数字为该部分应当为结果相差1,所应该承担的

    误差向后传播

    理论基础,自我理解
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    通过各个计算的偏导数更新参数,即是损失函数下降最快的地方在这里插入图片描述

    卷积神经网络

    在这里插入图片描述
    由式子可以看到,68比原像素点大,中心像素点以四为权重,其他像素点以小于四为权重累加,意味着中心像素点慢慢向四周像素点趋同

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    就以人脸识别来说,最初网络也不知道应该提取什么特征才可以使的与相似图片比对的相似度最大,也即使的loss最小,但最后通过训练,神经网络发现将卷积核网络参数设置为提取眼睛,鼻子,嘴巴,耳朵等特征可以获得最佳结果,这是一个自动化的过程,是网络自动发现参数的过程

    图像分类和定位

    中间红字即是多任务训练,训练既需要定位,又需要分类的神经网络在这里插入图片描述

    强化学习

    要素:1.状态转移概率Pr 2.状态转移奖励R 3.状态转移所采取的动作a(集和A ) 4.状态S(集和{S}) 5.衰退系数γ
    策略π:一系列状态通过动作到状态的过程
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    策略优化与策略评估

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    主要区别在于与当前状态价值也有了联系在这里插入图片描述

    Q学习

    在这里插入图片描述
    在这里插入图片描述
    向右是零,向上是0.2在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    原因:主要是由于越界惩罚和采取动作后反馈值期望大小不确定添加小概率向任意方向走解决,称之为探索在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述

    深度强化学习(深度Q学习)

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    ???在这里插入图片描述
    ??在这里插入图片描述
    ??在这里插入图片描述

    博弈相关

    在这里插入图片描述

    囚徒困境
    纳什均衡

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    遗憾最小化算法

    这页可暂时跳过指知道u表示获取收益即可在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    虚拟遗憾最小化算法

    人工智能安全

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述
    通过对伪造数据一次次的训练达到可以识别伪造数据的效果来对抗白盒攻击在这里插入图片描述
    通过对数据的标签故意写错而判别网络不变,通过将这种误差传递给伪造数据网络,意味着只能是数据改变,趋近于故意给定的标签,以此来达到造储对抗数据的目的在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述
    无针对攻击模式对于输入样本是随机的噪声数据在这里插入图片描述
    人可识别的数据通过网络进行改变直至其趋近于错误标签在这里插入图片描述
    在这里插入图片描述

    记忆所驱动的智能计算

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    神经图灵机:不仅使用了当前的输入数据,也使用了先前放于记忆体中的大量数据和先验知识,来处理当前数据在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    一个可以根据已有经验推理,可以根据数据学习,可以进行简单试错学习做出决策的机器,有了判断,加之权重激活,又为什么不可以说是智能生命体呢?
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述

    可计算社会学

    在这里插入图片描述
    传统社会学
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述

    若干挑战

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述元学习:学习学习的能力(有点悖论,让没学习能力的机器,通过学习学习得到学习的能力)****在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • 求解VRP问题的经典算法,实现运算,源程序代码,含注释,可以自己修改数据
  • 机器学习常见算法

    千次阅读 2022-05-08 11:47:00
    1.KNN算法 kNN算法又称为k近邻分类(k-nearest neighbor classification)算法。是从训练集中找到和新数据最接近的k条记录,然后根据他们的主要分类来决定新数据的类别。 该算法涉及3个主要因素:训练集、距离或相似...
  • 常见的预测模型算法

    万次阅读 多人点赞 2020-05-01 13:22:18
    如果得到一份数据集,任务是要预测出一系列的值,而在预测任务中,我们大多数都采用的是拟合的方法,这篇文字主要介绍三种预测方法时间序列分析,灰色预测模型,神经网络。 时间序列分析 时间序列也叫动态序列,数据...
  • 算法模型部署上线工程实践

    千次阅读 2019-05-07 15:13:27
    作者:潘鹏举,携程酒店研发BI经理,负责酒店服务相关的业务建模工作,主要研究方向是用机器学习实现业务流程自动化、系统智能化、效率最优化,专注于算法实践和应用。 我们经常会碰到一个问题:用了复杂的GBDT...
  • AI算法模型线上部署方法总结

    千次阅读 多人点赞 2021-11-08 18:49:02
    AI算法模型线上部署方法总结一、机器学习算法线上部署方法1.1 三种场景1.2 如何转换PMML,并封装PMML1.3 接下来说一下各个算法工具的工程实践1.3.1 python模型上线:我们目前使用了模型转换成PMML上线方法。...
  • 推荐算法经典模型简单梳理

    千次阅读 2020-06-25 10:50:26
    最近从cv坑里跳出来开始学习推荐算法了,初学推荐算法,有误还请指出。 文章目录机器学习模型CF 协同过滤FM 因子分解FFM:GBDT+LRLS-PLM深度学习模型协同过滤方向AutoRecNeural CF因子分解方向PNNWide & ...
  • 机器学习常见算法在建模中的对比.pdf
  • 我们常说,办事情要“名正言顺”,而数据领域的名字则是格外的多,商业分析、数据分析、数据挖掘、算法模型……经常把大家绕晕,今天系统科普一下。商业分析VS 数据分析广义上...
  • 模型算法的测试方法

    千次阅读 2021-08-11 09:19:57
    但是在模型算法测试中,由于时间和人力等的限制,缺乏由模型算法测试确定的测试断言。此时需要某种不休赖于测试断言的测试,这就是蜕变测试出现的背景。 蜕变测试(MetamorphicTesting,MT)是利用模型算法内含属性的...
  • 数学建模:十大模型与四十种常见算法

    万次阅读 多人点赞 2019-09-13 12:22:32
    十大模型与四十种算法 十大模型 涉及算法 评价模型 层次分析法、优劣解距离法(TOPSIS) 插值与拟合模型 多项式插值、分段插值、Hermite插值、样条插值(一维)、N维数据插值、cftool工具箱 相关模型 ...
  • 人工智能-10种机器学习常见算法

    千次阅读 2021-12-09 13:47:35
    今天,给大家介绍机器学习中的10种常见算法,希望可以帮助大家适应机器学习的世界。 1、线性回归 线性回归(Linear Regression)是目前机器学习算法中最流行的一种,线性回归算法就是要找一条直线,并且让这条直线尽...
  • 人工智能常见算法简介

    万次阅读 2019-02-15 13:17:32
      人工智能的三大基石—算法、数据和计算能力,算法作为其他之一,是非常重要的...一、按照模型训练方式不同可以分为监督学习(Supervised Learning),无监督学习(Unsupervised Learning)、半监督学习(Semi-...
  • 数学建模30个常用算法(Python)数学建模30个常用算法(Python)数学建模30个常用算法(Python)数学建模30个常用算法(Python)数学建模30个常用算法(Python)数学建模30个常用算法(Python)数学建模30个常用算法...
  • 数学建模常见模型代码,可运行,可复制
  • 数学建模算法学习——各类模型算法汇总

    万次阅读 多人点赞 2019-09-08 14:28:50
    相关模型解决的问题 数据分析类算法一览 100个经典动态规划方程 优化问题 线性规划 简介:线性规划的目标函数可以是求最大值,也可以是求最小值,约束条件的不等号可以是小于号也可以是大于号。为了避免这种形式...
  • Y = F(X) 最常见的情况是,当我们有一些历史数据X和Y时,可以部署AI模型以提供这些值之间的最佳映射。结果不能100%准确,否则,这将是一个简单的数学计算,无需机器学习。相反,我们训练的f函数可用于使用新X预测...
  • 机器学习常见算法分类

    千次阅读 2021-02-03 19:32:43
    “机器学习是一门人工智能的科学,该领域的主要研究对象是人工智能,特别是如何在经验学习中改善具体算法的性能”。 “机器学习是对能通过经验自动改进的计算机算法的研究”。 “机器学习是用数据或以往的经验,...
  • 大数据-算法
  • 聚类算法是很重要的一类算法模型,在实际的应用实践中是会经常使用到的,最近的工作类型中大多偏向于有监督学习类型模型的使用,而对于无监督算法模型的使用则使用得相对少了很多,今天就简单的回归一下聚类算法模型...
  • 数学建模常用模型算法介绍

    千次阅读 多人点赞 2021-08-19 12:11:00
    模型算法汇总目录常见模型微分方程模型元胞自动机模型动态规划模型决策树模型主成分分析图论和网路模型排队论模型时间序列分析常用算法:模拟退火算法遗传算法BP神经网络插值和拟合算法聚类分析算法 常见模型 微分...
  • PHM算法与智能分析技术——数据处理与特征提取方法1数据...本堂课的主要介绍数据处理的宏观的目标,就是要降低工业场景中建模的3B问题,然后介绍一些常见的数据处理的方法,包括工矿分割数据清洗,针对运动数据的...
  • 算法模型---时间序列模型

    万次阅读 多人点赞 2018-01-16 09:04:58
    时间序列与常见的回归问题的不同点在于: 1、时间序列是跟时间有关的;而线性回归模型的假设:观察结果是独立的在这种情况下是不成立的。 2、随着上升或者下降的趋势,更多的时间序列出现季节性趋势的形式;常用的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 281,393
精华内容 112,557
关键字:

常见的算法模型