- 博客(15)
- 资源 (2)
- 收藏
- 关注
原创 ALS计算CP分解
Tensor rank众所周知,CP分解就是将一个张量分解为一系列秩一张量之和。那么在计算CP分解之前,首先我们会遇到的一个问题就是如何确定张量的秩?也就是应该选择多少个秩一张量来组成原始张量呢?不幸的是,确定张量的秩是一个NP-hard问题,目前,已知的只能够确定一个张量秩的上界。例如,对于一个一般的三维张量而言,χ∈RI×J×K\chi\in R^{I \times J \times K}χ∈RI×J×K, 它的秩遵循如下约束:对于更多的关于张量秩的讨论不在这篇文章中提及,因此,在下面计算C
2021-03-11 17:03:14 1551 1
原创 DNSSEC?禁止套娃!
简介DNSSEC是DNS安全拓展,主要思想是通过在DNS记录中添加加密签名,从而为DNS解析流程提供来源可认证和数据完整性的保障。本文的目的是帮助大家大致理解DNSSEC的工作流程建议读者先掌握以下知识点再来阅读本文:DNS解析流程对数字签名有一个基本了解ZSK and KSK?在介绍DNSSEC之前,有必要先介绍一下区域签名密钥(ZSK)和密钥签名密钥(KSK),此处只需要大家对这俩名词有一个简单的认识,当然了,这俩东西都是密钥对,也就是既有私钥也有公钥。区域签名密钥ZSK:假设
2021-03-08 21:49:18 793
原创 CUR矩阵分解(对比SVD)
CUR矩阵分解简单回顾一下SVD分解提到矩阵分解,相信大家最熟悉的一定是SVD分解,但是SVD分解有两个缺点:可解释性较差:对于SVD分解,大家通常的理解应该是,左奇异向量以及右奇异向量分别张成了原始矩阵所在的列空间以及行空间,但是对于原始矩阵而言,并没有较强的可解释性。太过密集:就算原始矩阵是一个稀疏矩阵,该矩阵所分解而成的U、V矩阵仍然是高度密集的,这在某些应用场景下是难以接受的。与SVD相比,CUR分解的可解释性大大加强了。CUR矩阵分解对于一个矩阵 A ,我们能否将它分解为 只
2021-03-04 21:10:27 1458
原创 Java 打印数组
Java 如何打印数组的内容?如果像下面这样打印数组的话,int[] nums = {1,2,3,4,5,6};System.out.print(nums);那么得到的是这个数组在内存中的存储地址。想要打印Java中数组的内容,可以采用两种方式:1.遍历数组int[] nums = {1,2,3,4,5,6};for(int item : nums){ System.out.print(n+',');}2.使用Arrays.toString()import java.util.A
2021-03-03 15:20:02 413
原创 Linux系统下的Dig工具使用方法
类似于Windows系统中的nslookup,dig是Linux系统下常用的DNS查询工具简单使用典型的dig调用如下:dig @server name type@server表示用哪个域名服务器(或称为递归解析器)去递归解析我的DNS查询请求,默认情况下是使用ISP商提供的本地域名服务器,如果想要使用一些公共域名服务器(比如Google public DNS 8.8.8.8)就可以这样使用:dig @8.8.8.8 www.baidu.comname表示我要查询的域名,在上个例子中就是.
2021-03-02 14:15:08 701
原创 超详细!CP、Tucker分解
本文旨在对张量的CP、Tucker分解进行超详细讲解,希望能够帮助读者对这俩张量分解算法有深刻的理解。本文主要分成三个部分:section1主要介绍Notation and Preliminaries、section2介绍CP分解、section3介绍Tucker分解Introduction首先,给出本文最关键的一个点:这两种张量分解算法可以被看做是张量奇异值分解的高阶扩展:CP分解将张量分解为秩一张量之和,Tucker分解是主成成分分析(PCA)的高阶形式。Notation and Perl.
2021-03-02 12:46:31 4913
原创 DNS是如何解析的?
DNS是如何解析的?什么是DNS?DNS:Domain Name System,负责将用户请求的域名解析为对应机器的IP地址。众所周知,互联网上的每一台机器的身份是由IP地址标识的,而我们想要与任何一台机器进行通信都必须知道它的IP地址,然而,由于IP地址对人类来说难于记忆,因此就产生了域名。就拿www.baidu.com来说,相信我们对于这个域名都再熟悉不过了,但是如果让你记忆对应的IP地址,这个一定很痛苦。而互联网上的域名数量又极其庞大,将这些记录全都存在用户本地也是不现实的,而且也很难做到实时同步
2021-03-02 11:07:43 584
原创 Python3 Tuple
Tuple元组和列表很类似,不同之处在于元组不能修改元组使用 ( ) 、列表使用 [ ]元组中只包含一个元素时,需要在元素后面添加逗号,否则括号会被当做运算符使用注:如果你读过我的上一篇博客 Python3 List , 想必你对序列类型的基本用法有了一定了解,因此,我不想对元组进行过多讲解,直接上例子。1. 索引>>> my_tuple = ("hello", "...
2020-02-15 10:09:03 274
原创 Python3 List
ListList 是 Python 中最常用的数据类型,在此仅对其做简单归纳整理我们都知道,在 Python 6 种基础数据类型中,String List Tuple 这三种均属于序列类型,而序列通用的操作包括:索引、长度、组合(序列相加)、重复(乘法)、分片、检查成员、遍历、最小值和最大值。1. 索引通过索引的方式,我们可以对列表进行访问以及更新操作:>>> list...
2020-02-14 10:06:03 164
原创 Python3 String
String在 C/C++ 等语言中,有字符与字符串两种数据类型,但是在 Python 中统一当作字符串处理,即字符就是只含有一个元素的字符串。我们可以使用单引号或者双引号来创建字符串1. 不可变数据类型String 属于不可变数据类型,即我们无法对字符串进行修改:>>> s = "hello python">>> s[0] = "H"TypeE...
2020-02-13 22:01:58 509
原创 Python3 Number
2020/2/13 打算开始重新回顾一遍 Python ,并将知识点以博客的形式整理出来,希望能对你有一些帮助,陌生人。Python3 基础数据类型在 Pyhton3 中一共有 6 个标准数据类型:Number ( 数字 )String ( 字符串 )List ( 列表 )Tuple ( 元组 )Set ( 集合 )Dictionary ( 字典 )这 6 种标准数据类型又可...
2020-02-13 16:56:28 293
原创 Git 分支管理常用命令整理
Git 分支管理常用命令整理1. 创建、删除、切换、合并(1) 创建分支:git branch <branch_name><branch_name> 表示分支名称并且,使用 git branch 可以查看当前所有分支:git branch(2) 删除分支:git branch -d <branch_name>(3) 切换分支:git s...
2020-02-12 20:11:02 284
原创 Git 远程仓库常用命令整理
Git 远程仓库常用命令整理1. 关联远程库在已经创建本地仓库的前提下,想要将github远程仓库与之关联,可以在本地仓库下使用如下命令:git remote add origin git@github.com:<your_account_name>/<repo_name>.git<your_account_name> 代表你的 github 账户名...
2020-02-12 18:19:20 531
原创 Git 本地仓库常用命令整理
Git 本地仓库常用命令整理1. 创建本地库 git init2. 管理修改 git add <filename> --将修改添加到暂存区 git commit -m "xxx" --将暂存区的内容提交到当前分支 git status --查看仓库的状态 git diff <filename> --查看文...
2020-02-12 16:52:56 440
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人