- 博客(44)
- 资源 (3)
- 收藏
- 关注
原创 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 391
原创 von Mises-Fisher Distribution
von Mises-Fisher 分布的均值、熵、KL 散度以及采样等的 PyTorch 实现.
2024-03-21 16:48:25 1009
原创 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 1117
原创 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
原创 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
原创 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
原创 Radon 变换与边缘概率分布
在学习最优传输(Optimal Transport)时,接触到了 Sliced-Wasserstein Distance (SWD),顿时懵逼了,它是啥?在 1-D 情况下,Wasserstein Distance 计算非常简单,不必进行复杂的求解,直接就有闭式解。SWD 满足所有度量公理,三角不等式继承自 WD,正定性和对称性也是产自 WD,这些都比较直观,不多说了。假设上图中的点的密度代表概率密度,红线是投影方向,虚线对应不同的。,即一个个要积分的线,此时线积分结果就是虚线所穿过的点数,即。
2023-10-23 23:26:14 86
原创 One-dimensional Wasserstein Distance
其实不必担心从右边一点点处挖的时候不够挖,你可以假设后面的即使不够,它也从右边的右边挖过了,再不然假设从右端向左扫描,向左推挖,总能符合实际意义】它们的直观解释差别还挺大的,前者是时刻保持两者扫描过的。,若想运输 mass 以使扫描过的测度相同,则需要的 mass 量为。(还可以从右侧想,右侧的测度分文没动,左边又一样,这个差可不就是。依然从其右侧一点点挖,以使扫描过的部分测度一样,挖的量为。先看第一个式子,它是扫描 q 进行积分的,进行积分的,如下图,扫描至。,对应着已扫描过的空间的测度。
2023-10-22 21:37:42 59
原创 对偶线性规划
下表提供了对偶问题的具体构建方法,这应该是一个结论,但我们不知所以然。当然,照着做确实能把一个线性规划问题转换为其对偶问题,但 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 1285 1
原创 流形介绍(Manifolds: A Gentle Introduction)[续]
度规张量和之前学的度量矩阵其实是一回事;度规张量随 p∈Mp 的平滑性其实是其实是基向量之间内积的平滑性;有了度规张量,才有了内积、范数、长度等概念。
2023-07-19 14:44:01 103
原创 紧空间(Compact Space)
紧的概念来源于欧式空间的有界闭集,在探索它的性质之后,想对其进行泛化推广。然而,到了一般拓扑空间中,就只能用 “有限开覆盖” 去定义紧了,而且相当抽象,引发了好几个关于紧的概念,一时难以接受。
2023-07-12 15:58:37 788 1
翻译 流形介绍(Manifolds: A Gentle Introduction)
这篇博客在讲述切向量与切空间时太过简略,以至于把我困住,甚至让我的大脑内部产生激烈的矛盾而头疼,于是借了本书《微分流形初步》(第二版,陈维桓),加以辅助,才得以理解了切向量。
2023-07-02 17:48:17 869
原创 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
翻译 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 日志的模块化使用示例
2023-11-22
IDEA设置Eclipse风格代码主题
2019-04-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人