
算法
文章平均质量分 71
Luchang-Li
为什么要博客呢?一是为了记录学习,在写作中增强对知识认知深度,二是为了传播知识本身。
正如自动驾驶的不同层级一样,一个人对知识的掌握也分为了很多层级,比如我认为:
L0:对一个东西没有任何认知。
L1:大致了解基本概念,能够使用,但不知道内部深层次的原理,没法表达清楚。
L2: 基本知道内部的原理,能够比较流畅地表达出来。但能够书面表达往往不意味着能够口头表达,比如能写出PPT,但是不意味着能讲好PPT。
L3:能够流畅地,深入浅出地口头表达,能够准确地回答别人的问题和质疑。
所以可见,表达(不管是博客这种书面还是口头表达)是能够加深你对知识的架构化认知,表达地清晰与否也直接证明了你的认知深度
展开
-
常用算法 BFS DFS 广度,深度优先搜索
BFS:graph = { "A":["B", "C"], # 与A相连的节点是B,C "B":["A", "C", "D"], # 与B相连的节点是A,C,D "C":["A", "B", "D", "E"], "D":["B", "C", "E", "F"], "E":["C", "D"], "F":["D"] }def visit_node(node): print(node, "->")def bfs(graph,原创 2020-05-10 15:27:17 · 303 阅读 · 0 评论 -
样条插值 spline interpolation matlab c++实现
Matlab 和C++实现代码见:https://github.com/luchangli03/spline-interpolation插值和线性方程组求解部分原理参考:数值分析 Richard L. Burden等,高等教育出版社第七版数值分析,李庆扬等,清华大学第四版,...原创 2019-03-07 14:29:04 · 2635 阅读 · 0 评论 -
加权极大似然估计 Weighted Likelihood Estimation (WLE)
加权极大似然估计是相对于非加权的极大似然估计而言。传统的极大似然估计思想非常简单,也就是我们既然观察到了这个现象,说明出现概率很大,然后通过建立需要估计参数和现象之间的概率模型,使得出现观察到的现象的概率最大化。传统的极大似然估计对所有数据都是平等的,权值是一样的,直接把每个观察值的概率乘起来。而加权极大似然估计的思想也很简单,就是我们观察到的数据往往有一些异常值,或者部分数据受到一些...原创 2019-01-26 10:21:47 · 6030 阅读 · 2 评论 -
如何学习阅读别人的代码
不是直接上来就一句句去读,而是先了解别人的代码是要干什么事情,然后去学习干这件事相应的算法和教程,再想想如果是自己会怎么实现,最后再去读别人代码,看看他是怎么做的,跟自己实现有什么区别和精妙之处。...原创 2019-01-20 14:50:46 · 1116 阅读 · 0 评论 -
N个数选出M个最小或最大值,topk算法
N个数选出M个最小或最大值算法 有时候需要N个数选出M个最小或最大值算法,但并未要求选出的M个数据需要有序排列,那么这使得算法复杂度可以很低。这里给出一种可行的方法,比常见的一些方法具有更加显著的速度。1,找出N个数据的最大和最小值。需要一次N个数据遍历。2,根据最大最小值根据一个间隔创建一个直方图,N个数据遍历一次,进行直方图统计。例如,直方图间隔为k,则每次直方图(CurDat-MinD...原创 2018-04-18 14:54:33 · 5926 阅读 · 1 评论 -
BFGS C++优化算法曲线拟合实现
BFGS是一个简单,高效,精确的优化算法,在曲线拟合等最优化领域有非常重要的用途。其原理在这里有详细的介绍:http://blog.youkuaiyun.com/itplus/article/details/21897443基于这个原理的介绍,我编写了一个C++ BFGS 曲线拟合的代码:http://download.youkuaiyun.com/download/u013701860/10150187原创 2017-12-07 21:06:49 · 3534 阅读 · 1 评论 -
最小二乘法拟合注意的问题
最小二乘法拟合注意的问题 使用类似y=ax+b这样的函数做曲线拟合可以很方便通过最小二乘法转换为线性方程组,继而通过矩阵操作求解,非常方便。相关的教程可见:http://mathworld.wolfram.com/LeastSquaresFitting.htmlhttp://blog.youkuaiyun.com/yang6464158/article/details/24477547原创 2017-12-08 11:40:19 · 15030 阅读 · 2 评论 -
HSV颜色到RGB的转换C++代码 直接可用
在生物医学图像处理等领域中,有时候会遇到一些颜色编码的应用。例如,对于一个3维物体结构显示成平面2维,考虑用颜色对深度编码,而用亮度编码反应实际的亮度。RGB是非常常用的颜色模型,然而使用RGB实现颜色和亮度这两个正交分量的同时编码,显然是非常困难的。除了RGB,此外还有HSV/SHB,HSL等颜色编码方案满足不同的需求,其中,HSV非常契合实现颜色和亮度的同时编码的需求。参考:http://colorizer.org/ 然后需要将HSV颜色转换为RGB颜色进行图像显示,这里给出一个已经调试通过的原创 2016-07-22 19:58:35 · 11627 阅读 · 0 评论 -
测量,信号处理中的精度分析 误差传播理论
误差无处不在,尤其是对于测量和加工。比如拿一把直尺测量一个圆的直径,用一个万用表测量一个电阻、电压的大小,加工一批零件的尺寸,可能会发现多个个体、多次测量的结果有一个微小的变动。而很早老师就教导我们:多次测量求平均可以提高测量精度。那么精度到底是什么?多次平均到底能将精度提高多少倍,测量10次与测量100次平均得到的精度一样吗?测量10次求平均难度能将精度提高10倍? 从信号的角度来讲,那个微小的波动就是一种噪声,叠加在测量的信号之上。信号处理中常常用到均值滤波等方法来抑制噪声,某种程度上就利用了多次测原创 2016-05-26 22:43:57 · 5786 阅读 · 4 评论 -
图像平均 均值滤波抑制噪声的数学原理
上图像处理课程时,老师可能讲到N张图像求和或求平均信噪比提升根号N倍,可能不知其所以然。为什么是这样的呢?因为最终的图像是这些图像的求和,图像和图像之间的噪声是独立的加性噪声,因而总的噪声是平方求和的关系。..................原创 2016-01-24 22:56:17 · 8578 阅读 · 0 评论