MATLAB Answers

David
0

Machine learning for peak characterisation

Asked by David
on 26 Jun 2015
Latest activity Commented on by David
on 29 Jun 2015
I have intensity profiles (extracted from an image analysis). Basically just f(x). With large datasets of different profiles. The user should train a machine learning algorithm to identify peaks, their size (if scalar is too complicated then just qualitatively: small, medium, large) and one class of three (based on their position/x-value) with a subset and it should run over the large dataset.
Or if this is overly complicated have multiple classes (~10) and assign one class for each profile.
I have tried hard coded parameters for findpeaks in the past, but there were multiple issues with that. First of all the data is noisy, but more important the users (no Matlab experience and low math exposure) had a hard time finding and tuning the parameters until results matched what they see when looking at the images and since parameters changed between experiments this meant a decrease in usability and hence usage.
I haven't implemented any machine learning so far and I'm just basically looking at initial directions to work with. I'm already unsure whether I should look more into the Statistics and Machine Learning Toolbox or the Neural Network Toolbox.
Any help is greatly appreciated!

  0 Comments

Sign in to comment.

1 Answer

Answer by Greg Heath
on 27 Jun 2015

I am only familiar with the latter, so I cannot compare.
If noisy data peaks thwart your feature detection, preprocess with a low-pass filter.
Hope this helps.
Thank you for formally accepting my answer
Greg

  1 Comment

Sorry but this does not really answer my question. I have tried low pass filtering, moving average, etc. The problem is more the difficulties unexperienced users have tuning the parameters of findpeaks to find and differentiate between meaningful peaks and unimportant ones. And also to measure the width of a peak reliably. That's why I want to move away from these hard coded parameters and rather let the user train the computer and let it figure out the parameters for himself.

Sign in to comment.