字节跳动面经 算法岗

一面

  1. 交叉熵的推导
  2. 如何确定kmeans的k【肘部法则和轮廓系数】

肘部法则:我们知道k-means是以最小化样本与质点平方误差作为目标函数,将每个簇的质点与簇内样本点的平方距离误差和称为畸变程度(distortions),那么,对于一个簇,它的畸变程度越低,代表簇内成员越紧密,畸变程度越高,代表簇内结构越松散。 畸变程度会随着类别的增加而降低,但对于有一定区分度的数据,在达到某个临界点时畸变程度会得到极大改善,之后缓慢下降,这个临界点就可以考虑为聚类性能较好的点。 基于这个指标,我们可以重复训练多个k-means模型,选取不同的k值,来得到相对合适的聚类类别

轮廓系数:对于一个聚类任务,我们希望得到的簇中,簇内尽量紧密,簇间尽量远离,轮廓系数便是类的密集与分散程度的评价指标,公式表达如下: s=b−amax(a,b)s=b−amax(a,b)其中a代表同簇样本到彼此间距离的均值,b代表样本到除自身所在簇外的最近簇的样本的均值,s取值在[-1, 1]之间。 如果s接近1,代表样本所在簇合理,若s接近-1代表s更应该分到其他簇中。 同样,利用上述指标,训练多个模型,对比选取合适的聚类类别

  1. yolo的一些问题
  2. cnn,输入256 * 256,卷积核10 * 10,步长为2,输出是多少
  3. 算法题:层次遍历二叉树【中等题】

二面:

  1. 算法题:列举列表的所有子集【中等题】
ans=[]
def fun(l,temp):
    if len(l)==0:
        t=temp.copy()
        ans.append(t)
        return 
        
    fun(l[1:len(l)],temp)       
    temp.append(l[0])   
    fun(l[1:len(l)],temp) 
    temp.pop()
    return ans
  1. 如何扩大感受野
  2. BN层能解决什么问题?它的原理是什么

三面:

  1. 项目的问题
  2. bert的损失函数
  3. 证明rnn的信息消失a
  4. python多线程会有什么问题

关注微信公众号,更多面经带给你!

字节跳动面经 算法岗_第1张图片

你可能感兴趣的:(算法岗面试宝典)