机器学习之问答题汇总

特征工程问题汇总

  • 高维稀疏特征的做法:

    目前主流的做法是根据feature的最大个数构建一个相应的Embedding矩阵,然后根据训练样本中的feature id通过tf.nn.embedding_lookup_sparse从embedding矩阵中查询到对应的embedding向量,最后将这些向量通过sum或者concat的方式喂给后面的DNN模型。相应的Embedding向量也会在模型训练过程中得到相应的更新。DNN模型的结构可以是传统的DNN,也可以是谷歌家的W&DL,也可以加入Attention机制。这些就看各家自己的判断了。
    链接:https://www.zhihu.com/question/48673581/answer/317427321

  • 机器学习之特征工程相关问题

模型优化问题

机器学习算法模型问题汇总

深度学习

  • 深度学习之循环神经网络RNN

  • 你有哪些deep learning(rnn、cnn)调参的经验?

  • 面试笔试整理3:深度学习机器学习面试问题准备(必会)

  • 深度学习之资料汇总

  • dropout后如何反向传播?

  • RNN中为什么使用使用tanh激活,不用sigmoid、Relu

    Sigmoid函数的导数范围是(0,0.25], Tanh函数的导数是(0,1]。
    由于RNN中会执行很多累乘,小于1的小数累乘会导致梯度越来越接近于0,出现梯度消失现象。Tanh与Sigmoid相比,梯度更大,收敛速度更快并且出现梯度消失的情况要优于Sigmoid。另一点是Sigmoid的输出均大于0,不是零对称的,这会导致偏移现象,因为每一层的输入都是大于零的。 关于原点对称的数据输入,训练效果更好。

  • RNN为什么不用Relu?

    这其实是一个伪命题,发明Relu函数的初衷就是为了克服Tanh函数在RNN中的梯度消失现象。但是由于Relu的导数不是0就是1,恒为1的导数容易导致梯度爆炸,不过梯度爆炸不用慌,通过简单的梯度截断机制就可以得到优化。Relu激活函数是RNN中避免梯度消失现象的一个重要方法。

  • 为什么Relu用在RNN中会梯度爆炸,在普通CNN中不会?

    Relu在RNN中会导致非常大的输出值,由于每个神经元(设系数为w)的输出都会作为输入传给下一个时刻本神经元,这就导致会对系数矩阵w执行累乘,如果w中由一个特征值大于1,那么非常不幸,若干次累乘之后数值就会很庞大,在前向传播时候导致溢出,后向传播导致梯度爆炸(当然可做截断优化)。
    而在CNN中,不存在系数矩阵w的累乘,每一层的系数w都是独立的,互不相同,有大于1的,有小于1的,所以在很大程度上可以抵消,而不至于让最终的数值很大。

  • batch Normalization的作用

    BN的基本思想其实相当直观:因为深层神经网络在做非线性变换前的激活输入值(就是那个x=WU+B,U是输入)随着网络深度加深或者在训练过程中,其分布逐渐发生偏移或者变动,之所以训练收敛慢,一般是整体分布逐渐往非线性函数的取值区间的上下限两端靠近(对于Sigmoid函数来说,意味着激活输入值WU+B是大的负值或正值),所以这导致后向传播时低层神经网络的梯度消失,这是训练深层神经网络收敛越来越慢的本质原因,而BN就是通过一定的规范化手段,把每层神经网络任意神经元这个输入值的分布强行拉回到均值为0方差为1的标准正太分布而不是萝莉分布(哦,是正态分布),其实就是把越来越偏的分布强制拉回比较标准的分布,这样使得激活输入值落在非线性函数对输入比较敏感的区域,这样输入的小变化就会导致损失函数较大的变化,意思是这样让梯度变大,避免梯度消失问题产生,而且梯度变大意味着学习收敛速度快,能大大加快训练速度。
    THAT’S IT。其实一句话就是:对于每个隐层神经元,把逐渐向非线性函数映射后向取值区间极限饱和区靠拢的输入分布强制拉回到均值为0方差为1的比较标准的正态分布,使得非线性变换函数的输入值落入对输入比较敏感的区域,以此避免梯度消失问题。因为梯度一直都能保持比较大的状态,所以很明显对神经网络的参数调整效率比较高,就是变动大,就是说向损失函数最优值迈动的步子大,也就是说收敛地快。NB说到底就是这么个机制,方法很简单,道理很深刻。

