机器学习与Deep Learning算法问题汇总(Part-1)

1. 卷积神经网络(CNN)中卷积层与池化层如何进行BP残差传递与参数更新?

答:(1) Average Pooling的BP好算,直接求导可得,就是1/n.

(2) Max Pooling比较有意思,forward的时候需要记录每个窗口内部最大元素的位置,然后BP的时候,对于窗口内最大元素的gradient是1,否则是0。原理和ReLu是一样的。


2. SVM为什么要用核函数?

答:(1)kernel 和 SVM 完全是两个正交的概念。早在SVM提出以前,reproducing kernel Hilbert space(RKHS)的应用就比较广泛了。

(2)kernel有什么作用?kernel不仅可以建立点对点的映射(如SVM那样),还可以建立原空间上一个分布对点的映射,有兴趣的读者请谷歌 kernel embedding of distributions。 在这一个映射下,人们会关心这么一个问题,给两组数据,我如何知道他们是不是从同一个分布中来的呢?在kernel map下,两组数据被map成了kernel space的两个点,我们可以看看在那个空间里他们距离是远还是近,如果很近就很可能是同一个点加上一点sample variance,以此来判断两组数据是不是同一个分布(two sample test)。

(3)简单的讲,核函数的作用就是隐含着一个从低维空间到高维空间(甚至是无穷维的)的映射,而这个映射可以把低维空间中线性不可分的两类点变成线性可分的。但是,本质上,核函数和映射没有关系。核函数只是用来计算映射到高维空间之后的内积的一种简便方法。


3. 机器学习中常用的核函数有哪些?

答:在机器学习中常用的核函数,一般有这么几类,也就是LibSVM中自带的这几类:
1) 线性:K(v_1,v_2)=<v_1,v_2>
2) 多项式:K(v_1,v_2)=(\gamma<v_1,v_2>+c)^n
3) Radial basis function:K(v_1,v_2)=\exp(-\gamma||v_1-v_2||^2)

4) Sigmoid:K(v_1,v_2)=\tanh(\gamma<v_1,v_2>+c)


4. 介绍一下LR。

答:(1)首先,需要明确一点:虽然 逻辑回归回归,不过其实它的真实身份是 二分类器。介绍完了姓,我们来介绍一下它的名字,逻辑斯蒂。这个名字来源于逻辑斯蒂分布。

(2)logistic function or sigmoid function




(3)LR如何求解θ?

构建似然函数:


对似然函数取对数:


用梯度上升法求最大似然估计:


以一个样本为例,使用梯度上升法:


θ的更新公式:



5. LR中存在很多稀疏的系数,你怎么去控制?

答:当模型的参数过多时,很容易遇到过拟合的问题。而正则化是结构风险最小化的一种实现方式,通过在经验风险上加一个正则化项,来惩罚过大的参数来防止过拟合。

正则化是符合奥卡姆剃刀(Occam’s razor)原理的:在所有可能选择的模型中,能够很好地解释已知数据并且十分简单的才是最好的模型。

我们来看一下underfitting,fitting跟overfitting的情况:

此处输入图片的描述

显然,最右这张图overfitting了,原因可能是能影响结果的参数太多了。典型的做法在优化目标中加入正则项,通过惩罚过大的参数来防止过拟合。

L1范数:是指向量中各个元素绝对值之和,也有个美称叫“稀疏规则算子”(Lasso regularization)。那么,参数稀疏 有什么好处呢?

一个关键原因在于它能实现 特征的自动选择。一般来说,大部分特征 xi和输出 yi 之间并没有多大关系。在最小化目标函数的时候考虑到这些额外的特征 xi,虽然可以获得更小的训练误差,但在预测新的样本时,这些没用的信息反而会干扰了对正确 yi 的预测。稀疏规则化算子的引入就是为了完成特征自动选择的光荣使命,它会学习地去掉这些没有信息的特征,也就是把这些特征对应的权重置为0。

L2范数:它有两个美称,在回归里面,有人把有它的回归叫“岭回归”(Ridge Regression),有人也叫它“权值衰减”(weight decay)。

它的强大之处就是它能 解决过拟合 问题。我们让 L2 范数的规则项 ||w||2 最小,可以使得 w 的每个元素都很小,都接近于0,但与 L1 范数不同,它不会让它等于0,而是接近于0,这里还是有很大区别的。而越小的参数说明模型越简单,越简单的模型则越不容易产生过拟合现象。咦,你为啥说越小的参数表示的模型越简单呢? 其实我也不知道,我也是猜,可能是因为参数小,对结果的影响就小了吧。

为了更直观看出两者的区别,我再放一张图:

此处输入图片的描述

L1norm本质上是假设参数先验是服从Laplace分布的,而L2-norm是假设参数先验为Gaussian分布,我们在网上看到的通常用图像来解答这个问题的原理就在这。 

一句话总结就是:L1 会趋向于产生少量的特征,而其他的特征都是0,而 L2 会选择更多的特征,这些特征都会接近于0。


6. 说说梯度下降法。

答:梯度下降算法(Gradient Descent Optimization)是神经网络模型训练最常用的优化算法。对于深度学习模型,基本都是采用梯度下降算法来进行优化训练的。梯度下降算法背后的原理:目标函数关于参数的梯度将是损失函数(loss function)上升最快的方向。而我们要最小化loss,只需要将参数沿着梯度相反的方向前进一个步长,就可以实现目标函数(loss function)的下降。

批量梯度下降算法:其损失函数是在整个训练集上计算的,如果数据集比较大,可能会面临内存不足问题,而且其收敛速度一般比较慢。

随机梯度下降算法:是另外一个极端, 损失函数是针对训练集中的一个训练样本计算的,又称为在线学习,即得到了一个样本,就可以执行一次参数更新。所以其收敛速度会快一些,但是有可能出现目标函数值震荡现象,因为高频率的参数更新导致了高方差。

小批量梯度下降算法:是折中方案,选取训练集中一个小批量样本(一般是2的倍数,如32,64,128等)计算,这样可以保证训练过程更稳定,而且采用批量训练方法也可以利用矩阵计算的优势。这是目前最常用的梯度下降算法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

EnjoyCodingAndGame

愿我的知识,成为您的财富!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值