Add size/type checks for smoothing_factor