Problem Statement

I have 4 main input features.

This is a small snippet of the data for clearer understanding.

Gate name -> for example AND Gate

index_1 -> [0.001169, 0.005416, 0.01391, 0.03037, 0.06381, 0.1307, 0.2645, 0.532]

index_2 -> [7.906e-05, 0.001123, 0.00321, 0.007253, 0.01547, 0.03191, 0.06478, 0.1305]

values -> [[11.0081, 14.0303, 18.8622, 27.3426, 43.8661, 76.7538, 142.591, 274.499], [11.3461, 14.3634, 19.1985, 27.6827, 44.2106, 77.0954, 142.926, 274.879], [12.258, 15.2816, 20.1095, 28.5856, 45.1057, 77.9778, 143.8, 275.758], [13.665, 16.7457, 21.5835, 30.0545, 46.5581, 79.4212, 145.252, 277.192], [15.6636, 18.9526, 23.9051, 32.4281, 48.9011, 81.7052, 147.477, 279.371], [17.8838, 21.5839, 26.8957, 35.7103, 52.3901, 85.2132, 150.89, 282.714], [19.3338, 23.6933, 29.7184, 39.1212, 56.4053, 89.9721, 155.913, 287.637], [18.7856, 23.9999, 31.1794, 41.7549, 60.0043, 95.0488, 162.951, 295.005]]

My task is to predict this values matrix, given that I have index_1 and index_2. Originally this values matrix is propagation delay, calculated using a simulator called SPICE.

Where I am facing problem

  1. There is no written relation between Index_1, index_2 or values since simulator calculates this value using it's own models.

  2. I have made a CSV file which contains the data in separate columns.

  3. Another approach that I thought. If I can give index_1, index_2 and any 5*5 sub-matrix to the model, and the model can predict the values of whole 8*8 Matrix. But the problem is again, which machine learning model do I use.

Approaches Tried so Far

  1. I have tried a CNN model for this but it is giving me very low accuracy.

  2. Used one dense fully connected neural network but it is over-fitting the data and not giving me any values for matrix.

I am still stuck at how to predict the matrix values given this data. What are other strategies can be used?

  • $\begingroup$ Have you tried Generative Networks such as GAN, you may be able to model this problem better with GAN. $\endgroup$ Sep 21 '18 at 4:30
  • $\begingroup$ I did consider it but, it wont be able to predict the values of new matrix, it will simply remove the noise given after input matrix and try to recreate the original matrix. Correct me if i am wrong $\endgroup$ Sep 21 '18 at 5:08

In principle, you can use a fully connected neural network with reshaping for this kind of problem. The questions you should ask yourself are:

  1. Baselines: What are the simplest algorithms to approach the problem? How good would a human be?
  2. What do I know? Are there any properties of the 8x8 matrix that will always be true? For example, it seems as if the values from left to right strictly increase. Same for top to bottom. This can be used!
  3. Are the outputs independent? (e.g. having the (1,1) entry of the matrix, do I know something about the $(i, j)$ entry of it?

Then, of course, there are more specific things I could imagine. If you were not clear about (2), you might have (wrongly) used softmax/tanh/sigmoid in the last layer. You might simply have too little training data for neural networks. Your neural network implementation might be broken.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.