Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- inputs = [[2,3],[8,10],[3,6],[4, 9]]
- epochs = 10
- batch_size = 1
- for epoch in range(epochs):
- slope = 0
- intercept = 0
- iterations = length/bach_size
- batch = inputs[0:batch_size]
- for i in range(iterations):
- slope, intercept = updateWeightsGD(slope, intercept, batch);
- batch = inputs[i*batch_size:i*batch_size + batch_size] //without replacement
- updateWeightGD(slope, intercept, batch):
- learning_rate = 0.1
- slope_deriv = 0
- inercept_deriv = 0
- N = len(batch)
- for (point in batch):
- x = point[0]
- y = point[1]
- slope_deriv += -2*x * (y - (m*x + b))
- inercept_deriv += -2*(y - (m*x + b))
- //only updating after, not updating in for loop above
- slope -= (m_deriv / float(N)) * learning_rate
- intercept -= (b_deriv / float(N)) * learning_rate
- return slope, intercept
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement