深度学习一(Datawhale X 李宏毅苹果书 AI夏令营)

news2024/9/24 15:24:51

一,机器学习基础

        机器学习(Machine Learning, ML)是让机器具备学习能力的过程,其核心在于使机器能够自动寻找并应用复杂的函数,以解决各种任务如语音识别、图像识别和策略决策(如AlphaGo)。这些任务可分为三大类:回归、分类结构化学习回归用于预测连续数值,如预测未来PM2.5数值;分类则是让机器从预设的选项中选择最合适的答案,如判断邮件是否为垃圾邮件或AlphaGo在围棋棋盘上选择落子位置;而结构化学习则更为复杂,要求机器生成具有结构的输出,如图像或文本创作。机器学习尤其是深度学习(Deep Learning, DL)技术的进步,使得解决这些复杂问题成为可能。

1.1、机器学习的运作过程

在视频点击次数预测的案例中,机器学习运作过程可以归纳为以下三个主要步骤:

第一步:定义模型
  1. 写出带有未知参数的函数
    • 假设函数形式为 y = b + w*x1,其中 y 是预测的观看次数,x1 是前一天的观看次数,b 和 w 是未知的参数(分别称为偏置和权重)。
    • 这个带有未知参数的函数称为模型
第二步:定义损失函数
  1. 损失函数的定义
    • 损失函数 L(b, w) 用于衡量当前参数 b 和 w 的好坏,通过计算预测值 y_hat 与实际值 y 之间的差距来得到。
    • 常见的差距计算方法包括平均绝对误差(MAE)和均方误差(MSE)。
    • 使用历史数据(如过去三年的观看次数)作为训练数据,计算每一天的预测误差,并取平均作为整体损失。
  2. 绘制误差表面
    • 通过调整不同的 b 和 w 值,计算相应的损失,并绘制成等高线图(误差表面)。图中颜色深浅表示损失大小,蓝色区域代表损失较小,红色区域代表损失较大。
第三步:优化求解
  1. 梯度下降法
    • 目的是找到一组参数 w* 和 b*,使得损失函数 L(b, w) 的值最小。
    • 从随机选取的初始参数值开始,计算损失函数对参数的偏导数(即梯度)。
    • 根据梯度的方向和大小,以及设定的学习率 η,更新参数值,逐步逼近最优解。
    • 重复上述过程,直至达到停止条件(如达到最大迭代次数或梯度接近零)。
  2. 处理结果
    • 最终找到的最优参数 w* 和 b* 使得预测误差最小。
    • 在这个案例中,通过梯度下降法找到的最优参数 w* = 0.97 和 b* = 100,使得平均预测误差约为480次观看。

1.2、线性模型

初始线性模型

  • 模型形式:最初使用简单的线性模型 y=b+wx1​,其中 x1​ 是前一天的观看人次,w 和 b 是通过训练数据找到的参数,使得在训练数据上的损失达到480。
  • 预测效果:使用该模型预测未来(2021年)的观看人次,发现平均误差较大,约为580人。

问题观察与模型改进

  • 数据周期性:观察到真实数据具有周期性,每隔7天观看人次会有显著变化(周五和周六较低)。
  • 改进模型:为了捕捉这种周期性,将模型改进为考虑前7天的观看人次,即
  • 效果提升:新模型在训练数据上的损失降低到380,在未见过的数据(2021年数据)上的平均误差也降低到490。

进一步优化

  • 考虑更多天数:尝试将模型扩展到考虑前28天(一个月)和56天的观看人次,模型形式分别为​。
  • 效果评估:在训练数据上,考虑28天和56天的模型损失分别为330和320,但在未见过的数据上,损失均为460,表明增加天数并未进一步降低预测误差。

线性模型定义

  • 定义:上述所有模型均属于线性模型,因为它们都是将输入特征 x 乘以相应的权重 w,再加上偏置 b 来得到预测结果。

参考文章:Datawhale (linklearner.com)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2071008.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

YoloV8改进策略:卷积篇|ACConv2d模块在YoloV8中的创新应用与显著性能提升|简单易用|即插即用

摘要 在本文中,我们创新性地将ACConv2d模块引入到YoloV8目标检测模型中,通过对YoloV8中原有的Conv卷积层进行替换,实现了模型性能的大幅提升。ACConv2d模块基于不对称卷积块(ACB)的设计思想,利用1D非对称卷积(13和31卷积)来增强标准方形卷积核(如33卷积)的表征能力。…

spring揭秘11-aop05-aop应用经典场景及目标对象内部方法调用无法被拦截

文章目录 【README】【1】基于aop实现全局异常处理【2】基于aop实现权限检查【3】基于aop实现缓存【4】aop无法拦截目标对象内部方法调用的问题【4.1】问题概述【4.2】解决方法 【README】 本文总结自《spring揭秘》,作者王福强,非常棒的一本书&#xf…

TFTP error: ‘Permission denied‘ (0)

项目场景: 环境:ubuntu 5.4.150 开发板:s3c2440 在u-boot中,通过tftp传输uImage文件失败。 问题描述 SMDK2410 # tftp 0x30008000 uImage dm9000 i/o: 0x20000000, id: 0x90000a46 DM9000: running in 16 bit mode MAC: 00:0…

【变化检测】基于UNet建筑物变化检测

主要内容如下: 1、LEVIR-CD数据集介绍及下载 2、运行环境安装 3、基于likyoo变化检测代码模型训练与预测 4、Onnx运行及可视化 运行环境:Python3.8,torch1.12.0cu113 likyoo变化检测源码:https://github.com/likyoo/change_dete…

数据仓库中的表设计模式:全量表、增量表与拉链表

