<p>The solution mentioned seems feasible but you'd probably encounter a lot of problems, such as -  </p>

<ol>
<li><p>Since you're outputting coordinates, each one of the input networks must be trained differently. Considering <span class="math-container">$N$</span> should ideally be a variable, how many input networks do you train?  </p></li>
<li><p>You'd use an intermediate encoding of sorts as co-ordinate representation which would be averaged and then passed through the output network. - Interpolation properties of the encoding might not be too great, meaning a linear change in the representation might not lead to a linear change in the co-ordinate, causing an averaging function to give skewed results.</p></li>
</ol>

<p>Just a suggestion but I think it would be better if instead of learning multiple estimates of co-ordinate representations and then averaging them it might be better if you tried to learn some sort of distance function. </p>

<p>Essentially, each receiver would have a fixed position (<em>Assumption</em>) and the input network (or two input networks preferably) would output the distance  (<span class="math-container">$r$</span>) of the transmitter from that receiver and the angle (<span class="math-container">$\theta$</span>) it makes with a common axis. The problem with this approach is you wouldn't be leveraging multiple receivers as they would not be learning together, and the advantage being that whatever <span class="math-container">$N$</span> is, the RSSI readings pass through the same network always. </p>

<p>Once an <span class="math-container">$N$</span> number of <span class="math-container">$(r, \theta)$</span> values are obtained - a robust algorithm 
<span class="math-container">$f(r_1, r_2,..., \theta_1, \theta_2, ...) = (x_t, y_t)$</span> could be found to output the transmitter co-ordinates. </p>

<p>I'm not too confident if it would work too well but just a suggested direction I could think of! Hope this helped!</p>

CC BY-SA 4.0
2019-10-10T08:47:13.633Z
2019-10-10T08:47:13.633Z
ashenoy
<p>Currently I have a setup where I'm determining the position of a transmitter using the RSSI of 4 receivers. Its a simple feed-forward network with some hidden layers, where the input is the RSSI values, and the output is a 2d coordinate.</p>

<p>Now, if I decide to add/remove receivers, I have to train the network again, since the input size changes. This is not ideal, since the receivers can move around, dissapear, etc. I have looked at some alternatives, but being pretty new to machine learning, it's difficult to pick which direction to go.</p>

<p>I have looked at a potential solution (stolen from another question), but I'm lost at how to implement it using tensorflow:</p>

<p><a href="https://i.sstatic.net/x4cCi.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/x4cCi.png" alt="enter image description here"></a></p>

<p>Any help is appreciated.</p>

<tensorflow>
Indoor positioning with variable number of distance measurements in tensorflow
danielsvane
# Indoor positioning with variable number of distance measurements in tensorflow

(Asked by: username_0 on 2019-10-07)

Currently I have a setup where I'm determining the position of a transmitter using the RSSI of 4 receivers. Its a simple feed-forward network with some hidden layers, where the input is the RSSI values, and the output is a 2d coordinate.

Now, if I decide to add/remove receivers, I have to train the network again, since the input size changes. This is not ideal, since the receivers can move around, dissapear, etc. I have looked at some alternatives, but being pretty new to machine learning, it's difficult to pick which direction to go.

I have looked at a potential solution (stolen from another question), but I'm lost at how to implement it using tensorflow:

[![enter image description here](https://i.sstatic.net/x4cCi.png)](https://i.sstatic.net/x4cCi.png)

Any help is appreciated.

**Tags:** tensorflow


---

## 1 answers

### Answer by username_1 on 2019-10-10. Score: 0

The solution mentioned seems feasible but you'd probably encounter a lot of problems, such as -

1. Since you're outputting coordinates, each one of the input networks must be trained differently. Considering $N$ should ideally be a variable, how many input networks do you train?
2. You'd use an intermediate encoding of sorts as co-ordinate representation which would be averaged and then passed through the output network. - Interpolation properties of the encoding might not be too great, meaning a linear change in the representation might not lead to a linear change in the co-ordinate, causing an averaging function to give skewed results.

Just a suggestion but I think it would be better if instead of learning multiple estimates of co-ordinate representations and then averaging them it might be better if you tried to learn some sort of distance function.

Essentially, each receiver would have a fixed position (*Assumption*) and the input network (or two input networks preferably) would output the distance ($r$) of the transmitter from that receiver and the angle ($\theta$) it makes with a common axis. The problem with this approach is you wouldn't be leveraging multiple receivers as they would not be learning together, and the advantage being that whatever $N$ is, the RSSI readings pass through the same network always.

Once an $N$ number of $(r, \theta)$ values are obtained - a robust algorithm
$f(r\_1, r\_2,..., \theta\_1, \theta\_2, ...) = (x\_t, y\_t)$ could be found to output the transmitter co-ordinates.

I'm not too confident if it would work too well but just a suggested direction I could think of! Hope this helped!


---

