机器学习笔试题

  1. LR和SVM 区别
    LR是参数模型,SVM是非参数模型。2)从目标函数来看,区别在于逻辑回归采用的是logistical loss,SVM采用的是hinge loss.这两个损失函数的目的都是增加对分类影响较大的数据点的权重,减少与分类关系较小的数据点的权重。3)SVM的处理方法是只考虑support vectors,也就是和分类最相关的少数点,去学习分类器。而逻辑回归通过非线性映射,大大减小了离分类平面较远的点的权重,相对提升了与分类最相关的数据点的权重。4)逻辑回归相对来说模型更简单,好理解,特别是大规模线性分类时比较方便。而SVM的理解和优化相对来说复杂一些,SVM转化为对偶问题后,分类只需要计算与少数几个支持向量的距离,这个在进行复杂核函数计算时优势很明显,能够大大简化模型和计算。5)logic 能做的 svm能做,但可能在准确率上有问题,svm能做的logic有的做不了。

  2. GBDT推导
    GBDT 全称为 Gradient Boosting Decision Tree。顾名思义,它是一种基于决策树(decision tree)实现的分类回归算法。
    Gradient Descent: method of steepest descent
    梯度下降作为求解确定可微方程的常用方法而被人所熟知。它是一种迭代求解过程,具体就是使解沿着当前解所对应梯度的反方向迭代。这个方向也叫做最速下降方向。具体推导过程如下。假定当前已经迭代到第 k 轮结束,那么第 k+1 轮的结果怎么得到呢?我们对函数 f 做如下一阶泰勒展开:
    在这里插入图片描述

    为了使得第k+1 轮的函数值比第 k 轮的小,即如下不等式成立。

在这里插入图片描述

则只需使:在这里插入图片描述
按照这样一直迭代下去,直到 ∇f(xk)=0, xk+1=xk ,函数收敛,迭代停止。由于在做泰勒展开时,要求xk+1−xk 足够小。因此,需要γ比较小才行,一般设置为 0~1 的小数。

  1. L1和L2正则
    L范数(L1 norm)是指向量中各个元素绝对值之和,也有个美称叫“稀疏规则算子”(Lasso regularization)。比如 向量A=[1,-1,3],那么A的L1范数为 |1|+|-1|+|3|.简单总结一下就是: L1范数: 为x向量各个元素绝对值之和。 L2范数:为x向量各个元素平方和的1/2次方,L2范数又称Euclidean范数或者Frobenius范数Lp范数:为x向量各个元素绝对值p次方和的1/p次方.在支持向量机学习过程中,L1范数实际是一种对于成本函数求解最优的过程,因此,L1范数正则化通过向成本函数中添加L1范数,使得学习得到的结果满足稀疏化,从而方便人类提取特征,即L1范数可以使权值稀疏,方便特征提取。 L2范数可以防止过拟合,提升模型的泛化能力。L1和L2的差别,为什么一个让绝对值最小,一个让平方最小,会有那么大的差别呢?看导数一个是1一个是w便知, 在靠进零附近, L1以匀速下降到零, 而L2则完全停下来了. 这说明L1是将不重要的特征(或者说, 重要性不在一个数量级上)尽快剔除, L2则是把特征贡献尽量压缩最小但不至于为零. 两者一起作用, 就是把重要性在一个数量级(重要性最高的)的那些特征一起平等共事(简言之, 不养闲人也不要超人)。

  2. 数据降纬
    E.g. 如何将4纬数据降低为3纬?

    1. 通过使用4*3(input=4,output=3)全连接神经网络将数据降为3纬
    2. PCA
      设有 m 条 n 维数据。
      将原始数据按列组成 n 行 m 列矩阵 X;
      将 X 的每一行进行零均值化,即减去这一行的均值;
      求出协方差矩阵 [公式] ;
      求出协方差矩阵的特征值及对应的特征向量;
      将特征向量按对应特征值大小从上到下按行排列成矩阵,取前 k 行组成矩阵 P;
      [公式] 即为降维到 k 维后的数据。
  3. BatchNormalization的作用
    神经网络在训练的时候随着网络层数的加深,激活函数的输入值的整体分布逐渐往激活函数的取值区间上下限靠近,从而导致在反向传播时低层的神经网络的梯度消失。而BatchNormalization的作用是通过规范化的手段,将越来越偏的分布拉回到标准化的分布,使得激活函数的输入值落在激活函数对输入比较敏感的区域,从而使梯度变大,加快学习收敛速度,避免梯度消失的问题

  4. 循环神经网络,为什么好?
    循环神经网络模型(RNN)是一种节点定向连接成环的人工神经网络,是一种反馈神经网络,RNN利用内部的记忆来处理任意时序的输入序列,并且在其处理单元之间既有内部的反馈连接又有前馈连接,这使得RNN可以更加容易处理不分段的文本等。

  5. dropout咋回事讲讲
    Dropout的目标是在指数 级数量的神经网络上近似这个过程。Dropout训练与Bagging训练不太一样。在Bagging的情况下,所有模型是独立的。
    在Dropout的情况下,模型是共享参数的,其中每个模型继承的父神经网络参 数的不同子集。参数共享使得在有限可用的内存下代表指数数量的模型变得可能。 在Bagging的情况下,每一个模型在其相应训练集上训练到收敛。
    在Dropout的情况下,通常大部分模型都没有显式地被训练,通常该模型很大,以致到宇宙毁灭都不 能采样所有可能的子网络。取而代之的是,可能的子网络的一小部分训练单个步骤,参数共享导致剩余的子网络能有好的参数设定。

你可能感兴趣的:(机器学习)