04 2024 档案
摘要:今天我们来讨论一下什么是方向导数,什么是梯度,以及为什么沿着梯度的反方向移动会让函数值减小得最快。首先我们了解一下偏导数。偏导数的概念非常容易理解,例如下图,z= + ,x与y形成的二维平面上,每个点(对应一组xy值)都能在z的函数图像上找到对应的投影点,这个点的高度就是z值
阅读全文
摘要:前面已经介绍了标量对向量和矩阵的求导以及向量和矩阵对标量的求导,现在介绍一下向量和向量之间的求导规则。 向量对向量求导 不管被求导的向量是行向量还是列向量,我们求导的步骤都是统一的,只要选择了分母布局,其求导结果都是一个与分母同行数的矩阵,而列数则等于分子向量的维数。具体的求导过程如下:先将分子向量
阅读全文
摘要:前言 在大学的微积分课程中,我们学习过关于标量函数的导数。但是当我们求解一个多元函数的极值时,单独一个自变量的偏导数往往不能告诉我们太多信息,于是我们有一种天然的想法是要把每个自变量的偏导数放在一起,看看他们的联合效果如何。这个过程其实是一个向量求导的过程。也就是说,我们把每个元素单独求偏导的结果按
阅读全文
摘要:09-基变换 基向量不同,则相同坐标的向量实际上并不是同一个。 将新的基向量看作是线性变换,则其列应该是原本的基向量现在的位置。将一个新坐标系下的向量a(x,y)转换到我们的坐标系中:用这个矩阵乘以这个向量。原因:用两组基向量分别表示向量在两个坐标系下的位置,则结果应该是相同的。所以要找到在我们的坐
阅读全文
摘要:06-逆矩阵、列空间、秩与零空间 线性方程组:A = 线性代数的一个作用:帮助我们处理线性方程组。 形式:矩阵与向量的乘法。 几何意义:寻找一个向量 ,这个向量在特定的线性变换之后与目标向量 重合。 行列式不等
阅读全文
摘要:04-矩阵乘法与线性变换复合的联系 问:如何描述连续两个线性变换? 答:先左乘一个矩阵,再左乘一个。如果我们用一个矩阵来描述这个复合过程,那么这个矩阵应该等于两个矩阵的乘积,这就是矩阵的乘法。 如何理解上图:把右侧矩阵M2看作看作第一次变换后的 向量和 向
阅读全文
摘要:前言: 本系列为《线性代数的本质》的笔记,作者为3Blue1Brown大神,视频的b站链接为 https://www.bilibili.com/video/BV1ys411472E/?spm_id_from=333.999.0.0&vd_source=cb7d5dd830bc59a85c459b0b
阅读全文
摘要:本篇目录 树的相关概念 树的种类 二叉树的概念和性质 二叉树的广度优先遍历 二叉树的深度优先遍历 树的相关概念 数据结构大致上分为线性结构和非线性结构,线性结构指的是元素之间存在着“一对一”的线性关系的数据结构;非线性结构的逻辑特征是一个结点元素可能对应多个直接前驱和后继结点。树就是一种非线性结构,
阅读全文
摘要:面向对象的基本原理是对对象建模,让抽象的逻辑封装成具象的行为,更方便人们理解和使用。在前面的文章中我写了关于继承的一些理解,一般来说这里应该讨论与继承同为面向对象三个主要特征的多态与封装了。但是我认为多态与封装是一种伴随着类的定义自然而然形成的现象,只有先接触了一定数量的类,我们才能更好地理解多态;
阅读全文
摘要:排序方法指的是对一个无序的数列,按照一定方法让其变得有序。排序法重点是思维过程,本文中的四种排序方法都较为基础,但其中蕴含的算法思维各不相同,适合作为算法入门学习内容。 选择排序法 我认为选择排序法是较符合一般人思维模式的排序法,它是指对于每个数列,从其中找出最小的一个数字,将其放至首位,然后再不断
阅读全文
摘要:继承简介 继承是指通过在创建类时提供另一个类(称为父类)的名称,来获取父类的属性与方法。继承最明显的作用就是节约代码量,不需要重复定义已经存在的属性与方法。但是深入思考就会发现,复用只是继承的附带作用,继承最有意义的一点,是将不同的类联系了起来,让不同的类之间能够有一定的共性。当我们在面对不同类的时
阅读全文
摘要:* 什么是面向对象 面向对象是一种编程思维。我们常说python是一种面向对象的编程语言,指的是python有很多可以支持我们实现面向对象编程的语法,例如其中最重要的“类”的概念。与面向对象相对应的是面向过程的编程。面向过程是面向对象的基础,指的是按照事务处理的过程进行编程,把每一步都用编程语言实现
阅读全文