NoRM

PEAX: Interactive Visual Pattern Search in Sequential Data Using Unsupervised Deep Representation Le

不羁岁月 提交于 2020-08-10 09:48:55
论文传送门 视频 代码 作者 哈佛大学工程与应用科学学院 Fritz Lekschas Daniel Haehn (马萨诸塞大学) Hanspeter Pfister 诺华生物医学研究所 Brant Peterson Eric Ma 哈佛大学医学院 Nils Gehlenborg 摘要 我们介绍了PEAX,一种基于特征的新颖技术,用于在序列数据(例如时间序列或映射到基因组序列的数据)中进行交互式视觉模式搜索。由于存在很大的搜索空间,模式的视觉复杂性以及用户对相似性的感知,因此以视觉方式通过相似性搜索模式通常具有挑战性。例如,在基因组学中,研究人员试图将多元顺序数据中的模式与细胞或病原体过程联系起来,但是由于缺乏真实数据和高方差,因此自动模式检测不可靠。我们已经开发了卷积自动编码器,用于顺序数据中区域的无监督表示学习,与现有的相似性度量相比,它可以捕获复杂模式的更多视觉细节。利用这种学习到的表示作为顺序数据的特征,我们随附的可视化查询系统可以对模式搜索进行交互式反馈驱动的调整,以适应用户的感知相似性。PEAX使用主动学习采样策略,收集用户生成的二类相关性反馈。该反馈用于训练二分类的模型,以最终找到表现出类似于搜索目标的模式的其他区域。我们通过基因组学案例研究来证明PEAX的功能,并与八位领域专家一起进行用户研究报告,以评估PEAX的可用性和实用性。此外

基于Python和Tensorflow构建完整的电影推荐算法

时间秒杀一切 提交于 2020-08-10 07:05:03
第一步:收集和清洗数据 数据链接: https://grouplens.org/datasets/movielens/ 下载文件:ml-latest-small import pandas as pd import numpy as np import tensorflow as tf 导入ratings.csv文件 ratings_df = pd.read_csv('./ml-latest-small/ratings.csv') ratings_df.tail() #tail命令用于输入文件中的尾部内容。tail命令默认在屏幕上显示指定文件的末尾5行。 结果: 导入movies.csv文件 movies_df = pd.read_csv('./ml-latest-small/movies.csv') movies_df.tail() 结果: 将movies_df中的movieId替换为行号 movies_df['movieRow'] = movies_df.index #生成一列‘movieRow’,等于索引值index movies_df.tail() 结果: 筛选movies_df中的特征 movies_df = movies_df[['movieRow','movieId','title']] #筛选三列出来 movies_df.to_csv('./ml-latest

java中线程执行流程详解

醉酒当歌 提交于 2020-08-08 08:59:50
0 前言 当线程被创建并启动以后,它既不是一启动就进入了执行状态,也不是一直处于执行状态。在线程的生命周期中,它要经过 新建( New)、就绪(Runnable)、运行(Running)、阻塞(Blocked)和死亡(Dead)5种状态 。尤其是当线程启动以后,它不可能一直 "霸占"着CPU独自运行,所以CPU需要在多条线程之间切换,于是 线程状态也会多次在运行、阻塞之间切换 。 线程状态转换关系 1 新建(New)状态 当程序使用 new关键字创建了一个线程之后,该线程就处于 新建状态 ,此时的线程情况如下: 此时 JVM为其分配内存,并初始化其成员变量的值 ; 此时线程对象没有表现出任何线程的动态特征 ,程序也不会执行线程的线程执行体; 2 就绪(Runnable)状态 当线程对象调用了 start()方法之后,该线程处于 就绪状态 。此时的线程情况如下: 此时 JVM会为其 创建方法调用栈和程序计数器 ; 该状态的线程一直处于 线程就绪队列 (尽管是采用队列形式,事实上, 把它称为可运行池而不是可运行队列 。因为 CPU的调度不一定是按照先进先出的顺序来调度的),线程并没有开始运行; 此时线程 等待系统为其分配 CPU时间片 ,并不是说执行了 start()方法就立即执行; 调用 start()方法与run()方法,对比如下: 调用 start()方法来启动线程

Java 多线程启动为什么调用 start() 方法而不是 run() 方法?