LN和BN的区别:

在上一篇的文章中我们介绍了BN[2]的计算方法并且讲解了BN如何应用在MLP以及CNN中如何使用BN。在文章的最后,我们指出BN并不适用于RNN等动态网络和batchsize较小的时候效果不好。Layer Normalization(LN)[1]的提出有效的解决BN的这两个问题。LN和BN不同点是归一化的维度是互相垂直的,如图1所示。在图1中 [公式] 表示样本轴, [公式] 表示通道轴, [公式] 是每个通道的特征数量。BN如右侧所示,它是取不同样本的同一个通道的特征做归一化;LN则是如左侧所示,它取的是同一个样本的不同通道做归一化。
图1:LN(左)和BN(右)对比示意图
BN的问题
1.1 BN与Batch Size
如图1右侧部分,BN是按照样本数计算归一化统计量的,当样本数很少时,比如说只有4个。这四个样本的均值和方差便不能反映全局的统计分布息,所以基于少量样本的BN的效果会变得很差。在一些场景中,比如说硬件资源受限,在线学习等场景,BN是非常不适用的。
BN与RNN
RNN可以展开成一个隐藏层共享参数的MLP,随着时间片的增多,展开后的MLP的层数也在增多,最终层数由输入数据的时间片的数量决定,所以RNN是一个动态的网络。
在一个batch中,通常各个样本的长度都是不同的,当统计到比较靠后的时间片时,例如图2中 [公式] 时,这时只有一个样本还有数据,基于这个样本的统计信息不能反映全局分布,所以这时BN的效果并不好。
另外如果在测试时我们遇到了长度大于任何一个训练样本的测试样本,我们无法找到保存的归一化统计量,所以BN无法运行。
https://zhuanlan.zhihu.com/p/54530247

传统机器学习

LR和SVM都是判别模型。

判别模型会生成一个表示P(Y|X)的判别函数(或预测模型),而生成模型先计算联合概率p(Y,X)然后通过贝叶斯公式转化为条件概率。简单来说,在计算判别模型时,不会计算联合概率,而在计算生成模型时,必须先计算联合概率。或者这样理解:生成算法尝试去找到底这个数据是怎么生成的(产生的),然后再对一个信号进行分类。基于你的生成假设,那么那个类别最有可能产生这个信号,这个信号就属于那个类别。判别模型不关心数据是怎么生成的,它只关心信号之间的差别,然后用差别来简单对给定的一个信号进行分类。常见的判别模型有:KNN、SVM、LR,常见的生成模型有:朴素贝叶斯,隐马尔可夫模型。
联合分布可以提供很多的信息,但是也需要更多的样本和更多的计算。生成模型收敛的比较快,当含有较多的数据的时候可以更快的收敛于真实模型,生成模型可以应付存在隐变量的情况。
判别模型需要的样本数量比较少,准确率比较高。

参考文章:SVM如何用于回归分析
机器学习之svm专题
- SVM要点:
距离度量支持向量损失函数对偶问题拉格朗日乘法核函数软间隔, 松弛变量