在现代数据仓库中,管理和分析海量数据需要高效且灵活的数据存储策略。全量表、增量表和拉链表是三种常见的数据存储模式,各自针对不同的数据管理需求提供了解决方案。全量表通过保存完整的数据快照确保数据的一致性,增量表则通过记录数据的变…

如何在 Ubuntu 系统中安装PyCharm集成开发环境?

在上一篇文章中,我们探讨了Jupyter notebook,今天再来看看另一款常用的Python 工具,Pycharm。 PyCharm也是我们日常开发和学习常用的Python 集成开发环境 (IDE),由 JetBrains 开发。 PyCharm 带有一整套可以帮助用户在使用Pytho…

大数据-91 Spark 集群 RDD 编程-高阶 RDD广播变量 RDD累加器 Spark程序优化

点一下关注吧!!!非常感谢!!持续更新!!! 目前已经更新到了: Hadoop(已更完)HDFS(已更完)MapReduce(已更完&am…

【代码随想录训练营第42期 Day39打卡 - 打家劫舍问题 - LeetCode 198.打家劫舍 213.打家劫舍II 337.打家劫舍III

目录 一、做题心得 二、题目与题解 题目一:198.打家劫舍 题目链接 题解:动态规划 题目二:213.打家劫舍II 题目链接 题解:动态规划 题目三:337.打家劫舍III 题目链接 题解:动态规划 三、小结 一、…

卸载nomachine

网上的方法:提示找不到命令 我的方法: step1. 终端输入 sudo find / -name nxserver 2>/dev/null确认 NoMachine 的实际安装路径。你可以使用 find 命令在系统中查找 nxserver 脚本的位置。 找到路径后,你可以使用该路径来卸载 NoMachine。 如下图,紫色框中是我的路径…

【ACM出版】第三届公共管理、数字经济与互联网技术国际学术会议(ICPDI 2024,9月06-08)

第三届公共管理、数字经济与互联网技术国际学术会议(ICPDI 2024)定于2024年9月06-08日在中国-济南举行。 会议主要围绕公共管理、数字经济,互联网技术等研究领域展开讨论。会议旨在为从事公共管理、经济、大数据、互联网研究的专家学者提供一…

解决LabVIEW配置文件中文乱码问题

LabVIEW配置文件中的中文字符在程序调用时出现乱码,通常是由于字符编码不匹配引起的。LabVIEW默认使用ANSI编码格式,而配置文件可能使用了不同的编码格式(如UTF-8),导致中文字符在读取时无法正确解析。 解决方法 统一编…

导数的基本法则与常用导数公式的推导

目录 n 次幂函数导数公式的推导导数和的运算法则的证明正弦、余弦函数导数公式的推导代数证明两个重要极限(引理)及证明具体推导 几何直观 导数积的运算法则的证明导数商的法则的证明链式法则的证明有理幂函数求导法则的证明反函数求导法则的证明反正切函…

SSH 远程登录报错:kex_exchange_identification: Connection closed.....

一 问题起因 在公司,使用ssh登录远程服务器。有一天,mac终端提示:`kex_exchange_identification: Connection closed by remote host Connection closed by UNKNOWN port 65535`。 不知道为啥会出现这样的情形,最近这段时间登录都是正常的,不知道哪里抽风了,就提示这个。…

C++初学(15)

前面学习了循环的工作原理,接下来来看看循环完成的一项最常见的任务:逐字符地读取来自文本或键盘的文本。 15.1、使用cin进行输入 如果需要程序使用循环来读取来自键盘的文本输入,则必须有办法直到何时停止读取。一种方式是选择某个特殊字符…

发布分班查询,老师都在用哪个小程序?

新学期伊始,校园里又迎来了一批朝气蓬勃的新生。老师们的日程表上,除了日常的教学准备,还多了一项重要的任务——分班。这项工作不仅需要老师们精心策划,以确保每个班级的平衡,还要在分班完成后,及时将结果…

系统架构不是设计出来的

今天给大家分享一个 X/ Twitter 早期系统架构演变的故事,内容来自《数据密集型应用系统设计》这本书,具体数据来自 X/ Twitter 在 2012 年 11 月发布的分享。 推特的两个主要业务是: 发布推文(Tweets)。用户可以向其粉…

零基础入门~汇编语言(第四版王爽)~第3章寄存器(内存访问)

文章目录 前言3.1 内存中字的存储3.2 DS 和[address]3.3 字的传送3.4 mov、add、sub指令3.5 数据段检测点3.13.6 栈3.7 CPU提供的栈机制3.8 栈顶超界的问题3.9 push、pop指令3.10 栈 段检测点3.2实验2 用机器指令和汇编指令编程 前言 第2章中,我们主要从CPU 如何执…

2月公开赛Web-ssrfme

考点&#xff1a; redis未授权访问 源码&#xff1a; <?php highlight_file(__file__); function curl($url){ $ch curl_init();curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_HEADER, 0);echo curl_exec($ch);curl_close($ch); }if(isset($_GET[url…

回归预测 | Matlab实现WOA-ESN鲸鱼算法优化回声状态网络多输入单输出回归预测

回归预测 | Matlab实现WOA-ESN鲸鱼算法优化回声状态网络多输入单输出回归预测 目录 回归预测 | Matlab实现WOA-ESN鲸鱼算法优化回声状态网络多输入单输出回归预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.Matlab实现WOA-ESN鲸鱼算法优化回声状态网络多输入单输出…

vue3 生命周期钩子

在 Vue 3 中&#xff0c;可以在组件不同阶段的生命周期执行特定逻辑。 生命周期整体分为四个阶段&#xff1a;创建、挂载、更新、卸载。 创建阶段 组合式APIsetup() 这是组合式 API 的入口点&#xff0c;在组件实例创建之前被调用。在此阶段&#xff0c;可以初始化响应式数据…