首发于SIGAI
机器学习与深度学习习题集(中)

机器学习与深度学习习题集(中)

其它机器学习、深度学习算法的全面系统讲解可以阅读《机器学习-原理、算法与应用》,清华大学出版社,雷明著,由SIGAI公众号作者倾力打造。

本文PDF全文链接:机器学习与深度学习习题集(中)

这是机器学习与深度学习习题的第二部分,为《机器学习-原理,算法与应用》一书编写,二者配合使用。习题集的绝大部分题目都可以在此书中找到答案。同时也可以用作高校相关专业的机器学习,深度学习课程习题集。后续我们将给出最后一部分,以及整个习题集的完整答案。

第13章 Boosting算法


1.写出AdaBoost算法强分类器的预测公式。


2.写出AdaBoost的训练算法。


3.证明AdaBoost强分类器在训练样本集上的错误率上界是每一轮调整样本权重时权重归一化因子 Z_{t} 的乘积,即下面的不等式成立

p_{e r r o r}=\frac{1}{l} \sum_{i=1}^{l}\left\|\operatorname{sgn}\left(F\left(\mathrm{x}_{i}\right)\right) \neq y_{i}\right\| \leq \prod_{t=1}^{T} Z_{t}


4.接第3题,假设 e_{t} 为第t个弱分类器的错误率。证明下面的不等式成立


\prod_{t=1}^{T} Z_{t}=\prod_{t=1}^{T} 2 \sqrt{e_{t}\left(1-e_{t}\right)}=\prod_{t=1}^{T} \sqrt{\left(1-4 \gamma_{t}^{2}\right)} \leq \exp \left(-2 \sum_{t=1}^{T} \gamma_{t}^{2}\right)


其中


\gamma_{t}=\frac{1}{2}-e_{t}


5.简述广义加法模型的原理。


6.离散型AdaBoost的损失函数是什么函数?


7.从广义加法模型和指数损失函数推导AdaBoost的训练算法。


8.解释实数型AdaBoost算法的原理。


9.AdaBoost算法的弱分类器应该如何选择?


10.简述梯度提升算法的原理。


11.假设使用均方误差函数,梯度提升算法如何解决回归问题?


12.梯度提升算法如何解决二分类问题?


13.对于多分类问题,梯度提升算法的预测函数是 F_{k}(\mathrm{x}) 。样本属于每个类的概率为:


p_{k}(\mathbf{x})=\frac{\exp \left(F_{k}(\mathbf{x})\right)}{\sum_{l=1}^{K} \exp \left(F_{l}(\mathbf{x})\right)}


如果加上限制条件


\sum_{l=1}^{K} F_{l}(\mathbf{x})=0


证明如下结论成立


F_{k}(\mathbf{x})=\ln p_{k}(\mathbf{x})-\frac{1}{K} \sum_{l=1}^{K} \ln p_{l}(\mathbf{x})



14.解释XGBoost算法的原理。


15.XGBoost算法为何要泰勒展开到二阶?


16.比较随机森林与AdaBoost算法的异同。


17.比较AdaBoost算法与梯度提升算法的异同。


18.随机森林为什么能够减小方差?


19.AdaBoost算法为什么能够降低偏差?


第14章 深度学习概论


1.列举你所知道的深度学习的典型应用。


2.列举你所知道的深度神经网络结构。


3.列举你所知道的深度生成模型。


4.列举你所知道的深度强化学习算法。


5.解释深度强化学习算法的原理。


6.人工特征存在哪些问题?


7.什么是维数灾难?


8.解释自动编码器的原理,写出自动编码器训练时的目标函数。


9.解释去噪自动编码器的原理。


10.解释稀疏自动编码器的原理,写出它训练时的目标函数。


11.解释收缩自动编码器的原理。


12.写出玻尔兹曼分布的概率质量函数。


13.解释二部图的定义。


14.简述RBM的网络结构。


15.推导RBM隐变量和可见变量条件概率的计算公式。


16.写出RBM的训练目标函数。


17简述DBN的原理。


18.简述DBN的原理。


19.比较DBN与DBM的异同。


第15章 卷积神经网络


1.解释卷积运算的原理。


2.假设输入图像为


