ML-From-Scratch icon indicating copy to clipboard operation
ML-From-Scratch copied to clipboard

cross entropy is correct?

Open liyunrui opened this issue 3 years ago • 2 comments

liyunrui avatar Oct 09 '21 19:10 liyunrui

class CrossEntropy(Loss): def init(self): pass

def loss(self, y, p):
    # Avoid division by zero
    p = np.clip(p, 1e-15, 1 - 1e-15)
    return - y * np.log(p) - (1 - y) * np.log(1 - p)

def acc(self, y, p):
    return accuracy_score(np.argmax(y, axis=1), np.argmax(p, axis=1))

def gradient(self, y, p):
    # Avoid division by zero
    p = np.clip(p, 1e-15, 1 - 1e-15)
    return - (y / p) + (1 - y) / (1 - p)

loss = CrossEntropy() y = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) p = np.random.uniform(0,1,size=10) loss.loss(y, p)

liyunrui avatar Oct 09 '21 19:10 liyunrui

def acc(self, y, p): return accuracy_score(y, p) is this ok?

zpengc avatar Nov 01 '21 07:11 zpengc