
함수 의 최솟값을 구하는 가장 일반적인 방법. 기울기 반대 방향으로 조금씩 이동:
여기서 (learning rate)는 한 걸음 크기. 너무 크면 튀고, 너무 작으면 더디게 수렴합니다.
이 문제는 간단한 파라볼라 의 최솟값을 찾습니다. 미분: .
함수 descend(lr, n_steps) -> (history, x_final) 을 완성하세요.
x = 0.0.n_steps 회 반복하며 각 반복의 x 값을 history 리스트에 기록 (시작값 포함).(history_list, x_final_float).for 루프 OK (이 문제는 반복이 본질).| # | 이름 | lr | n_steps | 기대 결과 |
|---|---|---|---|---|
| 1 | 합리적 lr | 0.2 | 30 | x_final ≈ 3.0 |
| 2 | 작은 lr | 0.05 | 100 | x_final ≈ 3.0 |
| 3 | 기록 길이 | 0.1 | 10 | len(history) == 11 (시작값 + 10회) |
| 4 | 큰 lr는 발산 가능 | 1.1 | 20 | abs(x_final) > 10 |
코드를 작성하고 Run 을 눌러보세요.