<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def backward(self, req, out_grad, in_data, out_data, in_grad, aux):
 """Implements backward computation req : list of {'null', 'write', 'inplace', 'add'}, how to assign to in_grad out_grad : list of NDArray, gradient w.r.t. output data. in_grad : list of NDArray, gradient w.r.t. input data. This is the output buffer. """

        label = in_data[1]
        pred = out_data[0]
        dx = pred - mx.nd.one_hot(label, 2)
        pos_cls_weight = self.positive_cls_weight
        scale_factor = ((1 + label * pos_cls_weight) / pos_cls_weight).reshape((pred.shape[0],1))
        rescaled_dx = scale_factor * dx
        self.assign(in_grad[0], req[0], rescaled_dx)