0
点赞
收藏
分享

微信扫一扫

机器学习and深度学习面试准备

素的盐 2022-03-30 阅读 96

文章目录

KNN的K如何取值

  • 交叉检验
  • 将训练集分成K折,每调一次K值,做K次试验取平均值,最后找到最大的平均准确率对应的K值
  • K值不宜太大,太大模型过于简单,太小容易受噪声点的影响不够鲁棒

决策树的三种算法及其优劣

ID3

  • 通过信息增益来选择特征
  • 特征分裂后的熵减去分裂前节点的熵

RNN

感受野

定义

  • 卷积神经网络每一层输出的特征图(feature map)上的像素点映射回输入图像上的区域大小。
  • 通俗点的解释是,特征图上一点,相对于原图的大小,也是卷积神经网络特征所能看到输入图像的区域
  • 特征图上的一点能看到的输入图像的区域

举例

  • 比如一个5×5的图
  • 经过3×3的卷积一次,变成一个3×3的图,再被卷一次,就只有1×1了,那么这一个像素点对应的输入图像就是5×5,感受野就是5×5
  • 随着网络层数的加深,感受野会月来啊越大

感受野的计算

在这里插入图片描述

  • 最后一层特征图的感受野就是这一层卷积核的大小
    比如求这个网络的感受野:
    在这里插入图片描述
  • 计算:在这里插入图片描述

感受野的作用

  • 小尺寸的卷积代替大尺寸的卷积,可减少网络参数、增加网络深度、扩大感受野(例如:3 个 3 x 3 的卷积层的叠加可以替代7*7的卷积),网络深度越深感受野越大性能越好
    • —why?为啥小尺寸代替大尺寸好啊?奥奥奥,如果是3个3×3的卷积,参数也才27,但一个7×7就49个参数了
  • 对于分类任务来说,最后一层特征图的感受野大小要大于等于输入图像大小,否则分类性能会不理想??这又是为啥
  • 对于目标检测任务来说,若感受野很小,目标尺寸很大,或者目标尺寸很小,感受野很大,模型收敛困难,会严重影响检测性能;所以一般检测网络anchor的大小的获取都要依赖不同层的特征图,因为不同层次的特征图,其感受野大小不同,这样检测网络才会适应不同尺寸的目标

1×1的卷积有什么作用

  • 降维( dimension reductionality )——减少参数。比如,一张500 * 500且厚度depth为100 的图片在20个filter上做11的卷积,那么结果的大小为500500*20。
  • 升维,用最少的参数提升通道数
  • 加入非线性。卷积层之后经过激励层,1*1的卷积在前一层的学习表示上添加了非线性激励( non-linear activation ),提升网络的表达能力;

激活函数的作用

全连接层的作用

交叉熵的原理

  • 交叉熵就是用来判定实际的输出(概率)与期望的输出(概率)的接近程度(交也就是交叉熵的值越小,两个概率分布就越接近。)

交叉熵公式

二分类交叉熵

  • 首先,二分类里的概率公式是 P ( y = 1 ∣ x ) = y ^ P(y=1|x) = \hat{y} P(y=1x)=y^ P ( y = 0 ∣ x ) = 1 − y ^ P(y=0|x)=1-\hat{y} P(y=0x)=1y^
  • 总结一下就是 P ( y ∣ x ) = y ^ y ⋅ ( 1 − y ^ ) 1 − y P(y|x)=\hat{y}^y\cdot (1-\hat{y})^{1-y} P(yx)=y^y(1y^)1y
  • 由于log函数是单调函数,所以 P ( y ∣ x ) P(y|x) P(yx) log ⁡ ( P ) \log(P) log(P)默认是一样的效果,而且log能将乘法转成加法,比较适合求导
  • 和逻辑斯蒂的损失函数一致,为 L ( y ^ i , y i ) = − [ y i log ⁡ ( y ^ i ) + ( 1 − y i ) log ⁡ ( 1 − y ^ i ) ] L\left(\hat{y}_{i}, y_{i}\right)=-\left[y_{i} \log \left(\hat{y}_{i}\right)+\left(1-y_{i}\right) \log \left(1-\hat{y}_{i}\right)\right] L(y^i,yi)=[yilog(y^i)+(1yi)log(1y^i)]
  • 把样本量考虑进去,就是: J ( w , b ) = 1 m ∑ i = 1 m L ( y ^ i , y i ) = − 1 m ∑ i = 1 m [ y i log ⁡ ( y ^ i ) + ( 1 − y i ) log ⁡ ( 1 − y ^ i ) ] J(w, b)=\frac{1}{m} \sum_{i=1}^{m} L\left(\hat{y}_{i}, y_{i}\right)=-\frac{1}{m} \sum_{i=1}^{m}\left[y_{i} \log \left(\hat{y}_{i}\right)+\left(1-y_{i}\right) \log \left(1-\hat{y}_{i}\right)\right] J(w,b)=m1i=1mL(y^i,yi)=m1i=1m[yilog(y^i)+(1yi)log(1y^i)]
  • 疑问:为啥有log,log的底呢?

多分类交叉熵

  • 一个样本时: l o s s = − ∑ i = 1 C T log ⁡ ( P ) loss = -\sum_{i=1}^CT\log(P) loss=i=1CTlog(P)
  • T T T是真实分布, P P P是模型输出的概率分布

关于sigmoid函数和softmax函数

  • 如果最后输出层的神经元只有一个,是二分类问题,那就只能用sigmoid函数了
  • s i g m o i d : σ ( z ) = 1 1 + e − z sigmoid : \sigma(z)=\frac1{1+e^{-z}} sigmoid:σ(z)=1+ez1
  • s o f t m a x ( y i ^ ) = e y i ^ ∑ k = 1 n e y k ^ softmax(\hat{y_i}) = \frac{e^{\hat{y_i}}}{\sum_{k=1}^ne^{\hat{y_k}}} softmax(yi^)=k=1neyk^eyi^

待写

  • batchnormalization层的作用
  • 解决梯度消失和梯度爆炸的一些方法
  • 解决过拟合的办法
  • Adam优化器的作用
  • batchsize的选取
  • RNN,LSTM
举报

相关推荐

0 条评论