Datawhale X 李宏毅苹果书 AI夏令营 Task_1深度学习详解入门

目录

一、机器学习的基本概念

二、机器学习的主要任务类型

三、案例学习(以视频的点击次数预测为例)

四、梯度下降问题


一、机器学习的基本概念

        机器学习,顾名思义,是让机器具备学习的能力。具体来说,机器学习就是让机器能够找到一个函数,这个函数可以根据输入的数据进行预测或做出决策。例如,在语音识别中,机器需要找到一个函数,能够将输入的声音信号转换为对应的文字;在图像识别中,机器需要找到一个函数,能够识别出图像中的内容。

        机器学习的核心目标是让机器从数据中自动学习规律和模式,从而能够对新的数据进行准确的预测或分类。为了实现这个目标,机器需要使用大量的数据进行训练,通过不断调整模型的参数,使得模型的输出能够尽可能地接近真实值。

        简单来说就是:

                1.机器学习是让机器具备找函数的能力,以完成各种任务,如语音识别、图像识别、AlphaGo 等。

                 2. 机器学习要找的函数输入和输出根据任务不同而不同。

二、机器学习的主要任务类型

  1. 回归任务
    回归任务是机器学习中的一种常见任务,其输出是一个数值或标量。例如,预测未来某一时间的 PM2.5 数值,就是一个回归任务。在回归任务中,机器需要找到一个函数,能够根据输入的相关指数(如今天的 PM2.5 数值、平均温度、平均臭氧浓度等),预测出明天中午的 PM2.5 数值。

  2. 分类任务
    分类任务是让机器从设定好的选项中做出选择。例如,判断一封邮件是否为垃圾邮件,就是一个分类任务。在分类任务中,机器需要找到一个函数,能够根据输入的特征(如邮件的内容、发件人、收件人等),从设定好的选项(如垃圾邮件和正常邮件)中选择一个作为输出。

  3. 结构化学习任务
    结构化学习任务是让机器产生一个有结构的物体,比如画一张图、写一篇文章。在结构化学习任务中,机器需要学习到如何生成具有特定结构的输出,这需要机器具备更高级的学习能力和创造力。

三、案例学习(以视频的点击次数预测为例)

  1. 步骤一:写出带有未知参数的函数,如,其中是预测的今天频道的总观看次数,是前一天的总观看次数,和是未知参数,带有未知参数的函数称为模型,称为权重,称为偏置。猜测和的值往往来自于领域知识,但这只是一个猜测,需要后续修正。

  2. 步骤二

    • 定义损失函数,其输入是模型参数和,输出的值代表参数设定某一数值时的好坏。
    • 通过训练数据计算损失,如根据频道过去的观看次数,计算预测值与真实值的差距。差距的计算方式有多种,如平均绝对误差(MAE)和均方误差(MSE)等。
    • 调整不同的和,计算其损失,可画出误差表面等高线图,越偏红色代表损失越大,越偏蓝色代表损失越小。
  3. 步骤三

    • 解最优化问题,通过梯度下降等方法找到使损失最小的和,即和。
    • 在梯度下降中,先随机选取一个初始点,计算该点处损失对的微分,根据微分的正负决定的移动方向,移动的步伐大小取决于斜率和学习率(超参数)。
    • 梯度下降可能会因为两种情况停下来:一是设定的计算微分次数达到上限;二是微分的值为 0。
    • 梯度下降存在没有找到全局最小值的问题,可能会陷入局部最小值,但局部最小值在实际中往往不是真正的难题。
    • 在有两个参数的情况下,梯度下降的原理与一个参数类似,深度学习框架(如 PyTorch)可自动计算微分来更新参数。

      4.结果:

        已知和的值能使损失小到 480,在已知数据(2017 到 2020 年每天的观看次数)上计算损失为 480,用该函数预测未来(2021 年)的观看次数,在未看过的数据上误差值为 0.58,说明在训练数据上误差较小。

