在多维凸包内随机生成点

要用流量矩阵构成凸包,在其中随机产生新的流量矩阵。可以把流量矩阵先拉成一行,然后利用如下条件生成。

\[\text{m维数据,在n个点构成的凸包内随机生成} \\ 0 \leq \lambda_i \leq 1 \\ \lambda_1 + \lambda_2 + ... + \lambda_n = 1\\ \text{generate:} \\ t_{(new)1} = \lambda_1 t_{(1)1} + \lambda_2 t_{(2)1} + ... + \lambda_n t_{(n)1} \\ t_{(new)2} = \lambda_1 t_{(1)2} + \lambda_2 t_{(2)2} + ... + \lambda_n t_{(n)2} \\ ... \\ t_{(new)m} = \lambda_1 t_{(1)m} + \lambda_2 t_{(2)m} + ... + \lambda_n t_{(n)m} \]

证明:

\[\text{对于高维空间中两点(向量表示)} \mathcal{v_1}, \mathcal{v_2},\text{有满足} a \mathcal{v_1} + (1-a) \mathcal{v_2} \text{的新点仍在线段上。} \\ \text{第三个点} \mathcal{v_3} \text{和新的点构成线段上的点可表示为}\\ b(a \mathcal{v_1} + (1-a) \mathcal{v_2}) + (1-b) \mathcal{v_3} = ab \mathcal{v_1} + (b - ab) \mathcal{v_2} + (1 - b) \mathcal{v_3} \\ \text{对应} \lambda_1 = ab, \lambda_2 = b-ab, \lambda_3 = 1-b \\ \text{故} \lambda_1 + \lambda_2 + \lambda_3 = ab + b - ab + 1 - b = 1 \\ \text{以此类推,高维多点亦如此!} \]

posted @ 2020-07-10 00:46  VeyronC  阅读(274)  评论(0编辑  收藏  举报