Quantronauts / quantum_data-classifier

Classifier for quantum data
1 stars 0 forks source link

Poor man's quantum Bayesian classifier #3

Open muttley2k opened 3 years ago

muttley2k commented 3 years ago

Here is the general idea for n qubits.

Training: for each sensor output in the training set, measure it 100 times in the computational basis, and record the results. E.g. if we have n=2 qubits, we record that we got |00> 27 times, |01> 5 times, |10> 52 times, and |11> 16 times. Calculate the sum for Qats and DoQs separately. So in the end we have e.g. that we got |00> 1500 times, out of which 500 were Qats and 1000 were DoQs, so |00> means likely a DoQ.

Testing: we measure the sensor output, and classify accordingly. E.g. we get |00>, we classify as DoQ, because that's the logical (Bayesian) thing to do, based on the above training.

Enhancement: instead of just measuring the sensor output, feed it through a (random) quantum circuit first, and only then measure. This will perturb the state a bit, and we'll get a different classifier this way. We can have, say, 15 such perturbed classifiers, and in the end we decide based on majority vote. E.g. if 9 classifiers say it's a DoQ, 6 say it's a Qat, then we final result is that it's a DoQ. But it's multiple shots... however, we can have the 15 perturbed classifiers within a huge circuit, where the sensor output is fed into the first qubit of that huge random circuit.

mickahell commented 3 years ago

Look at the file north_south.py, that's what I implemented ;)