Я реализовал простой байесовский классификатор, но у меня возникают некоторые проблемы переполнения при использовании его на нетривиальных объемах данных.
Одна стратегия, которую я пытался сделать, чтобы цифры были небольшими,но все же точным было продолжать сокращать числитель и знаменатель с наибольшим общим делителем для каждой части уравнения.Это, однако, работает только тогда, когда они имеют общий делитель ...
Обратите внимание, что проблема идет в обе стороны, когда я держу знаменатели и числители отдельно для большей части вычислений, которые я борюсь с целочисленным переполнениемВыполняя большинство вычислений на лету, используя двойную арифметику, я сталкиваюсь с различными проблемами / ограничениями, которые имеют действительно маленькие двойные значения (как определено IEEE 754).
Как я уверен, некоторые из вас здесьреализовали этот алгоритм раньше, как вы справились с этими проблемами?Я предпочел бы не использовать произвольные типы точности, поскольку они стоят слишком дорого, и я уверен, что существует решение, которое не требует их.
Спасибо.