title: What does "_" mean in lambda function and why is it used?
body: <p>I have an anonymous function with "_" as parameters, I don't know what it means and why it is used here.</p>
  
  <p>and function is:</p>
  
  <p><code>f = lambda _: model.loss(X, y)[0]</code></p>
  
  <p><code>grad_num = eval_numerical_gradient(f, model.params[name], verbose=False, h=1e-5)</code></p>
  
  <p>model.loss:</p>
  
  <pre class="lang-py prettyprint-override"><code>def loss(self, X, y=None):
  
  
      # Unpack variables from the params dictionary
      W1, b1 = self.params['W1'], self.params['b1']
      W2, b2 = self.params['W2'], self.params['b2']
  
      h1, h1_cache = affine_relu_forward(X, W1, b1)
      scores, h2_cache = affine_forward(h1, W2, b2)
  
  
      # If y is None then we are in test mode so just return scores
      if y is None:
          return scores
  
      loss, grads = 0, {}
  
  
      loss, dscores = softmax_loss(scores, y)
      loss = loss + 0.5*self.reg*(np.sum(W2**2) + np.sum(W1**2))
      dh1, grads['W2'], grads['b2'] = affine_backward(dscores,h2_cache)
      dX, grads['W1'], grads['b1'] = affine_relu_backward(dh1,h1_cache)
      grads['W1'] += self.reg*W1
      grads['W2'] += self.reg*W2
  
      return loss, grads
  </code></pre>
  
  <p>and the function
  eval_numerical_gradient:</p>
  
  <pre class="lang-py prettyprint-override"><code>def eval_numerical_gradient(f, x, verbose=True, h=0.00001):
  
      fx = f(x) # evaluate function value at original point
      grad = np.zeros_like(x)
      # iterate over all indexes in x
      it = np.nditer(x, flags=['multi_index'], op_flags=['readwrite'])
      while not it.finished:
  
          # evaluate function at x+h
          ix = it.multi_index
          oldval = x[ix]
          x[ix] = oldval + h # increment by h
          fxph = f(x) # evalute f(x + h)
          x[ix] = oldval - h
          fxmh = f(x) # evaluate f(x - h)
          x[ix] = oldval # restore
  
          # compute the partial derivative with centered formula
          grad[ix] = (fxph - fxmh) / (2 * h) # the slope
          if verbose:
              print(ix, grad[ix])
          it.iternext() # step to next dimension
  
      return grad
  </code></pre>
  
  <p>Loss function isn't complex, I want to know what the "_" represented and function in there.</p>