기초 수학 · 5
선형계
선형계 A x = b 는 A 의 열들을 어떻게 조합해야 b 가
되는지 묻는다. 정확한 답이 있으면 solve 가 찾고, 방정식이 미지수보다 많아
정확한 답이 없으면 최소제곱이 가장 가까운 답을 찾는다. 아래 모든 것은 이 페이지에서,
양 언어로 돈다.
A x = b 를 정확히 풀기
정사각·가역인 A 라면 A.solve(b) 가 b 에 도달하는
유일한 x 를 준다. 결과를 읽는 것은 GPU 에서 오는 값이라 await 다.
정확한 답이 없을 때: 최소제곱
네 점, 미지수 둘(절편과 기울기)인 직선: 네 점을 모두 지나는 직선은 없으니 정확한
x 도 없다. lstsq 는 가장 적게 빗나가는 답 — 최적합 — 을 준다.
적합 보기: 최소제곱 직선
네 점은 한 직선 위에 있지 않으므로 lstsq 가 그 모두에 가장 가까운 직선을 찾는다. 여기 그린 것이 최소제곱이 고른 직선 — 최선의 타협이다.
직접: 선형계 풀기
이 블록은 잔차 max|A·x − b| 를 보고하는데, 이 값은 x 가 실제로
선형계를 풀 때만 0 이다. 지금 x 는 그냥 b 다. 진짜 해로 바꿔라.
기억할 것
- 정사각·가역
A의A x = b는 정확한 해 하나:A.solve(b). - 방정식이 미지수보다 많으면 대개 정확한 답이 없다;
A.lstsq(b)가 가장 가까운 적합을 준다. - 최소제곱은 잔차 제곱합을 최소화한다 — 모든 점에 가장 가까운 직선.
- borch 에서는
A.solve(b)·A.lstsq(b); 둘 다 await.
위 블록이 에러를 내면, 그것도 알아둘 값이다. 이 페이지의 모든 예제는
테스트가 도는 그 라이브러리를 상대로 돈다 — 스크린샷이 아니다. 되돌리려면 Reset 을
누른다.