from sympy import symbols, diff, simplify, exp, log
# Define symbols
x1, x2, y, b0, b1, b2 = symbols("x1 x2 y b0 b1 b2")
# Predict
yhat = b0 + b1 * x1 + b2 * x2
# Compute loss
loss = 0.5 * (y - yhat) ** 2
# Differentiate
print simplify(diff(loss, b0))
print simplify(diff(loss, b1))
print simplify(diff(loss, b2))
1.0*b0 + 1.0*b1*x1 + 1.0*b2*x2 - 1.0*y 1.0*x1*(b0 + b1*x1 + b2*x2 - y) 1.0*x2*(b0 + b1*x1 + b2*x2 - y)
# Define symbols
x1, x2, y, b0, b1, b2 = symbols("x1 x2 y b0 b1 b2")
# Predict
z = b0 + b1 * x1 + b2 * x2
yhat = 1 / (1 + exp(-z))
# Compute loss
loss = y * log(yhat) + (1 - y) * log(1 - yhat)
# Differentiate
print simplify(diff(loss, b0))
print simplify(diff(loss, b1))
print simplify(diff(loss, b2))
(y*exp(-b0 - b1*x1 - b2*x2) + y - 1)/(exp(-b0 - b1*x1 - b2*x2) + 1) x1*(y*exp(-b0 - b1*x1 - b2*x2) + y - 1)/(exp(-b0 - b1*x1 - b2*x2) + 1) x2*(y*exp(-b0 - b1*x1 - b2*x2) + y - 1)/(exp(-b0 - b1*x1 - b2*x2) + 1)