\left[\begin{array}{llll}{1} & {2} & {3} & {4} \\ {5} & {6} & {7} & {8} \\ {0} & {1} & {1} & {1} \\ {2} & {3} & {4} & {5}\end{array}\right]


卷积核为


\left[\begin{array}{ll}{1} & {0} \\ {0} & {1}\end{array}\right]


假设卷积步长为1,计算卷积结果。

假设卷积步长为2,计算卷积结果。


3.解释多通道卷积的原理。


4.解释1x1卷积的原理,这种卷积有什么用途?


5.解释反卷积(转置卷积)的原理,这种卷积有什么用途?


6.假设输入图像为


\left[\begin{array}{llll}{1} & {2} & {3} & {4} \\ {5} & {6} & {7} & {8} \\ {0} & {1} & {1} & {1} \\ {2} & {3} & {4} & {5}\end{array}\right]


卷积核为


\left[\begin{array}{ll}{1} & {0} \\ {0} & {1}\end{array}\right]


计算反卷积的结果。


7.解释空洞卷积的原理,并举例说明。


8.解释可变形卷积的原理。


9.卷积层为什么需要激活函数?


10.解释池化运算的原理,为什么需要池化运算?


11.比较均值池化与最大值池化。


12.假设输入图像为


\left[\begin{array}{llll}{1} & {2} & {3} & {4} \\ {5} & {6} & {7} & {8} \\ {0} & {1} & {1} & {1} \\ {2} & {3} & {4} & {5}\end{array}\right]


池化核为2x2

计算步长为1时均值池化的结果,步长为2时均值池化的结果。

计算步长为1时最大值池化的结果,步长为2时最大值池化的结果。


13.解释卷积运算填充(padding)的原理,这种方法有什么用?


14.推导卷积层反向传播时的参数梯度计算公式。


15.推导卷积层反向传播时的误差项递推计算公式。


16.推导均值池化和最大值池化在反向传播时的误差项递推计算公式。


17.解释mini-batch随机梯度下降法的原理。


18.列举你所知道的神经网络权重初始化算法。


19.列举你所知道的神经网络学习率计算算法。


20.列出AlexNet的主要创新点。


21.解释VGG网络的主要创新点。


22.解释GoogLeNet网络Inception模块的原理。


23.解释残差网络的原理。


24.简述DenseNet的原理。


25.简述用用矩阵乘法实现卷积运算的原理。如果输入图像为三通道


\left[\begin{array}{llll}{1} & {0} & {1} & {1} \\ {2} & {2} & {3} & {0} \\ {3} & {5} & {1} & {2} \\ {1} & {0} & {2} & {0}\end{array}\right]\left[\begin{array}{llll}{1} & {0} & {0} & {0} \\ {1} & {2} & {3} & {0} \\ {2} & {3} & {5} & {2} \\ {1} & {1} & {2} & {1}\end{array}\right]\left[\begin{array}{llll}{1} & {0} & {1} & {1} \\ {2} & {4} & {3} & {0} \\ {3} & {5} & {3} & {0} \\ {1} & {0} & {2} & {0}\end{array}\right]


卷积核为


\left[\begin{array}{ll}{1} & {0} \\ {1} & {0}\end{array}\right]\left[\begin{array}{ll}{1} & {1} \\ {1} & {0}\end{array}\right]\left[\begin{array}{ll}{1} & {0} \\ {0} & {1}\end{array}\right]


用矩阵乘法实现卷积运算。


26.softmax交叉熵的计算公式为


y_{i}^{*}=\frac{\exp \left(x_{i}\right)}{\sum_{j=1}^{k} \exp \left(x_{j}\right)} \quad L=-\frac{1}{n} \sum_{i=1}^{n} y_{i}^{\mathrm{T}} \log \mathrm{y}_{i}^{\cdot}


推导损失函数对输入值的梯度计算公式。


27.对于离散型概率分布,证明当两个概率分布相等时交叉熵具有极值,且为极小值。


28.对于分类问题,为什么通常使用交叉熵而不使用欧氏距离损失?


29.简述AdaGrad算法的原理,该算法存在什么问题?


30.简述AdaDelta算法的原理。


31.简述Adam算法的原理。


32.什么是激活函数的饱和性?


33.简述Batch Normalization的原理,这种技术解决了什么问题?


34.简述Drop out极值的原理,该机制在训练和预测时是如何实现的?