四、梯度下降问题

        梯度下降是机器学习中一种常用的优化算法,用于寻找模型的最优参数,以最小化损失函数。然而,梯度下降算法存在一些问题,其中之一就是局部最小值问题。

        在梯度下降过程中,模型的参数会沿着损失函数的梯度方向进行更新。如果初始参数随机选择不当,可能会导致模型陷入局部最小值,而无法找到全局最小值。全局最小值是使损失函数最小的参数组合,而局部最小值是在局部区域内使损失函数最小的参数组合,但在全局范围内可能不是最优的。

        尽管局部最小值问题在理论上存在,但在实际应用中,通常可以通过一些方法来缓解或避免这个问题。例如,使用随机初始化多个不同的初始参数,进行多次训练,然后选择最优的模型;或者使用一些改进的梯度下降算法,如动量梯度下降、自适应矩估计(Adam)等。

        此外,梯度下降算法还存在一些其他问题,如学习率的选择、收敛速度等。学习率决定了参数更新的步长,如果学习率过大,可能会导致模型在优化过程中振荡不稳定;如果学习率过小,可能会导致模型收敛速度过慢。因此,选择合适的学习率是非常重要的。

        总的来说,梯度下降是机器学习中非常重要的一个算法,但在使用过程中需要注意其存在的问题,并采取相应的措施来解决这些问题。

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

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

相关文章

ASP.NET MVC+LayUI视频上传完整教程

前言 前段时间在使用APS.NET MVCLayUI做视频上传功能的时,发现当上传一些内存比较大的视频就会提示上传失败,后来通过查阅相关资料发现.NET MVC框架为考虑安全问题,在运行时对请求的文件的长度(大小)做了限制默认为4M…

维信小程序禁止截屏/录屏

一、维信小程序禁止截屏/录屏 //录屏截屏,禁用wx.setVisualEffectOnCapture({visualEffect:hidden});wx.setVisualEffectOnCapture(Object object) 测试安卓手机: 用户截屏,被禁用 用户录屏,录制的是空白内容/黑色内容的视频。 二、微信小…

一种常用嵌入式开发代码库

链接:https://gitee.com/zhangxinyuanqi/varch 使用开源协议:GPL-2.0 varch简介 varch(we-architecture,意为我们的框架库)是嵌入式C语言常用代码模块库,包含了嵌入式中常用的算法库, 数据结构&#xff…

【云原生系列之SkyWalking的部署】

1、分布式链路追踪 1.1概念 在较大的web集群和微服务环境中,客户端的一次请求需要经过不同的模块,多个不同中间件,多个不同机器一起相互协作才能处理完成客户端的请求,而在这一系列的请求过程之中,处理流程可能是串行执行,也可能…

SprinBoot+Vue实验室考勤管理微信小程序的设计与实现

目录 1 项目介绍2 项目截图3 核心代码3.1 Controller3.2 Service3.3 Dao3.4 application.yml3.5 SpringbootApplication3.5 Vue3.6 uniapp代码 4 数据库表设计5 文档参考6 计算机毕设选题推荐7 源码获取 1 项目介绍 博主个人介绍:CSDN认证博客专家,CSDN平…

【笔试练习】深信服校园招聘c/c 软件开发H卷

题目链接 一、填空题 如图所示,平面上有两条平行的线段,上面的线段有A0~A3 4个点,下面的线段有B0到B5 6个点,现在需要把所有的点都连接起来,有如下约束: 每个端点,都至少有一条到另一平行线上端…

HTML+CSS+Query实现二级菜单

在网页设计中&#xff0c;导航菜单是非常重要的部分之一&#xff0c;尤其是具有二级下拉菜单的导航栏&#xff0c;可以提升用户体验。本文将通过HTML、CSS和jQuery实现一个具有二级菜单标题的导航栏&#xff0c;并详细讲解每一步的实现过程。 <!DOCTYPE html> <html …

TS 学习(一)

如果我们在 ts 中写 不用运行就能在文件中报错 ts 是一种静态类型的检查 能将运行时出现的错误前置 一般不用 命令行编译 ts 转换成 js 将中文转码 tsc index&#xff08;.ts&#xff09; 输入命令生成 配置文件 能在中间进行 配置转换成 js 的哪个规范 es5 还是 6 和其它转…

JavaScript编程语言的学习

一、JavaScript介绍 JavaScript 是一种轻量级的脚本语言。所谓“脚本语言”&#xff0c;指的是它不具备开发操作系统的能力&#xff0c;而是只用来编写控制其他大型应用程序的“脚本”。 JavaScript 是一种嵌入式&#xff08;embedded&#xff09;语言。它本身提供的核心语法不…

数分基础(06)商业分析四种类型简介

