Datawhale X 李宏毅苹果书 AI夏令营 - 跟李宏毅学深度学习(入门之线性模型)

本文主要是介绍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夏令营 - 跟李宏毅学深度学习(入门之线性模型)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1137206

相关文章

Spring AI集成DeepSeek的详细步骤

《SpringAI集成DeepSeek的详细步骤》DeepSeek作为一款卓越的国产AI模型,越来越多的公司考虑在自己的应用中集成,对于Java应用来说,我们可以借助SpringAI集成DeepSe... 目录DeepSeek 介绍Spring AI 是什么?1、环境准备2、构建项目2.1、pom依赖2.2

0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型的操作流程

《0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeekR1模型的操作流程》DeepSeekR1模型凭借其强大的自然语言处理能力,在未来具有广阔的应用前景,有望在多个领域发... 目录0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型,3步搞定一个应

Deepseek R1模型本地化部署+API接口调用详细教程(释放AI生产力)

《DeepseekR1模型本地化部署+API接口调用详细教程(释放AI生产力)》本文介绍了本地部署DeepSeekR1模型和通过API调用将其集成到VSCode中的过程,作者详细步骤展示了如何下载和... 目录前言一、deepseek R1模型与chatGPT o1系列模型对比二、本地部署步骤1.安装oll

Java深度学习库DJL实现Python的NumPy方式

《Java深度学习库DJL实现Python的NumPy方式》本文介绍了DJL库的背景和基本功能,包括NDArray的创建、数学运算、数据获取和设置等,同时,还展示了如何使用NDArray进行数据预处理... 目录1 NDArray 的背景介绍1.1 架构2 JavaDJL使用2.1 安装DJL2.2 基本操

最长公共子序列问题的深度分析与Java实现方式

《最长公共子序列问题的深度分析与Java实现方式》本文详细介绍了最长公共子序列(LCS)问题,包括其概念、暴力解法、动态规划解法,并提供了Java代码实现,暴力解法虽然简单,但在大数据处理中效率较低,... 目录最长公共子序列问题概述问题理解与示例分析暴力解法思路与示例代码动态规划解法DP 表的构建与意义动

Spring AI Alibaba接入大模型时的依赖问题小结

《SpringAIAlibaba接入大模型时的依赖问题小结》文章介绍了如何在pom.xml文件中配置SpringAIAlibaba依赖,并提供了一个示例pom.xml文件,同时,建议将Maven仓... 目录(一)pom.XML文件:(二)application.yml配置文件(一)pom.xml文件:首

SpringBoot整合DeepSeek实现AI对话功能

《SpringBoot整合DeepSeek实现AI对话功能》本文介绍了如何在SpringBoot项目中整合DeepSeekAPI和本地私有化部署DeepSeekR1模型,通过SpringAI框架简化了... 目录Spring AI版本依赖整合DeepSeek API key整合本地化部署的DeepSeek

如何在本地部署 DeepSeek Janus Pro 文生图大模型

《如何在本地部署DeepSeekJanusPro文生图大模型》DeepSeekJanusPro模型在本地成功部署,支持图片理解和文生图功能,通过Gradio界面进行交互,展示了其强大的多模态处... 目录什么是 Janus Pro1. 安装 conda2. 创建 python 虚拟环境3. 克隆 janus

本地私有化部署DeepSeek模型的详细教程

《本地私有化部署DeepSeek模型的详细教程》DeepSeek模型是一种强大的语言模型,本地私有化部署可以让用户在自己的环境中安全、高效地使用该模型,避免数据传输到外部带来的安全风险,同时也能根据自... 目录一、引言二、环境准备(一)硬件要求(二)软件要求(三)创建虚拟环境三、安装依赖库四、获取 Dee

DeepSeek模型本地部署的详细教程

《DeepSeek模型本地部署的详细教程》DeepSeek作为一款开源且性能强大的大语言模型,提供了灵活的本地部署方案,让用户能够在本地环境中高效运行模型,同时保护数据隐私,在本地成功部署DeepSe... 目录一、环境准备(一)硬件需求(二)软件依赖二、安装Ollama三、下载并部署DeepSeek模型选