This repository was archived by the owner on Jan 12, 2024. It is now read-only.
This repository was archived by the owner on Jan 12, 2024. It is now read-only.
MachineLearning.EstimateClassificationProbability and EstimateClassificationProbabilities needlessly divide tolerance by model size #283
Open
Description
The functions EstimateClassificationProbability and EstimateClassificationProbabilities in Microsoft.Quantum.MachineLearning namespace divide the passed tolerance by model size. There are multiple problems with this:
- Firstly, doing this is unnecessary. It is possible to bound the probability error in terms of encoding error, and this bound doesn't depend on model size. To put it in simple terms, longer models are no more sensitive to encoding errors, so this division makes no sense.
- When using EstimateClassificationProbabilities, the division is done twice: once in EstimateClassificationProbabilities and once more in EstimateClassificationProbability.
- Thanks to Fix #261. #274, EstimateClassificationProbabilities now handles the special case of model length being 0. Unfortunately, EstimateClassificationProbability still doesn't handle this case properly.