在牛客网上的好资源真的很多,根据牛客网算法面试宝典写份总结,希望在面试过程中能好好表现。
1. 微积分
-
SGD,Momentum,Adagard,Adam原理
SGD为随机梯度下降,每一次迭代计算数据集的mini-batch的梯度,然后对参数进行跟新。
Momentum参考了物理中动量的概念,前几次的梯度也会参与到当前的计算中,但是前几轮的梯度叠加在当前计算中会有一定的衰减。
Adagard在训练的过程中可以自动变更学习的速率,设置一个全局的学习率,而实际的学习率与以往的参数模和的开方成反比。
Adam利用梯度的一阶矩估计和二阶矩估计动态调整每个参数的学习率,在经过偏置的校正后,每一次迭代后的学习率都有个确定的范围,使得参数较为平稳。
-
L1不可导的时候该怎么办
L0范数是指向量中非0的元素的个数。
L1范数是指向量中各个元素绝对值之和。
L2范数是指向量各元素的平方和然后求平方根。
-
sigmoid函数特性
形状
值域为(0,1)
2.统计学概率论
-
最大似然估计和最大后验概率的区别?
最大似然估计提供了一种给定观察数据来评估模型参数的方法,而最大似然估计中的采样满足所有采样都是独立同分布的假设。
最大后验概率是根据经验数据获难以观察量的点估计,与最大似然估计最大的不同是最大后验概率融入了要估计量的先验分布在其中,所以最大后验概率可以看做规则化的最大似然估计。
-
什么是共轭先验分布
假设为总体分布中的参数,的先验密度函数为,而抽样信息算得的后验密度函数与具有相同的函数形式,则称为的共轭先验分布。
3.线性代数
-
编辑距离(语音识别中的词错误率经常使用该方法)
定义:两个字串之间,由一个转成另一个所需的最少编辑操作次数,如果它们的距离越大,说明它们越是不同。许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符。
作用:比较两个字符串的相似度
算法步骤:
1.str1或str2的长度为0返回另一个字符串的长度。
2.初始化(n+1)(m+1)的矩阵d,并让第一行和列的值从0开始增长。扫描两字符串(nm级的),如果:str1[i] == str2[j],用temp记录它,为0。否则temp记为1。然后在矩阵d[i,j]赋于d[i-1,j]+1 、d[i,j-1]+1、d[i-1,j-1]+temp三者的最小值。
3.扫描完后,返回矩阵的最后一个值d[n][m]即是它们的距离。