吃可爱长大的小学妹 提交于 2020-08-07 18:57:27
Java 多线程启动为什么调用 start() 方法而不是 run() 方法? 多线程在工作中多多少少会用到,我们知道启动多线程调用的是 start() 方法,而不是 run() 方法,你知道原因吗? 在探讨这个问题之前,我们先来了解一些多线程的基础知识~ 线程的状态 Java 中,定义了 6 种线程状态,在 Thread 类可以找到: // 为了节约空间,我删除了注释 public enum State { NEW,//初始状态 RUNNABLE,//运行状态 BLOCKED,// 阻塞状态 WAITING,//等待状态 TIMED_WAITING,//超时等待状态 TERMINATED;//终止状态 } 这 6 种状态之间的关联,可以看下面这张图: 这张图描述的还是非常详细的,结合这张图,来说说这几种状态分别代表着什么意思: 1、NEW 表示线程创建成功,但没有运行,在 new Thread 之后,没有 start 之前,线程都处于 NEW 状态; 2、RUNNABLE 表示线程正在运行中,当我们运行 strat 方法,子线程被创建成功之后,子线程的状态变成 RUNNABLE; 3、TERMINATED 表示线程已经运行结束,子线程运行完成、被打断、被中止,状态都会从 RUNNABLE 变成 TERMINATED; 4、BLOCKED 表示线程被阻塞,如果线程正好在等待获得

【JAVA SE基础篇】57.线程礼让、插队、优先调用、守护线程与其他

情到浓时终转凉″ 提交于 2020-08-06 15:16:00
1.线程礼让 礼让线程,让当前正在执行线程暂停 不是阻塞线程,而是将线程从 运行状态 转入 就绪状态 让cpu调度器重新调度 例: 例 2.线程合并 join合并线程,待此线程执行完成后,再执行其他线程, 其他线程阻塞 例: 例: 3.线程的状态 4.线程优先级 Java提供一个线程调度器来监控程序中启动后进入就绪状态的所有线程。线程调度器按照线程的优先级决定应调度哪个线程来执行 线程的优先级用数字表示,范围从1到10 Thread.MIN PRIORITY=1 Thread.MAX PRIORITY=10 Thread.NORM PRIORITY=5(默认) 使用下述方法获得或还是设置线程对象的优先级   int getPriority();   void setPriority(int new Priority); 优先级的设定建议在start()调用前 注:优先级低只是意味着获得调度的概率低。并不是绝对先调用优先级高后调用优先级低的线程 例: 5.守护线程 线程分为用户线程和守护线程 虚拟机必须确保用户线程执行完毕 虚拟机不用等待守护线程执行完毕 如后台记录操作日志、监控内存使用等 例: 6.其他方法 1.isAlive:判断线程是否还活着,即线程是否终止 2.setName:给线程起名 3.getName:获取线程名称 4.currentThread()

java面试必问:多线程的实现和同步机制,一文帮你搞定多线程编程

时光毁灭记忆、已成空白 提交于 2020-08-06 08:51:56
前言 进程:一个计算机程序的运行实例,包含了需要执行的指令;有自己的独立地址空间,包含程序内容和数据;不同进程的地址空间是互相隔离的;进程拥有各种资源和状态信息,包括打开的文件、子进程和信号处理。 线程:表示程序的执行流程,是CPU调度执行的基本单位;线程有自己的程序计数器、寄存器、堆栈和帧。同一进程中的线程共用相同的地址空间,同时共享进进程锁拥有的内存和其他资源。 多线程的实现 继承Thread类 创建一个类,这个类需要继承Thread类 重写Thread类的run方法(run方法中是业务代码) 实例化此线程类 调用实例化对象的start方法启动线程 package com.test; public class Demo1 { public static void main(String[] args){ ThreadDemo threadDemo = new ThreadDemo(); threadDemo.start(); } } class ThreadDemo extends Thread{ @Override public void run() { System.out.println("运行了run方法"); } } 在多线程编程中,代码的执行结果与代码的执行顺序或者调用顺序是无关的线程是一个子任务

初学JEST操作es6.x的实战

