vw
использует только одно глобальное хеш-пространство. Размер этого пространства 2^b
, где b
- количество бит хеша. По умолчанию b
равно 18, и его можно изменить, передав аргумент -b <bits>
в vw
.
Так что ответ на 1-й вопрос Да , есть только один,общее хеш-пространство, и возможны коллизии.
Пространства имен меняют только начальную точку при вычислении хеша, объекты в двух отдельных пространствах имен все еще могут конфликтовать.
Хеш-функцияв основном:
hash_func (строка)
, где строка, передаваемая в hash_func
, равна "<namespace>^<feature_name>"
Легко проверить, является ли ваш аргумент -b <bits>
слишком маленьким: если при увеличении -b ...
вы получаете значительно меньшие потери, то, скорее всего, у вас было (много) коллизий с меньшим значениемустановка.