深度学习入门1-线性代数-基本概念
理解标量、向量、矩阵、张量的含义和表达形式,目的是能理解含义,能读懂公式。
标量 scalar一个标量是一个单独的数。通常表示为小写的英文字母,如:$x$,$s$。
向量 vector一个向量是一列数。这些数是有序排列的。通过次序中的索引,可以确定每个单独的数。类似java中的数组。通常表示为粗体的小写英文字母,如:$\bf x$。
$x_1$是向量$\bf x$的第一个元素。当需要明确向量中的每一个元素时,可以使用方括号包围的一个纵列来表示,如:$\bf x \rm = \begin{bmatrix} x_1 \ x_2 \\vdots \x_n \end{bmatrix}$。有的时候需要明确的索引一个向量中的部分元素,可以先定义一个索引集合,再用索引集合做向量的下表,来表达。如:$s={1,3,6}$,然后写作$ \bf x_s$。可以通过补集的形式明确限定一组元素,如除了$x_1$之外的所有元素,表示为$\bf x_{-1}$。除了$x_1,x_3,x_6$之外的一个向量可以表示为$\bf x{-_s}$。
可以把向量看作空间上的一个点,向量中的每个元素相 ...
深度学习入门
想想n年之前,我也是能用numpy,pandas做一些机器学习应用的人,几年的摸爬滚打,这块东西忘完了。现在医疗领域AI如火如荼,有必要完善自己的知识结构,投入深度学习的浪潮中。这次学习,我希望能从基础出发,不求快,但求稳。我将记录下学习过程中的关键点、心得,本文是汇总目录。
深度学习入门1-线性代数-基本概念
深度学习入门2-线性代数-基本运算
深度学习入门3-线性代数-单位矩阵和逆矩阵
深度学习入门4-概率论基础
深度学习入门5-常用概率分布
深度学习入门6-常用函数
诡异的Spring Boot中文乱码
在开发环境里上传文件的功能运行正常,打包成jar后在正式环境里入库的文件成了乱码,排除了数据库、文件编码等原因后,问题通过java的启动命令参数解决。
java -Dfile.encoding=utf-8 xxx.jar
感谢前几天的H同事趟坑,他遇到的问题是在开发环境里调用服务正常,正式环境里调用服务后返回值成了乱码。
Gitlab+Sonar实现提交代码时自动审计
本文主要讲解,如何将Gitlab的代码管理功能和Sonar的代码审查功能结合起来,实现开发人员每次push时,自动scanner。由于服务器性能有限,未采用Jenkins。
环境介绍
centos 7
sonar cube 6.5
gitlab-ce-10.1.0
sonar-scanner-cli-3.0.3
配置sonar-scanner-cli在gitlab服务器上,部署sonar-scanner-cli,要注意的是通过二进制包安装的gitlab是在gitlab-runner用户下,所以需要将sonar-scanner-cli也部署在该用户下,否则会有权限问题。
在sonar-scanner-cli的配置文件中配置
sonar.host.url=https://sonar.lefer.cnsonar.sourceEncoding=UTF-8sonar.login=your token
login可以在sonar-cube的用户-安全页面中生成。
安装gitlab-runner# 添加gitlab的repository,由于是国外网站可能不稳定,如果失败就多执行几次cur ...
在JPA中使用联合主键
Spring Boot中使用JPA默认集成了Hibernater,当我们使用单主键的@Entity还是比较方便的,只需要加上@Id注解即可,那如果遇到两个列形成联合主键的场景,该如何定义@Entity呢?下文即为实践。
定义联合主键import javax.persistence.Embeddable;import java.io.Serializable;//要在类上使用@Embeddable注解,标识其为一个增强的主键类@Embeddable//一定要实现Serializable序列化接口public class VerifyResultPK implements Serializable{ //两个成员变量,即为联合主键列 private String cdaname; private Long cdaxh; //建议声明2个构造方法,一个无参,一个全参 public VerifyResultPK() { } public VerifyResultPK(String cdaname, Long cdaxh) & ...
全文照搬:王昊奋《大规模知识图谱技术》
这篇文章是王昊奋老师的一次座谈会的发言稿记录,通俗易懂,提纲挈领,让人对知识图谱有了比较清晰的认识。
以下为分享实景全文:
王昊奋:
近两年来,随着开放链接数据(Linked Open Data)等项目的全面展开,语义万维网数据源的数量激增,大量RDF(ResourceDescription Framework)数据被发布。互联网正从仅包含网页和网页之间超链接的文档万维网(Web of Document)转变成包含大量描述各种实体和实体之间丰富关系的数据万维网(Web of Data)。
国内外互联网搜索引擎公司纷纷以此为基础构建知识图谱,如Google知识图谱(Google KnowledgeGraph),百度“知心”和搜狗的“知立方”,以此来改进搜索质量,从而拉开了语义搜索的序幕。所以在这次介绍中将从Google KG, 知心和知立方三方面出发来介绍知识图谱,并帮助了解其面临的各种挑战以及图谱的内部技术实现。
我将从以下几个方面简述知识图谱:
1、知识图谱的表示以及在搜索中的展现形式;
2、知识图谱的构建;
3、知识图谱在搜索中的应用等;
从而了解其面临的各种挑战以及图谱的内部 ...
阿里巴巴数据新能源架构解读
2017全球机器学习技术大会上阿里巴巴从什么是数据新能源说起,接着介绍了阿里目前比较成功的两款数据产品,一个是是自动化标签生产,另外一个是大规模分布式知识图谱,以及在此之上的一些重要应用,其中讲到了他们的技术架构,下文是Lefer对其架构的理解。
总体技术架构
整体分为输入,特征,识别,输出四个层次。
输入:各种用户终端产生并采集到的数据
特征:分为技术和特征两类。技术是指各种特征的提取算法,特征是指计算所输出的有价值的维度。
word2vec:解析自然语句,在向量空间内将词的向量按相似性进行分组。word2vec神经网络的输出是一个词汇表,其中每个词都有一个对应的向量,可以将这些向量输入深度学习网络,也可以只是通过查询这些向量来识别词之间的关系。Word2vec衡量词的余弦相似性,无相似性表示为90度角,而相似度为1的完全相似则表示为0度角,即完全重合;例如,瑞典与瑞典完全相同,而挪威与瑞典的余弦距离为0.760124,高于其他任何国家。
node2vec:主要用于处理网络结构中的多分类和链路预测任务,具体来说是对网络中的节点和边的特征向量表示方法。简单来说就是将原有社交 ...
搭建gitlab环境
因为公司需要,我准备搭建一套gitlab环境。此文记录一下整个过程。
步骤# 依赖准备sudo yum install -y curl policycoreutils-python openssh-serversudo systemctl enable sshdsudo systemctl start sshdsudo firewall-cmd --permanent --add-service=httpsudo systemctl reload firewalldsudo yum install postfixsudo systemctl enable postfixsudo systemctl start postfix# 下载安装包,从清华镜像下载wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-10.1.0-ce.0.el7.x86_64.rpm# 安装,安装过程很慢,大概5-10分钟,不要着急sudo rpm -ivh gitlab-ce-10.1.0-ce.0.el7.x86_64 ...
数据仓库建模示例
本文主要的主线就是回答下面三个问题:
什么是数据模型
为什么需要数据模型
如何建设数据模型
最后,在本文的结尾给大家介绍了一个具体的数据仓库建模的样例,帮助大家来了解整个数据建模的过程。
什么是数据模型数据模型是抽象描述现实世界的一种工具和方法,是通过抽象的实体及实体之间联系的形式,来表示现实世界中事务的相互关系的一种映射。在这里,数据模型表现的抽象的是实体和实体之间的关系,通过对实体和实体之间关系的定义和描述,来表达实际的业务中具体的业务关系。
数据仓库模型是数据模型中针对特定的数据仓库应用系统的一种特定的数据模型,一般的来说,我们数据仓库模型分为几下几个层次,如下图 所示。
通过上面的图形,我们能够很容易的看出在整个数据仓库得建模过程中,我们需要经历一般四个过程:
业务建模,生成业务模型,主要解决业务层面的分解和程序化。
领域建模,生成领域模型,主要是对业务模型进行抽象处理,生成领域概念模型。
逻辑建模,生成逻辑模型,主要是将领域模型的概念实体以及实体之间的关系进行数据库层次的逻辑化。
物理建模,生成物理模型,主要解决,逻辑模型针对不同关系型数据库的物理化以及性能等一些 ...
SQL Server修改ServerName
在开启发布订阅时,对ServerName有要求,必须与MachineName一致。以下是修改方法。
-- 查看本库的服务名Select @@SERVERNAME,SERVERPROPERTY('servername'),SERVERPROPERTY('MachineName')-- 查看本库的链接服务列表select * from sys.servers;Exec sp_helpserver-- 执行删除Serverexec sp_dropserver '老ServerName', 'droplogins' -- 执行增加Serverexec SP_ADDSERVER '新ServerName', Local-- 执行完成后需重启数据库服务