百般思念 提交于 2020-08-06 07:55:58
在项目中使用jest操作es6.x(搜索)的心得 : [这篇文章是初学elasticSearch的心得笔记以及遇到的一些问题] 查询方式: 先创建一个SearchSourceBuilder这个是总的查询对象器 // 主查询条件 SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder(); 在创建一个关于业务逻辑的查询构建器,例如:BoolQueryBuilder 布尔类型的构建器 BoolQueryBuilder queryBuilder = QueryBuilders.boolQuery(); 接下来就是对于业务逻辑中各个查询条件的拼接:其实也是BoolQueryBulider之类的构建器作为各个过滤条件 // 单个过滤条件 BoolQueryBuilder stringBuilder = QueryBuilders.boolQuery(); authBuilder.should(QueryBuilders.termQuery("xxx", "xxx")); authBuilder.should(QueryBuilders.termQuery("xxx", "xxx")); queryBuilder.must(authBuilder); //范围过滤条件 BoolQueryBuilder

Elasticsearch系列---相关性评分算法及正排索引

倾然丶 夕夏残阳落幕 提交于 2020-08-05 21:20:06
概要 上一篇中多次提到了按相关性评分,本篇我们就来简单了解一下相关性评分的算法,以及正排索引排序的优势。 评分算法 Elasticsearch进行全文搜索时,Boolean Model是匹配的基础,先用boolean model将匹配的文档挑选出来,然后再运用评分函数计算相关度,参与的函数如我们提到的TF/IDF、Length Norm等,再加上一些控制权重的参数设置,得到最后的评分。 Boolean Model 作为全文搜索的基础,Boolean Model的结果决定文档是否要进行下一步的评分操作,使用AND、OR、NOT这种逻辑操作符来判断查找的文档,整个过程不评分,非常快速地将匹配的文档筛选出来。 由于Elastisearch各个版本相关度评分算法有异同,我们以6.3.1版本的BM25算法为准。 TFNORM/IDF 由Boolean Model之后得到的文档,我们开始计算文档的评分,每个文档的评分取决于每个关键词在文档中的权重,权重我们会从以下几个方面考虑: TFNORM 即词频长度(Term Frequency Norm),单个term在文档中出现的频率,并结合字段长度,出现次数越高,字段长度越低,分越高,计算公式: tfNorm(t in d) = (freq * (k1 + 1)) / (freq + k1 * (1 - b + b * fieldLength /

OpenCV开发笔记(六十五):红胖子8分钟带你深入了解ORB特征点(图文并茂+浅显易懂+程序源码)

一世执手 提交于 2020-08-05 15:36:33
若该文为原创文章,未经允许不得转载 原博主博客地址: https://blog.csdn.net/qq21497936 原博主博客导航: https://blog.csdn.net/qq21497936/article/details/102478062 本文章博客地址: https://blog.csdn.net/qq21497936/article/details/106926496 各位读者,知识无穷而人力有穷,要么改需求,要么找专业人士,要么自己研究 红胖子(红模仿)的博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中…(点击传送门) OpenCV开发专栏(点击传送门) 上一篇:《 OpenCV开发笔记(六十四):红胖子8分钟带你深入了解SURF特征点(图文并茂+浅显易懂+程序源码) 》 下一篇:持续补充中… 前言   红胖子,来也!   识别除了传统的模板匹配之外就是体征点了,前面介绍了Suft特征点,还有一个传统的就会ORB特征点了。   其实识别的特征点多种多样,既可以自己写也可以使用opencv为我们提供的,一般来说根据特征点的特性和效率,选择适合我们场景的特征就可以了。   本篇,介绍ORB特征提取。 Demo             ORB特征点 概述  

Mysql 的join on上的过滤和在where上过滤的区别

ぃ、小莉子 提交于 2020-08-05 10:38:23
测试如下: (1)创建两张表,并插入数据,sql语句如下: a表: CREATE TABLE `a` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(50) DEFAULT '', `grade` int(11) DEFAULT NULL, `dept` int(11) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB CHARSET=utf8mb4 insert into `a` (`id`, `name`, `grade`, `dept`) values('1','LIJIE1','100','10'); insert into `a` (`id`, `name`, `grade`, `dept`) values('2','LIJIE2','90','20'); insert into `a` (`id`, `name`, `grade`, `dept`) values('3','LIJIE3','60','10'); insert into `a` (`id`, `name`, `grade`, `dept`) values('4','LIJIE4','80','10'); insert into `a` (`id`, `name`, `grade`, `dept`)