# 몇 번 반복될지 설정합니다. = 2001 # x 값이 총 몇 개인지 셉니다. x1과 x2의 수가 같으므로 x1만 세겠습니다. = len() # 경사 하강법을 시작합니다. for in range(): # 에포크 수만큼 반복합니다. = * + * + # 예측 값을 구하는 식을 세웁니다. = - # 실제 값과 비교한 오차를 error로 놓습니다. = (2/) * sum(- * ()) # 오차 함수를 a1로 편미분한 값입니다. = (2/) * sum(- * ()) # 오차 함수를 a2로 편미분한 값입니다. = (2/) * sum(-()) # 오차 함수를 b로 편미분한 값입니다. = - * # 학습률을 곱해 기존의 a1 값을 업데이트합니다. = - * # 학습률을 곱해 기존의 a2 값을 업데이트합니다. = - * # 학습률을 곱해 기존의 b 값을 업데이트합니다. if % 100 == 0: # 100번 반복될 때마다 현재의 a1, a2, b의 값을 출력합니다. print("epoch=%.f, 기울기1=%.04f, 기울기2=%.04f, 절편=%.04f" % (, , , ))