美文网首页机器学习
机器学习常见面试问题汇总

机器学习常见面试问题汇总

作者: 大王叫我来巡老和山 | 来源:发表于2019-03-22 11:27 被阅读75次

    距离上次挖坑已经一个月了,,,好好好,我写还不行嘛,Machine Learning 走起!


    目录:
    机器学习常见面试问题汇总
    问题汇总(1):逻辑回归
    问题汇总(2):支持向量机
    问题汇总(3):树模型
    问题汇总(4):聚类
    问题汇总(5):神经网络
    问题汇总(6):EM算法
    问题汇总(7):朴素贝叶斯


    先来几个引用:

    这些面试问题你一定要知道
    各种面试问题:数据结构、算法、概率题、智商题、大数据题......
    milter的简书(里面机器学习部分)

    各种机器学习算法的应用场景分别是什么(比如朴素贝叶斯、决策树、K 近邻、SVM、逻辑回归最大熵模型)?


    L1正则和L2正则的异同

    范数正则化L0、L1、L2-岭回归&Lasso回归

    • L1范数也称最小绝对误差(least absolute errors),是最小化目标值yi和估计值f(xi)绝对差值的求和,L2范数也称为最小均方(least squares),它是最小化目标值yi和估计值f(xi)平方和。
    • LI-norm鲁棒性比L2-norm要好些。如L2-norm,由于是均方误差,如果误差>1的话,那么平方后,相比L1-norm而言,误差就会被放大很多。因此模型会对样例更敏感。如果样例是一个异常值,模型会调整最小化异常值的情况,以牺牲其它更一般样例为代价,因为相比单个异常样例,那些一般的样例会得到更小的损失误差。
    • L1 有内置的特征选择(Built-in feature selection)。其实就是因为L1 具有稀疏性。 因为最优的参数值很大概率出现在坐标轴上,这样就会导致某一维的权重为0 ,产生稀疏权重矩阵。此时会有很多系数变为0,从而使很多特征0贡献。而L2只会让系数趋近于0,但很少为0。
    • L1 倾向于特征选择,而L2倾向于处理过拟合。

    从中引发的小问题:
    实现参数的稀疏有什么好处?
    1.参数的稀疏,在一定程度上实现了特征的选择。
    2.参数稀疏,计算速度会快。

    如何解决 L1 求导困难问题?

    Lasso回归算法

    1.找一个近似公式取代|w|。
    2.坐标轴下降法。
    3.最小角回归法。


    梯度消失和梯度爆炸

    (这个问题应该属于神经网络或者说深度学习了把?等我回头再挖一坑,再开一篇,然后把这个内容搬过去)

    对于梯度消失和梯度爆炸的理解
    梯度消失、爆炸

    梯度消失:这玩意就是链式求导,然后连乘导致的,尤其是激活函数用sigmoid的时候,毕竟求导完毕最大也只有1/4,当然tanh也好不到哪里去,求导最大值也就是1。RNN也很容易出现这种问题,不过LSTM可以帮助避免(RNN在做乘法,LSTM在做加法)。
    sigmoid公式及其导数如下:
    sig(z) = \frac {1} {1 + e^{-z}} sig(z)' =sig(z)(1 - sig(z))
    tanh公式及其导数如下:
    tanhx = \frac {e^x - e^{-x}} {e^x + e^{-x}} tanhx' = 1 - tanh^2x

    梯度爆炸:连乘也会导致梯度爆炸,不过 Boom!的概率小一点。但是当求导时遇到“悬崖”,也就是梯度变化很大时,也会引起梯度爆炸。

    解决办法

    • 预训练加微调
    • 梯度剪切(主要针对梯度爆炸,计算出的梯度大于某个值,就让其等于该值,也就是设置了上限)
    • 权重正则化(weithts regularization)比较常见的是 L1 和 L2 正则。
    • 使用relu、leakyrelu、elu等激活函数。
    • Batch Normalization(这玩意是个好东西)
    • 残差结构 ResNet。
    • LSTM(针对RNN,主要解决梯度消失,但好像,爆炸问题不能完全解决掉?)

    防止过拟合的方法

    机器学习常见四种防止过拟合方法
    多任务学习

    • 手动删除多余的特征(带来负面影响的)
    • 发掘新特征
    • Early Stopping
    • 数据集扩充(Data Augmentation)
    • 正则化法(L1、L2)
    • Dropout
    • 多任务学习(硬共享和软共享)
    • 常见集成学习方法,随机森林等
    • 深度学习里面可以通过调整模型,如深度、宽度、filter数量等
    • 树模型处理过拟合还有剪枝方法(预剪枝:会带来欠拟合风险、后剪枝:训练时间开销大)

    防止欠拟合方法:

    • 从数据层面上考虑:可以增加新特征,例如,组合、泛化、相关性、高次特征,来增大假设空间等;
    • 从模型层面上考虑:增加模型的复杂度,例如SVM的核函数,决策树不进行剪枝、DNN等更复杂的模型,去掉正则化项或者减小正则化参数,加深训练迭代数等。

    相关文章

      网友评论

        本文标题:机器学习常见面试问题汇总

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