# 시그모이드 함수 def sigmoid(x): return 1 / (1 + np.e ** (-x)) # 경사 하강법 for i in range(2001): for x_data, y_data in data: a_diff = x_data * (sigmoid(a*x_data + b) - y_data) b_diff = sigmoid(a*x_data + b) - y_data a = a - lr * a_diff b = b - lr * b_diff if i % 1000 == 0: # 1000번 반복될 때마다 각 x_data값에 대한 현재의 a값, b값을 출력합니다. print("epoch=%.f, 기울기=%.04f, 절편=%.04f" % (i, a, b))