四、反向传播
反向传播:神经网络中重要算法,可以在图上面进行梯度传播,可帮助建立更具弹性的模型结构。
单个样本:
ω=ω-α ∂loss / ∂ω
两层神经网络:
计算过程:先前馈求出损失,后反馈求出梯度,最后用梯度下降更新权重。(先算损失,再反向传播)
五、用Pytorch实现线性回归
构造神经网络
构造损失函数
构造随机梯度下降优化器
内容:利用PyTorch提供的工具重现线性模型的训练过程,更方便的完成线性模型。
PyTorch写深度神经网络步骤:
1.准备数据集
2.设计模型,计算y_hat,而非损失
3.构造损失函数和优化器
4.写训练周期(前馈、反馈、更新)
广播机制:扩充矩阵,使两个矩阵可进行相加、相乘等运算。
PyTorch中不用人工求导数,重点是构造计算图。
线性单元:z = w * x + b
线性单元中若要知道权重大小,需要知道x和y_hat的维度。
构造计算图:
在loss处调用backward就可对计算图进行反向传播。
loss要求是标量
矩阵中,行表示样本,列表示feature。
六、逻辑斯蒂回归:做分类
数字0到9表示类别比较,而非数值比较。
二分类:只有两个类别的分类。
Logistic Regression函数:
此函数为饱合函数,输出范围在[0,1]
饱合函数的导数图像大致符合正态分布曲线,即先增后减。
饱合函数在神经网络里应用很多。
Logistic Rwgreaaion函数:逻辑斯蒂回归函数,输出值在[0,1]之间。
sigmoid函数的特点:
1.函数值有极限
2.单调的增函数
3.饱合函数
Logistic函数是Sigmoid函数中最出名的一个。
分布之间的差异计算:KL散度、交叉熵(cross-entropy)。
交叉熵:
二分类的交叉熵(BCE损失):
均值:
Pytorch深度学习笔记第二次
最新推荐文章于 2024-02-14 23:00:49 发布