《动手学深度学习v2》之细致解析 (3)线性回归+基础优化算法

前言 

        作者来自北京某不知名985,现在是本科在读学生,专业是数据科学与大数据技术,班上同学都太卷了,没办法,需要学习深度学习,经大佬介绍,在B站上找到了一个很不错的资源,李沐老师的《动手学深度学习v2》,不仅有全套视频,讲解细致,而且配套资料全部公开免费,不用加公众号也不用私别人的vx,我觉得挺不错,在这里做一个学习记录,也想跟大家一起讨论深度学习相关的问题。新的一年,不要摆烂,一起加油!!!

 这里附上连接:

跟李沐学AI的个人空间-跟李沐学AI个人主页-哔哩哔哩视频

1. 引言 — 动手学深度学习 2.0.0 documentation

相关的视频和书籍的pdf都有介绍,可以免费下载,然后还有jupyter,非常nice,ok下面咱们进入正题,本博客的图片基本来自李沐老师的视频

 本文章包含了《动手学深度学习v2》视频中的 08

视频合集如下:

08 线性回归 + 基础优化算法【动手学深度学习v2】_哔哩哔哩_bilibili

目录

前言 

线性回归

第一个例子:在美国买房

引入线性回归

基础优化方法

梯度下降法 


线性回归

线性回归是我们理解深度学习模型的一个基础

第一个例子:在美国买房

 

 出的价格低于系统估价就赚到了!

那么,影响系统对于房价评估的几个因素有什么呢?这里我们就引入线性回归模型!

引入线性回归

 

 拓展到一般的线性模型

 输出的维度是1就是o_1,之所以叫做单层,是因为带权重的只有一层

这里就介绍了神经网络的由来,最初的神经网络确实是可以追溯到神经元的原理的,从神经末梢接收到输入,然后在细胞核进行处理,之后再在髓鞘之间进行信息的传递,如果信号大于阈值,就能传送到下一个髓鞘,但是目前深度学习的发展及其迅速,许多神经网络已经大大超越了该基础模型的概念

 区别越小,估计的越准确(没有完全猜中真实值所带来的损失),\frac{1}{2}这个系数出现在这里是方便后面求导的时候消去

 

 

 对每个预测值与真实值做差后平方,再进行累加后计算其平均值,得到训练损失,我们需要得到一个使得训练损失函数最小的w和b,来构建一个更准确的模型,这里还要有个\frac{1}{2} 是为了方便我们求导后消去

这里我们可以通过计算梯度,并根据凸函数性值令梯度等于0求得最优解,大家可以动手算一算。

这里我们需要注意的是,像这样能求出最优解的模型太过于简单,无法拟合复杂的问题,后面我们碰到的 模型基本都无法取得最优解,只能通过不断进行训练得到较好的解

这里我们复习一下矩阵运算的性质:包括逆矩阵和转置的运算规则

矩阵转置的运算规则:

(M^T)^T=M\\ (M+N)^T=M^T+N^T\\ (KM)^T=KM^T\\ (M\cdot N)^T=N^T\cdot M^T\\

逆矩阵的运算规则:

(M^{-1})^{-1}=M\\ (M^T)^{-1}=(M^{-1})^T\\ (M\cdot N)^{-1}=N^{-1}\cdot M^{-1}

接下来大家可以动手算一算上面这个简单的最优解求解问题

基础优化方法

梯度下降法 

当模型没有显式解得时候,可以使用梯度下降法进行解决

直观解释

  1. 首先图中的一圈一圈的线即为等高线,可以理解为类似x^2+2y^2=1之类的,首先随机选取一个点我们记为w_0,然后求这一点的梯度,也就在这一点是下降最快的方向,于是我们向着损失函数值更低的一条等高线移动,从而不断降低损失函数的值,从而提高预测的准确度

  2. w_0-\eta \frac{\partial l}{\partial w_0}就得到w_1,其中\frac{\partial l}{\partial w_0}代表梯度的方向,\eta 朝着梯度方向移动的距离,

  3. 就像爬山的时候一直沿着当前视线内最陡的地方走

  4. 学习率\eta为超参数,一般需要人为指定

 

  • 如果太小,计算梯度过多,代价昂贵

  • 如果学习率太大,则会一直震荡

 就是用随机采样来替代整体的损失函数,从全部数据中取一个batch来进行近似损失

 

 不需要知道显式解是什么,只需要不断求导即可

今天出去玩了一天,没有学很多东西,惭愧,于是具体的代码从零实现就放到明天更新吧,明天一定会干货满满的!!

预告一下,明天有我们线性回归的从零实现,也有利用torch包的快速实现,其中一些比较存有疑问的地方我会在更新之后再更一期说明!加油!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值