![](https://img-blog.csdnimg.cn/20190927151053287.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
数学和算法
文章平均质量分 69
可以去马同学的专栏 https://www.matongxue.com/columns/,把各种数学知识的现实意义讲解的很透彻
Mister Zhu
云在青天水在瓶
展开
-
【数学与算法】非线性最小二乘法的解法【最速梯度下降法】、【牛顿法】、【高斯牛顿法】、【LM算法】
关于非线性优化的问题,可以推荐观看视觉SLAM十四讲视频的第六讲 非线性优化。如果不明白线性和非线性,可参考这篇博客:线性最小二乘和非线性最小二乘下面这篇博客写的比较容易让人混淆,尤其是里面的拟合函数f(x)、与F(x)的说法,看懵我了,不推荐看:非线性最小二乘求解方法详解非线性最小二乘:所谓非线性,就是f(x)无法表示为的线性关系,而是某种非线性关系。这让求解导函数为零的问题变成了一个不断寻找下降增量 ∆xk 的问题。以下就是寻找增量的方法。下面是对平方展开的:一阶梯度法(梯度下降原创 2022-10-11 18:41:33 · 3533 阅读 · 0 评论 -
【数学与算法】Kruskal算法 - 寻找无向图中最小生成树
Kruskal算法 ,也是一种寻找无向图中最小生成树的算法。基本思想:维持一个森林,森林是很多树的集合。初始的时候,一共有n棵树,每个节点是一棵树。初始的时候,森林里没有边。每一轮循环会检查一条边。如果这条边满足某些性质,那么就选中这条边。让两棵树合并起来。每合并一次会减少一棵树。当只剩下一棵树的时候,终止循环。每一次循环研究一条边。所以最终循环次数最多不会超过图中边的数量。例子:算法的输入是图,如下,7个节点和12条边:创建一个队列queue,里面存储所有的边edge,所有的边都按原创 2022-10-11 18:35:37 · 2441 阅读 · 2 评论 -
【数学与算法】最小生成树Spanning Trees
无向图:无向图的意思是,边没有方向。树:树是一类特殊的图,树是由节点和无向边构成的;所有的树都是无向图,但是无向图未必是树;树有一些性质,但并非所有图都有这些性质;树是连通图。连通图的意思是,任何节点之间都至少有一条路径。在树中,任何两个节点之间,有且只有一条路径;树中没有回路。即,从一个节点出发,不能沿着某条路径再回到这个节点。如果树有n个节点,那么树一定有n-1条边。多一条边会形成回路,少一条边会失去连通性。树有三大要素:1.连通;2.无环 (原创 2022-10-11 18:34:09 · 1038 阅读 · 0 评论 -
【数学与算法】Prim算法 - 寻找无向图中最小生成树
Prim's 算法的基本想法是:种一棵树,让树从一个节点增长到n个节点。初始时,树只有一个节点,可以是n个节点中的任意一个,没有边(这是肯定的,两个节点才会有边);每一轮循环会找出一个节点和一条边,把他们接到树上,这样树会变大一点。整个过程都要保证树的两个性质:1.树是连通图;2.树没有回路;算法循环次数等于节点的数量;这是因为,每一轮循环就会往树里添加一个节点。例子:算法的输入是一张连通的无向图,如下:使用集合U记录生成的树的节点。下面的介绍中,使用红色标出集合U中的节点,原创 2022-10-11 18:33:35 · 684 阅读 · 0 评论 -
【数学与算法】【分段三次Hermite插值】和【分段三次样条插值】
光滑曲线在数学上的定义是什么??原文链接:光滑曲线在数学上的定义是什么?回答1:定义:切线随切点的移动而连续转动。若函数f(x)f(x)f(x)在区间(a,b)(a,b)(a,b)内具有一阶连续导数,则其图形为一条处处有切线的曲线。则为光滑曲线。简言之,若f′(x)f'(x)f′(x)连续,则曲线光滑。但反之,不成立。比如圆,圆在直角坐标系下,有两条竖直的切线,导数不存在(为∞大)。回答2:不敢保证对。但同纠结这个问题,想了许久,有点心得,拿来探讨。希望有缘破解心中迷雾:1.光滑,从直观上原创 2022-03-18 22:14:17 · 8491 阅读 · 2 评论 -
【数学与算法】贝塞尔(Bézier)曲线
假如你有5个点P0、P1、P2、P3、P4P_0、P_1、P_2、P_3、P_4P0、P1、P2、P3、P4,想根据这5个点拟合出一条曲线,那么,如果使用贝赛尔曲线的话,拟合的效果就如上图最后一个所示,最后一个图是4次贝塞尔曲线。4次贝塞尔曲线的控制点就是这五个点,其他点不是4次贝塞尔曲线控制点,确切的说,是递归需要用到的其他低阶次的控制点。通过上面图,原创 2022-03-15 20:16:46 · 26803 阅读 · 3 评论 -
【数学与算法】曲线上各点的曲率kappa和倾角theta
曲线的曲率(curvature)就是针对曲线上某个点的切线方向角对弧长的转动率,通过微分来定义,表明曲线偏离直线的程度。数学上表明曲线在某一点的弯曲程度的数值。曲率越大,表示曲线的弯曲程度越大。曲率的倒数就是曲率半径。如上图,一段曲线上有两点A\color{red}AA和B\color{red}BB。α\color{red}\alphaα为A\color{red}AA、B\color{red}BB两个点的切线的转角,图中构成夹角α\color{red}\alphaα分别为两个点切线;β1\col原创 2022-03-08 21:03:07 · 9046 阅读 · 3 评论 -
【数学与算法】向量内积(点乘)和外积(叉乘)概念及几何意义
向量内积(点乘)和外积(叉乘)概念及几何意义转载 2021-12-25 14:12:58 · 14258 阅读 · 0 评论 -
【数学与算法】支持向量机、线性判别 详细数学原理
线性判别转载 2021-12-17 20:15:00 · 281 阅读 · 0 评论 -
【数学与算法】隐函数定义,以及隐函数求导公式
本篇摘自百科隐函数:隐函数求导:转载 2021-12-16 20:45:00 · 920 阅读 · 0 评论 -
【数学与算法】凸函数、凸集、凸函数的一二阶数学解释
1. 凸函数的定义 1.1 凸函数的几何解释 所谓凸函数,其实指的是下凸函数,从几何意义上看,凸函数就是任意两点之间的弦(即这两点构成的线段)都在该函数图像(此处是指这两点之间的函数图像,而非全部的函数图像)的上方。 2. 凸函数的一阶特征 2.1 一阶特征的几何解释 在凸函数任何点画一条切线,在这条线上的每个点都将小于在函数f上的点, 2.2 一阶特征的数学解释 3. 凸函数的二阶特征 3.1 二阶特征的几何解释 在点x处函数图像具有正(向上)的曲率 3.2 二阶特征的数学.转载 2021-12-16 20:15:00 · 1512 阅读 · 0 评论 -
【数学与算法】如何通俗的理解概率密度函数
概率分布函数就是概率密度函数。累计分布函数:对概率密度函数从负无穷到xxx积分,得到的是累计分布函数。如何通俗的理解概率密度函数?首先考虑这样一个问题,你点了一个外卖,外卖说会在两个小时送达。那么送达的时间如下图(本次问题不考虑你进行催单和其他特殊情况,请勿抬杠)若外卖在第30分钟到60分钟送达那么概率是多少呢?没错是(60-30)/120=1/4,我们是怎么判断的呢?我们通过面积判断 ,如下图:(⚠️注意第二张图与第一张图相比,只是我标明了纵坐标而已,其他并没有什么变化,而且其实我们知道纵坐标转载 2021-12-07 19:34:08 · 2194 阅读 · 0 评论 -
【数学与算法】KMeans聚类代码
KMeans聚类是根据各点距离聚类中心的距离来把所有点分类到不同类别的无监督算法。它适合分类一堆一堆的点:见下图中左边的三堆点。不适合对几条曲线组成的点进行分类,见下图的右边三条线:以一条曲线的起点和终点距离:因为一条曲线特别长,他的起点和终点之间的距离可能也会特别大,因此存在别的曲线上的点更接近他的起点和终点,那么起点和终点可能会被分类到别的曲线类别。因此最终的分类效果肯定是很差。代码:下面例子用kmeans分类一系列三维空间点。(不要用来分类几条曲线,效果烂的很,完全用不了。)头文件:原创 2021-07-21 11:24:17 · 2264 阅读 · 1 评论 -
【数学与算法】三角函数公式【仅供查询】
两角度和公式:二倍角公式:还有三倍角公式,半角公式,和差化积,积化和差,诱导公式,万能公式等,可参考这里原创 2021-11-10 19:08:14 · 344 阅读 · 0 评论 -
【数学与算法】PCA主成分分析与降维的通俗理解
PCA主成分分析的通俗理解原创 2021-12-23 20:15:49 · 1140 阅读 · 0 评论 -
【数学与算法】奇异矩阵、奇异值、奇异值分解、奇异性
我们经常会碰到几个名词很相近的一些数学术语,例如`奇异矩阵、奇异值、奇异值分解、奇异性`,经常会混淆,这里把它们的定义放在一起,做一下总结:原创 2021-12-23 14:41:17 · 18564 阅读 · 0 评论 -
【数学和算法】奇异值分解在【图像压缩】中的应用
图片压缩比如说,有下面这么一副512x512的图片(方阵才有特征值,所以找了张正方形的图):这个图片可以放到一个矩阵里面去,就是把每个像素的颜色值填入到一个512x512的A矩阵中。根据之前描述的有:其中, /\是对角阵,对角线上是从大到小排列的特征值。我们在 /\中原创 2021-09-13 15:18:12 · 2096 阅读 · 0 评论 -
【数学和算法】最小二乘法,SVD奇异值分解、LU分解的应用场景
多项式拟合曲线时使用最小二乘法,把问题化简为A*x=B的线性方程组;然后使用LU矩阵分解算法求解线性方程组A*x=B,具体做法是:先对矩阵A进行行初等变换得到上三角矩阵U;再求出下三角矩阵L,就变成了求解L*U*x=B,由于L、U是下三角或上三角矩阵,所以很容易求解x;SVD奇异值分解是使用特殊方法来求解出矩阵的左奇异矩阵U和右奇异矩阵V。但是求解U、V的方法有很多种,并非只有使用A^T*A 这一个方法,而且计算矩阵A^T*A 这个方法计算量太大,不合适。该博客是以这种方法为例,所以这一点需要原创 2021-10-19 14:24:54 · 1100 阅读 · 0 评论 -
【数学和算法】SVD奇异值分解原理、以及在PCA中的运用
SVD奇异值分解原创 2021-10-18 19:29:04 · 2002 阅读 · 0 评论 -
【数学和算法】最小二乘法理论(附c++代码)
直接参考知乎大佬的博客: 最小二乘法其中讲到了最小二乘法推导,以及选择算术平均数、一次曲线、二次曲线等进行拟合的效果。原创 2021-07-17 16:10:30 · 5167 阅读 · 1 评论 -
【数学与算法】牛顿法的两种应用:求根和最优化
平时总看到牛顿法怎样怎样,一直不得要领,今天下午查了一下维基百科,写写我的认识,很多地方是直观理解,并没有严谨的证明。在我看来,牛顿法至少有两个应用方向,1、求方程的根,2、最优化。牛顿法涉及到方程求导,下面的讨论均是在连续可微的前提下讨论。 1、求解方程。 并不是所有的方程都有求根公式,或者求根公式很复杂,导致求解困难。利用牛顿法,可以迭代求解。 原理是利用泰勒公式,在x0x_0x0处展开,且展开到一阶,即:f(x)=f(转载 2021-12-24 19:30:00 · 3603 阅读 · 0 评论 -
【数学与算法】步长一维搜索、梯度下降法、最速下降法、牛顿法
步长一维搜索、最速下降(梯度下降)与牛顿法(拟牛顿法)1.求解步长的方法:步长λ\lambdaλ 由求解式 argminf(xk+λdk)\color{red}arg min f(x_k+λd_k)argminf(xk+λdk)得到,是一种精确步长的搜索方式。求解这个式子,就需要把f(xk+λdk)f(x_k+λd_k)f(xk+λdk)看做是λ\lambdaλ的函数,令:g(λ)=f(xk+λdk)\color{red}g(\lambda)=f(x_k+λd_k原创 2021-12-24 16:40:53 · 9584 阅读 · 2 评论 -
【数学与算法】牛顿法 及其一系列改进算法
牛顿法至少有两个应用方向:1.求方程的根;2.最优化。数学原理和推导:机器学习算法中经常碰到非线性优化问题,如 Sparse Filtering 算法,其主要工作在于求解一个非线性极小化问题。在具体实现中,大多调用的是成熟的软件包做支撑,其中最常用的一个算法是L-BFGS。为了解这个算法的数学机理,这几天做了一些调研,现把学习过程中理解的一些东西整理出来。================================================转载 2021-12-22 20:00:26 · 1637 阅读 · 0 评论 -
【数学与算法】泰勒公式_线性化_雅各比矩阵_黑塞矩阵
线性化_泰勒级数_泰勒公式原创 2021-12-04 20:52:03 · 4283 阅读 · 0 评论 -
【数学和算法】梯度和方向导数
如果不愿意看文字描述的,这里推荐一个视频 方向导数和梯度的直观理解。什么是梯度??可以这么想象一下,大地平面为XOY所在平面(z=0),你现在处于山坡上的某点P(x,y,z),你怎样才能最快时间跑下山坡呢?分析一下:假设你的速度v一直都是5m/s不变,这座山假设为一个圆锥型,跑下山坡就是Z=0。很明显,你站在P点有360°的方向可以跑,只有有180°的方向可以跑下山坡,但是这180°的每个方向跑下山坡的时间各不一样,你的直觉和经验告诉你,山顶和你所站的位置的连线,就是最快的路线。这条连线的方向就是梯度原创 2021-09-11 19:09:45 · 10224 阅读 · 0 评论 -
【数学与算法】二部图、匈牙利匹配、稳定婚配
14.1 二部图广度优先搜索广度优先,可以使用队列来操作,依次遍历节点,首先遍历节点A,判断节点A是否遍历过,如果节点A没有遍历过,就把节点A添加进队列。然后取出队列中的第一个元素A,对于和节点A连接的某节点B和节点C等,把节点B和c进行标记(标记就是根据题目的具体要求进行操作,即你的目的是什么你就干什么),并且如果节点B和c没有遍历过,那么把节点B和C添加进队列。然后再取出队列中的第一个元素,就是节点B,遍历到了B节点,再对和B节点连接的节点D进行标记,并且判断D是否遍历过,没有遍历过的话就添加到队列原创 2022-03-18 22:14:23 · 954 阅读 · 0 评论 -
【数学与算法】跟踪、预测、单目标、多目标、匈牙利匹配之间的关系
预测:预测就是针对单一目标来特定分析。(1) 根据该目标k-1时刻的状态来预测k时刻的状态(得到k时刻的先验估计值);(2) 然后用k时刻的观测值再来校正k的估计值,(进行加权)得到k时刻的后验估计(最优估计)。跟踪:跟踪一般是针对多目标来分析,需要卡尔曼滤波器和匈牙利匹配一起才能做到。(1) 卡尔曼滤波器先根据所有目标k-1时刻的状态分别预测对应目标k时刻的状态(是先验估计值,并非最优估计,因为还不知道k时刻的观测值,要匹配上之后才知道观测值);(2) 然后匈牙利匹配把所有目标的k时刻原创 2022-10-19 20:00:42 · 1377 阅读 · 0 评论 -
【数学和算法】卡尔曼滤波五个公式推导
卡尔曼滤波五个公式推导转载 2021-11-30 09:27:11 · 774 阅读 · 0 评论 -
【数学和算法】扩展卡尔曼滤波器(六)
扩展卡尔曼滤波器原创 2021-12-01 22:23:48 · 1563 阅读 · 0 评论 -
【数学和算法】初识卡尔曼滤波器(五)
【数学和算法】初识卡尔曼滤波器(五)原创 2021-12-01 22:26:02 · 111 阅读 · 0 评论 -
【数学和算法】初识卡尔曼滤波器(四)
卡尔曼滤波器的五个公式原创 2021-11-30 22:36:56 · 592 阅读 · 0 评论 -
【数学和算法】初识卡尔曼滤波器(三)
我们一般会假设过程噪声和测量噪声都符合正态分布。原创 2021-11-28 22:47:32 · 1681 阅读 · 0 评论 -
【数学和算法】初识卡尔曼滤波器(二)
数据融合原创 2021-09-01 20:24:21 · 228 阅读 · 0 评论 -
【数学和算法】初识卡尔曼滤波器(一)
第1页:第2页:第3页:原创 2021-08-31 14:39:03 · 199 阅读 · 0 评论 -
【数学和算法】插值方法
直接参考下面这篇博客,很详细数学建模准备 插值(拉格朗日多项式插值,牛顿多项式插值,分段线性插值,分段三次样条插值,分段三次Hermite插值)转载 2021-07-13 16:46:10 · 786 阅读 · 0 评论 -
【数学和算法】如何理解特征值为复数的情况
如何理解特征值为复数的情况此“旋转”非彼“旋转”。可建立下面的复空间维度矩阵(n行2列)以做解释:行:第i行代表复空间的第i维。列:由于复空间的一维实际上对应着一个pair维度——实数维和虚数维,因此可分别用第一列和第二列表示。这样一来,复空间的维度就可以表达清楚了。比如 d21表示复空间第2维的实数维, d32 表示复空间第3维的虚数维。——至此,n维复空间便可看作是一个2n维实空间。所以,复空间的一维其实不像实空间的一维那样代表一条直线,而是每一个维度都代表一个复平面(比如复空间第3维其实转载 2021-09-28 19:32:30 · 3380 阅读 · 0 评论 -
【数学与算法】特征值_特征向量_状态空间表达式_微分方程
特征值_特征向量_状态空间表达式_微分方程原创 2021-12-04 16:25:49 · 1680 阅读 · 0 评论 -
【数学和算法】特征值、特征向量、特征空间,变换矩阵的行列式和特征值
1、特征值是线性代数中的重要概念,设A是n阶方阵,如果存在数m和非零n维列向量x,使得Ax=mx成立,则称m是A的一个特征值或本征值。2、非零n维列向量x称为矩阵A的属于特征值m的特征向量或本征向量,简称A的特征向量。3、两种有着密切关系:属于不同特征值的特征向量一定线性无关,相似矩阵有相同的特征多项式,因而有相同的特征值。当特征值是实数时,特征值是拉伸倍数,特征向量是拉伸方向。当特征值是复数时,就表示旋转90付。可用变换矩阵(0 -1 , 1 0)测试一下。因为在复平面上,横轴表示实原创 2021-09-13 09:07:43 · 7248 阅读 · 2 评论 -
【数学和算法】矩阵运算的相关公式
矩阵的乘法本质上就是线性变换:(AB)C·x表示对某个向量x先进行C变换,再进行AB变换,其中AB变换是先进行B变换,再进行A变换的一个组合变换;A(BC)·x表示先对某个向量x进行BC变换,其中BC变换是先进行C变换,再进行B变换的组合变换,然后BC组合变换后再进行A变换。不管你怎么定义组合变换,最终x向量经历的变换都是C->B->A,所以括号随便加。例如:...原创 2021-08-09 09:56:47 · 21785 阅读 · 0 评论 -
【数学与算法】协方差矩阵 与 w*w^T 的关系
协方差矩阵 与 向量w*w^T 的关系原创 2021-11-30 21:04:31 · 1803 阅读 · 0 评论