35.简述early stop的原理,这种技术解决了什么问题?


第16章 循环神经网络


1.循环神经网络是如何具有记忆功能的?


2.写出循环层的计算公式。


3.如果输出层采用sofmtax交叉熵,推导具有一个输入层,一个输出层,一个循环层的RNN的反向传播算法计算公式。


4.为什么RNN学习长期依赖存在困难?


5.简述LSTM的原理。


6.简述GRU的原理。


7.简述双向循环神经网络的原理。


8.简述CTC的原理。


9.简述CTC中B函数的工作原理。


10.写出CTC训练时的目标函数。


11.推导CTC的解码算法。


12.用实例解释beam search的原理。


13.简述seq2seq的原理。


14.seq2seq是如何解决机器翻译问题的?


15.RNN是如何解决中文分词问题的?


第17章 生成对抗网络


1.如何生成均匀分布的随机数?


2.如何生成正态分布的随机数?


3.解释拒绝采样算法的原理。


4.解释MCMC采样算法的原理。


5.解释M-H采样算法的原理。


6.解释Gibbs采样算法的原理。


7.简述GAN的原理。


8.写出GAN的训练目标函数。


9.写出GAN的训练算法。


10.GAN训练时的目标函数为


\min _{G} \max _{D} V(D, G)=\mathrm{E}_{\mathbf{x} \sim p_{\text {data }}(\mathrm{x})}[\log D(\mathbf{x})]+\mathrm{E}_{\mathbf{z}-p_{z}(\mathbf{z})}[\log (1-D(G(\mathbf{z})))]


证明:如果生成模型固定不变,使得目标函数取得最优值的判别模型为


D_{G}^{*}(\mathbf{x})=\frac{p_{\text {data}}(\mathbf{x})}{p_{\text {data}}(\mathbf{x})+p_{g}(\mathbf{x})}


证明:当且仅当


p_{g}=p_{data}


时这个目标函数取得最小值,且最小值为-log4 。


11.证明KL散度是非负的。


12.简述CGAN的原理。


13.什么是模型坍塌问题?


14.简述WGAN的原理,写出其训练目标函数。


15.GAN的训练目标函数与logistic回归有何不同?


16.简述Inception Score的原理。


17.简述Frechet Inception Distance的原理。



第18章 聚类算法


1.列举常见的聚类算法类型。


2.解释层次聚类算法的原理。


3.层次聚类算法的实现依赖于计算簇之间的距离,有哪些距离定义?


4.写出k均值算法的优化目标函数。


5.写出k均值算法的流程。


6.k均值算法的簇中心如何初始化?


7.如何确定k均值算法的k值?


8.写出高斯混合模型的概率密度函数。


9.写出高斯混合模型的对数似然函数。


10.高斯混合模型的权重系数之和为什么必须为1?


11.如果直接求解高斯混合模型对数似然函数的极值,存在什么问题?


12.写出Jensen不等式。


13.证明Jensen不等式成立。


14.Jensen不等式在什么时候取等号。


15.简述EM算法的原理。


16.写出EM算法的流程。


17.证明EM算法收敛。


18.用EM算法求解高斯混合模型。


19.简述DBSCAN算法的原理。


20.简述OPTICS算法的原理。


21.OPTICS算法对DBSCAN算法的主要改进是什么?


22.OPTICS算法是如何根据样本的排序得到聚类结果的?


23.简述核密度估计的原理。


24.简述mean shift算法的原理。


25.推导mean shift的梯度计算公式


\mathbf{m}=\frac{\sum_{i=1}^{n} g\left(\mathbf{x}_{i}-\mathbf{x}\right) \mathbf{x}_{i}}{\sum_{i=1}^{n} g\left(\mathbf{x}_{i}-\mathbf{x}\right)}-\mathbf{x}


其中


\begin{array}{c}{g(x)=-k^{\prime}(x)} \\ {K\left(\frac{\mathbf{x}-\mathbf{x}_{i}}{h}\right)=c k\left(\left\|\frac{\mathbf{x}-\mathbf{x}_{i}}{h}\right\|^{2}\right)}\end{array}


26.什么是外部指标?列举常见的外部指标。


27.什么是内部指标?列举常见的内部指标。


28.简述谱聚类算法的原理。

发布于 2019-10-29

文章被以下专栏收录