文章目录 1. 商业分析2. 四种类型2.1 描述性分析和诊断性分析2.1.1 加载Global_Superstore数据集2.1.2 描述性分析2.1.3 诊断性分析2.1.4 再进一步各地区的订单数量和平均订单金额按客户群体分析销售额和利润折扣率和利润产品类别和子类别的销售和利润 本小节小结 2.2 销售预测…

在众多编程工具中,哪一个最能提高你的生产力?

随着软件开发行业的快速发展&#xff0c;开发者们需要使用多种工具来管理代码、调试应用程序、测试功能、以及处理数据库操作。每一个环节都可能会影响到整个项目的进展和最终质量&#xff0c;因此选择合适的工具对于提高工作效率至关重要。在这篇文章中&#xff0c;我将从开发…

VMware16安装Win11虚拟机全步骤

目录 准备工作下载镜像安装镜像开启虚拟机安装虚拟机安装Win11成功 准备工作 1、虚拟机&#xff1a;VMware16.2.1&#xff08;建议使用VMware16版本&#xff0c;15可能不兼容&#xff09; 2、Windows11镜像 下载镜像 1、浏览器打开网址&#xff1a;I tell you 可以看到有三…

坐牢第三十四天(c++)

一.作业 1.栈的手写 #include <iostream> using namespace std; // 封装一个栈 class stcak { private:int *data; //int max_size; // 最大容量int top; // 下标 public:// 无参构造函数stcak();// 有参构造函数stcak(int size);// 拷贝构造函数stcak(const s…

MySQL数据库增删查改(基础)CRUD

CRUD 即增加 (Create) 、查询 (Retrieve) 、更新 (Update) 、删除 (Delete) 四个单词的首字母缩写。 1. 新增&#xff08;Create&#xff09; 1.1单行数据&#xff08;全列插入&#xff09; 比如说&#xff1a;创建一张学生表&#xff0c;有姓名&#xff0c;学号。插入两个学…

什么是科学碳目标(SBTI认证)

科学碳目标&#xff08;SBTI认证&#xff09;&#xff0c;这一绿色发展的璀璨明珠&#xff0c;是企业迈向可持续未来的重要里程碑。它不仅是全球环境信息研究中心(CDP)、联合国全球契约组织(UNGC)、世界资源研究所(WRI)与世界自然基金会(WWF)共同铸就的智慧结晶&#xff0c;更是…

一款实用的浏览器插件,关闭登录提示框一键复制代码

codebox插件是一款面向开发者和技术爱好者的浏览器插件&#xff0c;旨在优化用户的浏览和学习体验。该插件支持多个技术网站&#xff0c;包括CSDN、知乎、简书、脚本之家、博客园、51CTO博客和php中文网等。 主要功能包括&#xff1a; 免登录一键复制代码&#xff1a;用户无需…

Two to One——C语言提高题【7 kyu】

一、原题 链接&#xff1a;Training on Two to One | Codewars Take 2 strings s1 and s2 including only letters from a to z. Return a new sorted string (alphabetical ascending), the longest possible, containing distinct letters - each taken only once - coming…

书生大模型实战营基础(3)——LangGPT结构化提示词编写实践

目录 0、基础知识 1、准备 1.1环境配置 1.2创建项目路径 2、模型部署 2.1获取模型 2.2部署模型为OpenAI server 3.提示工程(Prompt Engineering) 3.1 什么是Prompt 3.2 什么是提示工程 3.3 提示设计框架 4、任务 4.1利用LangGPT优化提示词 0、基础知识 Prompt&…

C++程序调用SetWindowsHookEx全局拦截键盘按键消息和窗口消息的Hook实例分享

目录 1、Hook与Hook过程函数 2、SetWindowsHookEx函数说明 3、Hook实例1 - 使用SetWindowsHookEx在程序中拦截键盘消息 4、Hook实例2 - 使用SetWindowsHookEx在程序中拦截某个窗口的消息 5、最后 C软件异常排查从入门到精通系列教程&#xff08;专栏文章列表&#xff0c;欢…

wsl下将Ubuntu从c盘移动到其他盘

一、概述 因为自己的C盘内存不足&#xff0c;加上之后需要在Ubuntu下面下载许多的内容和东西&#xff0c;需要将其移动到d盘上面&#xff0c;这样可以拥有更大的空间。这里记载了一下自己的操作过程。 二、具体步骤 &#xff08;一&#xff09;过程 1.查看当前系统中wsl分发版…