本笔记主要参考《动手学深度学习》 进行学习记录,不做无意义的书本内容摘抄。
课程网址:https://courses.d2l.ai/zh-v2/
使用深度学习框架为:Pytorch
内容不断更新中⋯⋯
2 预备知识
2.1 数据处理
2.2 线性代数
矩阵运算:矩阵点积、向量积、矩阵乘法
向量积非叉积,是矩阵与向量的积。下例可以看做A的行向量和向量的点积。
A=⎝⎜⎜⎜⎜⎛a11a21⋮an1⋯⋯⋱⋯a1ma2m⋮anm⎠⎟⎟⎟⎟⎞,x=⎝⎜⎜⎛x1⋮xm⎠⎟⎟⎞Ax=⎝⎜⎜⎛a11x1+⋯+a1mxm⋮an1x1+⋯+anmxm⎠⎟⎟⎞
范数:
L1范数是向量绝对值之和。
∥x∥1=i=1∑n∣xi∣.
L2范数是向量元素根的平方和。
∥x∥2=i=1∑nxi2,
Lp范数是更一般的范数,公式如下:
∥x∥p=(i=1∑n∣xi∣p)1/p.
2.3 微积分
3 线性神经网络
3.1 线性回归
3.2 Softmax回归
输出的匹配概率(非负,和为1)
y^=softmax(o)其中y^j=∑kexp(ok)exp(oj)
我们选择最优可能的类别
argmaxjy^j=argmaxjoj.
损失函数,下式通常称为交叉熵损失。(真实概率中只有一个yi为1,其余全部为0)
l(y,y^)=−j=1∑qyjlogy^j.
交叉熵通常来衡量两个概率的区别:
H(p,q)=i∑−pilog(qi)
损失函数的导数
∂ojl(y,y^)=∑k=1qexp(ok)exp(oj)−yj=softmax(o)j−yj.
3.3 损失函数
l(y,y′)=21(y−y′)2
l(y,y′)=∣y−y′∣
l(y,y′)={∣y−y′∣21(y−y′)2if∣y−y′∣>1otherwise
4 多层感知机
4.1 多层感知机
单层感知机:
单层感知机函数,σ是激活函数
o=σ(⟨w,x⟩+b)
多层感知机:
单隐藏层:
h=W1X+b1o=w2Th+b2
激活函数:
- sigmoid函数,将输出投影到(0,1)
sigmoid(x)=1+e−x1
- Tanh函数,将输出投影到(−1,1)
tanh(x)=1+e−2x1−e−2x
ReLU(x)=max(x,0)
4.2 模型选择
训练误差:模型在训练数据集上得到的误差
泛化误差:模型在新数据集上得到的误差