0

I'm using a neural network for classification, but for each patient/element I want to classify, I have 4 different sets of numbers to learn from (each with their own result to compare to), and obviously I want a single result for each patient. I can clearly just take the final results and divide into groups of 4 and do something there, but it seems hacky and might cause problems later on when I try to go beyond the most basic net or try shuffling entries first.

Is there a standard method for this? Everything I'm trying gives me that feeling where you're gluing together a solution that is inelegant and inefficient and not conducive to expanding later on

4
  • Hi, could you elaborate a bit more about your problem definition? what are the different sets of numbers, what is their relationship to the elements and what is the actually target (classification) that you are trying to get? Commented Apr 27, 2018 at 21:22
  • Hi, so each column is a simple set of numbers, voice recordings to be precise. The target is either going to be a 1 or 0. The target is the same each time (a person will be either a 1 or 0 regardless of which recording it is). Sn an example would be four lines of: 0.4, 0.5, 0.14, 0.34,1. That patient will have a 1 for each 4 columns, but the other numbers will be different. I'm not sure whether it's ok to combine them all - on the one hand it'll allow me to get rid of overlapping features (?) but on the other the distinction of different pronunciations might be important. Commented Apr 28, 2018 at 2:15
  • Just to be clear - for each person you get K samples (the different numbers) and you want to output K predictions? Commented Apr 28, 2018 at 8:05
  • I would rather 1 prediction! I could take the K predictions done separately and try turn them into 1, but yeah would like to classify each person only once Commented Apr 28, 2018 at 15:59

1 Answer 1

0

From the information that you have added in the comments I understand (and correct me if I am wrong) that you have N patients, each with K samples - each sample consists of certain features and an intermediate result. You also have a way of taking these K intermediate results and combining them to one final result which is what you are actually interested in. I am also assuming each of the intermediate results are not interchangeable.

Lets say for example that you have a certain disease and you take K blood samples from each patient. each blood sample is tested for a different component and from the results you can ascertain whether they are infected or not. In this example the K tests are not interchangeable as each tests for a different component.

This setup can lead to two common pipelines:

  1. End-to-End pipeline
  2. Two-staged pipeline

In the end-to-end pipeline you embed all the features together. In your case you have K arrays of 4 numbers so your input for the neural net would be a 4*K array. You should make sure to always keep the order of concatenation (If your intermediate results are interchangeable then this isn't necessary) and your prediction would simply be the final prediction you are really interested in.

In the two-staged pipeline you will train K different neural networks, each will get a single array of 4 numbers and output the intermediate result. Next you will need to combine those results for the prediction you are looking for. Two remarks about the two-staged solution:

  1. If the K arrays are interchangeable then this approach is meaningless
  2. If needed you can take this approach a step further and use the K intermediate predictions as the input for another network that uses these intermediate results to get the final prediction.
Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.