自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(44)
  • 资源 (3)
  • 收藏
  • 关注

原创 von Mises-Fisher Distribution (代码解析)

von Mises Fisher 分布的代码解析.

2024-04-20 22:28:35 1072 1

原创 von Mises-Fisher Distribution (Appendix 2)

von Mises Fisher Distribution 公式推导

2024-04-19 22:35:25 732

原创 von Mises-Fisher Distribution (Appendix 1)

von Mises Fisher Distribution 公式推导

2024-04-10 09:24:10 390

原创 von Mises-Fisher Distribution

von Mises-Fisher 分布的均值、熵、KL 散度以及采样等的 PyTorch 实现.

2024-03-21 16:48:25 1009

原创 decorator & register

最近看到 Python 的装饰器,于是初步调查了其用法。

2024-03-13 16:45:02 905

原创 Modified Bessel Function of the First Kind

最近接触到 von Mises–Fisher distribution, 其概率密度函数归一化常数中含有第一类修正贝塞尔函数. 查阅 Wikipedia, 其公式有定义式和积分式. 其计算比较麻烦, 更不用说求导了, 好在有递推式, 本文对其递推式进行推导。

2024-03-07 20:30:18 870

原创 PyTorch 中的 apply [autograd.Function]

源码: 是 PyTorch 中用于存储子模块的容器,而 方法可以应用一个函数到 ModuleList 中的每个子模块。具体来说, 方法会递归地将指定的函数应用到 ModuleList 中的每个子模块以及每个子模块的子模块上。这个方法的语法如下:其中 是要应用的函数,它接受一个 参数并且没有返回值。在 apply() 方法被调用后,会遍历 ModuleList 中的每个子模块,并把这个函数应用到每个子模块上。例如,假设有一个 ModuleList 包含了若干线性层(Linear),我们想要初始化所有

2024-03-03 09:27:59 1115

原创 torch.utils.data

问题,就不追究了,反正尽量用 numpy 或 pytorch tensor 吧。的其他参数,就会懵逼。那就看一看官方文档,了解一下。然而,背后到底干了什么,我们不清楚,甚至遇到。访问数据时,由于 Python 对象的。有一个需要注意的地方是内存增长问题,当。上图是数据加载的整体框架图,官网说。访问,后者的数据只能通过迭代器。的数据集的访问顺序由迭代器决定。提供一批下标,取得一批数据后由。并行地加载数据,并通过。

2024-02-17 20:34:50 937

原创 argparse

在命令窗口运行 Python 程序时,有时需要传入一些参数,就用到了argparse模块,它有非常强的解析命令行参数的能力。原始的命令行参数获取方式sys.argv;argparse的基本用法;背后的运作机制;shell编程;更好的方式;

2024-01-10 17:19:22 857

原创 Python 标准库中的 csv 包

本文将举例说明 `csv` 包的用法,然后补充一些必要的说明。

2024-01-04 22:26:20 1062

原创 PIL/Pillow

PIL(Python Imaging Library)是一个用于图像处理的 Python 库。它提供了广泛的功能,包括图像加载、保存、调整大小、裁剪、旋转、滤镜应用等。由于 PIL 的开发停止在 2009 年,因此推荐使用其后续的维护版本 Pillow。Pillow 是一个兼容 PIL 接口的现代图像处理库,提供更多功能和更好的性能。

2023-12-20 11:14:25 1303

原创 torch.gather(...)

有点绕,很多博客画各种图讲各种故事来解释如何从 input 张量中 gather 位置 index 处的值,乱七八糟,我是都没看明白。所以去官网看了文档。

2023-12-18 21:08:29 1051

原创 pytorch 数据预加载

