supports selecting number of negative samples