在一些场景中,两个不是近邻的顶点也可能拥有很高的相似性,对于这类相似性,上述方法是无法捕捉到的。Struc2Vec 就是针对这类场景提出的。Struc2Vec 的论文发表在 2017 年的 KDD 会议中。
GraphEmbedding(3): node2vec
node2vec 和 deepwalk 非常类似,主要区别在于顶点序列的采样策略不同 node2vec 算法原理 优化目标 \(f(u)\) 是将顶点 \(u\) 映射为 embedding 向量的映射函数 \(N_S(u)\) 是通过采样策略 \(S\) 采样出的顶点 \(u\) 的近 ...
GraphEmbedding(4): SDNE
SNDE 算法原理 SNDE 可以看作是基于 LINE 的扩展,同时也是第一个将深度学习应用于网络表示学习中的方法。 不清楚 LINE 的同学可以参考 SDNE 使用一个自动编码器结构来同时优化 1 阶和 2 阶相似度 (LINE 是分别优化的),学习得到的向量表示能够保留局部和全局结构,并且对稀疏 ...
UCF:基于用户的协同过滤算法
基础算法 1992 年提出 UCF,UCF 的两个步骤 找到和目标用户相似的用户集合 找到这个集合中用户喜欢的,且用户未见过的物品推荐 如何计算两个用户 \(u, v\) 的兴趣相似度? \(N(u)\) 表示用户 \(u\) 曾经有过正反馈的物品集合 \(N(v)\) 表示用户 \(v\) ...
argparse: 命令行选项解析
示例文件 准备:sys.argv 和命令行参数 # 输出命令行参数import sysdef main(argv): for i in range(len(sys.argv)): print('sys.argv[{0}] = {1}'. ...
无监督特征学习——三叶虫
稀疏编码(Sparse Coding) 基本概念 稀疏性 外界信息经过编码后仅有一小部分神经元激活 基向量 \(A=\left[\mathbf{a}_{1}, \cdots, \mathbf{a}_{p}\right]\) 输入样本 \(\mathbf{x} \in \mathbb{R}^{d}\) ...
shell 特殊变量记忆
一直头疼 shell 脚本的特殊变量记忆,总是背了又忘,忘了又背。太多的东西实在记不住 $*, $?, $!,不如就背两个,$# 和 $@。 $# 是传给脚本的参数个数 $@ 是传给脚本的所有参数的列表 $0 是脚本本身的名字 $1 是传递给该 shell 脚本的第一个参数 $2 是传递 ...
expect 踩坑记
expect 是一个攻来处理交互的命令。简单来说,我们可以用 ssh 连上另一台 Linux,连上去这个动作好做。 但是连上了之后,我们如何在这台机器上执行命令呢? Expect is a program that "talks" to other interactive pr ...
布隆过滤器
布隆过滤器原理 应用场景 大数据 , 快速查找 , 不介意小概率误判 分布式磁盘 IO 爬虫 黑名单过滤 优缺点 优点 空间小,相比list, RB-tree, hash 不用存数据 查询快,\(O(k)\)级别的查询效率,还能并行 缺点 有时候同学不在寝室,他却告诉我们在;但是他们告 ...
牛顿法快速求平方根
求平方根的办法有很多,第一种是用二分法,第二种是 牛顿法。 推荐阅读一篇博客,我这里只写的原理 要求 \(x^2 = n\) 的解,令 \(f(x) = x^2 - n\),求零点即可 推导公式如下: \[x_i - x_{i+1} = \frac{x_i^2 - b}{2 x_i} \] \[\ ...