《神经网络与深度学习》-邱锡鹏-第2章机器学习概述-作业
虽然有不少整理过邱锡鹏老师这本教材答案的博文,但是不少博文都是抄的那固定的几篇,并且存在某些明显错误。想用这种方式来记录我的学习过程。顺便也给自己一个交代,让自己好好学习一番,以后也可以给师弟师妹们留下一些遗产。
吕守晔
2022年8月22日于重庆
习题
习题2-1
题目
分析为什么平方损失函数不适用于分类问题。
个人解答
分类问题实际上是在寻求一个概率,而平方损失函数则是在距离的基础上进行衡量,而实际上分类并没有距离上的差别。尽管经过Sigmoid函数后的概率值数值上是连续的,可以使用平方损失,但我们所关注的是分类的问题,也即是最后是否分类正确。如果硬是要在中间的概率值上使用平方损失优化可能并不能带来较好的体验与效果。从 [ 0.2 , 0.2 , 0.6 ] \left [ 0.2, 0.2, 0.6\right ] [0.2,0.2,0.6]到 [ 0.1 , 0.1 , 0.8 ] \left [ 0.1, 0.1, 0.8\right ] [0.1,0.1,0.8]的这个过程意义不大,并没有带来显著性提升。
同时,参考这篇文章,我们还可以从优化的角度来理解这个问题。除了文章里提到的图以外,在李宏毅老师的PPT里面有两张图:
上下两图分别为使用交叉熵、平方损失作为损失函数下的损失情况,横纵轴分别为参数L1与L2。可以看出,如果使用平方损失,在优化的时候很容易卡住,而使用交叉熵的话更好优化。
习题2-2
题目
在线性回归中,如果我们给每个样本 ( x ( n ) , y ( n ) ) (\bm{x}^{(n)},y^{(n)}) (x(n),y(n))赋予一个权重 r ( n ) r^{(n)} r(n),经验风险函数为
R ( ω ) = ∑ n = 1 N r ( n ) ( y ( n ) + ω T x ( n ) ) 2 R(\bm{\omega}) = \sum_{n=1}^N{r^{(n)}\left (y^{(n)} +\bm{\omega}^{T}\bm{x}^{(n)}\right )}^{2} R(ω)=n=1∑Nr(n)(y(n)+ωTx(n))2
计算其最优参数 ω ∗ \bm{\omega}^* ω∗,并分析权重 r ( n ) r^{(n)} r(n)的作用.
个人解答
在这里需要先分析 r ( n ) r^{(n)} r(n)的作用到底是什么。从上面的风险函数可以看出, r ( n ) r^{(n)} r(n)作用于每一个样本,也就是说 r ( n ) r^{(n)} r(n)可以对数据进行筛选,倘若 r ( n ) r^{(n)} r(n)越大,那么该数据对于结果的影响程度也就越大。可通过设置 r ( n ) r^{(n)} r(n)来设置权重。
到这里需要明白 r ( n ) r^{(n)} r(n)的特性:作用于第n个样本,而对其他的样本不提供任何影响。
R ( ω ) = ∑ n = 1 N r ( n ) ( y ( n ) + ω T x ( n ) ) 2 = ∑ n = 1 N [ r ( n ) ( y ( n ) + ω T x ( n ) ) ] 2 \begin{equation*} \begin{split} R(\bm{\omega})&=\sum_{n=1}^N{r^{(n)}\left (y^{(n)} +\bm{\omega}^{T}\bm{x}^{(n)}\right )}^{2}\\ &= \sum_{n=1}^N \left [{\sqrt{r^{(n)}}\left (y^{(n)} +\bm{\omega}^{T}\bm{x}^{(n)}\right ) }\right ]^{2} \end{split} \end{equation*} R(ω)=n=1∑Nr(n)(y(n)+ωTx(n))2=n=1∑N[r(n)(y(n)+ωTx(n))]2
到了这一步,我们需要开始考虑如果转换为向量的形式, r ( n ) r^{(n)} r(n)会以何种形式存在了。在书中我们不难得知,如果没有 r ( n ) r^{(n)} r(n),那么在这里进一步化简的结果会是
R ( ω ) = 1 2 ∣ ∣ y − X T ω ∣ ∣ 2 R(\bm{\omega})=\frac{1}{2} \left | \left | { \bm{y}-X^T\bm{\omega}}\right|\right|^{2} R(ω)=21∣
∣∣
∣y−XTω∣
∣∣
∣2
那么在这里我们可以结合上面的分析来考虑 r ( n ) r^{(n)} r(n)。我们希望,在这里 r ( n ) r^{(n)} r(n)所对应的向量形式 R R R能对损失值进行修正。在部分的解答中,认为这里的 R R R是一个列向量,实则不然。如果是一个列向量的话,在这个地方应该表示为
R ( ω ) = 1 2 ∣ ∣ R T ( y − X T ω ) ∣ ∣ 2 R(\bm{\omega})=\frac{1}{2} \left | \left | {R^T\left( \bm{y}-X^T\bm{\omega}\right)}\right|\right|^{2} R(ω)=21∣
∣∣
∣RT(y−XTω)∣
∣∣
∣2
通过线性代数的知识,我们知道,一个 N × 1 N\times1 N×1的向量乘以一个 1 × N 1\times N 1×N的向量,最终会得到一个标量。而这个标量再求取平方,很明显和不考虑 r ( n ) r^{(n)} r(n)时是完全不一样的。你可以理解为差的平方的和与差的和的平方这样的差异,所以在这里 R R R不是一个向量,而是一个 N × N N\times N N×N的矩阵。
这个矩阵为一个对角矩阵,仅有对角线上的元素不为0,且第 i i i行的元素为 r ( i ) \sqrt{r^{(i)}} r(i)。即
A = [ r ( 1 ) 0 ⋯ 0 0 r ( 2 ) ⋯ 0 ⋮ ⋮ ⋱ ⋮ 0 0 ⋯ r ( N ) ] A=\begin{bmatrix} {\sqrt{r^{(1)}}}&{0}&{\cdots}&{0} \\ {0}&{\sqrt{r^{(2)}}}&{\cdots}&{0} \\ {\vdots}&{\vdots}&{\ddots}&{\vdots} \\ {0}&{0}&{\cdots}&{\sqrt{r^{(N)}}} \\ \end{bmatrix} A=⎣
⎡r(1)0⋮00r(2)⋮0⋯⋯⋱⋯00⋮r(N)⎦
⎤
基于以上的论断,我们可以进一步进行运算
R ( ω ) = 1 2 ∣ ∣ R ( y − X T ω ) ∣ ∣ 2 = 1 2 [ R ( y − X T ω ) ] T [ R ( y − X T ω ) ] = 1 2 ( y − X T ω ) T R T R ( y − X T ω ) \begin{equation*} \begin{split} R(\bm{\omega})&=\frac{1}{2} \left | \left | {R\left( \bm{y}-X^T\bm{\omega}\right)}\right|\right|^{2}\\ &=\frac{1}{2}\left[R\left( \bm{y}-X^T\bm{\omega}\right)\right]^T\left[R\left( \bm{y}-X^T\bm{\omega}\right)\right]\\ &=\frac{1}{2}\left( \bm{y}-X^T\bm{\omega}\right)^TR^TR\left( \bm{y}-X^T\bm{\omega}\right) \end{split} \end{equation*} R(ω)=21∣
∣∣
∣R(y−XTω)∣
∣∣
∣2=21[R(y−XTω)]T[R(y−XTω)]=21(y−XTω)TRTR(y−XTω)
在这里 R T R = W R^TR=W RTR=W且 R T = R R^T=R RT=R,矩阵 W W W为
A = [ r ( 1 ) 0 ⋯ 0 0 r ( 2 ) ⋯ 0 ⋮ ⋮ ⋱ ⋮ 0 0 ⋯ r ( N ) ] A=\begin{bmatrix} {r^{(1)}}&{0}&{\cdots}&{0} \\ {0}&{r^{(2)}}&{\cdots}&{0} \\ {\vdots}&{\vdots}&{\ddots}&{\vdots} \\ {0}&{0}&{\cdots}&{r^{(N)}} \\ \end{bmatrix} A=⎣
⎡r(1)0⋮00r(2)⋮0⋯⋯⋱⋯00⋮r(N)⎦
⎤
故
R ( ω ) = 1 2 ( y − X T ω ) T W ( y − X T ω ) = 1 2 ( y T W y − ω T X W y − y T W X T ω + ω T X W X T ω ) \begin{equation*} \begin{split} R(\bm{\omega})&=\frac{1}{2}\left( \bm{y}-X^T\bm{\omega}\right)^TW\left( \bm{y}-X^T\bm{\omega}\right)\\ &=\frac{1}{2}\left( \bm{y}^TW\bm{y}-\bm{\omega}^TXW\bm{y}-\bm{y}^TWX^T\bm{\omega}+\bm{\omega}^TXWX^T\bm{\omega}\right) \end{split} \end{equation*} R(ω)=21(y−XTω)TW(y−XTω)=21(