入门文献复现——Combining belief functions based on distance of evidence Deng Yonga,2, Shi WenKanga, Zhu Zhe

本文介绍了一种改进的Murphy方法,通过计算基本概率分配(BOE)间的距离及相似度,构建相似矩阵并计算加权平均质量(BPA),最后通过迭代计算来提高证据组合的效果。
这个Paper结合BOE之间的距离的思想,对Murphy的方法进行了改进
代码注解:虽然代码写的还是一如既往的臭,仅仅知识为了获得运行结果而写,但还是基本复现了Paper。
#基于加权质量的平均法
#1. 计算BOE之间的距离d(m_i,m_j)
##1.1. 计算m_i∪m_j
##1.2. 利用并集的基数构建向量矩阵 vector_m_i,vector_m_j
##1.3. 构建D=矩阵,大小为|m_i∪m_j|*|m_i∪m_j|
##1.4. 利用公式求d(m_i,m_j)

#2. 利用上面的距离导出BOE之间的相似度Sim(m_i,m_j)

#3.利用相似度Sim(m_i,m_j)构建相似矩阵SMM

#4. 计算各个BOE的支持度 Sup(m_i)

#5. 将支持度Sup(m_i)进行规范化转为权重因子 Crd_i

#6. 计算出加权的平均质量(BPA)

#7. 利用Murphy的方法进行迭代计算
#*********************切割线*****************************#
import pandas as pd
import numpy as np
#数据类型规定#
#1、初始状态的BOE的数据类型为字典dict,例如boe1={"A":0.5,"B":0.2,"C":0.3}
# boe1={"A":0.5,"B":0.2,"C":0.3}
# boe2={"A":0,"B":0.9,"C":0.1}
# boe3={"A":0.55,"B":0.1,"AC":0.35}
# boe4={"A":0.55,"B":0.1,"AC":0.35}
# boe5={"A":0.6,"B":0.1,"AC":0.3}
########准备函数区#################
#抽取字典中的key值,并装进集合中,并且返回集合
def focal_Element(boe):
    key_m=[];
    m_key=boe.keys();
    for item in m_key:
        key_m.append(item)
    keym_set=set(key_m);
    return keym_set;
#*********************切割线*****************************#
#计算任意两个BOE中的并集
def setUnion(boeI,boeJ):
    #提取集合
    setBoe1=focal_Element(boeI);
    setBoe2=focal_Element(boeJ);
    return setBoe1.union(setBoe2);
#构建列向量,生成n*2的矩阵
#第一列:vector(boeI)
#第二列:vector(boeJ)
def columnVector(boeI,boeJ):
    unionSets=setUnion(boeI,boeJ);
    list_name=["key","boeI","boeII"];#这是矩阵的第一行
    list_matrix=[];
    list_matrix.append(list_name);
    for item in unionSets:
        list_value = list();
        list_value.append(item)
        if item in boeI.keys():
            value_I=boeI[item];
        else:
            value_I=0;
        list_value.append(value_I);
        if item in boeJ.keys():
            value_J=boeJ[item];
        else:
            value_J=0;
        list_value.append(value_J);
        list_matrix.append(list_value);#将所有的列表装入
    return np.array(list_matrix);
#返回vector_1-vector_2的结果
def vectorDifference(boeI,boeJ):
    vector_1_2=columnVector(boeI,boeJ);#生成记录两个列向量的矩阵
    #下面进行切片操作
    vector_1=vector_1_2[:,(0,1)];#第一个列向量
    vector_2=vector_1_2[:,(0,2)];#第二个列向量
    line,column=vector_1.shape;
    for i in range(1,line):
        for j in range(1,line):
            if(vector_1[i,0]==vector_2[j,0]):
                vector_1[i,1]=float(vector_1[i,1])-float(vector_2[j,1]);
    vector_1[0,1
### 基于深度学习的全球电离层TEC预测 #### 数据准备与预处理 为了实现有效的全球电离层总电子含量(Total Electron Content, TEC)预测,数据源的选择至关重要。通常使用的数据集包括来自国际GNSS服务(IGS)、欧洲定轨中心(CODE),以及其它地面监测站的数据[^1]。这些数据经过清洗、同步化处理后被用于训练模型。 对于输入特征的设计,除了时间戳之外,还可以考虑加入太阳活动指数(F10.7射线通量)、地磁扰动指标(Kp指数)等外部因素作为辅助变量来提高预测精度。此外,地理坐标也是重要的空间维度信息之一,在某些情况下可能还需要引入历史TEC值序列以捕捉时空关联性。 #### 深度学习架构设计 针对此类回归任务,常见的几种神经网络结构均能胜任: - **卷积神经网络 (CNN)**:适用于提取局部模式并推广到整个区域;尤其当存在大量高分辨率图像类资料时表现优异。 - **循环神经网络及其变体(LSTM/GRU)**:擅长处理长时间跨度的时间序列问题,能够记忆过去的状态从而更好地理解当前时刻的情况。 - **Transformer**:通过自注意力机制可以在不依赖递归的情况下建模远距离依赖关系,特别适合多站点联合预报场景下的复杂交互作用分析。 具体实践中往往会选择混合策略——比如先用 CNN 提取二维平面上的空间分布规律再接 LSTM 进行后续演算,或是直接构建端到端的大规模 Transformer 架构来进行全方位的学习。 ```python import torch from torch import nn class DeepIONet(nn.Module): def __init__(self): super(DeepIONet, self).__init__() # Example architecture combining CNN and LSTM layers self.cnn_layers = nn.Sequential( nn.Conv2d(in_channels=..., out_channels=..., kernel_size=(...)), ... ) self.lstm_layer = nn.LSTM(input_size=..., hidden_size=...) self.fc_out = nn.Linear(...) def forward(self, x): batch_size = x.size()[0] cnn_output = self.cnn_layers(x).view(batch_size,-1) lstm_output,(hn,cn)= self.lstm_layer(cnn_output.unsqueeze(dim=0)) final_output=self.fc_out(lstm_output[-1]) return final_output ``` #### 训练过程优化技巧 考虑到实际应用中的实时性和准确性需求,建议采取如下措施提升性能: - 使用分布式GPU集群加速大规模矩阵运算; - 应用迁移学习技术缩短收敛周期; - 实施早停法防止过拟合现象发生; - 定期更新权重初始化方案确保稳定启动。
评论 14
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值