Datawhale X 李宏毅苹果书 AI夏令营 入门笔记

文章目录

  • 前言
  • Task01 通过案例了解机器学习
    • 1.1机器学习的浅显介绍
    • 1.2机器学习模型的构建
    • 1.3一些感悟
  • 第一章


前言

本文依托datawhale夏令营撰写的学习笔记,教程链接
期待大家的交流指正


Task01 通过案例了解机器学习

1.1机器学习的浅显介绍

机器学习就是让机器具备找一个函数的能力,函数(处理单元,自动化流程)就可以解决一些实际的问题。图像识别函数,语音识别函数,围棋函数(alphago)等。

根据函数的不同,机器学习有不同的类别,大致分为回归、分类、结构化学习三种。回归问题就是找一个标量的结果,例如温度,湿度,浓度等标量;分类问题就是让机器做出选择判断,判断物体的种类,邮件的种类,下一步落子的位置等;结构化学习听起来比较厉害,例如让机器画一张图,写一篇文章。

1.2机器学习模型的构建

首先需要创建一个带有未知参数的函数,这个函数一般包含权重和偏执等参数。其次需要定义损失Loss,也就是常说的损失函数,损失函数也包含权重和偏置参数。最后需要根据实际数据的调参,找一个最优的结果让损失L的值最小。

  1. 创建函数
    这个函数就是机器寻找的函数的大致样子,只是有许多参数和细小的结构需要调整。
    y = b + wx1
    其中,y 是准备要预测的东西,x1是输入量,b 跟 w 是未知的参数,需要通过大量实际的数据来寻找确定。带有未知的参数(parameter)的函数称为模型(model)。w 称为权重(weight),b 称为偏置(bias)。
  2. 定义损失loss
    损失函数就是评估测量所创建的函数是否达到预期效果,这个函数的输入是模型里面的参数,模型是 y = b + w ∗ x 1 ,而 b 跟 w 是未知的,损失是函数 L(b,w),其输入是模型参数 b 跟w。
    其中损失函数的误差评估有许多不同的计算方法,因为是在大量的数据进行训练,所以也会得到大量的结果。那么如何判断损失函数的大小,如何评估这些数据呢,就需要统计的方法来对这大量的结果进行处理了。
    例如平均绝对误差MAE,均方误差MSE,交叉熵CE等计算方法。
  3. 求最优化,调整参数
    梯度下降法是经典常用的方法,梯度是一个向量,高维函数在空间内沿着梯度方向以最快的速度收敛,数学理论推导可以得到正确的梯度,但是在离散的计算机里需要进行数值计算的方法一步一步的(非光滑)的沿着梯度线进行下降。类似于凹凸不平的坑洼地,玻璃球落到坑底的轨迹。
    学习率会影响每次下降的步伐大小,理解为计算精度,大些计算快但精度低,小些计算慢但精度高。这种在做机器学习,需要自己设定,不是机器自己找出来的,称为超参数(hyperparameter)

梯度下降有一个很大的问题,没有找到真正最好的解,没有找到可以让损失最小的 w。在图 1.4 所示的例子里面,把 w 设定在最右侧红点附近这个地方可以让损失最小。但如果在梯度下降中,w 0 是随机初始的位置,也很有可能走到 w T 这里,训练就停住了,无法再移动 w 的位置。右侧红点这个位置是真的可以让损失最小的地方,称为全局最小值(global minima),而 w T 这个地方称为局部最小值(local minima),其左右两边都比这个地方的损失还要高一点,但是它不是整个误差表面上面的最低点。
事实上局部最小值是一个假问题,在做梯度下降的时候,真正面对
的难题不是局部最小值。我记得有门课程叫做凸优化,损失函数可以进行处理变为凸函数,这样就可以找出真正的”最小值“即是全局最小值。

1.3一些感悟

这里推荐3b1b的机器学习视频,非常形象的说明了梯度下降。

其实机器学习模型构建和经典控制论的思想挺像的,输入输出的传递函数反馈控制模型,比较节点传递的误差就是损失函数的值。调整模型参数使得模型在外部输入或者干扰下的性能达到快速性,稳定性,准确性,超调可控等指标。

更高一点,就是控制论,信息论,系统论三论的思想。

按照章节顺序写读书笔记(感想)了



