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

news/2024/5/2 8:41:11/文章来源:https://blog.csdn.net/qq_52431436/article/details/128031769

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

文章目录

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

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

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

1.1 深入理解导数的本质

  • 书中这两个挺有意思的

    • 哲学层面理解变化

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

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

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

  • 从瞬时速度到导数

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

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

  • 从近似运动来理解导数

    • 撇开极限的概念来理解

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

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

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(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), 则 ∫abf(x)dx=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+Rn(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)

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

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

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

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

    • 书上的例子蛮好的

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

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

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

参考资料

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

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

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

相关文章

【附源码】计算机毕业设计JAVA疫情下智慧社区系统

【附源码】计算机毕业设计JAVA疫情下智慧社区系统 目运行 环境项配置: Jdk1.8 Tomcat8.5 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: JAVA …

CorelDRAW2023最新版矢量设计软件

CorelDRAW2023最新版是我比较用的比较好的一款软件,因为其作为一款优秀的矢量设计软件,兼具功能和性能,它是由Corel公司出品的矢量设计工具,被广泛应用于排版印刷、矢量图形编辑、网页设计等行业。CDR软件的优势在于:易…

studio3T import a SQL Database to Mongodb(从mysql中导入数据到mongodb)

具体参考studio3T官方文档:Import a SQL Database to MongoDB in 5 Steps | Studio 3T 1、打开SQL Migration-->选择SQL to MongoDB Migration 2、创建源数据库的连接(本文源数据库是mysql) 3、选择目标数据库 默认选择当前连接的数据库…

深度学习入门(6)误差反向传播基础---计算图与链式法则

在我的第三篇博文《深度学习入门(3)神经网络参数梯度的计算方式》中详细介绍了通过微分方式计算神经网络权重参数的梯度。但是数值微分的方式计算梯度效率较低。后续博文会介绍另外一种更加高效的梯度计算方式---误差的反向传播。 这篇文章介绍的是误差…

新知实验室 腾讯云实时音视频 RTC WEB端初识

这里写目录标题前言初识产品产品介绍基础功能高级功能扩展功能快速上手位置创建源码下载源码文档写入密钥使用调试区域前言 当前时代是信息行业飞速发展的时代,万物都在朝物联网方向转化。而人作为一个意识体,也正在通过互联网,认识一个全新…

Design Compiler工具学习笔记(6)

目录 引言 知识储备 实际操作 设计源码 仿真源码 VCS执行仿真 DC 综合 引言 本篇继续学习 DC的基本使用。本篇主要学习 DC 综合之后的效果分析,重点在时序分析。 前文链接: Design Compiler工具学习笔记(1) Design Comp…

cubeIDE开发, stm32的OLED点亮及字符显示设计(基于SPI通信)

一、SPI 通信技术 显示屏(LCD、OLED)接口一般有I2C、SPI、UART、RGB、LVDS、MIPI、EDP和DP等。一般3.5寸以下的小尺寸LCD屏,显示数据量比较少,普遍采用低速串口,如I2C、SPI、UART。SPI(Serial Peripheral I…

css-实现卡牌的发牌和翻转动画

场景描述: 打开抽卡界面,卡牌出现并发牌至固定的位置,此时展示的是卡牌的背面;用户点击卡牌时,卡牌进行翻转,并展示卡牌内容,或者发牌后自动进行翻转和展示。 本实例在页面挂载后自动播放动画&…

systemd 252 如预期的锁定了 Linux 引导过程

导读今天给大家介绍一下systemd 252锁定 Linux 引导过程systemd 252 如预期的锁定了 Linux 引导过程 之前,我们 报道 过,systemd 创始人发文指出 Linux 引导过程不安全,并提出采用加密签名的统一内核镜像(UKI)&#x…

linux搭建git服务器,windows客户端配置git

Linux服务器配置之Git服务器搭建步骤: 一、配置环境 1、服务器:CentOS 8.2(64位) Git (version 2.27.0) 2、客户端:Windows 10 (64位) Git(version 2.38.…

Actipro Windows Forms Controls 22.1.3 注册版

Actipro Windows Forms Controls 窗体控件 一组用于构建漂亮的 Windows 窗体桌面应用程序的 UI 控件 语法编辑器 语法高亮代码编辑器控件和解析套件。 为您自己的应用程序带来类似于 Visual Studio 的强大代码编辑体验,以及流行代码编辑器中的所有高级功能。大多数流…

C#程序采用AOT发布,真的可以避免被反编译?

上次跟大家分享过,C#程序反编译与篡改代码的教程《C#程序发布时,一定要好好的保护,不然你会后悔的!》,根据这个教程,我们都知道C#程序,发布后必须进行加密混淆,不然就是相当于源码直…

Redis基础命令(set类型)交集并集差集

目录 概述: 特征: Set常见命令: 1.Sadd key number..:向set中添加一个或多个元素 2.Srem key number...:移除set中指定的元素 3.Scard key:返回set中元素的个数 4.Sismember key member:判断一个元素…

html实现好看的导航主页(附源码)

文章目录1.设计来源1.1 主界面1.2 底部导航1.3 屏幕保护2.效果和源码2.1 动态效果2.2 源代码源码下载作者:xcLeigh 文章地址:https://blog.csdn.net/weixin_43151418/article/details/128028326 html实现好看的导航主页(附源码) html实现好看的导航主页&…

小小王总,如何变成任正非、化腾、强东这样的巨人!

原创:小姐姐味道(微信公众号ID:xjjdog),欢迎分享,非公众号转载保留此声明。王总特别迷信外面的企业培训。当遇到问题时,他喜欢去取经。这个经不像唐僧取经一样,需要历经九九八十一难…

谱本征正交分解 (SPOD)附matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。 🍎个人主页:Matlab科研工作室 🍊个人信条:格物致知。 更多Matlab仿真内容点击👇 智能优化算法 …

python下载安装教程

1、下载python 下载地址:https://www.python.org/,点击Downloads,选择对应电脑系统,进行下载。 (文末送读者福利) 2、安装python,以python3.10.7安装为例。 (1)双击安装包&#x…

[ Linux ] 进程间通信之共享内存

在上篇博文我们了解了通过管道完成进程间通信,我们了解匿名管道和命名管道,并且通过编码模拟实现使用了匿名管道和命名管道。我们知道要让进程间完成通信必须让这两个进程首先看到同一份资源,因此给予这个前提,本篇博文我们了解另…

Java 内存溢出(二)使用 MAT 分析 .hprof 内存映像文件

目录一、内存溢出时自动导出 .hprof 文件二、下载安装 MAT三、启动 MAT四、MAT 分析 hprof 文件1.Overview 概览2.Leak Suspects 溢出原因猜测3.Histogram 对象实例数量排序4.Dominator Tree 支配树.hprof 文件: 是 java 项目的 Heap Dump 文件,也叫内存…

基于JAVA的新闻发布管理系统开发参考【数据库设计、源码、开题报告】

数据库脚本下载地址: https://download.csdn.net/download/itrjxxs_com/86427655 目的 本系统的目的是实现新闻发布系统的基本功能。新闻发布系统提供了不同类型新闻(如社会新闻、娱乐新闻和技术前沿新闻等) 满足不同用户需求;系…