在多维凸包内随机生成点

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

[ ext{m维数据,在n个点构成的凸包内随机生成} \ 0 leq lambda_i leq 1 \ lambda_1 + lambda_2 + ... + lambda_n = 1\ ext{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} ]

证明:

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

原文地址:https://www.cnblogs.com/xrszff/p/13277162.html