Recommend a differentiable transform from $\mathbb R ^ n$ to $n$ ordered partition boundaries of $(0,1)$

28 Views Asked by At

I am looking for a differentiable transform that, given numbers in $\mathbb R ^ n$, calculates $n$ partition boundaries of $(0,1)$, in either increasing or decreasing order.

For example, for $n=1$, we can use $\sigma(x_1)$ as the boundary, where $\sigma$ is the sigmoid function.

For $n>1$, I was thinking of multiplying sigmoids together. So the partition boundaries would be $\sigma(x_1), \sigma(x_1)\sigma(x_2), \sigma(x_1)\sigma(x_2)\sigma(x_3), \ldots$ which would always be in a decreasing order.

Do you have any alternative recommendations for how to go about creating the partition boundaries?

1

There are 1 best solutions below

1
On

If you can live with $n$ subintervals, rather than $n$ boundaries, you could create partitions according to the softmax function. More specifically, you could partition the interval at $$ \frac{e^{x_1}}{e^{x_1}+e^{x_2}+\cdots+e^{x_n}},\\ \frac{e^{x_1}+e^{x_2}}{e^{x_1}+e^{x_2}+\cdots+e^{x_n}},\\ \vdots\\ \frac{e^{x_1}+e^{x_2}+\cdots +e^{x_{n-1}}}{e^{x_1}+e^{x_2}+\cdots+e^{x_n}} $$ This would make the width of the $k$th interval equal to $\frac{e^{x_k}}{e^{x_1}+e^{x_2}+\cdots+e^{x_n}}$