本文介绍一个工具,它包装,接收该类的一个实例loader,启动一个线程t,创建一个队列qt将loader中的数据预加载到队列q中, 以在模型计算时也能启动启动数据加载程序, 节省数据加载时间。"""** 包装 torch.utils.data.DataLoader, 接收该类的一个实例 loader, 启动一个线程 t, 创建一个队列 qt 将 loader 中的数据预加载到队列 q 中, 以在模型计算时也能启动启动数据加载程序, 节省数据加载时间。

2023-12-04 23:37:58 1317

原创 迭代器与生成器

..或者next(it)和方法;方法;生成器函数;

2023-11-26 22:03:16 126

原创 Python 上下文管理器

环境时,文件会自动关闭。这东西叫上下文管理器,现在让让我们学习一下这个神奇的家伙。,讲的比较简单易懂,我就是看这篇博文学习上下文管理器的。在 Python 中读写文件,我们都用。,这样不用担心忘记关闭文件流,因为离开。那应该能返回其他东西吧?

2023-11-23 22:50:50 78

原创 Python 包 __init__.py

文件,Python 也会把该目录当作普通包处理,这被称为 “namespace package”,其主要目标是支持更为复杂的包结构。是 Python 中的一个特殊文件,它存在于每个 Python 包中。这个文件在 Python 中是非常重要的,它告诉 Python,该目录应被视为一个 Python 包。是一个特殊的文件,用于标识该目录是一个 Python 包。文件的目录,并将其视为一个有效的包。然而,在旧版本的 Python(3.2及之前)中,请注意,随着 Python 3.3 版本的引入,

2023-11-22 11:04:21 119

原创 python 中的 logging 详解

什么是 logging.StreamHandler()?它为什么将信息输出到控制台?logging.getLogger().addHandler(console) 到底做了什么?想解答这些问题,探索 logging 更丰富的用法,于是我去查看了官方文档教程,在这里对这次学习进行记录整理。本文不追究文档的细节,对基础的知识也默认已知,主要目的是建立对 logging 整体架构和工作方式的认识。

2023-11-16 12:57:44 737 3

原创 python 进度条

最近接触到了两个 Python 进度条工具:qqdm 和 tqdm 在此记录学习过程。

2023-11-08 23:32:29 51

原创 Radon 变换与边缘概率分布

在学习最优传输(Optimal Transport)时,接触到了 Sliced-Wasserstein Distance (SWD),顿时懵逼了,它是啥?在 1-D 情况下,Wasserstein Distance 计算非常简单,不必进行复杂的求解,直接就有闭式解。SWD 满足所有度量公理,三角不等式继承自 WD,正定性和对称性也是产自 WD,这些都比较直观,不多说了。假设上图中的点的密度代表概率密度,红线是投影方向,虚线对应不同的。,即一个个要积分的线,此时线积分结果就是虚线所穿过的点数,即。

2023-10-23 23:26:14 83

原创 One-dimensional Wasserstein Distance

其实不必担心从右边一点点处挖的时候不够挖,你可以假设后面的即使不够,它也从右边的右边挖过了,再不然假设从右端向左扫描,向左推挖,总能符合实际意义】它们的直观解释差别还挺大的,前者是时刻保持两者扫描过的。,若想运输 mass 以使扫描过的测度相同,则需要的 mass 量为。(还可以从右侧想,右侧的测度分文没动,左边又一样,这个差可不就是。依然从其右侧一点点挖,以使扫描过的部分测度一样,挖的量为。先看第一个式子,它是扫描 q 进行积分的,进行积分的,如下图,扫描至。,对应着已扫描过的空间的测度。

2023-10-22 21:37:42 57

转载 概率论中密度函数变换

概率密度函数转换!

2023-10-06 22:25:06 448

原创 对偶线性规划

下表提供了对偶问题的具体构建方法,这应该是一个结论,但我们不知所以然。当然,照着做确实能把一个线性规划问题转换为其对偶问题,但 why?这只是对标准形式的推导,稍微变化就可以对照上表中的各种情况。这可能经过练习熟练后,才适合这么做,否则一头雾水,也容易出错。单凭这么一段文字,很难想象到底发生了什么,只知道。将原线性规划问题变为了另一个线性规划问题。,那么按照构建表,对偶问题应该是。,就得到了表右边对偶问题。(2) 对于不等式条件。【本质上是拉格朗日对偶】(1) 对于等式条件。

2023-09-20 09:15:00 237

原创 积分变换(Integral Transform)

积分变换:通过积分将一个函数从它的原始函数空间映射到另一个函数空间,在新的函数空间中,原始函数的一些性质可能比在原始函数空间中更容易表征和操作。

2023-09-09 23:37:54 1050

原创 OT2: Wasserstein Generative Adversarial Networks

为学习最优传输问题(Optimal Transport),拜读了博客《最优运输(Optimal Transfort):从理论到填补的应用》,博文里简要介绍了三篇经典论文,本系列博文打算精读之,下面是第三篇。认知有限,有不理解之处,也可能有理解不当或错误之处,请读者多多指教。

2023-08-26 15:36:14 108

原创 OT3: Missing Data Imputation using Optimal Transport

为学习最优传输问题(Optimal Transport),拜读了博客《最优运输(Optimal Transfort):从理论到填补的应用》,博文里简要介绍了三篇经典论文,本系列博文打算精读之,下面是第三篇。认知有限,有不理解之处,也可能有理解不当或错误之处,请读者多多指教。

2023-08-26 15:28:25 107

原创 希尔伯特空间(Hilbert space)

先看 Wikipedia 中对 Hilbert Spaces 的 Definition:首先最熟悉的希尔伯特空间是欧式空间,以R3为例,它定义了点积,给定xy∈R3,它们的点积为:点积满足如下性质:即对称性、线性和正定性。这一段讲述什么是内积:像点积这样的运算,它作用在两个向量上,且满足以上三条性质,就叫内积。给向量空间安装一个内积,就成了内积空间。有限维的内积空间是一个 Hilbert Space。

2023-07-25 14:42:48 1276 1

原创 流形介绍(Manifolds: A Gentle Introduction)[续]

度规张量和之前学的度量矩阵其实是一回事;度规张量随 p∈Mp 的平滑性其实是其实是基向量之间内积的平滑性;有了度规张量,才有了内积、范数、长度等概念。

2023-07-19 14:44:01 103

原创 紧空间(Compact Space)

紧的概念来源于欧式空间的有界闭集,在探索它的性质之后,想对其进行泛化推广。然而,到了一般拓扑空间中,就只能用 “有限开覆盖” 去定义紧了,而且相当抽象,引发了好几个关于紧的概念,一时难以接受。

2023-07-12 15:58:37 787 1

翻译 流形介绍(Manifolds: A Gentle Introduction)

这篇博客在讲述切向量与切空间时太过简略,以至于把我困住,甚至让我的大脑内部产生激烈的矛盾而头疼,于是借了本书《微分流形初步》(第二版,陈维桓),加以辅助,才得以理解了切向量。

2023-07-02 17:48:17 863

原创 李群(Lie Group)

设。

2023-06-28 09:56:21 176

原创 Topological Space

比较扯的是,既然是根据度量空间中开集的性质对其进行抽象推广,那你也起个新的名字啊,就好比我们现在对老虎很感兴趣,发现了老虎的一些特点:有锋利的牙齿、有锋利的爪子、奔跑速度很快,根据这三个特点进行抽象,我们得到一个新概念 “老虎”,以后我们见了符合这三个特点的猫咪、狮子啥的,都称为 “老虎”。。。而不是叫猫科动物,是不是很别扭?

2023-06-07 19:47:01 142

原创 OT1:Sinkhorn Distances: Lightspeed Computation of Optimal Transport

为学习最优传输问题(Optimal Transport),拜读了博客《最优运输(Optimal Transfort):从理论到填补的应用》,博文里简要介绍了三篇经典论文,本系列博文打算精读。

2023-05-17 17:03:59 888 5

原创 最优传输中的离散测度

这段时间在了解一些最优传输方面的知识,看博客《最优运输(Optimal Transfort):从理论到填补的应用》,其中的离散测度(Discrete measures)把我给整懵逼了

2023-04-26 15:04:20 307 1

原创 EM 算法抛硬币实例解析《统计学习方法》

最大期望算法(Expectation-Maximization Algorithm, EM),或 Dempster-Laird-Rubin 算法,是一类通过迭代进行极大似然估计的优化算法,通常用于对包含隐变量(latent variable)或缺失数据(incomplete-data)的概率模型进行参数估计。具体就不说了,看了李航《统计学习方法》讲的 EM 算法,讲得很棒,但对抛硬币的例子迷茫了好久,书中只给了答案,没有具体的推导过程。后来,琢磨抛硬币的计算时,却陷入苦恼。

2023-04-11 15:54:26 98

原创 梯度下降优化算法综述

很多流行的机器学习包(如 TensorFlow、PyTorch 等)都实现了常见的梯度下降优化算法,我们通常以黑盒的方式使用这些优化器,但对他们的背后的原理及优缺点缺乏足够的理解。模型的目标函数是Jθ,其中θ是其参数,为了让目标函数最小化,需要根据输入数据更新参数。该如何更新呢??为了方便描述,先看θJθΔθ≈Jθ∇θ​Jθ∗Δθ其中∇θ​Jθ是目标函数关于参数θ的梯度,当Δθ→0时,等号成立,下面就假设等号成立。JθΔθ−Jθ∇。

2023-02-15 10:03:09 68

原创 向量内积的几何解释

从向量内积计算的角度解释内积是怎么回事

2022-11-27 01:00:16 3299 1

原创 由一个熵不等式引发的数学调研

证明均匀分布熵最大

2022-10-30 22:34:24 1101

翻译 Notes on Optimal Transport (笔记)

本文翻译自Notes on Optimal Transport,原文以生动的故事简要阐述了 Optimal Transport 的基本概念、求解方法、具体应用等,没有太过复杂的公式,非常适合新手入门。本文将原文翻译成中文,并进行精简、添加自己的理解,改动较大,如有理解不当或错误之处,还请指出。由于简化的原因,可能失去一定的故事性,建议先阅读更生动的原文。

2022-10-22 11:00:31 415

原创 Notes on Matplotlib

本文是系统地看了莫烦 python 的 matplotlib 教程后,对 matplotlib 的基本概念进行的梳理。这篇博文可以让你对 matplotlib 包的基本组件和架构有一个清晰地认识,画图不再迷茫。

2022-10-15 15:16:31 455

原创 对《统计学习方法》(李航)第3章(k近邻法)的注解

对《统计学习方法》(李航)第3章(k近邻法)进行注解。书中的描述不够清楚,有时候很模糊,甚至有错,花了三天才搞懂树的构造和搜索,到底怎么回事。包括:近似误差和估计误差概念;KD树的构造与搜索的一些细节问题;python代码实现,完整代码已打包。

2022-10-10 18:31:02 158

Python logging 日志的模块化使用示例

多模块情况下使用 logging,我窃以为官方所建议的 logging.getLogger(__name__) 作用如下: loggers 的树形结构与模块结构完全一致,每个模块使用自己的 logger 记录日志,并向上层逐渐传播,直到 root logger。如此一来,结果就是:每个模块有自己的日志,root logger 记录全局,对于中间的包,如果它的 __init__.py 中有 logger 的话,会记录自身的日志以及其下层的 logger 日志; 那如果包的 __init__.py 中没有 logger 呢?这就要看一看 PlaceHolder 了,它只是一个占位符,其下层的 loggers 会直接跳过它(可能会跳过多个),直接以更上级的 logger 为 parent,直到 root logger。【这个可以通过查看 logging.Manager 中的 _fixupParents(self, alogger) 和 _fixupChildren(self, ph, alogger) 两个函数得知树形结构的管理模式】 这对大型项目来说确实有用,当程序足够大时,要记录的日志

2023-11-22

KNN算法,KD树建立与搜索python实现

KNN算法,KD树建立与搜索python实现

2022-10-10

PyCharm代码颜色

PyCharm的默认代码颜色仅仅是一些关键字高亮,但是更多的代码颜色可以提高阅读代码的效率以及更加赏心悦目,于是设置了一些代码颜色,分享给大家

2019-04-13

IDEA设置Eclipse风格代码主题

从Eclipse换成IDEA的朋友会受不了代码颜色的改变。IDEA默认代码主题高亮太少,造成代码不易阅读的麻烦,所以本人按照Eclipse的代码颜色逐个修改IDEA的代码颜色,RGB值都完全一样,import settings 就可以了。

2019-04-12

图灵机用作转换器计算x的y次幂,含C++代码

形式语言与自动机,图灵机的C++代码实现,用作转换器,有计算功能,X的y次幂

2018-11-15

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除