深度学习实践
文章平均质量分 63
学习笔记
流浪的诗人,
这个作者很懒,什么都没留下…
展开
-
08.加载数据集
首先区分了Epoch(前馈、反馈和更新实现一次就是Epoch) \ Batch-Size(进行一次训练所用的样本数量)\ Iterations(内层迭代进行的次数 sum/Batch-size)全部数据:Batch 最大化利用向量的优势,提升计算速度(利用CPU GPU的并行计算能力)DataLoader对数据集先打乱(shuffle),然后划分成mini_batch。DataSet是抽象类,不能实例化对象,主要是用于构造我们的数据集。随机梯度下降:mini-batch 只用一个样本,有较好的随机性。原创 2023-09-21 13:26:13 · 52 阅读 · 0 评论 -
07.处理多维特征的输入
回归的值属于实数,而分类的属于离散的值。原创 2023-09-20 20:53:02 · 47 阅读 · 1 评论 -
06.Logistic实现二分类
对于之前的线性问题转化成分类问题:如果不再预测学习4小时可以得到的成绩,而是判断学习4小时是否可以通过考试。Loss(Cross Entropy 交叉熵)计算某输入属于某一输出的概率的最大值。σ函数:保证输出值在0~1之间。成为一种概率,引出了。原创 2023-09-20 19:51:31 · 77 阅读 · 1 评论 -
05-用PyTorch实现线性回归
forward:算出损失;backward:求出梯度。原创 2023-09-20 15:39:55 · 66 阅读 · 1 评论 -
04.反向传播
训练的目的:使Loss取更新。计算Loss对w的导数,对w进行更新。因为目标不是y_pred取最小,而是。如何将复杂的网络看成图,在图上传播梯度,根据链式法则求出梯度。计算过程可以看作在图上进行梯度传播。W:权重矩阵(m*n) b:偏置量。原创 2023-09-19 19:44:16 · 21 阅读 · 0 评论 -
03.梯度下降算法
3、本算法中的随机梯度主要是指,每次拿一个训练数据来训练,然后更新梯度参数。从N个数据中随机选一个,用单个样本的损失loss对权重求导,然后进行求导。1、损失函数由cost()更改为loss()。cost()是计算所有训练数据的损失,loss()是计算一个训练函数的损失。2、梯度函数gradient()由计算所有训练数据的梯度更改为计算一个训练数据的梯度。对w向梯度的负方向更新,α表示学习率,这样可使得每次都朝着下降最快的方向移动。综合梯度下降和随机梯度下降的算法,折中:batch(mini-batch)原创 2023-09-19 14:45:09 · 32 阅读 · 0 评论 -
02.线性模型
在外层循环中(也就是每一个数据对儿计算的时候),都要把计算的结果,放进之前的空列表,用于绘图;从数据集中,按数据对儿取出自变量x_val和真实值y_val;先调用forward函数,计算预测值 w*x(y_hat)调用loss函数,计算单个数据的损失数值;累加损失,并记下来(此处要提前初始化一个值为0的变量,后面才能不报错);创建两个空列表,因为后面绘图的时候要用:分别是横轴的w_list和纵轴的mse_list。随意打印想要看到的内容,一般是打印x_val、y_val、loss_val;原创 2023-09-19 14:07:37 · 32 阅读 · 0 评论