数学原理

哈希表之数学原理

自作多情 提交于 2020-02-23 10:03:42
.NET程序员,大多数时候是不需要数学的。因为,有了.NET, 数据结构和算法的重要性被弱化了,操作系统接口相关的东西被强化了。程序员只要求管理好代码,而不是设计好算法。 计算机,我只学会了技术,所以很多问题我都感觉似是而非,感觉是在学习一个API,而不是在学一门科学。 最近要实现一个哈希表,我查找了很多哈希函数,高下难分。而且,网上有很多人做了实验,但是,很多数据居然是矛盾的,有的说这个好,有的说那个好。于是我在想,有没有一种理想的最优函数,这样的函数的效率是多少。我的函数,只要接近于这个值就可以了。这样的理想函数的分析,就必须理解计算机的科学部分,这个是计算机科学永恒的部分。 首先,是一个很简单的也是很实用的问题: “给一个url 做一个hash 值,通过这个hash 值,查找这个url 是否已经在数据库中存在了,我相信很多人都做过这个问题,很多人采用把一个url 转换成一个无符号的int 类型,然后通过这个int 类型进行查找。现在的问题是,如果我的网站有1000万个url,会有多少个url 是发生哈希冲突呢,也就是说,url链接不一样,但是映射成了相同的哈希值。”有多少冲突,读完这篇文章你也就会算了。 我今天讲的只是哈希表中的一种类型:链地址哈希表。这种哈希表是最常用的哈希表,PHP数组的内部实现,就是采用这样的哈希表。估计.net 的字典类,也是通过这样的方法。

多传感器融合的数学原理依据

守給你的承諾、 提交于 2019-12-27 03:03:26
在实际的应用中,基于鲁棒性考虑,会采用多传感器综合的技术,而如何将传感器的数据进行融合,这是需要数学推导的。基于中心极限定理与方便处理(实际上具体情况需要结合实际来测试实际分布,不能直接做假设,本文为了简单说明作此处理),我们可以采用P(θ)描述待测量真值为θ的概率,该概率实际上是P(θ|x1)、P(θ|x2)等概率的乘积,而x1、x2为传感器示数,计算θ的实际情况应当采用最大似然的方式求解,θ应当等于(μ / detail) ^ 2的和除以(1 / detail) ^ 2 来源: CSDN 作者: DeadAngle_2018 链接: https://blog.csdn.net/qq_34133578/article/details/103723001

深度学习的数学原理

倾然丶 夕夏残阳落幕 提交于 2019-12-06 16:33:15
在网络中,假定输入为X,输出为Y,其网络结构的参数为W和b,每次训练的损失函数为L(w,b),Cost函数J(w,b) 则:Y= W*X+b 也就是W和b与网络模型的好坏的直接相关;同时训练就是训练的W和b参数让J最小 参数修正 TF图: 在tf中存在计算图的前向传导和BP(后向传导)修正参数,假定计算:F(a,b,c) = 3(a+bc) d代表计算梯度,则: 由上图知:计算图是从前向后计算,而计算梯度则是从后向前计算(故叫BP)。 损失函数及其代价函数: 推导的PDF文档链接: http://download.csdn.net/download/hl2015222050145/10216582 来源: CSDN 作者: 黄林HL 链接: https://blog.csdn.net/hl2015222050145/article/details/79120084

机器学习中的数学原理――矩阵论

匿名 (未验证) 提交于 2019-12-02 23:34:01
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/vivian_ll/article/details/90371758 正定矩阵 在线性代数里,正定矩阵 (positive definite matrix) 有时会简称为正定阵。 定义 : A A A 是n阶方阵,如果对任何非零向量 x x x ,都有 x T A x > 0 x^TAx>0 x T A x > 0 ,其中 x T x^T x T 表示 x x x 的转置,就称 A A A 正定矩阵。 性质 : 正定矩阵的行列式恒为正; 实对称矩阵 A A A 正定当且仅当 A A A 与单位矩阵合同; 两个正定矩阵的和是正定矩阵; 正实数与正定矩阵的乘积是正定矩阵。 等价命题 : 对于n阶实对称矩阵 A A A ,下列条件是等价的: A A A 是正定矩阵; A A A 的一切顺序主子式均为正; A A A 的一切主子式均为正; A A A 的特征值均为正; 存在实可逆矩阵C,使 A = C T C A=C^TC A = C T C ; 存在秩为n的m×n实矩阵B,使 A = B T B A=B^TB A = B T B ; 存在主对角线元素全为正的实三角矩阵R,使 A = R T R A=R^TR A = R T R 根据正定矩阵的定义及性质,判别对称矩阵A的正定性有两种方法:

神经网络反向传播的数学原理(转)

人走茶凉 提交于 2019-12-01 05:38:23
如果能二秒内在脑袋里解出下面的问题,本文便结束了。 已知: ,其中 。 求: , , 。 到这里,请耐心看完下面的公式推导,无需长久心里建设。 首先,反向传播的数学原理是“求导的链式法则” : 设 和 为 的可导函数,则 。 接下来介绍 矩阵、向量求导的维数相容原则 利用维数相容原则快速推导反向传播 编程实现前向传播、反向传播 卷积神经网络的反向传播 快速矩阵、向量求导 这一节展示如何使用链式法则、转置、组合等技巧来快速完成对矩阵、向量的求导 一个原则维数相容,实质是多元微分基本知识,没有在课本中找到下列内容,维数相容原则是我个人总结: 维数相容原则:通过 前后换序、转置 使求导结果满足矩阵乘法且结果维数满足下式: 如果 , ,那么 。 利用维数相容原则解上例: step1:把所有参数当做实数来求导, , 依据链式法则有 , , 可以看出除了 , 和 的求导结果在维数上连矩阵乘法都不能满足。 step2:根据step1的求导结果,依据维数相容原则做调整:前后换序、转置 依据维数相容原则 ,但 中 、 ,自然得调整为 ; 同理: ,但 中 、 ,那么通过换序、转置我们可以得到维数相容的结果 。 对于矩阵、向量求导: “当做一维实数使用链式法则求导,然后做维数相容调整,使之符合矩阵乘法原则且维数相容”是快速准确的策略; “对单个元素求导、再整理成矩阵形式”这种方式整理是困难的

PCA的数学原理

↘锁芯ラ 提交于 2019-11-28 04:05:06
原帖地址: http://blog.codinglabs.org/articles/pca-tutorial.html PCA(Principal Component Analysis)是一种常用的数据分析方法。PCA通过线性变换将原始数据变换为一组各维度线性无关的表示,可用于提取数据的主要特征分量,常用于高维数据的降维。网上关于PCA的文章有很多,但是大多数只描述了PCA的分析过程,而没有讲述其中的原理。这篇文章的目的是介绍PCA的基本数学原理,帮助读者了解PCA的工作机制是什么。 当然我并不打算把文章写成纯数学文章,而是希望用直观和易懂的方式叙述PCA的数学原理,所以整个文章不会引入严格的数学推导。希望读者在看完这篇文章后能更好的明白PCA的工作原理。 数据的向量表示及降维问题 一般情况下,在数据挖掘和机器学习中,数据被表示为向量。例如某个淘宝店2012年全年的流量及交易情况可以看成一组记录的集合,其中每一天的数据是一条记录,格式如下: (日期, 浏览量, 访客数, 下单数, 成交数, 成交金额) 其中“日期”是一个记录标志而非度量值,而数据挖掘关心的大多是度量值,因此如果我们忽略日期这个字段后,我们得到一组记录,每条记录可以被表示为一个五维向量,其中一条看起来大约是这个样子: 注意这里我用了转置,因为习惯上使用列向量表示一条记录(后面会看到原因),本文后面也会遵循这个准则

SVM数学原理推导

落爺英雄遲暮 提交于 2019-11-27 15:19:54
//2019.08.17 #支撑向量机SVM(Support Vector Machine) 1、 支撑向量机SVM是一种非常重要和广泛的机器学习算法,它的算法出发点是尽可能找到最优的决策边界 ,使得模型的泛化能力尽可能地好,因此SVM对未来数据的预测也是更加准确的。 2、支撑向量机SVM有两种: Hard Margin SVM和Soft Margin SVM ,对于第一种严格的支撑向量机算法主要解决的是 线性可分的数据问题,而第二种SVM是在第一种的基础上改进而来,可以解决普遍的数据问题 ,对于问题的线性可分性没有特殊的要求。 3、支持向量机线性可分算法 数学原理最终推导的结果是求解有条件情况下的最优化问题 ,这种问题解决起来相对复杂,可以用拉普拉斯算子来进行解决。 4、在sklearn中调用SVM算法时和KNN算法使用类似,需要 先对数据进行标准化处理StandardScaler ,因为它的数学原理也涉及到了距离,因此高维数据里面不同维度的数据尺度应该相当,相差太大会使得算法结果准确度降低。 5、对于SVM算法, 需要进行正则化,正则化的方式也有L1和L2正则化两种方式,引入了超参数C,使得模型有了一定的容错空间,这样使得模型的泛化能力得到了增强。C越小,其容错能力越高,如果C趋于无穷,则转换为了严格线性SVC。 因此在调入SVM算法时需要定义三大参数: C(正则化系数