EM算法

  • EM算法的E步和M步分别在计算什么?
    E步:计算对于一个参数Q,它的对数似然函数的联合分布的条件概率期望,这是用到了jason不等式
    M:极大化这个条件概率期望,得到一个新的参数Q1
    之后在进行E步直到参数Q收敛
    参考EM算法原理总结

  • EM算法一定收敛吗?对初始估计值敏感吗?

    EM算法不一定收敛,也有可能走向无限大。
    一个著名的例子是GMM likelihood的singularity:我们用一个包含两个component的GMM模型拟合一个数据集,由于初始化的问题,可能有一个component拟合一个点,另一个component拟合所有其他点的分布;而试图拟合一个点的那个component会有无限大的likelihood——因为它的covariance将无限接近于零。
    上面的例子也说明EM会受初始化的影响;另外一个初始化影响的著名案例是Kmean 聚类分析,KMean算法可以认为是GMM的EM算法的简化版
    至于GMM以外的general EM算法的收敛性质是一个理论问题,有数学证明满足某些条件时EM算法可以保证收敛

  • ID3 C4.5 CART三者的比较

    看葫芦书P66

  • 逻辑回归

    • 机器学习面试题之——LR问题集合

    • 逻辑回归的损失函数:

      • 逻辑回归采用的损失不用squre loss?
        损失函数会变成非凸,不能得到一个全局最小值。
    • 逻辑回归——公式推导详情

    • 逻辑回归的常见面试点总结

      逻辑回归假设数据服从伯努利分布,通过极大化似然函数的方法,运用梯度下降来求解参数,来达到将数据二分类的目的。
      这里面其实包含了5个点 1:逻辑回归的假设,2:逻辑回归的损失函数,3:逻辑回归的求解方法,4:逻辑回归的目的,5:逻辑回归如何分类。这些问题是考核你对逻辑回归的基本了解。

  • 逻辑回归和线性回归的比较
    不同点:

    • 最本质的区别是逻辑回归解决的是分类问题,而线性回归解决的是回归问题
    • 逻辑回归求解的是二分类问题下的对于y的一个期望概率, 线性回归最后得到的是直接对于y的近似值
    • 逻辑回归的因变量y是离散的,线性回归的因变量是连续的
    • 逻辑回归的因变量满足二元分布,线性回归的因变量需要满足正太分布

    相同点:

    • 都采用了梯度下降的方法
    • 都使用了极大似然估计对训练样本建模

    【机器学习】Logistic Regression 的前世今生(理论篇)

  • 决策树、RF、xgboost如何处理缺失值?判断特征重要性?缺失值不敏感?

  • KNN
    knn的n对结果有影响吗:

    K值较小,则模型复杂度较高,容易发生过拟合,学习的估计误差会增大,预测结果对近邻的实例点非常敏感。
    K值较大可以减少学习的估计误差,但是学习的近似误差会增大,与输入实例较远的训练实例也会对预测起作用,使预测发生错误,k值增大模型的复杂度会下降。
    在应用中,k值一般取一个比较小的值,通常采用交叉验证法来来选取最优的K值。

  • kmeans

    面试题:手写Kmeans

数学相关问题汇总

  • 3
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
机器学习部分课后习题答案(较完整)机器学习部分课后习题答案(较完整)机器学习部分课后习题答案(较完整)机器学习部分课后习题答案(较完整)机器学习部分课后习题答案(较完整)机器学习部分课后习题答案(较完整)机器学习部分课后习题答案(较完整)机器学习部分课后习题答案(较完整)机器学习部分课后习题答案(较完整)机器学习部分课后习题答案(较完整)机器学习部分课后习题答案(较完整)机器学习部分课后习题答案(较完整)机器学习部分课后习题答案(较完整)机器学习部分课后习题答案(较完整)机器学习部分课后习题答案(较完整)机器学习部分课后习题答案(较完整)机器学习部分课后习题答案(较完整)机器学习部分课后习题答案(较完整)机器学习部分课后习题答案(较完整)机器学习部分课后习题答案(较完整)机器学习部分课后习题答案(较完整)机器学习部分课后习题答案(较完整)机器学习部分课后习题答案(较完整)机器学习部分课后习题答案(较完整)机器学习部分课后习题答案(较完整)机器学习部分课后习题答案(较完整)机器学习部分课后习题答案(较完整)机器学习部分课后习题答案(较完整)机器学习部分课后习题答案(较完整)机器学习部分课

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值