美文网首页面试
我在面试过程中会问的一些题目

我在面试过程中会问的一些题目

作者: 璆_ca09 | 来源:发表于2020-05-18 23:10 被阅读0次

    回答知乎文章“如何去判断一个面试者的深度学习水平”

    传统机器学习:

    1. bias 及 variance的含义,并结合ensemble method问哪种方法降低bias, 哪种方法降低variance

    bias: 偏差,理解为残差,离最终目标的距离 都可以

    variance:方差,理解为最终训练出来的数据分布的离散程度

    ensemble方法,主要分两种:bagging and boosting

    显然的,以随机森林为代表的bagging方法 从算法设计的角度上就是以提高偏差为代价来降低预测值的方差

    反之,以gbdt为代表的boosting方法,就是以提高方差为代价来降低预测值的偏差

    单纯以rf,gbdt来讨论的话,我更愿意在分类问题中使用随机森林,回归问题中使用gbdt

    当然xgboost是大杀器,哈哈哈哈

    2. lr与svm的区别和联系

    判别函数,目标函数,优化求解方法 三个角度来考虑区别

    联系的话,我脑海里只对LR和朴素贝叶斯之间有联系哈哈哈哈。。

    LR的判别函数:sigmoid化的线性回归方程

    SVM的判别函数:距离可分超平面的几何间隔

    LR 的目标函数:最大化对样本的归类事实的极大似然估计

    SVM的目标函数:最大化样本归类事实的几何间隔(几何间隔相当于函数间隔的标准化,除了一个\vert \vert w \vert  \vert )

                                且带有约束条件:每一个训练样本的几何间隔必须大于等于目标几何间隔

                                最终化简为最小化 {\vert  \vert w \vert  \vert }^2

    LR的优化求解:加入了L1-norm的LR可用坐标下降的方式来求解,L2-norm及其他可用梯度下降来求解

    SVM的优化求解:由于存在几何间隔的约束条件, 这其实是个凸二次规划(convex qurdratic programming)问题

                                    在求解问题的时候,可抛出一个问题:什么是支持向量(嘘,就是那些等式约束成立的样本点~)

                                   且在求解过程中,也需要允许少数outlier不满足约束条件,所以在几何间隔\gamma中又需要引入一个松弛变量\xi

                                    并需要对此松弛变量进行惩罚,使松弛的样本尽量少

    相互之间的联系:我觉得没什么理论上的联系哈哈哈哈哈哈,主要是区别太大了

    3. gbdt与adaboost的区别和联系

    先说联系吧,都是booster家族,adaboost出现的更早,对当时学术界的启发性更强

    同样从判别函数,目标函数,优化求解方法 三个角度来考虑区别

    gbdt的判别函数:样本落在每颗树叶子结点上值的线性加和

    adaboost的判别函数:样本落在每颗子树的加权平均

    gbdt的目标函数:由于是叠加式的算法,目标函数只定义在第t轮,即在当前找个一个最优的树结构使得

    当前的目标残差最小,其中叶子结点的值是由残差的梯度确定的~

    adaboost的目标函数:在t轮,最小化指数损失函数

    gbdt的优化求解:使用梯度下降进行负梯度的拟合

    adaboost的优化求解:对指标损失函数进行偏导数计算即可

    4. 手推svm

    懒,埋个坑,以后再推。。

    5.给一个算法,例如LR,问这个算法的model ,evaluate, optimization

    LR的model:sigmoid化的线性回归方程

    LR 的evaluate:最大化对样本的归类事实的极大似然估计

    LR的optimization:加入了L1-norm的LR可用坐标下降的方式来求解,L2-norm及其他可用梯度下降来求解

    6.深度学习为什么不用二阶优化

    原因一:牛顿法需要用到梯度和Hessian矩阵,这两个都难以求解。因为很难写出深度神经网络拟合函数的表达式,遑论直接得到其梯度表达式,更不要说得到基于梯度的Hessian矩阵了。

    原因二:即使可以得到梯度和Hessian矩阵,当输入向量的维度NN较大时,Hessian矩阵的大小是N×NN×N,所需要的内存非常大。

    原因三:在高维非凸优化问题中,鞍点相对于局部最小值的数量非常多,而且鞍点处的损失值相对于局部最小值处也比较大。而二阶优化算法是寻找梯度为0的点,所以很容易陷入鞍点。

    7.Batch size 大小会怎么影响收敛速度

    直观上来说,batch size 太小容易没法收敛

    研究表明大的batchsize收敛到sharp minimum,而小的batchsize收敛到flat minimum,后者具有更好的泛化能力。两者的区别就在于变化的趋势,一个快一个慢,造成这个现象的主要原因是小的batchsize带来的噪声有助于逃离sharp minimum。

    相关文章

      网友评论

        本文标题:我在面试过程中会问的一些题目

        本文链接:https://www.haomeiwen.com/subject/ckopohtx.html