# x 값이 총 몇 개인지 셉니다. = len() # 경사 하강법을 시작합니다. for in range(): # 에포크 수만큼 반복합니다. = * + # 예측 값을 구하는 식입니다. = - # 실제 값과 비교한 오차를 error로 놓습니다. = (2/) * sum(- * ()) # 오차 함수를 a로 편미분한 값입니다. = (2/) * sum(-()) # 오차 함수를 b로 편미분한 값입니다. = - * # 학습률을 곱해 기존의 a 값을 업데이트합니다. = - * # 학습률을 곱해 기존의 b 값을 업데이트합니다. if % 100 == 0: # 100번 반복될 때마다 현재의 a 값, b 값을 출력합니다. print("epoch=%.f, 기울기=%.04f, 절편=%.04f" % (, , )) # 앞서 구한 최종 a 값을 기울기, b 값을 y 절편에 대입해 그래프를 그립니다. = * + # 그래프를 출력합니다. plt.scatter(, ) plt.plot(, ,'r') plt.show()