跟李沐学习深度学习-线性回归和基础优化函数
线性回归和基础优化函数线性回归背景简化模型向量版本单层神经网络损失函数训练数据的采集参数学习线性函数的显示解总结基础优化函数梯度下降detachyieldepochwith关键字线性回归背景李沐老师做了一个背景介绍,说美国买房需要竞价。所以根据别人的出价,那么我自己出多少合适。就需要预测价格的走势。这就需要线性回归。简化模型设置一个简化的模型说房价和房间数,卫生间数,居住面积有关。那么线性回归的目
线性回归和基础优化函数
线性回归
背景
李沐老师做了一个背景介绍,说美国买房需要竞价。所以根据别人的出价,那么我自己出多少合适。就需要预测价格的走势。这就需要线性回归。
简化模型
设置一个简化的模型说房价和房间数,卫生间数,居住面积有关。那么线性回归的目的就是需要求出每个x前面的w参数和b常数。
向量版本
拓展到一个n维的向量。那么线性模型就变成了向量版本。
单层神经网络
线性模型可以看做是一个单层神经网络,输入是每个自变量x输出为房价o,然后每条线上表示这个向量的权重。
损失函数
如何衡量真实值和训练的估计值之间的损失。那么需要损失函数来表示。常用的损失函数是平方损失。
训练数据的采集
收集一些数据作为这个训练样本。越多越好,这样可以更好的拟合出参数。
参数学习
那么需要计算预测值和真实值之间的平均损失来衡量损失函数。目标是使得损失函数最小。
线性函数的显示解
因为这是线性模型,所以损失是凸函数。那么就有最优解。但是在机器学习中,不关心有显示解的函数。只关心完全NP难问题。
总结
基础优化函数
梯度下降
随机选一个参数的初始值,随后求解损失函数关于w的梯度(在这一点下降最快的方向)。 η \eta η是学习步长。是个超参数,太短了也不好(非常消耗计算资源,在机器学习中计算梯度是最昂贵的地方,所以少用),太长了也不好(太长了容易过拟合和快速收敛)。
这里是随机采样b个样本来近似损失函数。称为小批量随机梯度下降。所有在学习的时候,计算损失函数时,会选取一个batch而不是整个样本。
同样的选择批量大小不能太大也不能太小。
detach
在pytorch里面每个张量需要从图中detach出来才能去转为numpy
yield
每次返回一个 x和y直到所有的都返回为止。
epoch
表示将整个数据扫描epoch次
with关键字
with表示try-finally的意思。表示测试
另外有一个从0开始实现版本,和使用工具包实现版本。视频里都有。重要的是理解,测试集的生成,网络模型中权重和参数的定义损失函数的定义,超参数的定义,模型的训练。以及最后损失函数输出的过程。理解清楚之后,万变不离其宗。
更多推荐
所有评论(0)