Skip to content
David Schneider edited this page Jul 17, 2016 · 1 revision

Welcome to the mlearntut wiki!

Currently looking at building regression models that use the xtcav images as input and predict the e1.pos and e2.pos.

Current Development 7/16/2016

The current code is the regress branch reads the data for acq.enPeaksLabel==3 and builds a model to predict acq.e1.pos and acq.e2.pos. The loss is mean L2 loss.

Model Ideas

Here is a list of things to try

  • preprocess images by first thresholding at 1, and then applying a log transform
  • try different sized pooling, in particular, don't do any pooling along the y-axis
  • try average pool instead of max
  • instead of pooling, subselect with the convolutions
  • try other nonlinear activations instead of relu
  • expand the number of files to get a better validation set

Add accuracy

right now, we don't measure the performance of the classifier, we do get the model loss, which is mean squared error, but we should

  • after reading the validation set, compute the mean values for e1.pos and e2.pos
  • compute the R^2 value for both e1 and e2 against the validation set, on each validation, report accuracy

other models

This starter code uses a convnet to predict e1.pos and e2.pos from the xtcav image. It would be interesting to see how well we can predict these values without the xtcav image. In the h5 files, are a lot of datasets that start out with Bld. All of these are recorded with the xtcav image. You could try models from scikit-learn like linear regression, support vector machines, random forests,to predict e1.pos and e2.pos from bld parameters. To push this further, you can also use all the epics pv's that were recorded in the data. We would have to write some psana code to pull out the epics pvs and add them to our h5 files.

Clone this wiki locally