머신러닝 용어는 영어와 한국어가 섞여 쓰이고 비슷해 보이는 단어가 많다. 아래 표로 짝을 먼저 맞춰 두면 이후 설명이 수월하다.
용어 영어 한 줄 정의 모델 Model 데이터로부터 학습된 "규칙 덩어리" 학습/훈련 Training 데이터로 모델을 만드는 과정 추론 Inference 학습된 모델로 새 데이터의 답을 예측하는 과정 특성 Feature 예측에 사용하는 입력 정보(변수) 레이블 Label 모델이 맞혀야 할 정답 과적합 Overfitting 학습 데이터만 외워 새 데이터에 약한 상태 과소적합 Underfitting 학습이 부족해 패턴조차 못 잡은 상태
데이터로부터 학습된 결과물. 입력을 받아 출력을 내놓는 "학습된 규칙 덩어리".
예: 집의 면적을 입력하면 예상 가격을 출력하는 함수가 하나의 모델이다.
처음에는 아무것도 모르는 빈 상태이며, 학습을 통해 점점 똑똑해진다.
머신러닝의 작업은 크게 두 단계로 나뉜다.
학습(훈련, Training) : 데이터를 보여주며 모델을 만드는 과정. 시간이 오래 걸리고 자원이 많이 든다.
추론(Inference) : 완성된 모델에 새로운 입력 을 넣어 답을 얻는 과정. 실제 서비스에서 사용자가 만나는 단계다.
비유: 학습은 "공부하는 과정", 추론은 "배운 것으로 시험 문제를 푸는 과정".
학습은 보통 한 번(또는 가끔) 무겁게 수행하고, 추론은 서비스 중 수없이 반복된다. 그래서 학습과 추론의 비용·속도 요구사항은 서로 다르다.
용어 무엇인가 요리 비유 예 알고리즘 데이터에서 규칙을 찾아내는 학습 방법 조리법 "면적과 가격 사이에 가장 잘 맞는 선을 찾는 절차" 모델 그 방법을 실제 데이터에 돌려 얻은 결과물 완성된 요리 "가격 = 면적 × 얼마 + 얼마"로 굳어진 식
같은 알고리즘이라도 데이터가 다르면 다른 모델 이 나온다. 서울 집값으로 학습한 모델과 부산 집값으로 학습한 모델은 조리법은 같아도 다른 요리다.
학습으로 모델 안에 채워지는 숫자를 파라미터 , 학습 전에 사람이 정해 주는 설정(얼마나 오래 학습할지 등)을 하이퍼파라미터 라 한다. 시험에서는 "누가 정하는가"만 구분하면 된다.
비교 축 학습(Training) 추론(Inference) 하는 일 모델을 만든다 만든 모델을 쓴다 넣는 것 특성 + 레이블(대량) 특성만(새 입력) 나오는 것 모델 예측 결과 빈도 가끔, 한 번에 무겁게 서비스 중 계속, 한 건은 가볍게 중요한 것 잘 배웠는가(일반화) 얼마나 빨리, 얼마나 싸게 답하는가
"예측을 언제까지 받아야 하는가"에 따라 추론을 서비스하는 방식이 갈린다. 시험 가이드는 배치·실시간·비동기·서버리스 네 가지를 예로 든다. 아래는 Amazon SageMaker AI(옛 이름 Amazon SageMaker)의 추론 옵션 기준이다.
방식 언제 쓰나 특징 예 실시간(Real-time) 요청마다 즉시 답해야 할 때 항상 켜 둔 엔드포인트가 낮은 지연으로 응답 결제 순간의 사기 판정, 상품 추천 배치(Batch) 대량 데이터를 한꺼번에, 급하지 않게 상시 엔드포인트 없이 작업을 돌리고 끝낸다 매일 밤 전 고객의 이탈 점수 계산 비동기(Asynchronous) 입력이 크고 처리 시간이 길 때 요청을 대기열에 쌓아 처리하고, 요청이 없으면 0으로 줄일 수 있다 긴 영상·대용량 문서 분석 서버리스(Serverless) 요청이 뜸하거나 들쭉날쭉할 때 인스턴스를 관리하지 않고 쓴 만큼만 낸다(유휴 시간 과금 없음) 가끔 호출되는 사내 도구
판별 단서: "즉시·낮은 지연 " → 실시간, "대량·주기적·오프라인 " → 배치, "큰 페이로드·긴 처리 시간 " → 비동기, "간헐적·예측 불가 트래픽 " → 서버리스.
흔한 실수는 "하루 한 번 전체 고객 점수를 낸다"에 실시간 엔드포인트를 고르는 것이다. 종일 켜 두는 비용만 나간다.
특성(Feature) : 예측에 사용하는 입력 정보 . 변수 또는 속성이라고도 한다.
레이블(Label) : 모델이 맞혀야 할 정답 . (Day 2의 지도학습에서 쓰인다.)
항목 역할 예시 면적, 방 개수, 위치 특성(입력) 84㎡, 3개, 강남 실제 거래 가격 레이블(정답) 9억 원
학습할 때는 특성과 레이블이 모두 필요하고, 추론할 때는 특성만 넣어 레이블을 예측한다.
데이터셋 영어 용도 학습 데이터 Training set 모델을 학습시키는 데 사용 검증 데이터 Validation set 학습 중 모델을 점검·조정하는 데 사용 테스트 데이터 Test set 최종 성능을 객관적으로 평가하는 데 사용
핵심은 테스트 데이터는 학습에 절대 쓰지 않는다 는 점이다.
학습에 쓴 데이터로 평가하면 "이미 본 문제로 시험 보는" 셈이라 성능이 부풀려진다.
💡 관련 이론 : 데이터를 학습/검증/테스트로 나누는 이유는 모델이 "새로운 데이터에서도 잘 작동하는지(일반화, generalization)"를 정직하게 측정하기 위해서다.
머신러닝의 대표적인 문제 개념이다.
학습 데이터를 너무 잘 외워서 새로운 데이터에서는 성능이 나쁜 상태.
비유: "기출문제만 통째로 외워 변형 문제를 못 푸는 학생".
학습 데이터 정확도: 매우 높음 / 새(테스트) 데이터 정확도: 낮음
학습이 부족해 패턴조차 제대로 잡지 못한 상태.
비유: "공부를 너무 안 해서 기본 문제도 틀리는 학생".
학습 데이터 정확도: 낮음 / 새 데이터 정확도: 낮음
상태 학습 데이터 성능 새 데이터 성능 비유 과소적합 낮음 낮음 공부 부족 적절함 높음 높음 이해하고 응용 가능 과적합 매우 높음 낮음 암기만 함
좋은 모델은 학습 데이터와 새 데이터 모두에서 고르게 잘 작동한다. 과적합과 과소적합 사이의 균형을 맞추는 것이 머신러닝의 핵심 과제이며, 이를 "일반화 성능을 높인다"고 표현한다.
두 점수를 나란히 놓아야 상태가 보인다. 학습 점수 하나만으로는 아무것도 알 수 없다.
학습 데이터 정확도 테스트 데이터 정확도 진단 읽는 법 62% 60% 과소적합 둘 다 낮다. 아직 제대로 못 배웠다 91% 89% 적절 둘 다 높고 차이가 작다 99% 70% 과적합 격차 29%p. 외웠을 뿐 응용을 못 한다
상태 흔한 원인 처방 과소적합 모델이 너무 단순하다, 학습이 모자라다, 쓸 만한 특성이 없다 더 표현력 있는 모델, 더 충분한 학습, 더 나은 특성 과적합 데이터가 적거나 한쪽에 치우쳤다, 모델이 지나치게 복잡하다, 너무 오래 학습했다 더 많고 다양한 데이터, 모델 단순화, 적당한 시점에 학습 중단
방향을 헷갈리지 말 것: 과적합에 "더 오래 학습"을 처방하면 악화 된다. 과적합은 부족이 아니라 과잉이다.
💡 관련 이론 : 시험 가이드는 이 현상을 편향 (bias)과 분산 (variance)이라는 말로도 묻는다. 모델이 너무 단순해 정답에서 일관되게 빗나가는 것이 높은 편향 → 과소적합 , 학습 데이터의 사소한 차이에까지 민감하게 휘둘리는 것이 높은 분산 → 과적합 이다. 모델이 데이터에 얼마나 맞춰졌는지를 통틀어 적합 (fit)이라 부른다. 참고로 "편향"은 특정 집단에 불리하게 치우친 판단이라는 공정성 의 뜻으로도 쓰이므로(Week 5), 문맥으로 어느 쪽인지 가려야 한다.
학습 도중에는 설정을 바꿔 가며 "어느 쪽이 더 나은가"를 여러 번 비교한다. 이 비교에 쓰는 것이 검증 데이터 다.
같은 검증 데이터로 고르기를 반복하면, 모델은 학습에 쓰지 않았는데도 검증 데이터에 유리한 쪽으로 조금씩 맞춰진다. 모의고사를 여러 번 보면 그 모의고사에 익숙해지는 것과 같다.
그래서 고르기가 전부 끝난 뒤, 한 번도 판단에 쓰지 않은 테스트 데이터 로 마지막 점수를 잰다. 이 점수가 "처음 보는 데이터"에 대한 가장 정직한 추정이다.
"학습 데이터 정확도가 높으면 좋은 모델" → 테스트 점수와의 격차를 봐야 한다. 높은 학습 점수는 과적합의 증상일 수도 있다.
"추론할 때도 레이블이 필요하다" → 추론은 레이블을 모르기 때문에 하는 일이다. 특성만 넣는다.
"모델 = 알고리즘" → 알고리즘은 방법, 모델은 그 방법으로 데이터를 학습한 결과물이다.
"테스트 점수가 나쁘면 테스트 데이터로 다시 학습하면 된다" → 그 순간 테스트 데이터는 더 이상 "처음 보는 데이터"가 아니다. 점수는 오르지만 의미가 사라진다.
"학습이 끝나면 비용도 끝" → 추론은 서비스가 살아 있는 동안 계속된다. 요청이 많은 서비스는 추론 비용이 학습 비용을 넘어서기도 한다.
오늘 배운 용어들은 하나의 흐름으로 이어진다.
특성 + 레이블이 담긴 [학습 데이터]
↓ (학습 / Training)
[모델] 완성
↓ (추론 / Inference)
새 입력(특성) → 예측된 레이블
↓
[테스트 데이터]로 성능 평가 → 과적합/과소적합 여부 확인
이 흐름을 머릿속에 그릴 수 있으면 이후 주차의 더 복잡한 내용도 훨씬 쉽게 이해된다.
모델 : 학습이 끝난 "규칙 덩어리". 입력을 넣으면 답을 내놓는다.
학습(훈련, Training) : 데이터를 보여주며 모델을 만드는 과정. 무겁고 오래 걸린다.
추론(Inference) : 완성된 모델에 새 입력을 넣어 답을 얻는 과정. 서비스에서 계속 반복된다.
특성(Feature) : 예측에 쓰는 입력 정보. 집값 예측이라면 면적·방 개수·위치.
레이블(Label) : 모델이 맞혀야 할 정답. 집값 예측이라면 실제 거래 가격.
검증 데이터 : 학습 도중 모델을 점검하고 설정을 조정할 때 쓰는 데이터.
테스트 데이터 : 최종 성적을 매기는 데이터. 학습에는 절대 쓰지 않는다.
과적합(Overfitting) : 기출문제만 통째로 외워 변형 문제를 못 푸는 상태.
과소적합(Underfitting) : 공부가 부족해 기본 문제조차 못 맞히는 상태.
일반화(Generalization) : 학습 때 못 본 새 데이터에서도 잘 맞히는 성질. 좋은 모델의 목표.
📝 연습 문제 선택지를 클릭하면 정답·해설이 펼쳐집니다.
완성된 모델에 새로운 입력 데이터를 넣어 예측 결과를 얻는 과정을 무엇이라 하는가?
집값 예측에서 "면적, 방 개수, 위치"는 입력으로 쓰이고 "실제 거래 가격"은 맞혀야 할 정답이다. 각각을 가리키는 용어로 옳은 것은?
A 면적·방 개수는 레이블, 거래 가격은 특성 B 면적·방 개수는 특성, 거래 가격은 레이블 C 둘 다 레이블 D 둘 다 특성 어떤 모델이 학습 데이터에서는 정확도가 매우 높지만 새로운 테스트 데이터에서는 성능이 크게 떨어진다. 이 상태를 가장 잘 나타내는 용어는?
머신러닝에서 데이터를 학습·검증·테스트로 나누는 주된 이유는?
A 데이터를 작게 만들어 저장 공간을 줄이기 위해 B 모델이 새로운 데이터에서도 잘 작동하는지 정직하게 평가하기 위해 C 테스트 데이터를 학습에 한 번 더 사용하기 위해 D 레이블을 제거하기 위해 학습이 부족해 학습 데이터에서도 패턴을 제대로 잡지 못하고 새 데이터에서도 성능이 낮은 상태는?