当前位置: 首页 > article >正文

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课程

总结

线性模型是深度学习中一种基础且重要的模型,它通过简单的线性组合来预测输出。然而,由于其只能学习线性关系,因此在实际应用中通常需要与其他技术(如激活函数、隐藏层等)结合使用,以构建出具有更强非线性能力的神经网络模型。


http://www.kler.cn/news/290558.html

相关文章:

  • XR-Frame 实现 始终朝向屏幕(相机)的面片与模型
  • vue路由Router设置父路由默认选中第一个子路由,切换子路由让父路由激活高亮效果不会消失
  • 因 Mysql root 密码过于简单导致 Mysql 连接失败的解决方法
  • C++学习笔记(4)
  • 集成电路学习:什么是MMU存储管理单元
  • Get full article in Google Sheet using Openai
  • Python知识点:如何使用Mock库进行单元测试中的依赖模拟
  • Linux查看系统用户
  • 海康二次开发笔记10-独立Group导入、导出及执行
  • HTTP代理支持UDP协议吗?
  • ROS imu传感器节点
  • 第十二章节 xxjob, seata, zk, minio,activeMQ进行 helm化
  • 【boost库概述+应用场景】
  • vue 的diff算法原理
  • superMap mapboxgl初始化地图时,地图旋转api与设置地图中心api,同时进行无法完成实现效果
  • 【Unity案例】搭建射击系统与UI
  • C#预处理器指令
  • 1.Docker初探 —— 走进集装箱的世界
  • upload-labs通关详解
  • C#指针(内存地址)IntPtr
  • Windows中Git对文件名大小写不敏感的问题解决方法
  • Unity数据持久化 之 二进制存储法
  • 设计模式之适配器模式:软件世界的桥梁建筑师
  • 【系统架构设计师-2019年】综合知识-答案及详解
  • ts 类型分类
  • 在安卓和Windows下使用Vizario H264 RTSP
  • 数据库系统 第28节 数据库迁移 案例分析
  • 2011年
  • pr瘦脸怎么操作?
  • css设置让整个盒子的内容渐变透明(非颜色渐变透明)