Use optim function to let users specify their own loss function
Use optim function to let users specify their own loss function