1. 定向选择、不定项选择和填空题

主要考察了卷积神经网络参数量计算、感知野计算、卷积后图像的大小计算、GAN 的损失函数、贝叶斯网络、L1 L2正则化、概率论、Python、Shell、数据库等知识,比较全面琐碎。

2. 编程题


详见 LeetCode 386——字典序的第 K 小数字


详见 LeetCode 845——数组中的最长山脉

3. 简答题

  • SVM 对偶问题推导

支持向量机的基本模型为
<mlabeledtr> <mtext> (1) </mtext> { <mstyle displaystyle="false" scriptlevel="0"> m i n 1 2 w 2 </mstyle> <mstyle displaystyle="false" scriptlevel="0"> s . t . y i ( w T x i + b ) 1 , i = 1 , 2 , . . . m </mstyle> </mlabeledtr> \tag{1}\begin{cases} min \quad \frac{1}{2}||w||^2 \\ s.t. \quad y_i(w^Tx_i+b) \geqslant 1, \quad i=1,2,...m \end{cases} {min21w2s.t.yi(wTxi+b)1,i=1,2,...m(1)
对上式的约束添加拉格朗日乘子 α i 0 \alpha_i \geqslant 0 αi0,则该问题的拉格朗日函数可写为
<mlabeledtr> <mtext> (2) </mtext> L ( w , b , α ) = 1 2 w 2 + <munderover> i = 1 m </munderover> α i ( 1 y i ( w T x i + b ) ) </mlabeledtr> \tag{2}L(w,b,\alpha)=\frac{1}{2}||w||^2+\sum_{i=1}^m\alpha_i(1-y_i(w^Tx_i+b)) L(w,b,α)=21w2+i=1mαi(1yi(wTxi+b))(2)
L ( w , b , α ) L(w,b,\alpha) L(w,b,α) w w w b b b 的偏导为零可得
<mlabeledtr> <mtext> (3) </mtext> w = <munderover> i = 1 m </munderover> α i y i x i </mlabeledtr> \tag{3}w=\sum_{i=1}^m\alpha_iy_ix_i w=i=1mαiyixi(3)
<mlabeledtr> <mtext> (4) </mtext> 0 = <munderover> i = 1 m </munderover> α i y i </mlabeledtr> \tag{4}0=\sum_{i=1}^m\alpha_iy_i 0=i=1mαiyi(4)
将 (3) 式代入到 (2) 式,并考虑 (4) 式的约束,就可以得到式 (1) 的对偶问题
<mlabeledtr> <mtext> (5) </mtext> { <mstyle displaystyle="false" scriptlevel="0"> m a x <mstyle displaystyle="true" scriptlevel="0"> <munderover> i = 1 m </munderover> α i 1 2 <mstyle displaystyle="true" scriptlevel="0"> <munderover> i = 1 m </munderover> <munderover> j = 1 m </munderover> α i α j y i y j x i T x j </mstyle> </mstyle> </mstyle> <mstyle displaystyle="false" scriptlevel="0"> s . t . <mstyle displaystyle="true" scriptlevel="0"> <munderover> i = 1 m </munderover> α i y i = 0 </mstyle> </mstyle> <mstyle displaystyle="false" scriptlevel="0"> α i 0 , i = 1 , 2 , . . . m </mstyle> </mlabeledtr> \tag{5}\begin{cases} max \quad \displaystyle\sum_{i=1}^m\alpha_i-\frac{1}{2}\displaystyle \sum_{i=1}^m \sum_{j=1}^m\alpha_i \alpha_j y_iy_jx_i^Tx_j\\ s.t. \quad \displaystyle\sum_{i=1}^m\alpha_iy_i=0 \\ \quad \quad \alpha_i \geqslant 0, i=1,2,...m \end{cases} maxi=1mαi21i=1mj=1mαiαjyiyjxiTxjs.t.i=1mαiyi=0αi0,i=1,2,...m(5)

  • Sigmoid 和 Relu 求导,Relu 相较 Sigmoid 优点,怎么解决梯度消失和爆炸

Sigmoid 函数
f ( z ) = 1 1 + e z f(z) = \frac{1}{1+e^{-z}} f(z)=1+ez1
f ( z ) = e z ( 1 + e z ) 2 = 1 1 + e z e z 1 + e z = f ( z ) ( 1 f ( z ) ) f&#x27;(z) = \frac{e^{-z}}{(1+e^{-z})^2} = \frac{1}{1+e^{-z}} \cdot \frac{e^{-z}}{1+e^{-z}}=f(z) \cdot (1-f(z)) f(z)=(1+ez)2ez=1+ez11+ezez=f(z)(1f(z))

Relu 函数
f ( z ) = m a x ( 0 , z ) f(z) = max(0, z) f(z)=max(0,z)
f ( z ) = { <mstyle displaystyle="false" scriptlevel="0"> 1 </mstyle> <mstyle displaystyle="false" scriptlevel="0"> <mtext> if  </mtext> z &gt; 0 </mstyle> <mstyle displaystyle="false" scriptlevel="0"> 0 </mstyle> <mstyle displaystyle="false" scriptlevel="0"> <mtext> if  </mtext> z &lt; 0 </mstyle> f&#x27;(z) =\begin{cases} 1 &amp;\text{if } z&gt;0 \\ 0 &amp;\text{if } z&lt;0 \\ \end{cases} f(z)={10if z>0if z<0

Relu 相较 Sigmoid 梯度较大,神经网络收敛速度较快。

梯度消失:BN、引入残差网络
梯度爆炸:BN、梯度裁剪

  • Dropout 为什么可以正则化,怎么反向传播

Dropout 每次会让一部分神经元随机失活,这样就不会让某一个神经元占据主导作用,也就是不会让某一个神经元的权重过大,从而可以避免过拟合。反向传播的时候我们只将梯度反向传播到那些激活的神经元上去即可。

获取更多精彩,请关注「seniusen」!