本文主要是介绍Datawhale X 李宏毅苹果书 AI夏令营 - 跟李宏毅学深度学习(入门之线性模型),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
文章目录
- 一、线性模型是什么?
- 二、线性模型的特点
- 三、简单举例理解
- 3.1、预测未来某一天点击量
- 3.2、分段线性曲线
- 总结
一、线性模型是什么?
在深度学习中,线性模型是一种简单但基础且广泛应用的数学模型。它的基本形式是一个线性方程,如y = wx + b,其中y是预测输出,x是输入特征,w是权重参数,b是偏置项(也称为截距)。
线性模型假设输入与输出之间存在线性关系,即输出是输入的线性组合。
二、线性模型的特点
- 简单性:线性模型形式简单,易于理解和实现。
- 可解释性:线性模型的权重w可以解释为特征的重要性,权重越大表示该特征对预测结果的影响越大。
- 应用广泛:线性模型不仅用于回归分析中预测连续的输出值,还广泛应用于分类问题中,通过设置适当的阈值将预测结果映射为离散的分类标签。
三、简单举例理解
随着网络日益发达,人们的生活越来越惬意。我们很多人现在都喜欢用手机刷,刷小说,刷短视频。。。对于我们普通人来讲,当乐子看,但是对于这些短剧的创作者来讲,更关注自己的作品的流量(展示量、浏览点、点击量、点赞量、分享量等等)。
3.1、预测未来某一天点击量
假设我们目前已经收集了某平台视频点击量2017-2020年每一天所有的数据点击数据
我们先以一个简单的线性模型来代表这些数据变化的趋势 y = wx + b
根据不通的w得到不同的坐标线。
在研究中我们发现,数据呈现周期性,为每7天一个循环,每隔 7 天,就是一个循环。它只能够看前一天。 每隔 7 天它一个循环,如果一个模型参考前 7 天的数据,把 7 天前的数据,直接复制到拿来当作预测的结果,也许预测的会更准也说不定,所以我们就要修改一下模型。通常一个模型的修改,往往来自于对这个问题的理解,即领域知识。
因前期使用的模型 y = wx + b 导致模型所预算的模型太过于简单,未得到有价值的信息。后续对于模型改造,发现所使用的模型都是把输入的特征 x 乘上一个权重,再加上一个偏置就得到预测的结果,这样的模型我们称之为线性模型(linear model)。
3.2、分段线性曲线
线性模型可能太过于简单,中间可能存在更复杂的关系,如
我们需要把0+1+2+3,来得到红色的折线。
红色的曲线可以看作是一个常数再加上一群 Hard Sigmoid 函数。Hard Sigmoid 函数的特性是当输入的值,当 x 轴的值小于某一个阈值(某个定值)的时候,大于另外一个定值阈值的时候,中间有一个斜坡。所以它是先水平的,再斜坡,再水平的。所以红色的线可以看作是一个常数项加一大堆的蓝色函数(Hard Sigmoid)。常数项设成红色的线跟 x 轴的交点一样大。
大量不同的蓝色函数,加上一个常数以后就可以组出任意的分段线性曲线。
如果分段线性曲线越复杂,转折的点越多,所需的蓝色函数就越多。
反之,越多蓝色函数的话可以组成越复杂的分段线性曲线。
每一段折线都是由大量蓝色的函数组合起来,只要有足够的蓝色函数,就可以形成近似圆滑的曲线。
所以当我们拿到一个命题时,刚开始不用想多模复杂的公式去解析,可以直接先用一条曲线去理解它, 用 Sigmoid 函数来逼近 Hard Sigmoid。
在调试过程中,调整这里的 b、w 和 c 可以制造各种不同形状的 Sigmoid 函数,用各种不同形状的 Sigmoid函数去逼近 Hard Sigmoid 函数
通过不断衍生,构建出更加灵活的函数。
Q: 优化是找一个可以让损失最小的参数,是否可以穷举所有可能的未知参数的值?A:只有 w 跟 b 两个参数的前提之下,可以穷举所有可能的 w
跟 b
的值,所以在参数很少的情况下。甚至可能不用梯度下降,不需要优化的技巧。但是参数非常多的时候,就不能使用穷举的方法,需要梯度下降来找出可以让损失最低的参数。
Q:刚才的例子里面有 3 个 Sigmoid,为什么是 3 个,能不能 4 个或更多?A:Sigmoid 的数量是由自己决定的,而且
Sigmoid 的数量越多,可以产生出来的分段线性函数就越复杂。Sigmoid
越多可以产生有越多段线的分段线性函数,可以逼近越复杂的函数。Sigmoid 的数量也是一个超参数。
接下来要定义损失。之前是 L(w, b),因为 w 跟 b 是未知的。现在未知的参数很多了,再把它一个一个列出来太累了,所以直接用 θ 来统设所有的参数,所以损失函数就变成 L(θ)。损失函数能够判断 θ 的好坏,其计算方法跟刚才只有两个参数的时候是一样的。先给定 θ 的值,即某一组 W, b, cT, b 的值,再把一种特征 x 代进去,得到估测出来的 y,再计算一下跟真实的标签之间的误差 e。把所有的误差通通加起来,就得到损失。
要找到 θ 让损失越小越好,可以让损失最小的一组 θ 称为 θ∗,或选择更深的梯度,或者计算出梯度为 0 向量,导致无法再更新参数为止,不过在实现上几乎不太可能梯度为 0,通常会停下来。
## 3.3、待续
补充学习地址:
李宏毅《机器学习/深度学习》2021课程
总结
线性模型是深度学习中一种基础且重要的模型,它通过简单的线性组合来预测输出。然而,由于其只能学习线性关系,因此在实际应用中通常需要与其他技术(如激活函数、隐藏层等)结合使用,以构建出具有更强非线性能力的神经网络模型。
这篇关于Datawhale X 李宏毅苹果书 AI夏令营 - 跟李宏毅学深度学习(入门之线性模型)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!