close
Warning:
Can't synchronize with repository "(default)" (/var/svn/tolp does not appear to be a Subversion repository.). Look in the Trac log for more information.
- Timestamp:
-
Feb 2, 2011, 9:30:06 AM (14 years ago)
- Author:
-
Víctor de Buen Remiro
- Comment:
-
--
Legend:
- Unmodified
- Added
- Removed
- Modified
-
v24
|
v25
|
|
4 | 4 | == Descripción del problema == |
5 | 5 | Tenemos que generar una cadena de Markov de muestras que se distribuyan con cierta función de la |
6 | | que se conoce su log-densidad salvo una constante, a la par que cumplen un conjunto de restricciones |
| 6 | que se conoce su log-densidad salvo una constante, |
| 7 | |
| 8 | [[LatexEquation( \ln \pi \left( x \right) )]] |
| 9 | |
| 10 | |
| 11 | a la par que cumplen un conjunto de restricciones |
7 | 12 | de desigualdad lineal |
8 | 13 | |
9 | | [[LatexEquation( A x \le a \wedge x\in\mathbb{R}^{n} )]] |
10 | | |
11 | | [[LatexEquation( x\in\mathbb{R}^{n} )]] |
12 | | |
13 | | [[LatexEquation( a\in\mathbb{R}^{r} )]] |
14 | | |
15 | | [[LatexEquation( A\in\mathbb{R}^{r\times n} )]] |
| 14 | [[LatexEquation( A x \le a \wedge x\in\mathbb{R}^{n} )]] |
| 15 | |
| 16 | [[LatexEquation( x\in\mathbb{R}^{n} )]] |
| 17 | |
| 18 | [[LatexEquation( a\in\mathbb{R}^{r} )]] |
| 19 | |
| 20 | [[LatexEquation( A\in\mathbb{R}^{r\times n} )]] |
16 | 21 | |
17 | 22 | |
… |
… |
|
79 | 84 | Dado un punto [[LatexEquation(x)]] estrictamente interior al politopo |
80 | 85 | |
81 | | [[LatexEquation(A x < a)]] |
| 86 | [[LatexEquation(A x < a)]] |
82 | 87 | |
83 | 88 | la distancia al [[LatexEquation(i)]]-ésimo hiperplano viene dada por la fórmula |
84 | 89 | |
85 | | [[LatexEquation( \left\langle x,\mathcal{H}\left(A_i,a_i\right)\right\rangle = \frac{\left|\left(\overset{n}{\underset{j=1}{\sum}}A_{ij}x_{j}\right)-a_{i}\right|}{\overset{n}{\underset{j=1}{\sum}}A_{ij}^{2}} \forall i=1\ldots r)]] |
| 90 | [[LatexEquation( \left\langle x,\mathcal{H}\left(A_i,a_i\right)\right\rangle = \frac{\left|\left(\overset{n}{\underset{j=1}{\sum}}A_{ij}x_{j}\right)-a_{i}\right|}{\overset{n}{\underset{j=1}{\sum}}A_{ij}^{2}} \forall i=1\ldots r)]] |
86 | 91 | |
87 | 92 | Llamaremos distancia de un punto a la frontera del politopo a la menor de las distancias a cada uno de sus hiperplanos, la cual por ser el punto interior ha de ser forzosamente positiva |
88 | 93 | |
89 | | [[LatexEquation( \left\langle x,\mathcal{P}\left(A,a\right)\right\rangle = \underset{i=1\ldots r}{min}\left\{ \left\langle x,\mathcal{H}\left(A_i,a_i\right)\right\rangle \} > 0 )]] |
| 94 | [[LatexEquation( \left\langle x,\mathcal{P}\left(A,a\right)\right\rangle = \underset{i=1\ldots r}{min}\left\{ \left\langle x,\mathcal{H}\left(A_i,a_i\right)\right\rangle \} > 0 )]] |
90 | 95 | |
91 | 96 | Obsérvese que los hiperplanos inactivos nunca darán la distancia mínima para un punto factible por lo |
… |
… |
|
94 | 99 | será responsabilidad del analista no introducir demasiadas. |
95 | 100 | |
| 101 | === Búsqueda de un punto inicial estrictamente interior === |
| 102 | |
| 103 | Para encontrar un punto estrictamente interior hay que encontrar un punto que cumpla las restricciones |
| 104 | artificialmente aumentadas |
| 105 | |
| 106 | [[LatexEquation(A x \le a-\delta \wedge \delta>0 )]] |
| 107 | |
| 108 | que producirán un politopo reducido estrictamente interior al original. |
| 109 | ç |
| 110 | Es posible configurar el vector [[LatexEquation(\delta )]] para que la distancia mínima a la frontera |
| 111 | sea mayor que una cota mínima [[LatexEquation(\rho_0 )]] predefinida por el usuario |
| 112 | |
| 113 | [[LatexEquation(\delta_i = \rho_0 {\overset{n}{\underset{j=1}{\sum}}A_{ij}^{2}} )]] |
| 114 | |
| 115 | De esta forma si un punto está en el [[LatexEquation(i)]]-ésimo hiperplano del politopo reducido |
| 116 | |
| 117 | [[LatexEquation(A_i x \le a_i-\delta_i = 0 )]] |
| 118 | |
| 119 | entonces la distancia al politopo original será |
| 120 | |
| 121 | [[LatexEquation(\frac{\delta_i}{{\overset{n}{\underset{j=1}{\sum}}A_{ij}^{2}}} = \rho_0 )]] |
| 122 | |
| 123 | Si se cuenta con un mecanismo capaz de optimizar la función de log-densidad con restricciones de desigualdad |
| 124 | |
| 125 | [[LatexEquation( \min \ln \pi \left( x \right) )]] |
| 126 | [[LatexEquation(A x \le a-\delta \wedge \delta>0 )]] |
| 127 | |
| 128 | |
96 | 129 | === Paseo aleatorio hiperesférico === |
97 | 130 | Se propone en primer lugar utilizar un generador con distribución uniforme en una hiperesfera centrada |
… |
… |
|
99 | 132 | radio es menor que la distancia del punto a la frontera: |
100 | 133 | |
101 | | [[LatexEquation( \begin{array}{c} y=x + h u\\ A y \leq a\\ \left\Vert u\right\Vert = 1 \\ 0 < h \le \rho < \left\langle x,\mathcal{P}\left(A,a\right)\right\rangle \end{array} )]] |
| 134 | [[LatexEquation( \begin{array}{c} y=x + h u\\ A y \leq a\\ \left\Vert u\right\Vert = 1 \\ 0 < h \le \rho < \left\langle x,\mathcal{P}\left(A,a\right)\right\rangle \end{array} )]] |
102 | 135 | |
103 | 136 | Al igual que se hace con los generadores simétricos habituales es necesario fijar un tamaño de paso |
… |
… |
|
106 | 139 | De esta forma se podría definir el radio de la hiperesfera como |
107 | 140 | |
108 | | [[LatexEquation(\rho=\rho\left(x; s, \lambda\right)=min\left\{ s,\left\langle x, \lambda \mathcal{P}\left(A,a\right)\right\rangle \right\} \wedge 0<\lambda<1)]] |
| 141 | [[LatexEquation(\rho=\rho\left(x; s, \lambda\right)=min\left\{ s,\left\langle x, \lambda \mathcal{P}\left(A,a\right)\right\rangle \right\} \wedge 0<\lambda<1)]] |
109 | 142 | |
110 | 143 | Para poder muestrear puntos cercanos a la frontera sería conveniente que [[LatexEquation(\lambda)]] |
… |
… |
|
120 | 153 | La densidad del generador será porporcional al inverso del volumen de la hiperesfera y su logaritmo será, salvo una constante |
121 | 154 | |
122 | | [[LatexEquation( \ln Q\left(x,y\right) = n \ln \rho\left(x; s, \lambda\right))]] |
| 155 | [[LatexEquation( \ln Q\left(x,y\right) = n \ln \rho\left(x; s, \lambda\right))]] |
123 | 156 | |
124 | 157 | La densidad depende por tanto del radio, el cual depende de la posición del punto de partida respecto |
… |
… |
|
174 | 207 | uniforme en dicho intervalo |
175 | 208 | |
176 | | [[LatexEquation( y = x + h u )]] |
| 209 | [[LatexEquation( y = x + h u )]] |
177 | 210 | |
178 | | [[LatexEquation(u \wedge \left\Vert u\right\Vert = 1)]] |
| 211 | [[LatexEquation(u \wedge \left\Vert u\right\Vert = 1)]] |
179 | 212 | |
180 | | [[LatexEquation(h \sim U\left[h^{-},h^{+}\right] \wedge h^{-} \le 0 \le h^{+} )]] |
| 213 | [[LatexEquation(h \sim U\left[h^{-},h^{+}\right] \wedge h^{-} \le 0 \le h^{+} )]] |
181 | 214 | |
182 | 215 | [[Image(source:/tolp/OfficialTolArchiveNetwork/BysSampler/doc/image/RandWalk.InPolytope.chart.726488582_c.png)]] |
… |
… |
|
207 | 240 | |
208 | 241 | Para evitar intervalos demasiado pequeños se puede relajar la condición del cuarto paso a que su |
209 | | longitud sea mayor que cierto valor positivo predefinido |
210 | | |
211 | | [[LatexEquation( h^{+} - h^{-} > h_0 > 0)]], |
| 242 | longitud sea mayor que la cota mínima predefinida |
| 243 | |
| 244 | [[LatexEquation( h^{+} - h^{-} > \rho_0 > 0)]], |
212 | 245 | |
213 | 246 | |