Part 2 마무리. 기초 복구 정리¶
Section ID:
P2-summaryVersion:v2026.09.15
수학은 계산을 압축합니다. 수식에 담긴 계산 규칙은 Python으로 실행할 수 있고, NumPy 배열과 Pandas 표는 계산할 값의 구조를 표현합니다. 그래프는 결과의 변화와 분포를 보여 주며, 실행 환경과 Git 이력은 같은 결과를 다시 만들 조건을 추적하게 해 줍니다.
계산과 도구의 연결¶
| 구분 | 기억할 관점 |
|---|---|
| 수식과 코드 | 수식은 계산의 의도를 적고, 코드는 그 계산을 실행 가능한 절차로 옮깁니다. |
| 로그와 지수 | 로그는 지수를 거꾸로 읽는 함수이고, 확률 점수와 손실을 읽는 언어로 다시 등장합니다. |
| 변수와 데이터 | 수식의 변수는 코드에서 값, 배열, 표, 데이터셋으로 나타날 수 있습니다. |
| 벡터와 행렬 | 벡터와 행렬은 여러 값을 위치와 방향, 축(axis), shape로 묶어 계산하게 합니다. |
| 내적과 거리 | 내적은 벡터 관계를 한 숫자로 접고, 거리와 유사도는 비교 질문을 나누어 줍니다. |
| 미분과 그래디언트 | 미분은 변화율을 읽는 도구이고, 그래디언트는 여러 방향의 변화를 함께 읽는 도구입니다. |
| 합성함수와 연쇄 법칙 | 여러 계산 단계가 이어질 때 변화율이 어떻게 전달되는지 읽게 해 줍니다. |
| 손실과 최적화 | 손실(loss)은 현재 결과가 얼마나 나쁜지 숫자로 만들고, 최적화(optimization)는 더 나은 값을 찾는 과정입니다. |
| 확률과 통계 | 확률은 불확실성을 숫자로 표현하고, 통계는 데이터 묶음에서 판단 가능한 요약을 만듭니다. |
| Python과 실행 환경 | 같은 코드라도 Colab, 로컬 PC, 터미널, 노트북, 가상환경에 따라 실행 맥락이 달라집니다. |
| NumPy와 Pandas | NumPy는 배열 계산을, Pandas는 표 형식 데이터 읽기와 정리를 돕습니다. |
| Matplotlib과 시각화 | 그래프는 숫자의 패턴, 분포, 관계, 학습 흐름을 눈으로 확인하게 합니다. |
| Git과 재현성 | Git은 원고, 코드, 이미지, 근거 메모가 어떤 순서로 바뀌었는지 추적하게 합니다. |
확률에서는 반복 관측의 장기 빈도와 불확실한 명제에 대한 믿음의 정도를 구분했습니다. 베이즈 규칙은 새 증거를 반영해 조건부 확률을 갱신하는 계산입니다. 미분·그래디언트는 입력이나 매개변수 변화에 따른 출력 변화를, 손실·최적화는 어떤 기준을 줄이도록 값을 조정하는지를 설명합니다.
구분할 개념¶
| 혼동하기 쉬운 항목 | 구분 |
|---|---|
| Python 리스트와 NumPy 배열 | 리스트의 +는 연결이고, 배열의 +는 호환되는 모양에서 원소별 덧셈입니다. |
| 표의 행과 샘플 | 학생 목록의 한 행은 학생 한 명일 수 있지만, 센서 기록의 여러 행이 동작 한 건을 이룰 수도 있습니다. |
| 평균과 분포 | 같은 평균이어도 값의 퍼짐과 시간별 변화는 다를 수 있습니다. |
| 학습 손실과 평가 결과 | 학습 데이터에서 손실이 줄어도 새 데이터의 성능은 별도로 확인해야 합니다. |
| 상관과 원인 | 산점도의 경향만으로 한 변수가 다른 변수의 원인이라고 판단할 수 없습니다. |
| 파일 저장과 커밋 | 저장은 현재 파일을 갱신하고, 커밋은 스테이징한 파일 상태를 이력에 기록합니다. |
계산 기준과 변화 방향 구분하기¶
다음 질문에 먼저 답한 뒤 오른쪽 설명과 비교해 봅시다. 계산값뿐 아니라 그 값으로 무엇을 판단할 수 있는지도 확인합니다.
| 확인할 질문 | 계산과 해석 |
|---|---|
벡터 [1, 2]와 [3, 4]의 내적은 무엇인가? | 같은 위치의 값을 곱해 더하면 1×3 + 2×4 = 11입니다. 내적은 한 숫자이며 두 벡터 사이의 거리와는 다릅니다. |
손실이 L(w) = (w − 3)²일 때 w = 1에서 손실과 미분값은 각각 무엇인가? | 손실은 4, 미분값은 2(w − 3) = −4입니다. 손실은 현재 오차의 크기를, 미분값은 이 위치에서 값을 바꿀 방향을 판단하는 데 쓰입니다. |
위 조건에서 학습률을 0.1로 두고 경사하강법을 한 번 적용하면 어떻게 되는가? | w = 1 − 0.1×(−4) = 1.4이고 손실은 2.56으로 줄어듭니다. 이 한 번의 감소가 모든 학습률·함수에서 감소를 보장하지는 않습니다. |
[1, 3]과 [2, 2]는 평균이 같은가? 퍼짐도 같은가? | 평균은 모두 2입니다. 평균에서 떨어진 거리의 제곱을 평균 내면 각각 1, 0이므로 퍼짐은 다릅니다. |
실제 통과 비율이 1/3이면 다음 학생의 통과 확률도 반드시 1/3인가? | 관측된 세 명의 비율만으로 다음 학생의 확률을 확정할 수 없습니다. 표본과 예측 대상의 조건을 함께 확인해야 합니다. |
작은 표로 점검하기¶
시험 전까지의 공부 시간과 문제 풀이 수로 통과 여부를 예측한다고 합시다. 앞 두 열은 입력 특징이고 마지막 열은 시험 후 확인한 정답입니다.
| study_hours | solved_questions | passed |
|---|---|---|
| 1 | 5 | 0 |
| 2 | 9 | 0 |
| 4 | 16 | 1 |
predicted는 정확도 계산을 확인하려고 직접 지정한 예시 값입니다. 아래 코드는 모델을 학습하거나 X에서 예측값을 생성하지 않습니다. 예측값을 바꾸어 실제 통과 비율과 정확도 중 무엇이 달라지는지 확인합니다.
X는 샘플 3개와 특징 2개를 담고, y는 같은 순서의 정답 3개를 담습니다. 통과 여부의 평균은 실제 통과 비율 1/3입니다. 예측은 두 번째 학생만 틀렸으므로 정확도는 2/3입니다. 통과 비율과 예측 정확도는 다른 질문에 답하는 값입니다.
예측을 [0, 0, 1]로 바꾸면 정확도는 1이 되고 실제 통과 비율은 1/3로 유지됩니다. 문제 풀이 수를 입력에서 제외하면 X는 (3, 1)이 되지만 정답 3개는 그대로입니다. 입력 변경이 모델 결과에 미치는 영향을 비교하려면 같은 데이터 분할과 평가 기준을 사용하고 변경 내용을 기록해야 합니다.
관련 본문¶
| 확인할 내용 | 위치 |
|---|---|
| 입력·정답과 데이터 누수 | P2-12.3 |
| 배열 모양과 축 | P2-11.2 |
| 평균·분산 | P2-5.2 |
| 내적·거리 | P2-3.4 |
| 미분·그래디언트 | P2-4.3 |
| 경사하강법 | P2-6.3 |
| 손실 계산 | P2-15.1 |
| 실행 위치와 환경 | P2-7.6, P2-7.7 |
| 노트북 재실행 | P2-10.3 |
| 메서드와 객체 | P2-8.6 |
| 자료구조 비교 | P2-9.4 |
| 그래프 비교·저장 | P2-13.3 |
| 변경 이력 | P2-14.1 |
남은 질문¶
작은 계산과 데이터 구조를 확인하는 기초 위에서, 머신러닝에서는 데이터로 규칙을 배우고 새 데이터에서 그 규칙을 평가합니다. 어떤 모델을 선택할지, 학습·검증·테스트를 어떻게 나눌지, 어떤 지표로 비교할지는 이어지는 모델 학습에서 다룰 질문입니다.
고급 수학 증명, 대규모 데이터 처리, 협업 자동화는 이 Part의 작은 예제보다 넓은 조건을 다룹니다. 여기서 실행한 코드가 큰 데이터에서도 같은 메모리 비용과 성능을 낸다고 가정해서는 안 됩니다.
체크리스트¶
- 내적 계산과 벡터의 거리 계산을 구분할 수 있는가?
- 손실값·미분값·학습률을 이용해 한 번의 매개변수 갱신을 설명할 수 있는가?
-
평균이 같아도 퍼짐이 다를 수 있다는 점과 관측 비율·예측 확률의 차이를 설명할 수 있는가?
-
위 표의 입력·정답과 배열 모양을 설명할 수 있는가?
- 실제 통과 비율과 예측 정확도를 구분해 계산할 수 있는가?
- 입력 특징이나 예측값을 바꾸면 무엇이 달라지는지 확인할 수 있는가?
- 그래프의 축·표의 행 단위·코드의 실행 환경을 밝힐 수 있는가?
- 결과와 함께 변경 조건·코드·데이터 버전을 기록할 수 있는가?
출처와 참고 자료¶
이 문서는 Part 2 본문을 바탕으로 작성한 자체 요약입니다. 각 개념의 근거는 관련 본문의 출처와 참고 자료에서 확인할 수 있습니다.