Alpha Shape 与复形

抽象单纯形 σV\sigma \subset V ,是有限点集,其维度定义为 dimσ=σ1\mathrm{dim}\,\sigma =|\sigma |-1 。(这里的 |\cdot| 和下面的不表示同一个意思)

几何单纯形 σ|\sigma| 是抽象单纯形的实现,是仿射无关的一组顶点的凸包:

σ:=conv{xv:vσ}Rd|\sigma|:=\mathrm{conv}\{x_v:v\in\sigma\}\subset \mathbb{R}^d

凸包定义为:

conv{xi}i=1n:={Σiλixiλi0,Σiλi=1}\mathrm{conv}\{x_i\}_{i=1}^n:=\{\Sigma_i\lambda_ix_i|\lambda_i\ge0,\Sigma_i\lambda_i=1\}

单纯性复形 KK 为抽象单纯形的集合,要求 σK,τσ    τK\forall\sigma\in K,\forall \tau\subset\sigma \implies \tau\in K ,比如

{\{ {1},{2},{3},{4},{1,2},{2,3},{1,3},{1,2,3}\{1\},\{2\},\{3\},\{4\},\{1,2\},\{2,3\},\{1,3\},\{1,2,3\} }\}

单纯形复形的实现 K|K| ,就是把 KK 中的单纯形实现了。

给定点集 PRdP\subset \mathbb{R}^d ,

Delaunay complex D(P)D(P) ,是指按Delaunay三角剖分得到的实现对应的抽象单纯形集合。

Alpha complex Aα(P)A_\alpha(P) ,是由α-空球条件选出的 D(P)D(P) 的子复形,带有自然的几何实现 Alpha Shape Sα(P)=Aα(P)S_\alpha(P) = |A_\alpha(P)|

Rd\Aα\mathbb{R}^d\backslash|A_\alpha| 分成: 一个 无界连通分支 → 外部;若干 有界连通分支 → 内部空腔(voids)。在一点紧致化下无限连通分支连通到 \infty 点。在同胚意义下, D(P{})\Aα(P)(外部)(所有空腔)D(P\cup\{\infty\})\backslash A_\alpha(P) \cong (外部)\cup(所有空腔) (因此在工程实现中,可以在包围盒上取一点作为无穷远点)。

Alpha shape Sα(P)S_\alpha(P) 同胚于球并集 Uα=iB(pi,α)U_\alpha =\bigcup_i B(p_i, \alpha)

半径不同的球 → Weighted Alpha Complex / Power Diagram。构造方式:空球条件改为加权空球条件,Delaunay → Power complex

三球交点的简单求法

三球交点实际上是在求幂轴在任意球上的交点,幂轴用一个不定方程组 Ax=bAx=b 表示(球方程两两相减),而幂点是该轴上距离球心最近的点,因此以某一球心为参考点 OO ,用拉格朗日乘子法( L=OX2+λT(Axb)\mathcal{L}=|OX|^2+\lambda^T(Ax-b) )得到以下方程,求解就可以直接得到幂点 xx ,知道幂点求交点就显然了:

x=AT(AAT)1b其中,A=[OO2OO3],b=12[R12R22+OO22R12R32+OO32]\begin{aligned} x&=A^T(AA^T)^{-1}b \\ \text{其中,}A&=\begin{bmatrix} \overrightarrow{OO_2} \\ \overrightarrow{OO_3} \end{bmatrix} ,\\ b&=\frac{1}{2} \begin{bmatrix} R_1^2-R_2^2+|OO_2|^2 \\ R_1^2-R_3^2+|OO_3|^2 \end{bmatrix} \end{aligned}

折腾在ios上用非Webkit的浏览器

我ipad的系统停在ios15养老,但是真的要被Safari恶心坏了,现在登不了谷歌账号,chatgpt也登录不了,github网页一半内容显示不了。还有各种莫名其妙的bug。目前网上也找不到任何non-webkit浏览器的ipa,没办法只有折腾虚拟机了。

