贝叶斯学习
1. 简介
贝叶斯学习(Baysian Learning)是基于贝叶斯定理的一个推断方法。其考虑的场景为:我们观测到一个数据集合 D\mathcal{D}D,其服从条件分布 p(D∣w)p(\mathcal{D} | \boldsymbol{w})p(D∣w)(我们称 p(D∣w)p(\mathcal{D} | \boldsymbol{w})p(D∣w) 为模型分布),其中模型参数 w\boldsymbol{w}w 是未知的(当看作是 w\boldsymbol{w}w 的函数时,p(D∣w)p(\mathcal{D}|\boldsymbol{w})p(D∣w) 也被称为模型似然)。尽管 w\boldsymbol{w}w 是未知的,但先验分布 p(w)p(\boldsymbol{w})p(w) 往往是已知的,而我们要求解的便是 w\boldsymbol{w}w。
2. 贝叶斯定理
贝叶斯学习是基于联合分布 p(D,w)p(\mathcal{D}, \boldsymbol{w})p(D,w) 的基本分解公式,如下所示:
p(w∣D)⏟posteriorp(D)⏟marginal=p(D,w ...
相对熵和交叉熵
1. 相对熵
1.1 简介
相对熵也称为 KL 散度(Kullback-Leibler divergence),相对熵是两个概率分布 PPP 和 QQQ 差别的度量。具体来说,PPP 和 QQQ 的相对熵是用来度量使用基于 QQQ 的分布来编码服从 PPP 的分布的样本所需的额外平均比特数。典型情况下,PPP 表示真实分布,QQQ 表示数据的理论分布或者是估计的模型分布。
1.2 定义
对于离散随机变量,其概率分布 PPP 和 QQQ 的相对熵定义为:
DKL(P∥Q)=−∑iP(i)lnQ(i)P(i)=EP[−lnQP]D_{\mathrm{KL}}(P \Vert Q) = -\sum_{i} P(i) \ln{\frac{Q(i)}{P(i)}} = \mathbb{E}_{P} \left[ - \ln{\frac{Q}{P}} \right]
DKL(P∥Q)=−i∑P(i)lnP(i)Q(i)=EP[−lnPQ]
其中,P(i)P(i)P(i) 和 Q(i)Q(i)Q(i) 分别表示 PPP 和 QQQ 的离散概率。当式中出现 0ln00 \ln{0} ...
2017-ICLR-End-to-end Optimized Image Compression
1. 摘要
本文[1]提出了一种图像压缩框架,其由一个非线性分析变换、一个均匀量化器和一个非线性综合变换组成。这些变换都三层结构,每一层由一个卷积线性过滤器和非线性的激活函数构成。与大多数卷积神经网络不同的是,这些联合的非线性是用来实现一种局部增益控制,这种局部增益控制最初是来源于生物神经元领域的发现(局部增益控制已经成为生物神经元建模的一种方法)。作者使用随机梯度下降方法来联合优化整个模型的率失真性能。针对均匀标量量化器的目标函数不连续问题,作者提出了一种连续可微的近似量化,从而保证在优化过程中梯度能有效地反传。最后在测试集上,作者提出压缩模型展现出比 JPEG 和 JPEG2000 更好的性能。而且,该压缩模型在所有码率和所有图像上,MS-SSIM 性能都要好于 JPEG 和 JPEG2000。
2. 引言
数据压缩一直以来都是一个工程基础问题,自香农提出熵信息以来,数据压缩问题得到很好的研究。对于给定的离散数据,最优的压缩编码可以通过最小化编码熵来得到。而这个最优的压缩编码严重依赖于数据本身的概率分布,因此设计一个最优的压缩编码本质也是对数据分布进行建模的问题。然而,实际的编码必 ...
音乐资源汇总
教程
资源
说明
开始音乐创作之旅
一个可视化的音乐教程,介绍了音乐的组成:鼓、贝斯、和弦与旋律。
8Notes
一个提供免费的乐谱、课程和工具的网站。
free-scores.com
乐谱网站。
IMSLP 国际乐谱库
收录了大量的乐谱,同时还提供大量音乐录音、音乐教程和音乐论文资源。
歌谱简谱网
一个专门提供简谱的国内网站。
简谱网
另一个专门提供简谱的国内网站。
中国乐谱网
国内专业的大型乐谱分享平台。
工具
资源
说明
Music21
Music21 是一个基于 Python 的工具库,用于计算机辅助音乐学。
MuseScore
免费且易学,且已经有成熟的 Muse 社区,缺点是无法胜任专业度较高的乐谱。
LilyPond
开源 GNU 项目,遵循「用代码输入音乐」的模式,可定制性强,定位精确,学习门槛比 MusixTeX 低。
MusixTeX
MusixTeX 是 LaTeX 的一个宏包,LaTeX 爱好者们的不二之选,学习曲线有些陡峭。
2016-ICLR-Density Modeling of Images using a Generalized Normalization Transformation
1. 摘要
这篇文章[1]提出了一个参数化的非线性变换(GDN, Generalized Divisive Normalization),用来高斯化图像数据(高斯化图像数据有许多好处,比如方便压缩)。整个非线性变换的架构为:数据首先经过线性变换,然后通过合并的活动度量对每个分量进行归一化(这个活动度量是对整流和取幂分量的加权和一个常数进行取幂计算)。作者利用负熵度量对整个非线性变换进行优化。优化后的变换高斯化数据的能力得到很大提升,并且利用该变换得到的输出分量之间的互信息要远小于其它变换(比如独立成分分析 ICA 和径向高斯化 RG)。整个非线性变换是可微的,同时也可以有效地逆转,从而得到其对应的逆变换,二者一组合就得到了一个端到端的图像密度模型。在这篇文章中,作者展示了这个图像密度模型处理图像数据的能力(比如利用该模型作为先验概率密度来移除图像噪声)。此外,这个非线性变换及其逆变换都是可以级连的,每一层都使用同样的高斯化目标函数。最后,本文提出的 GDN 可以用来估计自然图像的概率分布,因此提供了一种用于优化神经网络的无监督方法。
2. 引言
近年来,用于复杂模式分类的表示学习取得了 ...
2016-PCS-End-to-end optimization of nonlinear transform codes for perceptual quality
1. 摘要
这篇文章[1]提出了一个通用的变换编码框架,用于提升假定使用标量量化的端到端的非线性变换编码的率失真性能。结合任意可微的感知度量,这个框架可以用于优化任意可微的分析变换和综合变换对。
2. 变换编码框架
这篇文章提出的变换编码框架的可视化如下图所示:
2.1 编解码流程
编码时,图像向量 x\boldsymbol{x}x 经过可微变换 gag_aga 得到编码向量 y=ga(x;ϕ)\boldsymbol{y} = g_a(\boldsymbol{x};\boldsymbol{\phi})y=ga(x;ϕ),其中 ϕ\boldsymbol{\phi}ϕ 向量用来参数化可微变换 gag_aga。然后对编码向量 y\boldsymbol{y}y 进行标量量化,即得到量化指数 q\boldsymbol{q}q,用于最终的编码存储。解码时,根据量化指数 q\boldsymbol{q}q,可以反量化得到解码向量 y^\hat{\boldsymbol{y}}y^,y^\hat{\boldsymbol{y}}y^ 经过可微的反变换 gsg_sgs 得到重建图像向量 x^\h ...
Linux普通用户使用Docker
1. 简介
Docker 是一款开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux 或 Windows 操作系统的机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
以上摘自**《百度百科——Docker》**
Docker 为开发者带来了极大便利性,因此被广泛使用于工作学习中。然而,Docker 默认只有拥于 root 权限的用户才能使用,这主要是为了安全,具体可参见 non-root user how to install docker?。不过,对于不那么要求安全性的场景,或者服务器上的部分普通用户值得信赖,能安全使用其被赋予的权限,则可以考虑给这部分用户使用 Docker 的权限。
【注】以下操作基本都需要 root 权限(除最后一条外),只有拥有 root 用户权限的才能进行这些操作;进行完这些操作后,被赋予权限的普通用户才能使用 Docker。
2. 安装 Docker
如果你的主机上尚未安装 Docker,则可以参见官方安装教程安装好 Docker。
3. 普通用户使用 Docker ...
Chrome清除DNS缓存
1. 简介
当域名解析的 IP 发生变化(DNS 服务器已经刷新)时,如果想立即获取变化而不关闭 Chrome,则可以手动清除一下浏览器的 DNS 缓存。
Chrome 的 DNS 缓存好像是存在内存中的,所以直接关闭 Chrome 也能达到清除 DNS 缓存的目的。
2. 清除 DNS 缓存
在 Chrome 中输入 chrome://net-internals/#dns,在弹出的页面中点击:
「DNS」->「Clear host cache」
「Socket」->「Flush socket pools」
即可清除 Chrome 的 DNS 缓存。
附录
参考资料:
Flush Chrome and Firefox DNS cache from command line?
CentOS7服务器搭建Xray
1. 简介
不同于桌面系统,服务器系统更便重于稳定性和可靠性。鉴于 CentOS 是目前使用最广泛的 Linux 服务器系统之一,本人也在自己的 VPS 上安装了 CentOS。虽然不幸的是, CentOS 官方在 2021 年底已经宣布停止维护 CentOS 8,但目前并不影响我们当下继续使用 CentOS 7,CentOS 7 的维护周期到 2024 年才截止。有关 Xray 的介绍可以参见「一灯不是和尚」的博文 Xray,Xray 的源代码仓库参见 https://github.com/XTLS/Xray-core。
2. 搭建 Xray
2.1 安装基础软件
如果 CentOS 是新装的,则需要更新一下并安装基础软件:
123sudo yum update -ysudo yum install -y curlsudo yum install -y wget
2.2 安装 x-ui
x-ui 是一款支持多协议多用户的 Xray 面板,非常方便用来管理 Xray。
首先下载并安装 x-ui 脚本:
12su # 以 root 用户安装bash <(curl -Ls ...
GPS相关资料
1. 相关博文
GPS(英文原版)、GPS(中译版)
2. 相关课程
GPS MOOC (Massive Open Online Course)
3. 相关书籍
Global Positioning System: Signals, Measurements, and Performance Revised Second Edition
我的博客即将同步至腾讯云+社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=2eju8rm7v2xw8
Linux系统迁移
1. 简介
Linux 系统迁移系统相对于 Windows 来说还是简单许多,使用 Linux 系统自带的 dd 命令即可。
2. 系统迁移
2.1 创建分区表
如果是一块新硬盘,则首先要为这个新硬盘创建分区表(不是则可以跳过该步)。分区表类型有 MBR 和 GPT 两种,具体使用哪种要看个人的电脑配置。
进入电脑的 BIOS,查看电脑是否支持 UEFI 启动,如果支持则说明兼容 GPT 分区的硬盘(新电脑现在都默认是 UEFI 启动的);如果只有 Legacy,则说明电脑只支持 MBR 格式的硬盘。
当电脑支持 UEFI 启动时,建议最好使用 GPT 分区。不过此时还要看你原来的系统所在的硬盘是使用 MBR 还是 GPT 分区,有些电脑虽然支持 UEFI 启动,但默认还是 Legacy 启动。如果不想折腾,那还是继续使用 MBR 分区吧。
MBR 分区有个限制,就是硬盘大小最多为 2 TB,且最多只支持 4 个分区,也就是说一个 MBR 在硬盘上最多不超过 4 个系统分区。
如果不介意折腾的话,可以先将原有系统所在的硬盘由 MBR 分区转为 GPT。
具体为先用 U 盘制 ...