曼哈顿算法公式_JavaScript实现数学公式(四)

本文介绍了如何使用JavaScript实现数学公式,包括平均值、加权平均值、方差和标准差的计算。接着讲解了曼哈顿距离作为衡量数据差异性的算法,并提出了利用词频向量和余弦相似性来评估两篇文章的相似度,给出了相应的公式及代码实现。
摘要由CSDN通过智能技术生成

63569e185fa4de9bcb1fea63aa397561.png

1.统计相关,平均值,方差

平均值公式如下:

平均值即是对所有的数据进行求和,然后除以总的数据个数,算法以JS实现如下:

function Mean([...data]){
	let total =0;
	for(let i=0;i<data.length;i++){
		total+=data[i];
	}
	return total/data.length;
}

函数实现代码如上

除了对于均值进行求值,我们还会对含有权重的值进行求解均值,这又被称为加权平均

其公式如下:

,这个公式中含有两个数据集,一个是数据集,一个是权重集,由公式我们可以写出如下的代码:
function WeightMean([...data],[...weight]){
	if(data.length==weight.length){
		let STotal;
		for(let i=0;i<data.length;i++){
			STotal+=((weight[i]*data[i])/weight[i])
		}
	}else{
		throw Error();
	}
	return STotal;
}

方差(又称为标准差)是描述数据散布的程度的,低标准差意味着所有的数据很靠近均值,而高标准差意味着数据散布在一个很大的值域之中

由以上的公式,我们可以得到如下的代码

function variance([...data]){
	let mean = Mean(data),Total=0;
	for(let i=0;i<data.length;i++){
		total+=(data[i]-mean)**2;
	}
	return total/data.length;
}

以上代码为计算方差的,而方差在经过开方计算后,就可得到标准差。

数据的相异性可以用向量当中的求模运算进行计算,也可用欧几里得距离或是曼哈顿距离公式进行计算,矩阵的求模公式在此就不表了,我要介绍的是另外一个用来形容数据之前的差异性的算法。

我们如果要确定两篇文章是不是同一篇文章,相似度有多高,我们就可以将两篇文章进行取词计算词语出现的次数,由此,我们可以引出词频向量。词频向量的余弦相似性,这和我们学习向量的求模公式如出一辙。

公式如下

x就当作来自文章A的词频向量,而y就可当作来自文章B的词频向量

我们可以根据如上的公式对两个文章进行相似性的比对,其代码如下

function sim([...x],[...y]){
	let total=[]
	if(x.length==y.length){
		for(let i=0;i<x.length;i++){
			total[0]+=Math.sqrt(x[i]**2);
			total[1]+=Math.sqrt(y[i]**2);
			total[3]+=x[i]*y[i];
		}
		return total[3]/total[0]*total[1];
	}else{
		throw Error();
	}
}

要点:

1.数据集由数据对象组成。数据对象代表实体
二元属性表示仅有两种状态,非此即彼。如果两种状态同等重要,那么就说这两个属性是对称的,否则为不对称的。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值