阅读更多

Flow Matching and Diffusion Models

1. 概述

生成模型:

  • 对象建模为向量 xRdx∈\mathbb{R}^d
  • 生成即采样 pdata(x)p_{\mathrm{data}}(x)
  • 数据集 z1,z2,...,zn  pdataz_1,z_2,...,z_n~\sim~p_{\mathrm{data}}
  • 条件生成 pdata(y)p_{\mathrm{data}}(\cdot|y)

目标:
从易于采样的 pinitp_{\mathrm{init}} (通常 N(0,Id)\sim \mathcal{N}(0,I_d) )出发,通过模型转化为 pdatap_{\mathrm{data}}

阅读更多

梯度上升与朗之万动力学采样

在生成模型中,如果我们只利用梯度信息 logp(x)\nabla \log p(x) ,就像是在绝对零度( T=0T=0 )下寻找能量最低点,最终只能得到单一的“极值”;而真实的生成过程(采样)应当像常温( T>0T>0 )下的气体分子,既受势能引导,又保持热运动。

阅读更多

布朗运动(Brownian motion)、随机微分方程(SDE)与扩散方程

总结了布朗运动的三种描述视角及其内在联系:

  • 物理视角:通过朗之万方程描述受力与涨落,利用涨落耗散定理连接微观动力学与热力学平衡。
  • 数学视角:随机微分方程 (SDE) 理论,利用伊藤引理处理维纳过程的不可微性。
  • 统计视角:从拉格朗日观点的粒子运动推导出欧拉观点的概率演化,即福克-普朗克方程 (FPE)。
阅读更多

变分自编码器(Variational Autoencoders,VAE)原理

1. 简介

变分自编码器 (Variational Autoencoder, VAE) 是一种生成模型 (Generative Model),由 Kingma 和 Welling 于 2013 年提出。它巧妙地结合了深度学习(神经网络的拟合能力)和贝叶斯推断(概率统计理论)。

为什么我们需要 VAE?

普通的自编码器 (AE) 虽然能很好地进行数据压缩和特征提取,但在生成新数据方面存在缺陷:

  • AE 的局限性:AE 将输入映射为隐空间中一个固定的点(确定性映射)。其隐空间往往是不连续的(过拟合),这意味着如果你在隐空间中随机取一个点进行解码,生成的图像很可能是毫无意义的噪声。
  • VAE 的改进:VAE 将输入映射为隐空间中的一个概率分布(通常是高斯分布,概率性映射)。

核心思想

VAE 不再让编码器输出一个具体的向量 zz ,而是输出该向量服从的分布参数(均值 μ\mu 和方差 σ2\sigma^2 )。

Input xEncoderDistributions (μ,σ)SamplezDecoderReconstruction x^\text{Input } x \xrightarrow{\text{Encoder}} \text{Distributions } (\mu, \sigma) \xrightarrow{\text{Sample}} z \xrightarrow{\text{Decoder}} \text{Reconstruction } \hat{x}

这种做法带来了两个核心优势:

  • 连续性 (Continuity):隐空间中相近的点解码出的结果也是相近的。
  • 完备性 (Completeness):隐空间中的点都能解码出有意义的结果(通过 KL 散度约束实现)。

这使得 VAE 具备了生成能力:我们可以直接从标准正态分布 N(0,1)\mathcal{N}(0,1) 中采样 zz ,然后通过解码器生成全新的样本。

阅读更多

debian上非docker安装Vaultwarden

Vaultwarden 是一个使用 Rust 编写的非官方 Bitwarden 服务器实现,与Bitwarden 客户端兼容。Bitwarden是一个挺好用的密码管理器。我服务器内存和硬盘空间都太小了,不想使用docker版本。

阅读更多
Your browser is out-of-date!

Update your browser to view this website correctly.&npsb;Update my browser now

×