《从零开始:机器学习的数学原理和算法实践》chap1

news2025/7/19 1:52:57

《从零开始:机器学习的数学原理和算法实践》chap1 学习笔记

文章目录

  • 《从零开始:机器学习的数学原理和算法实践》chap1 学习笔记
    • chap1 补基础:不怕学不懂微积分
    • 1.1 深入理解导数的本质
      • 直观理解复合函数求导
    • 1.2 理解多元函数偏导
    • 1.3 理解微积分
    • 1.4 泰勒公式
    • 参考资料

chap1 补基础:不怕学不懂微积分

绝大多数机器学习算法在训练或者预测时会碰到最优化问题,而最优化问题的解决需要用到微积分中函数极值的求解知识

1.1 深入理解导数的本质

  • 书中这两个挺有意思的

    • 哲学层面理解变化

      • 古希腊”飞矢不动“的论断
        • 该论断认为飞行的箭每一时刻必然位于空中的一个特定位置,每一瞬间都是静止的,既然每一瞬间都是精致的,那么飞行的箭就是”静止不动“的
      • 日常我们使用”运动“概念的时候,会牵涉时间、位置两个因素
        • ”每一瞬间箭都是静止的“这句话有问题
          • 每一瞬间就是每个时刻,每个时刻都会处于某个位置上,但是“静止”是一个跟“时间段”有关联的概念,不存在某个时 刻是“静止”还是“运动”的说法
          • 为了更好地刻画”运动“或”变化“,数学中引入了函数的概念
    • 生活中处处有函数

      • 下面是书中原话,我觉得很好玩

        ​ “你是你吗?”时刻 t 1 t_1 t1看到这句话的你跟时刻 t 2 t_2 t2开始思考这句话的你,难道没有发生变化吗?显然,时刻 t 2 t_2 t2的你已经不是时刻 t 1 t_1 t1的你了,但是大家并不会因此觉得“你不是你”。更一般地说,小时候的你跟现在的你相比,样貌、思想、行为、爱好都存在很大的不同,但是你并不会觉得小时候的你不是你。所以,什么是你呢?
        ​ 我们知道,任何事物都处于时间的河流之中,时间就像河流一样滚滚向前,不断流逝。所以,你可以被看成一个以时间为自变量、自身状态为因变量的函数,自变量的取值范围是你的寿命,而你就是与时刻对应的无穷多状态的总和。
        ​ 你在不同时刻有着不同的状态,我们为什么又会认为不同状态下的你是同一个“你”呢?这其实可以用连续函数来解释。虽然不同时刻的你对应着不同的状态,但是相邻时刻对应的状态差别很小,并且随着时刻越来越接近,状态差别也越来越小,这就是函数的连续性。这很好理解,例如用你读到这段话前后的时刻来对比,你的状态差别很小,别人也不会奇怪地对你说“你变了”;可是如果你跟几年未见的朋友再次见面,朋友可能就会发现你的变化。

  • 从瞬时速度到导数

    • 导数典型的应用场景就是对瞬时速度的求解

      这里需要用到极限的概念
      在这里插入图片描述

  • 从近似运动来理解导数

    • 撇开极限的概念来理解

    • 寻找一个与变速运动最接近的匀速运动来求解

    • 不过不知道书上这段话是否全面,因为书上举的例子是二次函数的

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RkmajEB6-1669338352304)(https://cdn.jsdelivr.net/gh/xin007-kong/picture_new/img/20221125004819.png)]

直观理解复合函数求导

  • 函数的主要复合方式

    • 函数相加
    • 函数相乘
    • 函数嵌套
  • 感觉乘法法则讲的不错
    在这里插入图片描述

1.2 理解多元函数偏导

  • 多元函数偏导数是什么

    • 求解方法:各个击破,对一个变量求导时,将其他变量暂时看成固定的参数
    • 保持其他变量固定而关注一个变量的微小变化带来的函数值变化情况,这种变化的比值就是偏导数
  • 搞清楚梯度是什么

    • 梯度是导数对多元函数的推广,它是多元函数对各个自变量求偏导形成的向量

    • 梯度实际上是多变量微分的一般化

    • 梯度的本意是一个向量,表示某一函数在该点处的方向导数沿着该方向取得最大值,即函数在该点处沿着该方向(此梯度的方向)变化最快,变化率最大(为该梯度的模)

    • 一般来说,梯度可以定义为一个函数的全部偏导数构成的向量

      • 突然联想到高中学物理的时候的”沿着电场强度方向,电势下降最快“

        • 去知乎上看了一些证明

          静电场中场强如何表示成点位的负梯度的?不要从环路积分往回推。就从电场强度的表达式进行直接的数学推导。? - Sometimes Naive的回答 - 知乎 https://www.zhihu.com/question/41278859/answer/1477812184

          img

        • 然后又在想 梯度下降肯定也能用到求电势的一些问题里面吧哈哈哈

1.3 理解微积分

书上是这样划分的,有一定道理

在这里插入图片描述

  • 直观理解积分

    • 面积累加
  • 直观理解微积分基本定理

在这里插入图片描述

面积的差

如果函数 f(x) 在区间 [a, b] 上连续, 并且存在 原函数 F(x), 则 ∫ a b f ( x ) d x = F ( b ) − F ( a ) \int_{a}^{b} f(x) \mathrm{d} x=F(b)-F(a) abf(x)dx=F(b)F(a)

1.4 泰勒公式

太真实了
在这里插入图片描述

  • 泰勒公式是什么

    泰勒公式的典型形式如下: f ( x ) = f ( a ) 0 ! + f ′ ( a ) 1 ! ( x − a ) + f ′ ′ ( a ) 2 ! ( x − a ) 2 + ⋯ + f ( n ) ( a ) n ! ( x − a ) n + R n ( x ) f(x)=\frac{f(a)}{0 !}+\frac{f^{\prime}(a)}{1 !}(x-a)+\frac{f^{\prime \prime}(a)}{2 !}(x-a)^{2}+\cdots+\frac{f^{(n)}(a)}{n !}(x-a)^{n}+R_{n}(x) f(x)=0!f(a)+1!f(a)(xa)+2!f(a)(xa)2++n!f(n)(a)(xa)n+Rn(x)

    其中, R n ( x ) R_{n}(x) Rn(x) 是高阶无穷小量。上述公式也称为 f(x) 在点 a 处的泰勒级数

    • 泰勒公式的主要作用是对特别复杂的函数进行化简, 具体来说就是通过近似函数来代替原函数, 通过使用简单熟悉的多项式去代替复杂的原函数
  • 直观理解泰勒公式

    • 多项式函数具有很好的性质,如易于计算、求导和积分等,所以如果能够用多项式函数来 近似代替一些复杂函数,那样很多问题就好解决了

    • 泰勒公式在实践中有着大量而广泛的应用,是数学中广泛应用的 函数近似工具。泰勒公式常见的应用场景是在某个点附近用多项式函数去逼近某个复杂的函数, 从而通过多项式函数在该点处的数值去获得复杂函数在该点处的近似值

    • 书上的例子蛮好的

    • 在这里插入图片描述在这里插入图片描述
      在这里插入图片描述

  • 微积分基本定理与泰勒公式的关系

    • 感觉很妙
    • https://baijiahao.baidu.com/s?id=1668076072865336256&wfr=spider&for=pc

参考资料

  • 《从零开始:机器学习的数学原理和算法实践》

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

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

相关文章

超纯水系统中硼离子去除技术原理

硼在元素周期表里面是五号元素,是IIIA族中唯一 一个非金属元素。它是制造P型半导体的主要 掺杂剂,基材中硼的含量直接影响半导体的极限电压,因此要严格控制基材中硼的含量。在半导体 制造的过程中,水、气、化直接跟产品接触&…

b站黑马JavaScript的Ajax案例代码——图书管理案例

目录 目标效果: 重点原理: 1.js数组操作中push方法 2.jquery中append方法 3.js数组操作中join方法 4.jQuery中attr方法 5.jQuery中trim方法 代码部分: 1. 图书管理案例.html(js部分全是重点,html部分用于看结构) 2.jquery.js…

软考-系统架构师-计算机与网络基础知识-计算机网络基础知识

文章目录1.网络概述1.1开放系统互连参考模型1.2OSI协议集2.计算机网络2.1广域网局域网和城域网2.2网络互联2.3Internet3.网络管理与网络安全3.1网络管理3.2计算机网络安全3.3VPN4.网络工程5.存储及负载均衡技术5.1RAID技术5.2网络存储技术注1.网络概述 计算机网络通信按距离&a…

论文阅读笔记 | 三维目标检测——PointPillars算法

如有错误,恳请指出。 文章目录1. 背景2. 网络结构3. 实验结果paper:《PointPillars: Fast Encoders for Object Detection from Point Clouds》 1. 背景 PointPillars的出发点同样与SECOND一样,希望改进VoxelNet所使用3d卷积计算量太大推理…

Docker 安装 mysql5.7

docker拉取镜像命令 docker pull mysql:5.7 docker安装MySQL命令 docker run -p 3306:3306 --name mysql -v /mydata/mysql/log:/var/log/mysql -v /mydata/mysql/data:/var/lib/mysql -v /mydata/mysql/conf:/etc/mysql -e MYSQL_ROOT_PASSWORDroot -d mysql:5.7 修改MySQL的…

SpringBoot2.7.4整合Redis

目录 一、添加maven依赖 二、添加配置项 三、新增配置类 四、编辑实体类 五、编写接口 六、编写业务层 1.编写service层 2.编写service实现层 七、测试接口 一、添加maven依赖 <dependency><groupId>org.springframework.boot</groupId><artif…

@PostConstruct详解

1、 Servlet中增加了两个影响Servlet生命周期的注解&#xff0c;PostConstruct和PreDestroy&#xff0c;这两个注解被用来修饰一个非静态的void&#xff08;&#xff09;方法。写法有如下两种方式&#xff1a; PostConstruct public void someMethod(){} 或者 public PostConst…

第六章:Java内存模型之JMM

有关JMM的面试题&#xff1f;计算机硬件存储体系Java内存模型Java Memory Model概念原则能干什么JMM三大特性原子性可见性有序性JMM规范下&#xff0c;多线程对变量的读写过程JMM规范下&#xff0c;多线程先行发生原则之happens-beforehappens-before 先行发生原则的概念Happen…

CentOS中yum install命令如何找到安装包的下载地址

我们通常用的yum install命令是怎么找到我们想要的下载地址的&#xff0c;这里简单做一下分析 首先&#xff0c;搜索所有/etc/yum.repos.d下所有repo 在每个repo中都有一个baseurl&#xff0c;这里以docker-ce.repo下载containerd.io 的rpm包为例 docker-ce的部分repo为 [do…

怎么去除视频上的文字?一篇教你:视频上的文字水印怎么去除

原创视频更能够吸引人&#xff0c;但是毕竟热点有限&#xff0c;想要随时保持活跃度和吸引力就必须借助更多的视频素材来留住粉丝。但是很多视频素材是有水印、文字、LOGO或者一些图像的&#xff0c;那怎么去除视频上的文字呢&#xff1f;小编一篇简单文章教你怎么去除视频上的…

GEO振弦式钢筋计的组装

&#xff08;1&#xff09;按钢筋直径选配相应的钢筋计&#xff0c;如果规格不符合&#xff0c;应选择尽量接近于结构钢筋直径 的钢筋计&#xff0c;例如&#xff1a;钢筋直径为 35mm&#xff0c;可使用 NZR-36 或 NZR-32 的钢筋计&#xff0c;此时仪器的最小 读数应进行修…

Quarkus 集成 mailer 使用 easyexcel 发送表格邮件

前言 在quarkus 项目开发中,需要实现一个把用户数据写入到excel 表格中,然后发送邮件给到对应的用户邮箱上,在查找了Quarkus 官方文档后发现,Quarkus 对于发送邮箱的服务是天然支持的. 官方文档: https://cn.quarkus.io/guides/mailer 环境配置 首先发送邮箱服务,那么就需要有…

CAS:89485-61-0,mPEG-N3,mPEG-Azide,甲氧基-peg-叠氮试剂供应

mPEG-N3&#xff08;mPEG-Azide&#xff09;中文名为甲氧基-聚乙二醇-叠氮&#xff0c;它所属分类为Azide PEG Methoxy PEG。CAS编号为89485-61-0。 peg试剂的分子量均可定制&#xff0c;有&#xff1a;甲氧基-聚乙二醇-叠氮 5k、甲氧基-PEG-叠氮 10k、mPEG-Azide 2k、甲氧基-…

error20221125--ssm项目用maven打包报错“找不到程序包 java.lang”或者“程序包javax.crypto不存在”,以及解决方案

从svn拉的ssm项目&#xff0c;写完代码准备发测试&#xff1b;结果用maven打war包的时候报错了 这个时候在控制台找到报错信息如下图 说“在类路径或引导类路径中找不到程序包 java.lang”&#xff1b; 我寻思着&#xff0c;java.lang不是jdk中基础的包吗&#xff1f;不应该有…

c盘哪些文件可以删除?正确答案在这里!

当我们使用电脑时&#xff0c;经常下意识把各种文件数据保存在c盘&#xff0c;导致c盘的空间越来越小。想要清理电脑缓存&#xff0c;c盘哪些文件可以删除&#xff1f;注意&#xff0c;清理文件之前&#xff0c;记得要备份好重要的数据&#xff01;下面一起来看看哪些c盘文件可…

PyQt5 QDockWidget

PyQt5 QDockWidget方法描述setWidget()在Dock窗口区域设置QWidgetsetFloating()设置Dock窗口是否可以浮动&#xff0c;如果设置为True&#xff0c;则表示可以浮动setAllowedAreas()设置窗口可以停靠的区域 ●LeftDockWidgetArea:左边停靠区域●RightDockWidgetArea:右边停靠区域…

kafka消息的序列化与反序列化

一、前言 在使用kafka发送消息时&#xff0c;producer端需要序列化&#xff0c;在大多数场景中&#xff0c; 需要传输的是与业务规则相关的复杂类型&#xff0c; 这就需要自定义数据结构。 Avro是一种序列化框架&#xff0c; 使用JSON来定义schema&#xff0c; sh cema由原始类…

若依前后端分离发布富文本框内容 | uni-app微信小程序展示富文本框内容

微信小程序端引入富文本样式 富文本提交图片json error 一、展示示例&#xff1a; 1.PC端前端发布界面 可以设置文字大小&#xff0c;居中&#xff0c;可以插入图片&#xff0c;设置图片大小&#xff0c;居中。 2.小程序端展示 二、基于若依框架踩坑和实现 1.数据库字段设…

RabbitMQ【直连、主题、扇形交换机实战】

目录 1. 直连交换机&#xff08;Direct实战&#xff09; provider生产者&#xff08;publisher&#xff09; consumer消费者 2. 主题交换机&#xff08;Topic实战&#xff09; provider生产者&#xff08;publisher&#xff09; consumer消费者 3. 扇形交换机&#xff08;Fa…

3.71 OrCAD新建原理图时,每一个类目的含义是什么?OrCAD软件怎么显示元器件的封装名称?

笔者电子信息专业硕士毕业&#xff0c;获得过多次电子设计大赛、大学生智能车、数学建模国奖&#xff0c;现就职于南京某半导体芯片公司&#xff0c;从事硬件研发&#xff0c;电路设计研究。对于学电子的小伙伴&#xff0c;深知入门的不易&#xff0c;特开次博客交流分享经验&a…