论文解读:BS-Nets: An End-to-End Framework For Band Selection of Hyperspectral Image

BS-Nets: An End-to-End Framework For Band Selection of Hyperspectral Image

选用波段选择的原因:保留了包含在HSI中的主要物理属性,鲁棒性强。

波段选择分为有监督和无监督:无监督又可分为基于排序和基于聚类。基于排序的无监督波段选择方法主要是根据某个度量准则来评价每个波段的重要性,如非高斯度,方差,互信息等;基于聚类的无监督波段选择方法以最小化类内的方差,最大化类间的方差为目标将波段分成不同的类,然后在每个类中选择出聚类中心作为最有代表性的波段,达到了去除波段间冗余性的目的。

基于聚类的有子空间聚类(ISSC)和稀疏非负矩阵分解聚类(SNMF)
基于排序的最大方差主成分分析(MVPCA,稀疏表示(SpaBS)和基于几何的波段选择(OPBS)等等。(PS:之所以提到是因为后面的对比算法用到了。)

本文成立的条件是:假设光谱波段可以用少量的信息波段进行稀疏重建。

本文的贡献:
1): 提出了一种基于深度神经网络的端到端波段选择框架,用于学习光谱波段之间的非线性相关性。
2) 我们根据不同的应用场景实现了两个不同的BS-Net,即基于频谱的BSNet-FC和基于频谱空间的BS-Net-Conv。
3) 我们从分类性能和定量评估等方面对拟议的BS-Nets框架进行了广泛的评估,表明BS-Nets可以实现最新的结果。

本文的重点或许就是这个了:
Attention Mechanism:注意力被定义为一种使可用处理资源的分配偏向于输入信号的信息量最大的方法。文中虽然这样说,但是最好的理解方式就是

  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
### 回答1: 用 Java 实现根据 cp-nets 图生成 cp-nets 导出图的方法如下: 1. 读取 cp-nets 图的数据结构,包括点和边的信息。 2. 建立一个新图,用于存储 cp-nets 导出图。 3. 根据 cp-nets 图的点和边的信息,在新图中创建点和边。 4. 应用 cp-nets 导出算法,在新图中生成 cp-nets 导出图。 5. 输出 cp-nets 导出图的数据结构。 下面是一个简单的实现示例: ``` import java.util.ArrayList; import java.util.List; public class CPNet { private List<Node> nodes; private List<Edge> edges; public CPNet(List<Node> nodes, List<Edge> edges) { this.nodes = nodes; this.edges = edges; } public List<Node> getNodes() { return nodes; } public List<Edge> getEdges() { return edges; } public static class Node { private String name; public Node(String name) { this.name = name; } public String getName() { return name; } } public static class Edge { private Node source; private Node target; public Edge(Node source, Node target) { this.source = source; this.target = target; } public Node getSource() { return source; } public Node getTarget() { return target; } } public CPNet export() { List<Node> exportedNodes = new ArrayList<>(); List<Edge> exportedEdges = new ArrayList<>(); // Apply export algorithm to generate exported graph return new CPNet(exportedNodes, exportedEdges); } public static void main(String[] args) { List<Node> nodes = new ArrayList<>(); nodes.add(new Node("A")); nodes.add(new Node("B")); nodes.add(new Node("C")); List<Edge> edges = new ArrayList<>(); edges.add(new Edge(nodes.get(0), nodes.get(1))); edges.add(new Edge(nodes.get(1), nodes.get(2))); CPNet cpNet = new CPNet(nodes, edges); ### 回答2: CP-nets(条件偏好网络)是一种用于表示个体偏好关系的图形模型。根据CP-nets图生成CP-nets导出图,可以使用Java编程语言实现。 首先,我们需要定义一个CP-nets图的数据结构,可以使用邻接矩阵表示法或邻接链表表示法。假设我们使用邻接链表来表示CP-nets图,其中每个节点表示一个条件偏好关系。 接下来,我们可以使用Java的图形化库(比如JavaFX或Swing)来绘制CP-nets导出图。我们可以根据CP-nets图的数据结构,在图形界面上绘制节点和边,以表示条件偏好关系。 具体步骤如下: 1. 创建一个Java项目,并引入图形化库所需的依赖。 2. 设计CP-nets图的数据结构,可以包括节点类和边类。节点类应包含节点的属性,如名称、偏好值等。边类应包含边的属性,如起始节点、结束节点等。 3. 实现CP-nets图的读取功能,可以从文件中读取CP-nets图的数据,或者通过用户输入获取。 4. 使用图形化库创建一个窗口,作为CP-nets导出图的界面。 5. 将CP-nets图的节点和边在界面上绘制出来。可以根据节点的位置、大小和偏好值等属性来绘制节点,使用合适的线条来连接相邻节点。 6. 添加交互功能,比如点击节点展开或关闭其下级节点。 7. 运行程序,根据输入的CP-nets图数据,显示出CP-nets导出图。 通过上述步骤,我们可以使用Java实现根据CP-nets图得到CP-nets导出图的功能。编写并运行程序后,我们可以在图形界面上直观地观察和分析CP-nets图的结构和偏好关系。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值