编码珠玑

其他

如何通俗理解异或运算?

嗨,大家好,我是亚曦,今天给大家推荐一篇深度好文,主要讲解一下异或运算,我相信大部分人对计算机逻辑运算中的异或运算还是比较迷惑,即便你会计算,但是依然不太明白发明异或这种奇怪的运算的初衷究竟是为了什么,又或者为什么翻译成「异或」,别急,请往下看,相信到结尾会让你豁然开朗。作者:张英锋https://www.zhihu.com/question/31116687/answer/964367526来源:知乎异或是一个有趣而又重要的概念,首先,它是一种运算(Operation),其次,它隐藏在自然和生活的秩序中,很多人不了解它的含义和价值。先看一个小例子:小时候我们都玩过“找不同”游戏,例如下面的两张图片,你能找出几个不同的地方?找不同游戏图片出处维基百科:https://en.wikipedia.org/wiki/Spot_the_difference我相信你能找出很多不同之处,比如墙上的钟表、图画、老奶奶头发上的发簪等等。这种在两个图片中发现不同或者“差异”的过程,就是异或运算,当找到了所有的差异,再也找不出新的差异时,异或运算就计算完成。异或运算的作用就是帮我们从两堆相似的信息中,发现一些新的信息。因为相同的信息往往是已知的旧信息,而不同的信息是未知的新信息,这是一个信息增量的过程。这个信息增量有什么用呢?太有用了,对大部分生物来说,这些新信息甚至是性命攸关的信息。自然中的异或计算除了我们人类能进行异或计算,其实动物也可以,比如这只蝴蝶
2022年5月12日
其他

聊聊中国工业软件这个行业

这段时间手机圈最大的新闻除了苹果刚发布了最新的“十三香”系列产品外,就数前段时间华为发布了最新的
2021年10月7日
其他

最小二乘法之加权最小二乘的应用

我在上文「对最小二乘法拟合直线的一些思考与改进」中介绍了通过距离的平方来拟合一条直线,这实际上也是一个PCA问题,但是我在结尾也说了,这种拟合方法的缺点是对离群噪点的干扰异常明显,稍不留神就把我们的目标给拉偏了,比如下面这张图片,在工业机器视觉检测中,为了测量某些产品的高精密尺寸,我们需要拟合出图中斜边边缘的准确直线方程,但是由于产品的缺陷,在边缘处往往有噪点的存在:而如果我们不加以处理而直接拟合的话,最终的拟合结果是这样的:绿线是我们根据上篇文章推导出来的公式进行拟合出来的结果,这显然不是我们所要的结果。由于噪点的干扰,我们所需的边缘直线方程被拉偏了。这是由于在实际拟合过程中,离群较大的点它们都有很大的权重,而实际上每个点都应该有不同的权重,越偏离目标点它们的权重应该越小。因此我们迫切需要对每个点都定义一个权重,这就是今天我要介绍的加权最小二乘法。在介绍这个算法之前,先回答一个问题,上篇文章中,有网友私信问我为什么那个参数方程要选取较小的特征值与特征向量:这个问题我在上篇文中只是提到了一下,最小距离的总和刚好是数据集矩阵的特征值,但并没有说明具体的原因,这里给出一个更直观的证明方法:如上图所示,我们定义一个直线的单位法向量
2020年6月6日
其他

对最小二乘法拟合直线的一些思考与改进

最小二乘法是我在工作中做图像处理最常用的一种拟合算法,同时也是在机器学习中线性回归的一种重要算法。我们先来回顾一下传统的最小二乘拟合直线模型算法:如上图所示,为了从
2020年5月18日
其他

深入浅出线性代数的理解及应用

经过初等行变换后,R(B)=1=3)是第n-1与第n-2项的和,开始两项都为1,因此,最简单的方式,我们可以采用递归的算法来求解斐波那契数列的第n项,代码如下(C++描述,以下雷同):int
2020年3月14日
其他

手把手教你安装OpenCV与配置环境

OpenCV是一款优秀的计算机视觉库,它包含了丰富的接口,同时也实现了图像处理和计算机视觉的很多通用算法,如果你想学习或者运用计算机视觉类的项目,那么OpenCV给我们免去了诸多造轮子的麻烦。鉴于目前网上大多数搭建OpenCV的教程都不详细,而且没考虑中途出现的诸多问题,这对于初学者来说极为浪费时间。今天我就来手教你在Windows环境下用Visual
2020年3月8日