第一章

  1. 关于线性模型
    线性模型即为一次函数式的加减嵌套,直观来说就是图像广义上是线性的。

用一堆线性函数相加逼近一个非线性函数有傅里叶变换的思想在里边。傅里叶好像是数值计算友好的。

hard s函数就是直线的,s函数是曲线的。

那么这里做了几件事:

  • 第一件是把线性函数变为多函数叠加,解决难以拟合真实函数的问题
  • 第二件是构造S函数,使得每个线性函数经过S函数复合后各自有自己的作用区间
  • 第三件是用高维线性空间,线性代数知识来描述叠加的S函数
  • 第四件是求扩展后的S函数的梯度,再更新参数,进行迭代计算
  • 第五件是由于一次计算过于高维的向量数据太庞大,所以进行分批计算。由于线性函数,线性空间的线性叠加性质,所以可以这样计算。(这里想到了线性空间和显卡的微电子设计长的很像呢)

接下来介绍了RELU函数,并引申出激活函数的概念。
RELU收敛速度比S函数快些
接着引出了神经元的概念,神经元和激活函数好像也不太一样,是两个概念吧。
训练集和测试集
过拟合和模型偏差问题

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

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

相关文章

Claude 与 ChatGPT:哪个更适合学术写作,深入对比分析

人工智能写作助手已成为学者、研究人员和学生的强大资源。Anthropic 的 Claude 和 OpenAI 的 ChatGPT 是该领域的两大主要参与者。随着这些人工智能工具的不断发展和改进,越来越多的学者面临着选择使用哪种助手来完成工作的困境。 Claude 和 ChatGPT 在应用于学术工…

第十四章 rust集合库介绍

注意 本系列文章已升级、转移至我的自建站点中,本章原文为:rust集合库介绍 目录 注意一、前言二、map三、list四、set五、deque一、前言 基本的数据结构各种语言都会有自己的实现,rust也不例外。 在rust中,这些数据结构的实现被称作“集合”,被放置在了std::colections…

【GPT】Coze使用开放平台接口-【6】Dify 也来一遍

前面讲了 coze 的相关用法,这边想着用 Dify 也来一遍,刚开始的时候接触的是 Dify,后面才是 coze。Dify 和 coze 的侧重点不同,我个人是更倾向用 Dify 构建工作流就可以了,coze 还是相对全能。 本节用 Dify 也会创建插…

Linux文件IO缓存

一、缓冲区大小对 I/O 系统调用性能的影响 总之,如果与文件发生大量的数据传输,通过采用大块空间缓冲数据,以及执行更少的 系统调用,可以极大地提高 I / O 性能 二、stdio 库的缓冲 当操作磁盘文件时,缓冲大块数据以…

集成电路学习:什么是BOM材料清单

BOM:材料清单 BOM是物料清单(Bill of Material)的缩写,也称为产品结构表或产品结构树。BOM是通过计算机辅助企业生产管理,使计算机能够识别企业所制造的产品构成和所有要涉及的物料。以下是对BOM的详细解释&#xff1a…

智能合约漏洞(一)

前言 智能合约在区块链技术中发挥着重要作用,但其复杂性和安全性问题也常常引发关注。本系列文章将深入探讨几种常见的智能合约漏洞,帮助开发者更好地理解和防范这些安全风险。本文基于 https://dasp.co/ 网站的内容和其他相关资料,分析智能…

IaaS、PaaS、SaaS是什么;算力共享商业模式;吸纳零散算力,提供高价值网络连接,促使算力流通; 以SRv6 SID为抓手,构建算网SaaS生态运营体系

目录 IaaS、PaaS、SaaS是什么 1. IaaS(基础设施即服务) 2. PaaS(平台即服务) 3. SaaS(软件即服务) 算力共享商业模式 云网融合,助力“东数西算”工程 吸纳零散算力,提供高价值网络连接,促使算力流通 以SRv6 SID为抓手,构建算网SaaS生态运营体系 IaaS、PaaS、S…

ArcGIS Pro技术应用

GIS是利用电子计算机及其外部设备,采集、存储、分析和描述整个或部分地球表面与空间信息系统。简单地讲,它是在一定的地域内,将地理空间信息和 一些与该地域地理信息相关的属性信息结合起来,达到对地理和属性信息的综合管理。GIS的…

