MacOS | 优秀的软件工具总结篇
推荐个人高效的 macOS 软件,随所遇而更新… 系统工具 Chrome:多端信息和插件同步浏览器; Cheatsheet:显示软件快捷键; Rectangle/magnet:快捷分屏工具; Paste:粘贴板工具; Pap.er:壁纸工具,体验感较差 Unsplash:锁屏壁纸。 Alfred:快速查找及其入口; 滴答清单:每日任务提醒; F.lux:屏幕亮度调节; ClashX:系统代理软件;https://github.com/yichengchen/clashX 海豚湾:稳定的翻墙账号;https://hitun.io/ iShot:系统截图贴图工具; iStat Menus:系统监控工具; 腾讯柠檬:系统清理工具,附带基础系统监控功能,替代 iStat Menus。 Bartender:菜单栏图标整理工具; The Unarchiver:文件解压缩; OmniGraffle:强大的流程图绘画软件; Parallels Desktop:强悍的虚拟机软件; PDF Expert:PDF 文档编辑工具; Free Download Manager:百度网盘下载工具需结合油猴脚本 ...
NTP:微服务架构下的多源数据异常检测
论文标题 | Multi-Source Anomaly Detection in Distributed IT Systems 论文来源 | ICSOC/AIOps 2020 论文链接:https://arxiv.org/abs/2101.04977 源码链接:未公布 TL;DR 针对分布式系统服务的异常检测问题,文中提出了一种多模态的异常检测模型,联合了 trace 和 log 数据的特征表示来共同判定异常;对于异常检测任务将其形式化表示成 NTP next template prediction,同时适用于log和trace的异常检测;在实验中论文验证了融合多模态数据比单模态数据异常检测的效果更好。 Problem Statement Logs 日志可以表示为一种非结构化的时序文本数据,由于log数据中包含很多噪声,因此采用 tokenized 字典 Dlogs wordsD_{logs~words}Dlogs words 来表示日志模板,对于不同的 log token 使用 SPECLOGSPECLOGSPECLOG 进行填充以保证日志具有相同的长度,日志模板可以表示为: L ...
graph2vec:图级别的表示学习模型
论文标题 | graph2vec: Learning Distributed Representations of Graphs 论文来源 | KDD/MLG 2017 论文链接 | https://arxiv.org/pdf/1707.05005.pdf 源码链接 | https://github.com/MLDroid/graph2vec_tf TL;DR 目前图表示学习方法主要是学习图中节点或者子图的隐含向量,但现实中很多任务例如图分类或者聚类都需要将整个图编码成固定长度的向量;此外,以前基于图核的方法由于使用自定义特征因此通用性较差。本文中提出的一种无监督学习的图编码框架 graph2vec 可以编码任意大小的图,可以应用在downstream 的图分类或者聚类任务中; Problem Statement 给定图集合 G={G1,G2,⋯ }\mathbf{G} = \{G_1, G_2, \cdots \}G={G1,G2,⋯} 和向量编码维度 δ\deltaδ,目标是学习到每个图 GiG_iGi 的 δ\deltaδ 维表示向量; 给定一个图 G=(N,E,λ)G= ...
Python 命令行参数解析方法总结
背景 命令行参数工具 Python 中常用的工具,比如做实验希望调节参数的时候,如果参数都是通过硬编码写在代码当中的话,每次修改参数都需要修改对应的代码和逻辑显然这不太方便。比较好的办法就是把必要的参数设置成通过命令行传入的形式,这样我们只需要在运行的时候修改参数就可以了。本文总结下三种好用的参数解析方法。 argparse argparse 是 Python 自带的命令行解析库,比较常用但是参数解析部分略微有点繁琐,下面例子说明了其用法; 1234567891011121314151617181920212223242526# -*- coding: utf-8 -*-"""@Time : 2020/2/19 12:06@Author : dreamhomes@File : test.py@Description: test file"""import argparsedef params_parser(): parser = argparse.ArgumentParser(descri ...
数据预处理中的归一化和标准化方法
背景 在机器学习领域中,不同评价指标(即特征向量中的不同特征就是所述的不同评价指标)往往具有不同的量纲和量纲单位,这样的情况会影响到数据分析的结果,为了消除指标之间的量纲影响,需要进行数据标准化处理,以解决数据指标之间的可比性。原始数据经过数据标准化处理后,各指标处于同一数量级,适合进行综合对比评价。一般涉及到梯度下降和距离的计算需要进行标准化或正则化。 数据的标准化(Standardization)是将数据按比例缩放,使之落入一个小的特定区间。因而标准化的数据可正可负。 归一化(Normalization)其实就是标准化的一种方式,只不过归一化是将数据映射到了[0,1]这个区间中。 归一化的目的就是使得预处理的数据被限定在一定的范围内(比如[0,1]或者[-1,1]),从而消除奇异样本数据导致的不良影响。 方法 线性归一化 最大最小值归一化(min-max normalization)适合数值比较集中的情况,缺陷就是如果max和min不稳定,很容易使得归一化结果不稳定,使得后续的效果不稳定。 x′=x−min(x)max(x)−min(x)x^{\prime}=\f ...
DAG-GNN:基于图神经网络的有向无环图结构表示学习
论文标题 | DAG-GNN:DAG Structure Learning with Graph Neural Networks 论文来源 | ICML 2019 文章链接:https://arxiv.org/abs/1904.10098 源码链接:https://github.com/fishmoon1234/DAG-GNN TL;DR 论文中提出一种新的DAG编码架构 DAG-GNN,其实模型的本质就是一个图变分自编码器,模型的优点是既能处理连续型变量又能处理离散型变量;在人工数据集和真实数据集中验证了模型结果可以达到全局最优 🤔; Model / Algorithm 论文中的整体模型架构如下: Linear Structural Equation Model 论文中首先通过生成模型来泛化线性结构等价模型;假设 A∈Rm×mA \in \mathbb{R}^{m \times m}A∈Rm×m 表示DAG的加权邻接矩阵,X∈Rm×dX \in \mathbb{R}^{m \times d}X∈Rm×d 表示每个节点的特征,那么线性模型的的编码方式为: X=ATX+Z(1)X= ...
SciPy 中不同稀疏矩阵存储方式介绍
稀疏矩阵 稀疏矩阵 具有少量非零项的矩阵 - Number of Non-Zero (NNZ) < 0.5 (在矩阵中,若数值0的元素数目远多于非0元素的数目,并且非0元素分布没有规律) 矩阵的稠密度 非零元素的总数比上矩阵所有元素的总数为矩阵的稠密度。 Scipy 矩阵存储 存储矩阵的一般方法是采用二维数组,其优点是可以随机地访问每一个元素,因而能够容易实现矩阵的各种运算。 对于稀疏矩阵,它通常具有很大的维度,有时甚大到整个矩阵(零元素)占用了绝大部分内存 采用二维数组的存储方法既浪费大量的存储单元来存放零元素,又要在运算中浪费大量的时间来进行零元素的无效运算。因此必须考虑对稀疏矩阵进行压缩存储(只存储非零元素)。 12345678910111213141516from scipy import sparsehelp(sparse)'''Sparse Matrix Storage FormatsThere are seven available sparse matrix types: 1. csc_matrix ...
【2019/SDM】Deep Anomaly Detection on Attributed Networks
文章链接:http://www.public.asu.edu/~kding9/pdf/SDM2019_Deep.pdf 源码链接:https://github.com/kaize0409/GCN_AnomalyDetection TL;DR 目前属性网络中的异常检测方法都是使用浅层的学习机制或者子空间特征,但现实中属性网络非常稀疏并且数据是非线性的。论文中提出一种基于图自编码器的异常检测模型 DOMINANT-Deep Anomaly Detection on Attributed Networks,同时考虑了结构特征和属性特征,实验在真实网络中取得了较好的效果; Problem Definition Attributed Networks: 属性网络 G=(V,E,X)\mathcal{G}=(\mathcal{V}, \mathcal{E}, \mathbf{X})G=(V,E,X), 节点集合 ∣V∣=n|\mathcal{V}| =n∣V∣=n, 边集合 ∣E∣=m|\mathcal{E}| =m∣E∣=m,节点属性 X∈Rn×d\mathbf{X} \in \mathbf ...
基于变分自编码器重构概率的异常检测模型
论文标题 | Variational Autoencoder based Anomaly Detection using Reconstruction Probability 论文来源 | SNU Data Mining Center 2015 论文链接 | http://dm.snu.ac.kr/static/docs/TR/SNUDM-TR-2015-03.pdf 源码链接 | https://github.com/Michedev/VAE_anomaly_detection 论文总体结构 Abstract: 提出了一种基于重构概率的异常检测方法可变自动编码器。 Introduction Backgroud 2.1 Anomaly detection:介绍异常检常用几个方法。 2.2 Autoencoder and anomaly detection: 介绍自编码器(autoencoder) 如何进行异常检测。 2.3 Variational Autoencoder:介绍 VAE 的核心内容、VAE 与 AE 的区别 以及 VAE 训练算法。 Proposed method 3 ...
基于 Graph 的 Embedding 方法概述
Graph Embedding 基于内容的 Embedding 方法(如 word2vec、BERT 等)都是针对“序列”样本(如句子、用户行为序列)设计的,但在互联网场景下,数据对象之间更多呈现出图结构,如下图所示 (1) 有用户行为数据生成的物品关系图;(2) 有属性和实体组成的只是图谱。 对于图结构数据,基于内容的 embedding 方法不太好直接处理了。因此,为了解决图结构数据的问题,Graph Embedding 开始得到大家的重视,并在各个领域进行尝试; Graph Embedding 是一种将图结构数据映射为低微稠密向量的过程,从而捕捉到图的拓扑结构、顶点与顶点的关系、以及其他的信息。目前,Graph Embedding 方法大致可以分为两大类: 浅层图模型; 深度图模型。 浅层图模型 浅层图模型主要是采用random-walk + skip-gram模式的 embedding 方法。主要是通过在图中采用随机游走策略来生成多条节点列表,然后将每个列表相当于含有多个单词(图中的节点)的句子,再用 skip-gram 模型来训练每个节点的向量。这些方法主要包括Deep ...
ElasticSearch 和 Kibana 基础操作命令
安装 基于 MacOS 安装 123brew install elasticsearch // port 9200brew install kibana // port 5601## 注:注意版本兼容性;默认安装最新版 ES 命令行操作 查询索引:curl http://10.0.80.167:9200/_cat/indices 查询所有模板名称:curl -XGET http://10.0.80.167:9200/_cat/templates/ 查询模板内容:curl -XGET http://10.0.80.167:9200/_template/dreamhomes 查询数据:curl -XGET http://10.0.80.167:9200/ccb-trans-2021-03-08/_search\?pretty 删除索引:curl -XDELETE http://10.0.80.167:9200/index1,index2 命令行聚合: 1234567891011121314151617181920212223242526272829303132333435363738394 ...
PyTorch 中的损失函数总结
L1Loss 绝对值误差, 主要应用在回归的任务中。 输出维度: (batch_size, 1) # FloatTensor 标签维度: (batch_size, 1) # FloatTensor 实例代码 1234567import torchfrom torch import nninput_data = torch.FloatTensor([[3], [4], [5]]) # batch_size, outputtarget_data = torch.FloatTensor([[2], [5], [8]]) # batch_size, output loss_func = nn.L1Loss()loss = loss_func(input_data, target_data)print(loss) # 1.6667 验证代码 1print((abs(3-2) + abs(4-5) + abs(5-8)) / 3) # 1.6666 MSELoss 均方误差, 主要应用在回归的任务中 输出维度: (batch_size, 1) # FloatTensor 标签维度: ( ...
NIPS 2017 | GraphSAGE:大规模图上的归纳表示学习模型
论文标题 | Inductive Representation Learning on Large Graphs 论文来源 | NIPS 2017 论文链接 | https://arxiv.org/abs/1706.02216 源码链接 | https://github.com/williamleif/GraphSAGE 此文提出的方法叫 GraphSAGE,针对的问题是之前的网络表示学习的 transductive,从而提出了一个 inductive 的 GraphSAGE 算法。GraphSAGE 同时利用节点特征信息和结构信息得到 Graph Embedding 的映射,相比之前的方法,之前都是保存了映射后的结果,而 GraphSAGE 保存了生成 embedding 的映射,可扩展性更强,对于节点分类和链接预测问题的表现也比较突出。 概括 现存的方法需要图中所有的顶点在训练 embedding 的时候都出现;这些前人的方法本质上是 transductive,不能自然地泛化到未见过的顶点。 文中提出了 GraphSAGE,是一个 inductive 的框架,可以利用顶点特征信息 ...
Kubernetes(K8s) 基础知识与常用命令汇总
基本概念 云计算就是一种配置资源的方式,大概分为三种类型: IaaS: Infrastructure as a Service PaaS: Platform as a Service SaaS: Software as a Service K8s 架构 etcd保存了整个集群的状态; apiserver提供了资源操作的唯一入口,并提供认证、授权、访问控制、API注册和发现等机制; controller manager负责维护集群的状态,比如故障检测、自动扩展、滚动更新等; scheduler负责资源的调度,按照预定的调度策略将Pod调度到相应的机器上; kubelet负责维护容器的生命周期,同时也负责Volume(CSI)和网络(CNI)的管理; Container runtime负责镜像管理以及Pod和容器的真正运行(CRI); kube-proxy负责为Service提供cluster内部的服务发现和负载均衡; 安装配置 基于 MacOS docker desktop 安装时,直接配置项中启用 Kubernetes 即可; 安装 k8s dashboard: 1$ ku ...
NOMS 2020丨MicroRCA:微服务中性能故障根因定位方法
论文标题丨MicroRCA: Root Cause Localization of Performance Issues in Microservices 论文来源丨NOMS 2020 论文链接丨https://ieeexplore.ieee.org/document/9110353 源码链接丨未公布 TL;DR 软件架构正在经历从单体架构到微服务的转变,以实现软件开发的弹性、敏捷性和可扩展性。然而,由于技术异构、大量微服务以及软件功能和基础设施的频繁更新,微服务很难诊断性能问题。本文介绍了 MicroRCA,这是一种用于定位微服务中性能问题根本原因的系统。 MicroRCA 通过将应用程序性能症状与相应的系统资源利用率相关联,实时推断根本原因,无需任何应用程序检测。根本原因定位基于对跨服务和机器的异常传播进行建模的属性图。我们将常见异常注入到在 Kubernetes 集群中运行的微服务基准测试的实验评估表明,MicroRCA 可以很好地定位根本原因,具有 89% 的精度和 97% 的平均精度,优于几种最先进的方法。 Algorithm/Model 主要想法: 已知图结构 基于异常 ...