精华内容
下载资源
问答
  • 对于向量,WMEAN(X,W)是使用非负权重W的X中元素的加权平均值。对于矩阵,WMEAN(X,W)是包含每一列的加权平均值的行向量。对于ND数组,WMEAN(X,W)是沿着X的第一个非单维度的元素的加权平均值。 输入X和W的类...

    对于向量,WMEAN(X,W)是使用非负权重W的X中元素的加权平均值。对于矩阵,WMEAN(X,W)是包含每一列的加权平均值的行向量。对于ND数组,WMEAN(X,W)是沿着X的第一个非单维度的元素的加权平均值。

    输入X和W的类支持:
    浮点数:双精度,单精度

    示例:
    x = rand(5,2);
    w = rand(5,2);
    wmean(x,w)

    完整资料领取:https://ai.52learn.online/9652

    展开全文
  • 从具有可变时间步长模拟数据我有一个不规则时间向量作为我的值的索引,它们存储在pandas.DataFrame中.让我们考虑一个简化测试用例:import pandas as pdimport datetimetime_vec = [datetime.time(0,0),...

    从具有可变时间步长的模拟数据我有一个不规则的时间向量作为我的值的索引,它们存储在pandas.DataFrame中.

    让我们考虑一个简化的测试用例:

    import pandas as pd

    import datetime

    time_vec = [datetime.time(0,0),datetime.time(0,0),datetime.time(0,5),datetime.time(0,7),datetime.time(0,10)]

    df = pd.DataFrame([1,2,4,3,6],index = time_vec)

    使用正常的df.mean()函数将得到答案3.2,只有当时间向量是等距的时才会出现这种情况.

    我认为正确的结果是3.55,第一个时间步长(零秒长),平均值是1.5,对于第二个时间步,平均值是3(五分钟长)等,这导致:

    1.5 * 0 + 3*5 + 3.5 * 2 + 4.5 * 3 = 35.5

    结果平均为3.55(35.5 /(0 5 2 3)).

    有没有一种有效的方法来做大熊猫?

    这应该最终会产生类似的结果

    df.resample('15M',how = 'This very Method I am looking for')

    用等距时间向量创建平均值.

    解决方法:

    好吧,我想出了如何解决我的问题.我不知道,如果这是一个很好的解决方案,但它的确有效.

    我通过datetime.datetime交换datetime.time来更改问题中的原始代码,否则它将无效(datetime.time-Objects没有方法total_seconds()).我还必须导入numpy才能使用numpy.average.

    所以现在的代码是:

    import datetime

    import numpy as np

    import pandas as pd

    time_vec = [datetime.datetime(2007,1,1,0,0)

    ,datetime.datetime(2007,1,1,0,0)

    ,datetime.datetime(2007,1,1,0,5)

    ,datetime.datetime(2007,1,1,0,7)

    ,datetime.datetime(2007,1,1,0,10)]

    df = pd.DataFrame([1,2,4,3,6],index = time_vec)

    这个小功能解决了我的问题:

    def time_based_weighted_mean(tv_df):

    time_delta = [(x-y).total_seconds() for x,y in zip(df.index[1:],df.index[:-1])]

    weights = [x+y for x,y in zip([0]+ time_delta,time_delta+[0])]

    res = np.average(df[0],weights = weights)

    return res

    print time_based_weighted_mean(df[0])

    我首先尝试使用pd.index.diff()来计算time_delta-Array,但这导致了一个numpy.datetime64系列,我不知道如何将它们转换为浮点数,因为np.average需要浮点数作为输入 – 重量类型.

    我很感谢任何改进代码的建议.

    标签:python,pandas,weighted-average

    来源: https://codeday.me/bug/20190703/1362895.html

    展开全文
  • 针对不均衡分类问题,提出了一种基于隶属度加权的模糊支持向量机模型。使用传统支持向量机对样本进行训练,并通过样本点与所得分类超平面之间距离构造模糊隶属度,这不仅能够消除噪点和野影响,而且可以在...
  • SIF平滑逆频率论文阅读笔记。计算句子中单词向量的加权平均值,然后删除平均向量在其第一个主成分上的投影(“公共成分去除”)。

      文献:A SIMPLE BUT TOUGH-TO-BEAT BASELINE FOR SENTENCE EMBEDDINGS

      在进行了词嵌入的研究后,我们往往会联想到这样一个问题:既然单词可以用向量表示,那么由一个个单词组成的句子,可不可以也用向量表示呢?如果可以的话,句子之间就可以进行向量的运算,计算它们之间的相似度,进而可以对句子进行聚类或者进行匹配

      因此,这篇文献提出了一种简单但又难以打败的计算句子嵌入的方法,使得句子向量计算的性能得到了提升。

      关于代码的实现,请看 记录一次失败的句子相似性实验 。当时效果不太好,但是后来的结果证明,还是可取的!大家谨慎参考!



    ABSTRACT

      应用神经网络方法来计算单词嵌入的成功促进了对于较长段落(例如文本)语义嵌入的研究。而作者提出了这样一种句子嵌入方法:通过一种流行的方法对未标记的语料库(如WikipediaWikipedia)计算词嵌入,通过词向量的加权平均值表示句子,然后使用 PCAPCA // SVDSVD 对其进行一些修改

      这种加权可将文本相似性任务的性能提高约 10% 到 30%,并且优于包括 RNNRNNLSTMLSTM 在内的复杂的监督方法。这种简单的方法在将来的研究中应当作为 baselinebaseline,尤其是在带有标签的训练数据稀缺或不存在的情况下。


    INTRODUCTION

      使用多种方法计算的词嵌入是自然语言处理 (NLPNLP) 和信息检索 (IRIR) 的基本构建块。它计算词与词之间的相似性。而最近的工作尝试从单词向量的简单加总平均到复杂的方法(例如卷积神经网络和递归神经网络)来计算单词序列(短语,句子和段落)语义的嵌入。

      在这里,作者提供了一种非常简单的句子嵌入方法:只计算句子中单词向量的加权平均值,然后删除平均向量在其第一个主成分上的投影(“公共成分去除”)。我们称它为平滑反频率 (smoothsmooth inverseinverse frequencyfrequency)。

      (11) 单词 ww 的权重表示为a / (a + p(w))a 是一个超参数,p(w)是词频。我们发现,p(w)越大,单词权重越小。是不是感觉与 TFIDFTF-IDF 原理有些相似,字词的重要性随着它在语料库中出现的频率成反比下降。

      (22) 关于第一主成分,由于使用单词向量的平均的方法在沿语义上无意义的方向具有巨大的分量。因此我们删去这些公共成分,留下关键的信息。

      SIFSIF的优越性体现在以下几点:

    • well-suited for domain adaptation settings:对于各个领域的适应性较好
    • fairly robust to the weighting scheme:使用不同的语料库计算的词频并不会影响它的性能
    • a wide range of the parameters a can achieve close-to-best results:选择恰当的 aa,可以达到最好的效果

    METHOD

    11 Latent Variable Generative Model

      作者简要回顾了文本的潜在变量生成模型:该模型将语料库生成视为一个动态过程,在步骤 tt 中生成第 tt 个单词。这个过程是由一个 discourse vector 驱动的,表示为 ctc_t,意味着在这个时刻,句子的话题是什么,可以视为一个主题向量;同时,对于每一个单词 ww ,也有对应的词向量 vwv_w(与时间无关)。二者之间的内积表示当前主题与词语的相关关系

      假定 tt 时刻单词 ww 产生概率为:
    在这里插入图片描述
      由于主题向量 ctc_t 做缓慢的随机漫步(slow random walk),即 ct+1c_{t+1} 只是在 ctc_t 基础上新增了移位向量,因此我们可以将相邻单词看成在相同 ctc_t 下产生。

    22 Improve Random Walk Model

      在之前的基础上,作者定义 sentence embedding 为:给定一个句子 s,利用最大后验概率估计 (MAPMAP) 产生这个句子的主题向量 ctc_t 。我们假定在一步步产生单词时,该句子的主题向量不会发生较大改变,因此用 csc_s 来代替一个句子所有的 ctc_t

      在模型的基础上,作者做了如下改进,引入了两个平滑项,用来解释 (aa) 有些词是在上下文之外出现 (bb) 某些高频词如 “thethe” “andand” 是没有语境限制的。

    • α·p(w):其中 αα 是标量,pp(ww) 是整个语料库中单词 ww 的词频。这使得即使单词与当前主题 csc_s 内积(相关性)很小,它也有一定的概率出现。
    • c0c_0:公共话题向量,它代表着与语法相关的最频繁的主题向量,作用为校正项。它提高了沿 c0c_0 具有较高分量的单词的共现概率。

      具体来说,给定主题向量 csc_s ,在句子 ss 中单词 ww 的生成概率为:
    在这里插入图片描述
      ααββ 都是超参数,Zcs=wvexp(<cs,vw>)Z_{c_s} = ∑_{w∈v}exp(<c_s, v_w>) 是归一化常数。我们看到该模型允许生成与主题向量 csc_s 不相关的单词 ww ,其原因有二:(aa) 偶然地从项α·p(w)产生 ;(bb) ww 与公共话语向量 c0c_ {0} 相关。

    33 Compute Sentence Embedding

       句子向量被定义为向量 csc_s极大似然估计
    在这里插入图片描述
       因此我们发现,MLEMLE大致是句子中单词的向量的加权平均值。我们发现,越频繁的单词,权重越小。

      为了估计 csc_s ,我们通过计算一组句子的第一主成分来估计方向 c0c_0 。通过将 csc_s 的投影减去它们的第一主成分可以得到最终的句子嵌入。

      整体流程如下:
    在这里插入图片描述


    REFERENCE

    SIF 论文阅读笔记

    展开全文
  • 再次, 定义直觉语言变量运算法则和大小比较方法, 提出直觉语言信息变权加权平均算子和直觉语言信息变权加权几何平均算子, 进而提出一种初始属性权重确定且属性以直觉语言形式给出多属性决策方法; 最后, 通过...
  • 为了克服Kalman滤波和Sage自适应滤波的缺点,在分析基于新息向量、残差向量和状态改正数向量的自适应协方差估计存在问题...研究结果表明,基于随机加权估计的Sage自适应滤波效果明显优于基于算术平均值估计的滤波方法。
  • OpenGl法向量计算

    千次阅读 2015-04-08 15:24:37
    一、简介 顶点法向量的作用: 对渲染时光照...取顶点周围三角面片的法向量的平均值 2.加权算法 3.....等,大同小异,无法就是取个近似值,每种方法在不同的情景中,所得的近似值各有千秋。 本文参考外文代码,给出实现

    一、简介

    顶点法向量的作用: 对渲染时光照的影响,造成不同的反射角度。

    法向量:垂直于顶点所在的最小平面的单位向量,这个值是近似值。

    二、目的

    如何计算顶点法向量?

    三、我的总结

    网上对于法向量的计算方法有多种:1.取顶点周围三角面片的法向量的平均值 2.加权算法 3.....等,大同小异,无法就是取个近似值,每种方法在不同的情景中,所得的近似值各有千秋。

    本文参考外文代码,给出实现的demo。

    先参看下图;


    代码是个加载地形的类:

    class Terrain{
    	private:
    		int w;
    		int l;
    		float** hs;
    		Vec3f** normals;
    		bool computedNormals;
    	public:
    		Terrain(int w2, int l2){
    			w = w2;
    			l = l2;
    
    			hs = new float*[l];
    			for (int i = 0; i < l; i++){
    				hs[i] = new float[w];
    			}
    
    			normals = new Vec3f*[l];
    			for (int i = 0; i < l; i++){
    				normals[i] = new Vec3f[w];
    			}
    
    			computedNormals = false;
    		}
    
    		~Terrain(){
    			for (int i = 0; i < l; i++){
    				delete [] hs[i];
    			}
    			delete[] hs;
    
    			for(int i = 0; i < l; i++){
    				delete[] normals[i];
    			}
    			delete[] normals;
    		}
    
    		int width(){
    			return w;
    		}
    
    		int length(){
    			return l;
    		}
    
    		void setHeight(int x, int z, float y){
    			hs[z][x] = y;
    			computedNormals = false;
    		}
    
    		float getHeight(int x, int z){
    			return hs[z][x];
    		}
    
    		void computeNormals(){
    			if(computedNormals){
    				return;
    			}
    
    			Vec3f** normals2 = new Vec3f*[l];
    			for (int i = 0; i < l; i++) {
    				normals2[i] = new Vec3f[w];
    			}
    
    			for(int z = 0; z < l; z++){
    				for (int x = 0; x < w; x++){
    					Vec3f sum(0.0f, 0.0f, 0.0f);
    
    					Vec3f out;
    					if (z > 0)
    					{
    						out = Vec3f(0.0f, hs[z-1][x] - hs[z][x], -1.0f);
    					}
    
    					Vec3f in;
    					if(z < l - 1){
    						in = Vec3f(0.0f, hs[z + 1][x] - hs[z][x], 1.0f);
    					}
    
    					Vec3f left;
    					if (x > 0){
    						left = Vec3f(-1.0f, hs[z][x-1] - hs[z][x], 0.0f);
    					}
    
    					Vec3f right;
    					if (x < w - 1){
    						right = Vec3f(1.0f, hs[z][x+1] - hs[z][x], 0.0f);
    					}
    
    					if (x > 0 && z > 0){
    						sum += out.cross(left).normalize();
    					}
    
    					if (x > 0 && z < l - 1){
    						sum += left.cross(in).normalize();
    					}
    
    					if(x < w - 1 && z < l - 1){
    						sum += in.cross(right).normalize();
    					}
    
    					if (x < w - 1 && z > 0){
    						sum += right.cross(out).normalize();
    					}
    
    					normals2[z][x] = sum;
    				}
    			}
    			const float FALLOUT_RATIO = 0.5f;
    			for (int z = 0; z < l; z++)	{
    				for(int x = 0; x < w; x++){
    					Vec3f sum = normals2[z][x];
    
    					if(x > 0){
    						sum += normals2[z][x-1] * FALLOUT_RATIO;
    					}
    
    					if(x < w - 1){
    						sum += normals2[z][x+1] * FALLOUT_RATIO;
    					}
    
    					if(z > 0){
    						sum += normals2[z-1][x] * FALLOUT_RATIO;
    					}
    
    					if(z < l -1){
    						sum += normals2[z+1][x] * FALLOUT_RATIO;
    					}
    
    					if(sum.magnitude() == 0){
    						sum = Vec3f(0.0f, 1.0f, 0.0f);
    					}
    
    					normals[z][x] = sum;
    				}
    			}
    
    			for (int i = 0; i < l; i++)
    			{
    				delete[] normals2[i];
    			}
    			delete[] normals2;
    
    			computedNormals = true;
    		}
    
    		Vec3f getNormal(int x, int z){
    			if (!computedNormals){
    				computeNormals();
    			}
    
    			return normals[z][x];
    		}
    };


    函数void computeNormals()便是计算法向量方法。


    
    
    展开全文
  • 为快速有效地进行手指静脉识别,针对双向二维...对(2D)2PCA提取特征向量冗余信息有很强抑制作用,双向加权比单向加权效果更好;而且(OW2D)2PCA的平均识别率高于2DPCA、(2D)2PCA、W(2D)2PCA、(W2D)2PCA和OW(2D)2PCA.
  • 针对主成分分析算法获取主成分向量不够稀疏,拥有较多非零元这一问题,使用重加权方法对主成分分析算法进行优化,提出了一个新提取高维数据特征方法,即重加权稀疏主成分分析算法。首先将重加权?1最优化框架...
  • matlab开发-WeightedMeans

    2019-08-22 11:46:48
    matlab开发-WeightedMeans。计算输入向量的加权几何、算术或调和平均值
  • 题目链接 题目大意 ...类比到凸多面体,我们对其进行四面体剖分,每个四面体重心也就是四个顶点坐标的平均值,重心加权平均出来即可。四面体体积可以用行列式/向量混合积求出。 至于为什么,我也不知...
  • 最近看论文的时候发现好几篇改进词向量的小论文,方法虽然不复杂但是都挺有意思的,可能在工业界的某些任务上有奇效,分享一下~ 1.平均加权词向量 ... 然后将评论的评论向量r计算为标准化单词向量的平均值
  • 原文:Overview and benchmark of traditional and deep learning models in text classification 本文是我在试验Twitter数据情感... 输入推文被表示为文档向量,这是由组成推文的单词的嵌入的加权平均值产生的。 ...
  • 针对属性是不平衡语言多属性决策问题,提出了广义依赖型不平衡语言有序加权平均算子和加权广义依赖型不平衡语言有序加权平均算子.该类算子相关联权重向量赋权特点是对有偏见评价赋予较小权重,从而削弱不...
  • 然后,计算各局部块类内距离平均值和类间距离平均值,从而得到各部分对应权值。识别阶段,计算待识别人脸图像每一区域对所有训练样本人脸图像相应区域隶属度,最后采用加权融合策略做出判断。基于ORL和FERET...
  • attention 本质:其实就是一个加权求和。...解决方法 求平均值 -------(mean pooling) 加权平均,即(α i 为权重): h ∗ =∑ k i= α i h i  而attention所做事情就是如何将α i 合理...
  • 然后利用所导出的有序加权平均( IOWA ) 算子对各类信息的协商区间和协商进行集成, 并对 如何选取IOWA 算子加权向量的问题进行了讨论. 在此基础上提出了一种确定协商评价问题属性权重的方法. 算例 表明,...
  • 一些基础R函数整理

    2020-06-10 14:11:55
    2.weighted.mean()计算数据的加权平均值 weighted.mean(x,w,…, narm=FALSE) 其中x是数值向量,w是数据的权,不同 x的维数相同,该函数可以对矩阵和数组计算加权平均值,但对数据框不适用 3.数据标准化:...
  • Self-Attention GAN一些理解

    千次阅读 2018-12-20 10:33:07
    其实那么多attention机制,说白了就是一句话,重新分配权重,比如说现在有... w2, w3...wn, 对其求加权平均(也不一定是加权平均,看实际需求)来得到x1最终(当然,实际应用中会涉及到一些维度映射,Query-Ke...
  • 优先关系, 利用直觉模糊修正得分函数给出其关联权重向量的计算方法, 分析并证明了IFPOWA算子的性质; 提出 了基于IFPOWA算子的具有优先级的直觉模糊多准则决策方法. 最后, 利用实例对方法的有效性进行了分析....
  • 匹配时,结合线段在几何中的匹配方法,通过加权求和,计算源图像与目标图像中每组对应向量的相似度,将它们的平均值作为匹配结果。以焊盘表面轮廓为实验对象,使用所提出的算法进行匹配,结果表明,通过正确选取向量...
  • 随后, 以产品全寿命周期为策略, 结合模糊信息, 利用熵最大化算法得到各准则优化权值向量, 运用修正语意顺序加权平均算法整合各准则, 建立供应商整体供应绩效评估算法.计算实例表明该方法可对供应商绩效作出...
  • 给出了一种模糊有序加权平均(FOWA)算子,利用该算子对以三角模糊数互补判断矩阵形式给出判断信息进行了集结,基于三角模糊数期望求得三角模糊数互补判断矩阵排序向量,进而对决策方案进行排序。最后进行了算...
  • 绘制K线图算数平局值加权平均值最大值、最小值、极差中位数标准差移动平均卷积实现移动平均布林带线型预测线型拟合协方差相关系数相关矩阵多项式拟合数据平滑符号数组数组处理函数矢量化矩阵使用矩阵实现斐波那契...
  • 实验对比了采用径向基函数核支持向量机分类器,结果显示在内部参数为典型时,所提方法可在无需地物真实参考图情况下将多分类平均精度和总体精度提高2.90%和3.11%,且运算耗时无明显增加。
  • 结合不同产品评论词信息来构建智能化情感分类器,提出一种结合产品特征在线商品评论情感分类模型PWCNN(Product ...实验结果表明,PWCNN模型在平均准确率和[F1]等指标上取得最好结果,且提高了模型训练速度。
  • 标题相似度匹配

    2020-05-29 15:21:10
    3、获取句向量(词向量加权平均) 4、余弦相似度计算 我用是百度百科已经训练好向量 如有需要自行下载哦 ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ 百科词向量文件 提取码: a4ex 停用词文件就不上传了,是自己创建...
  • NumPy数组&矩阵运算

    2020-12-21 11:37:33
    幂余补等等数组与数组算术运算向量点积三角函数运算四舍五入对矩阵不同维度上元素进行求和计算数据标准差和方差对矩阵不同维度上元素求最大对矩阵不同维度上元素进行排序生成特殊数组布尔运算取整运算...
  • Pytorch系列笔记(九)

    2020-08-19 22:44:37
    如图就是一个简单Softmax函数,它只是求了加权平均值,然后进行分类。 而一般情况下,我们会把最后输出y变成一个独热向量。 对于y这一独热向量,我们可以更简单就可以完成分类任务。 上述例子代码: import ...

空空如也

空空如也

1 2 3
收藏数 48
精华内容 19
关键字:

向量的加权平均值