美团外卖/滴滴20201225面试

7 篇文章 0 订阅
6 篇文章 0 订阅

1. 向量召回的原理:

   譬如:输入一个title的向量,召回 相关的query向量list。 向量list存储起来,等待title向量的召回。

   召回方式有很多中:

1.1 线性扫描:将待预测样本和候选样本逐一比对,最终挑选出距离最近的k个样本即可,时间复杂度 O(n),在规模较大的时候,时间开销严重无法接受。

1.2 KDTree:是二叉树,核心思想是对k维特征空间不断的以中值递归切分构造树。每个阶段是一个超矩形,小于节点的样本,划分到左子树,大于结点的样本划分到右子树。

kd树,在维度小于20的时候,效率最高。

1.3 BallTree:kd树沿着坐标轴分隔数据,BallTree将在一系列嵌套的超球面上分隔数据,即 使用超球面而不是超矩形来划分区域。

   虽然在构建数据结构的花费上多大过于KDtree,但是在高维甚至更高维的数据上都表现得很高效。

1.4 Annoy:

同样通过建立一个二叉树使得每个点查找时间复杂度是o(logn),和kd树不同的是,annoy没有对K维特征做切分,Annoy的每一次空间划分,可能看做聚类数为2的KMeans过程,查找过程和KD树类似,先从跟向叶子结点递归查找。annoy接口中一般需要调整的参数有2个:查找返回的topk近邻 和 树的个数,一般树越多,精准率越高,但是对内存的开销也越大,需要权衡取舍。

1.5 NSW:navigable small world graphs,是基于图存储的数据结构,查找最近的 友点。

1.6 HNSW:加入调表结构,进一步优化,最底层是所有数据点,每个点都有50%的概率进入上一层的有序链表。这样可以保证表层是 高速通道,底层是 精细查找。

1.7 facebook的 faiss向量检索。base 在knn 最近邻检索。

2. gbdt的原理,最好能涉及到公式的维度

2.1 gbdt损失函数时 平方损失函数。adaboost 损失还是用的是指数损失函数。

2.2 gbdt算法是模型为加法模型,学习算法为前向分布算法,基函数为cart树。  

 

3. gbdt 如何优化变快?

4. LSA、PLSA、LDA 的原理

5.bert的loss是如何定义的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值