def log_likelihood(self):
    p = tf.nn.softmax((tf.matmul(self.X, self.W) + self.b))
    return tf.reduce_sum((tf.math.log(p) * self.Y))
def log_likelihood(self):
    p = tf.nn.softmax((tf.matmul(self.X, self.W) + self.b))
    return tf.reduce_sum((tf.math.log(p) * self.Y))