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

一,机器学习基础

        机器学习(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.rhkb.cn/news/408293.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

顺序表的顺序表示—动态分配

顺序表的顺序表示—动态分配 代码实现 #include <stdio.h> #include <stdlib.h> #define InitSize 15 // 初始化扩容长度typedef struct{int *data; // 动态分配数组的指针int MaxSize;int length; // 当前长度 }SeqList;void InitList(SeqList &L){// 申请一…

得峰(Deffad)A17G本本 - 安装debian12

文章目录 得峰(Deffad)A17G本本 - 安装debian12概述笔记电源插头设置硬件参数修复win10预装的软件列表做debain12的安装U盘从U盘启动引导用U盘装debian12通过U盘安装debian12到本本原有硬盘上成功配置debian12备注备注END 得峰(Deffad)A17G本本 - 安装debian12 概述 和同学讨…

YOLOv9改进策略【卷积层】| 利用MobileNetv4中的UIB、ExtraDW优化RepNCSPELAN4

一、本文介绍 本文记录的是利用ExtraDW优化YOLOv9中的RepNCSPELAN4&#xff0c;详细说明了优化原因&#xff0c;注意事项等。ExtraDW是MobileNetv4模型中提出的新模块&#xff0c;允许以低成本增加网络深度和感受野&#xff0c;具有ConvNext和IB的组合优势。可以在提高模型精度…

uni-app项目搭建和模块介绍

工具:HuilderX noed版本:node-v17.3.1 npm版本:8.3.0 淘宝镜像:https://registry.npmmirror.com/ 未安装nodejs可以进入这里https://blog.csdn.net/a1241436267/article/details/141326585?spm1001.2014.3001.5501 目录 1.项目搭建​编辑 2.项目结构 3.使用浏览器运行…

解决MySQL的PacketTooBigException异常问题

一、背景 在大数据量导入mysql的时候&#xff0c;提示错误Cause: com.mysql.cj.jdbc.exceptions.PacketTooBigException: Packet for query is too large 原因是MySQL的max_allowed_packet设置最大允许接收的数据包过小引起的&#xff0c;默认的max_allowed_packet如果不设置&…

Qt 环境搭建

sudo apt-get upadte sudo apt-get install qt4-dev-tools sudo apt-get install qtcreator sudo apt-get install qt4-doc sudo apt-get install qt4-qtconfig sudo apt-get install qt-demos编译指令 qmake -projectqmakemake实现Ubuntu20,04 与Windows之间的复制粘贴 安装o…

API 的多版本管理,如何在 Apifox 中操作?

开放 API 是技术团队向外部提供服务和数据的关键手段。随着业务的发展和技术的更新&#xff0c;API 也需要不断进行版本迭代。这种迭代通常是为了满足市场需求&#xff0c;优化现有功能&#xff0c;增加新特性&#xff0c;或者修复漏洞。 在多个版本共存的情况下&#xff0c;团…

NLP从零开始------12. 关于前十一章补充(英文分词)

相较于基础篇章&#xff0c;这一部分相较于基础篇减少了很多算法推导&#xff0c;多了很多代码实现。 1.英文词规范化 英文词规范化一般分为标准化缩写,大小写相互转化&#xff0c;动词目态转化等。 1.1 大小写折叠 大小写折叠( casefolding) 是将所有的英文大写字母转化成小…

stm32MX+freertos在创建task时,选项的含义

任务名称&#xff08;Task Name&#xff09;&#xff1a; 用于标识任务的名称&#xff0c;便于调试和日志记录。 优先级&#xff08;Priority&#xff09;&#xff1a; 任务的执行优先级。FreeRTOS支持多个优先级&#xff0c;高优先级的任务会优先于低优先级的任务执行。 堆栈…

ubuntu20.04源码编译安装qemu(qemu8.2)

ubuntu20.04源码安装qemu8.2 本文用于记录在ubuntu20中源码编译安装qemu8.2&#xff0c;同时也希望能够对你有所帮助。 一、download qemu 根据自己的需求下载对应版本的qemu源码压缩包。 https://github.com/qemu/qemu/tags二、build qemu 解压缩后&#xff0c;执行下述命令。…

SpringBoot百万行Excel导入MySQL实践

在公司开发时&#xff0c;客户说需要支持大数据量excel导入&#xff0c;所以打算写一篇文章记录下思路和优化过程。 一、前期准备 首先我们选用的肯定是阿里出品的EasyExcel&#xff0c;对比poi和jxl占内存更少 easyexcel官方网站准备测试的数据库和excel文件&#xff0c;已经…

-Wl,-rpath= 编译器链接器指定动态库路径 与 LD_LIBRARY_PATH

实例先行&#xff0c; 1&#xff0c;情景 三互相依赖的小项目&#xff1a; &#xff08;1&#xff09;libbottom.so&#xff0c;无特别依赖&#xff0c;除系统文件 &#xff08;2&#xff09;libtop.so&#xff0c;依赖libbottom.so &#xff08;3&#xff09;app 可执行程…

springboot admin监控

服务端搭建 maven的依赖&#xff0c;包括服务端和客户端&#xff0c;以及注册到nacos上面 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XML…

AI绘制思维导图:使用SpringBoot和Vue实现智能可视化

目录 引言&#xff1a; 思维导图的重要性和应用场景&#xff1a; AI在思维导图绘制中的应用&#xff1a; 概述SpringBoot和Vue框架的特点&#xff1a; 第一部分&#xff1a;思维导图概述 思维导图的定义和历史 思维导图的结构和组成部分 思维导图在不同领域的应用案例 …

Linux 进程 | 进程地址空间

文章目录 进程地址空间程序地址空间进程地址空间 进程地址空间 程序地址空间 地址空间一共有如下的几个区域&#xff0c;从下到上地址逐渐增加&#xff0c;其中栈区的空间是从上往下使用&#xff0c;即从高地址往低地址增长&#xff1b;堆区的空间是从下往上使用&#xff0c;…

【鸿蒙学习】HarmonyOS应用开发者高级认证 - 应用DFX能力介绍(含闯关习题)

学完时间&#xff1a;2024年8月24日 学完排名&#xff1a;第1698名 一、Performance Analysis Kit简介 Performance Analysis Kit&#xff08;性能分析服务&#xff09;为开发者提供应用事件、日志、跟踪分析工具&#xff0c;可观测应用运行时状态&#xff0c;用于行为分析、…

Prometheus学习

监控架构介绍&#xff1a; 基本架构&#xff1a; Prometheus 和 Zabbix 的对比&#xff1a; 安装和使用&#xff1a; Prometheus 采集、存储数据Grafana 用于图表展示alertmanager 用于接收 Prometheus 发送的警告信息node-exporter 用于收集操作系统和硬件信息的 metrics …

Linux:Bash中的命令介绍(简单命令、管道以及命令列表)

相关阅读 Linuxhttps://blog.csdn.net/weixin_45791458/category_12234591.html?spm1001.2014.3001.5482 在Bash中&#xff0c;命令执行的方式可以分为简单命令、管道和命令列表组成。这些结构提供了强大的工具&#xff0c;允许用户组合命令并精确控制其执行方式。以下是对这…

Ubuntu24.04安装MYSQL8.0

更新源 sudo apt update安装mysql服务 默认安装最新版本 sudo apt install mysql-server检查安装版本 mysql --version检查mysql运行状态 systemctl status mysql开启远程访问&#xff0c;在ubuntu下mysql默认是只允许本地访问 sudo vim /etc/mysql/mysql.conf.d/mysqld.…

新疆旅游今年为什么这么火热?

今年新疆旅游火爆全网&#xff0c;不夸张的说&#xff0c;打开朋友圈&#xff0c;几乎一半人在新疆旅游、还有一半人在去新疆旅游的路上。 大家也纷纷在小红书上晒出新疆相关的笔记&#xff0c;覆盖旅游、美食、穿搭、养生、摄影等众多热门行业&#xff0c;相关话题多次登上小…