阿里(达摩院)计算机视觉实习生二面(2021-4-28)

电话面试,约20分钟。

1. 数学问题:均匀分布怎么转为正态分布,线性代数的SVD。

  • 均匀分布怎么转为正态分布
    • Box-Muller算法实际上依据瑞利分布来求标准正态分布的反函数。我们知道标准正态分布的反函数是求不了的,但标准正态分布经过极坐标变换后却是可以求得反函数的。使用Box-Muller可以用来产生服从正态分布的随机数。做法如下:产生相互独立的[0, 1]均匀分布的随机数U_{1}U_{2}。令\xi =(-2lnU_{1})^{\frac{1}{2}}cos2\Pi U_{2}\eta =(-2lnU_{1})^{\frac{1}{2}}sin2\Pi U_{2},则\xi\eta是相互独立的N(0,1)随机数。
    • 中心极限定理,样本容量极大时,样本均值的抽样分布趋近于正态分布。这和样本所属的总体的分布的类型无关,样本所属总体的分布可以是正态分布,也可以不是。(大数定律讲的是样本容量极大时,样本的均值必然趋近于总体的期望)。对于服从均匀分布的随机变量,只要n充分大,随机变量\frac{\frac{1}{n} \sum_{i=1}^{n} X_{i} - \mu}{\sigma/\sqrt{n} }就服从均值为0,方差为1的正态分布。所以,均匀分布转为正态分布,取N个均匀分布的随机变量即可。对于(0,1)均匀分布的均值为0.5,方差为1/12,故取N=12。
  • SVD:奇异值分解(多用于数据降维)
    • 特征值分解定义(EVD),如果矩阵A是一个m*m的实对称矩阵(即A=A'),那么它可以被分解成如下的形式A=QΣQ',其中Q为标准正交阵,即有QQ'=E,Σ为对角矩阵,且这些矩阵的维度均为m*m。Σ的对角元素为特征值,Q为特征向量。
    • 奇异值分解定义(SVD),有一个m*n的实数矩阵A,我们想要把它分解成如下的形式,A=UΣV',其中U和V均为单位正交阵,即有UU'=E和VV'=E,U成为左奇异矩阵,V成为右奇异矩阵,Σ仅在主对角线上有值,我们称它为奇异值,其他元素均为0。上面的矩阵U为m*m,Σ为m*n,V为n*n。
    • 奇异值求解:利用如下性质AA'=UΣV'VΣ'U'=UΣΣ'U',A'A=VΣ'U'UΣV'=VΣ'ΣV'。需要注意的是,这里ΣΣ'和Σ'Σ在矩阵的角度上来讲,它们是不相等的,因为它们的维数不同,ΣΣ'为m*m,Σ'Σ为n*n,但是它们在主对角线的奇异值是相等的。这里AA'和A'A也是对称矩阵,那么可以做特征分解,分别可得到特征矩阵U和V,对ΣΣ'或Σ'Σ中的特征值进行开方,可以得到所有的奇异值。

2. softmax,BN(train和inference)。

  • softmax为什么选择e^{x}:因为e^{x}是能够将任意实数映射到非负实数的最简单的、单调的、光滑的初等函数。
  • softmax的溢出问题:当我们使用softmax计算比较小的值的时候是不会有什么问题的,但是如果运算的值比较大的时候,比如很大或很小的时候,朴素的直接计算会上溢出或下溢出,从而导致严重问题。
    • 解决办法:令M=max(x_{i}),i=1,2,3,...,n,即M为所有x_{i}中最大的值,那么我们只需要计算f(x_{i}-M)的值,就可以解决上溢出和下溢出的问题了,并且计算结果理论上仍然和f(x_{i})保持一致。举个实例:
    • 延伸问题:如果softmax函数中的分子发生下溢出,也就是前面所说的为负数,且负数的绝对值很大,此时分母是一个极小的正数,有可能四舍五入为0的情况,此时,如果我们把softmax函数的计算结果再拿去计算log,即log softmax,其实就相当于计算log(0),所以会得到负无穷,但这实际上是错误的,因为它是由舍入误差造成的计算错误。解决办法同上:
    • 这里写图片描述

3. 目标检测的召回率和准确率的权衡选择,特征相似距离怎么转换为概率分布。

4. Python怎么封装C++代码,C++的三个智能指针。

5. 我的GitHub地址。

参考链接:

  1. SVD(特征值分解)小结
  2. 均匀分布生成标准正太分布 python
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值