Answers.Body: <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>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2019-10-10T08:47:13.633Z
Answers.LastActivityDate: 2019-10-10T08:47:13.633Z
Answers.UserDisplayName: ashenoy
Body: <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>
  
Tags: <tensorflow>
Title: Indoor positioning with variable number of distance measurements in tensorflow
UserDisplayName: danielsvane
ThreadText: # 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!
  
  
  ---
  
  