Hreflang 和 SEO:新手完整指南

每天,数以百万计的法国用户访问像 Amazon.com 这样的全球网站。虽然 Amazon.com 的官方页面是英文的,但用户仍然可以看到法语的文本和产品描述。这是因为亚马逊的全球网站有针对法国的本地化版本,确保所有法国用户都可以自动看到法语的网站内…

五种多目标优化算法(NSGA3、MOPSO、MOGWO、NGSA2、SPEA2)性能对比,包含47个多目标测试函数,6种评价指标,MATLAB代码

一、五种多目标算法及六种评价指标简介 多目标灰狼优化算法(MOGWO): MOGWO是由Mirjalili等人在2016年提出的,基于灰狼优化算法(GWO)的多目标版本。它引入了存档机制和改进的头狼选择方式,以处理…

uniapp(微信小程序如何使用单选框、复选框)

一、先看效果 二、数据结构 说明:selected用来记录每次用户选择的值,当是单选的时候属性中的selected属性需要设置成字符串,当是复选框的时候,此时选择的是数组,selected属性应设置为数组。type用来区分当前是单选还是…

【C++ Qt day3】

2、设计一个Per类,类中包含私有成员:姓名、年龄、指针成员身高、体重,再设计一个Stu类,类中包含私有成员:成绩、Per类对象p1,设计这两个类的构造函数、析构函数和拷贝构造函数。

PTA L1-027 出租

L1-027 出租(20分) 下面是新浪微博上曾经很火的一张图: 一时间网上一片求救声,急问这个怎么破。其实这段代码很简单,index数组就是arr数组的下标,index[0]2 对应 arr[2]1,index[1]0 对应 arr[0…

权威DNS服务器

权威DNS服务器(Authoritative DNS Server)是指对特定域名(如example.com)及其下属子域名(如sub.example.com)的DNS查询提供权威答案的服务器。这意味着,当你想要知道某个特定域名的IP地址时&…

Java的IO模型详解-BIO,NIO,AIO

一、BIO相关知识 Java 的 BIO (Blocking I/O) 模型是基于传统的同步阻塞 I/O 操作。在这种模型中,每个客户端连接都需要一个独立的线程来处理请求。当线程正在执行 I/O 操作时(如读取或写入),它会被阻塞,直到操作完成…

【读点论文】Scene Text Detection and Recognition: The Deep Learning Era

Scene Text Detection and Recognition: The Deep Learning Era Abstract 随着深度学习的兴起和发展,计算机视觉发生了巨大的变革和重塑。场景文本检测与识别作为计算机视觉领域的一个重要研究领域,不可避免地受到了这波革命的影响,从而进入…

Golang | Leetcode Golang题解之第376摆动序列

题目&#xff1a; 题解&#xff1a; int wiggleMaxLength(int* nums, int numsSize) {if (numsSize < 2) {return numsSize;}int prevdiff nums[1] - nums[0];int ret prevdiff ! 0 ? 2 : 1;for (int i 2; i < numsSize; i) {int diff nums[i] - nums[i - 1];if ((…

TD学习笔记————中级教程总结(NEW)

目录 Instance功能讲解 问题&#xff1a; 报错All ops must generate the same number of instances (have the same length Replicator功能讲解 问题&#xff1a; 视频分辨率过大 Cannot find function named:onValueChange Instance功能讲解 数据通道的长度要一致 N…

安泰功率放大器应用领域:MEMS传感器的应用有哪些

功率放大器的应用领域很广泛&#xff0c;从超声测试、材料测试、水声测试再到压电驱动、电磁驱动生物医疗&#xff0c;它都能为整个系统提供强劲的激励&#xff0c;同样功率放大器在MEMS传感器系统的激励中也有着良好应用&#xff0c;今天Aigtek安泰电子就带大家走进MEMS传感器…

Hadoop: Mapreduce了解

目录 1.MapReduce概述 2.MapReduce的基本工作原理 2.1.Map阶段 2.1.1.Map源码解析 2.1.2.map端代码总结 2.2.Shuffle and Sort阶段 2.3.Reduce阶段 2.3.1.Reduce源码解析 2.3.2.Reduce端源码总结 3.数据流与任务执行 3.1.数据输入与输出格式 3.1.1.TextInputFormat…