基础知识
- 条件表达式
if x > 0:
y = math.log(x)
else:
y = float('nan')
→ y = math.log(x) if x > 0 else float(‘nan’)
- 列表式推导式
l1 = []
for i in range(1000):
if i % 2 == 0:
l1.append(i)
→ [i for i in range(1000) if i % 2 == 0]
科学计算库NumPy
属性
- ndim属性,维度个数
- shape属性,各维度大小
- dtype属性,数据类型
转置
- arr.transpose() 或arr.T
数据叠加
- vstack()(垂直叠加)
- hstack()(水平叠加)
卷积神经网络
尺寸计算(W,H,D)
- W = (W - size + 2 * padding)/stride +1
- H = (H - size + 2 * padding)/stride +1
- D = output.number
NumPy优点
向量化(vectorization)
- 获得执行速度更快、更紧凑的代码策略
- 基本思路:“一次”在一个复杂对象上进行操作,或者向其应用某个函数,而不是通过在对象的单个元素上循环来进行
- 在Python级别上,函数式编程工具map,filter和reduce提供了向量化的手段
- 在NumPy级别上,在ndarray对象上进行的循环由经过高度优化的代码负责,大部分代码用C语言编写,远快于纯Python
- 矢量间运算,相同大小的数组间的运算应用在元素上
- 矢量和标量运算,“广播” 一 将标量“广播”到各个元素
第三章
优化算法
- 在求数值解的优化算法中,小批量随机梯度下降在深度学习中被广泛使用。它的算法很简单:先选取一组模型参数的初始值,如随机选取:接下来对参数进行多次迭代,使每次选代都可能降低损失函数的值,在每次迭代中,先随机均匀采样一个由固定数目训练数据样本所组成的小批量β,然后求小批量中数据样本的平均损失有关模型参数的导数(梯度),最后用此结果与预先设定的一个正数的乘积作为模型参数在本次迭代的减小量)
- 这里的批量大小和学习率的值是人为设定的,并不是通过模型训练学出的,因此叫作超参数。我们通常所说的“调参”指的正是调节超参数,例如通过反复试错来找到超参数合适的值。
softmax和线性回归相同点和不同点
(这一段话自己理解了答)
前几节介绍的线性回归模型适用于输出为连续值的情景。在另一类情景中,模型输出可以是一个像图像类别这样的离散值。对于这样的离散值预测问题,我们可以使用诸如 softmax回归在内的分类模型。和线性回归不同, softmax回归的输出单元从一个变成了多个,且引入了 softmax运算使输出更适合离散值的顶测和训练。
softmax解决的两个问题,为什么要解决
- 输出层的输出值的范围不确定,我们难以直观上判断这些值的意义
- 真实标签是离散值,这些离散值与不确定范围的输出值之间的误差难以衡量
为什么用交叉熵作为损失函数(P49自己理解的写)
想要预测分类结果正确,我们其实并不需要预测概率完全等于标签概率。平方损失过于严格,所以使用更适合横向两个概率分布差异的测量函数,也就是交叉熵。
三类激活函数
ReLU函数
ReLU函数提供了一个很简单的非线性变换
函数输出图形
sigmoid函数
sigmoid函数可以将元素的值变换到0和1之间:
函数输出图形(P52)
tanh函数
tanh(双曲正切)函数可以将元素的值变换到-1和1之间:
函数输出图形
模型的欠拟合和过拟合
欠拟合:模型无法得到较低的训练误差
过拟合:模型的训练误差远小于它在测试数据集上的误差
权重衰减
权重衰减等价于范数正则化。正则化通过为模型损失函数添加惩罚项使学出的模型参数值小、是应对过拟合的常用手段。
权重衰减的方法(概念性问题P65)
丢弃法在深度学习中的作用
应对过拟合问题
第五章(网络分析题)
卷积神经网络(LeNet)
结构
卷积层块和全连接层块两个部分
特性
全部代码
太多了。。。自己看书吧P122
深度卷积神经网络(AlexNet)
特性(我不是很确定是不是这些)
- AlexNet包含8层变换,其中有5层卷积和2层全连接隐藏层,以及1个全连接输出层。
- AlexNet将sigmoid激活函数改成更加简单的ReLU激活函数
- AlexNet通过丢弃法来控制全连接层的模型复杂度
- AlexNet引入大量的图像增广,如翻转、裁剪和颜色变化,从而进一步扩大数据集来缓解过拟合。
构成
包含8层变换,其中有5层卷积和2层全连接隐藏层,以及1个全连接输出层。
描述出AlexNet网络的特性结构,简要说明AlexNet采用LeNet实现的关键代码
(卷积,pool去追加)
超级多P127自己理解
VGG网络
结构
由卷积层模块后接全连接层模块构成