attention总结

https://easyai.tech/ai-definition/attention/#type

1.Show, Attend and Tell: Neural Image Caption Generation with Visual Attention

提出了两种 attention 模式,即 hard attention 和 soft attention

2.Effective Approaches to Attention-based Neural Machine Translation

文章提出了两种 attention 的改进版本,即 global attention 和 local attention。

3.Attention Is All You Need

提出self attention

4.Hierarchical Attention Networks for Document Classification

提出了Hierarchical Attention用于文档分类

5.Attention-over-Attention Neural Networks for Reading Comprehension

提出了Attention Over Attention的Attention机制

6.Convolutional Sequence to Sequence Learning

论文中还采用了 Multi-step Attention

xgboost

1.原理

paper原文 https://arxiv.org/pdf/1603.02754.pdf

XGBoost算法原理小结 https://www.cnblogs.com/pinard/p/10979808.html

是对gbdt的高效实现

基学习器:XGBoost的可以使用cart回归树作为基学习器,也可以使用线性分类器作为基学习器

2.使用

XGBoost类库使用小结 https://www.cnblogs.com/pinard/p/11114748.html

训练慢

gpu

histogram

single-precision

类别特征

xgboost无法处理类别特征,需要自己处理

1.one hot encode

2.label encode

KNN

KNN可以用来分类和回归,以分类为例。

一.算法流程

KNN分类算法的计算过程:

1)计算待分类点与已知类别的点之间的距离

2)按照距离递增次序排序

3)选取与待分类点距离最小的K个点

4)确定前K个点所在类别的出现次数

5)返回前K个点出现次数最高的类别作为待分类点的预测分类

如上图,举个例子:

  • 如果K=3,绿色圆点的最邻近的3个点是2个红色小三角形和1个蓝色小正方形,少数从属于多数,基于统计的方法,判定绿色的这个待分类点属于红色的三角形一类。
  • 如果K=5,绿色圆点的最邻近的5个邻居是2个红色三角形和3个蓝色的正方形,还是少数从属于多数,基于统计的方法,判定绿色的这个待分类点属于蓝色的正方形一类。

二.距离度量选择

1.闵可夫斯基距离

2.欧式距离

3.曼哈顿距离

三.K值的选择

选择较小的K值,容易发生过拟合;选择较大的K值,则容易欠拟合。在应用中,通常采用交叉验证法来选择最优K值。

四.优缺点

优点:

1)算法简单,理论成熟,既可以用来做分类也可以用来做回归。

2)可用于非线性分类。

缺点

1)需要算每个测试点与训练集的距离,当训练集较大时,计算量相当大,时间复杂度高,特别是特征数量比较大的时候。

2)样本不平衡问题(即有些类别的样本数量很多,而其它样本的数量很少),对稀有类别的预测准确度低。

意图识别和槽位填充(Intent Detection and Slot Filling)

1.简介

出自 https://zhuanlan.zhihu.com/p/75228411#

对话系统的NLU中,意图识别(Intent Detection,简写为ID)和槽位填充(Slot Filling,简写为SF)是两个重要的子任务。其中,意图识别可以看做是NLP中的一个分类任务,而槽位填充可以看做是一个序列标注任务,在早期的系统中,通常的做法是将两者拆分成两个独立的子任务。但这种做法跟人类的语言理解方式是不一致的,事实上我们在实践中发现,两者很多时候是具有较强相关性的,比如下边的例子:

1.我要听[北京天安门, song] — Intent:播放歌曲
2.帮我叫个车,到[北京天安门, location] — Inent:打车
3.播放[忘情水, song] — Intent:播放歌曲
4.播放[复仇者联盟, movie] — Intent:播放视频

1和2中,可以看到同样是“北京天安门”,由于意图的不同,该实体具备完全不同的槽位类型。3和4中,由于槽位类型的不同,导致了最终意图的不同,这往往意味着,在对话系统中的后继流程中将展现出完全不同的行为——-打开网易音乐播放歌曲 or 打开爱奇艺播放电影。

随着对话系统的热度逐渐上升,研究的重点也逐渐倾向于将两个任务进行联合,以充分利用意图和槽位中的语义关联。那么,问题来了,我们该如何进行联合呢?从目前的趋势来看,大体上有两大类方法:

  1. 多任务学习:按Multi-Task Learning的套路,在学习时最终的loss等于两个任务的loss的weight sum,两者在模型架构上仍然完全独立,或者仅共享特征编码器。
  2. 交互式模型:将模型中Slot和Intent的隐层表示进行交互,引入更强的归纳偏置,最近的研究显示,这种方法的联合NLU准确率更高。

参考

[1] https://zhuanlan.zhihu.com/p/165963264

[2] https://zhuanlan.zhihu.com/p/75228411#

意图识别

本质是分类任务,多用在搜索引擎和智能问答中。

解决方法

1、基于规则模板意图识别

https://blog.csdn.net/qq_16555103/article/details/100767984

2、基于深度学习模型来对用户的意图进行判别

比如fasttext,LSTM+attention,BERT

参考

https://blog.csdn.net/qq_37228811/article/details/104307144?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-0.no_search_link&spm=1001.2101.3001.4242

https://blog.csdn.net/qq_16555103/article/details/100767984

SVM

1.回顾线性回归和LR

线性回归是解决回归任务的线性模型

LR是二分类模型,在线性模型的基础上加入激活函数sigmoid,适用在线性可分的二分类任务

2.介绍svm

简单总结:1.对于完全线性可分,硬间隔 2.不能够完全线性可分,引入松弛变量 ,软间隔 3.线性不可分,引入核函数

原理可参考: https://zhuanlan.zhihu.com/p/77750026 或者 https://blog.csdn.net/qq_37321378/article/details/108807595

核函数 https://blog.csdn.net/mengjizhiyou/article/details/103437423

与LR区别: https://www.jianshu.com/p/1b4d9de7000c

多路召回

1.定义

所谓的“多路召回”策略,就是指采用不同的策略、特征或简单模型,分别召回一部分候选集,然后再把这些候选集混合在一起后供后续排序模型使用的策略。值得注意的是,每一路召回需要尽可能的保持独立性与互斥性,从而在保证各链路能够并行召回的同时,增加召回的多样性。

2.多路召回融合策略(可以算是粗排)

平均法:C的计算方法:(0.7 + 0.5 + 0.3)/3

加权平均:假设三种策略的权重指定为0.4、0.3、0.2(人为给定或者算法拟合),则B的权重为(0.4 0.8 + 0.3 0.6 + 0.2* 0)/ (0.4+0.3+0.2)

动态加权法:计算三种召回策略的CTR,作为每天更新的动态权重。但是只考虑了点击率,并不全面。

3.例子

https://tianchi.aliyun.com/notebook-ai/detail?postId=144452

参考

https://zhuanlan.zhihu.com/p/388601198


:D 一言句子获取中...