머신러닝은 스스로 규칙을 찾아내는 방법이다
머신러닝은 AI를 만드는 대표적인 방법입니다. 말 그대로 기계가 데이터를 통해 배우는 방식입니다.
예전의 프로그램은 사람이 규칙을 하나하나 적어 넣어야 했습니다. 예를 들어 스팸 메일을 걸러내는 프로그램을 만든다면, 사람이 직접 "무료", "당첨", "지금 클릭" 같은 단어가 있으면 의심하라는 규칙을 넣었습니다.
하지만 머신러닝은 조금 다릅니다. 사람이 모든 규칙을 쓰는 대신, 많은 메일 데이터를 보여 줍니다. 어떤 메일이 스팸이고 어떤 메일이 정상인지 알려 주면, 모델은 그 안에서 반복되는 특징을 찾아냅니다.
여기서 모델은 데이터를 보고 판단하는 AI의 핵심 구조를 뜻합니다. 쉽게 말해, "학습한 뒤 예측을 내리는 도구"입니다.
머신러닝을 이해할 때 가장 먼저 알아야 할 것은 세 가지 학습 방식입니다.
지도학습
비지도학습
강화학습
이 세 가지는 AI가 무엇을 보고, 어떤 방식으로 배우는지에 따라 나뉩니다.

지도학습: 정답을 보며 배우는 방식
지도학습은 정답이 있는 데이터로 배우는 방식입니다.
학생이 문제집을 풀 때를 떠올리면 쉽습니다. 문제 옆에 정답이 있고, 틀리면 정답을 보며 고칩니다. 지도학습도 비슷합니다. AI에게 입력 데이터와 정답을 함께 보여 줍니다.
예를 들어 보겠습니다.
| 입력 데이터 | 정답 |
|---|---|
| 메일 제목과 내용 | 스팸 또는 정상 |
| 집의 크기, 위치, 방 개수 | 집값 |
| 상품 사진 | 고양이 또는 강아지 |
| 고객의 구매 기록 | 구매할 가능성이 높은 상품 |
이처럼 지도학습은 "이런 입력이 들어오면 어떤 답을 내야 하는가"를 배우는 데 적합합니다.
지도학습은 다시 크게 두 가지로 나눌 수 있습니다.
첫째, 분류입니다. 분류는 여러 선택지 중 하나를 고르는 문제입니다. 스팸 메일 분류, 질병 여부 판단, 사진 속 사물 구분이 여기에 해당합니다.
둘째, 회귀입니다. 회귀는 숫자를 예측하는 문제입니다. 내일의 기온, 집값, 다음 달 매출, 배송에 걸릴 시간처럼 결과가 숫자로 나오는 경우입니다.
초보자가 기억할 핵심은 간단합니다.
지도학습은 정답이 있는 예시를 보고 새 문제의 답을 예측하는 방식입니다.
비지도학습: 정답 없이 비슷한 것끼리 찾는 방식
비지도학습은 정답이 없는 데이터에서 패턴을 찾는 방식입니다.
이번에는 문제집에 정답이 없습니다. 대신 많은 데이터를 보여 주고 "이 안에서 비슷한 것끼리 묶어 보라"고 하는 것에 가깝습니다.
예를 들어 쇼핑몰 고객 데이터가 있다고 해 보겠습니다. 고객의 나이, 구매 금액, 방문 횟수, 관심 상품은 있지만 "이 고객은 어떤 유형이다"라는 정답은 없습니다.
비지도학습은 이런 데이터에서 비슷한 행동을 하는 고객들을 묶을 수 있습니다.
자주 방문하지만 적게 구매하는 고객
한 번에 큰 금액을 구매하는 고객
특정 브랜드만 반복해서 사는 고객
할인 기간에만 구매하는 고객
이렇게 묶인 결과를 보고 사람은 마케팅 전략을 세울 수 있습니다.
비지도학습은 다음과 같은 상황에서 자주 쓰입니다.
고객 유형 나누기
비슷한 문서끼리 묶기
음악이나 영화 취향 분석하기
평소와 다른 이상한 거래 찾기
복잡한 데이터를 보기 쉽게 정리하기
비지도학습은 정답을 맞히는 것이 목적이라기보다, 데이터 안에 숨어 있는 구조를 발견하는 것에 가깝습니다.
강화학습: 보상을 받으며 배우는 방식
강화학습은 행동을 해 보고, 그 결과로 받은 보상을 통해 배우는 방식입니다.
강아지 훈련을 떠올리면 쉽습니다. 강아지가 원하는 행동을 하면 간식을 줍니다. 그러면 강아지는 그 행동을 더 자주 하게 됩니다. 반대로 원하지 않는 행동에는 보상이 없습니다.
강화학습도 비슷합니다. AI는 어떤 행동을 선택하고, 그 결과에 따라 보상을 받습니다. 시간이 지나면서 더 많은 보상을 받는 행동을 배우게 됩니다.
대표적인 예시는 게임입니다. AI가 게임을 하면서 이기면 높은 보상을 받고, 지면 낮은 보상을 받습니다. 수많은 시도를 반복하면서 이길 가능성이 높은 선택을 찾아갑니다.
강화학습은 다음과 같은 상황에서 쓰일 수 있습니다.
게임 전략 학습
로봇의 움직임 제어
자율주행 경로 선택
광고나 추천 순서 최적화
물류 창고에서 이동 경로 찾기
다만 강화학습은 실제 환경에서 적용하기 까다로운 경우가 많습니다. 잘못된 행동을 반복하면 비용이 크거나 위험할 수 있기 때문입니다. 그래서 실제 세계에 바로 적용하기보다, 가상 환경에서 먼저 충분히 실험하는 경우가 많습니다.
정리하면 강화학습은 정답을 직접 알려 주기보다, 행동의 결과로 배우는 방식입니다.
세 가지 학습 방식의 차이
세 가지를 한눈에 비교하면 다음과 같습니다.
| 학습 방식 | 데이터에 정답이 있는가 | 주로 하는 일 | 예시 |
|---|---|---|---|
| 지도학습 | 있음 | 답 예측하기 | 스팸 분류, 집값 예측 |
| 비지도학습 | 없음 | 패턴 찾기 | 고객 그룹 나누기 |
| 강화학습 | 정답 대신 보상 | 좋은 행동 배우기 | 게임, 로봇 제어 |
머신러닝을 공부하다 보면 용어가 복잡하게 느껴질 수 있습니다. 하지만 처음에는 이렇게 구분하면 충분합니다.
정답을 보고 배우면 지도학습
정답 없이 묶거나 구조를 찾으면 비지도학습
행동하고 보상을 받으며 배우면 강화학습
이 구분만 잡혀도 많은 AI 사례를 더 쉽게 이해할 수 있습니다.
훈련 데이터와 테스트 데이터는 왜 나눌까
머신러닝에서는 데이터를 보통 두 부분으로 나눕니다.
훈련 데이터
테스트 데이터
훈련 데이터는 모델이 공부할 때 사용하는 데이터입니다. 모델은 이 데이터를 보며 패턴을 배웁니다.
테스트 데이터는 모델이 정말 잘 배웠는지 확인할 때 사용하는 데이터입니다. 공부할 때 보지 않은 새로운 문제라고 생각하면 됩니다.
왜 굳이 나누어야 할까요?
모델이 훈련 데이터만 잘 맞히는 것은 큰 의미가 없기 때문입니다. 학생이 이미 외운 문제만 잘 푸는 것과 같습니다. 중요한 것은 처음 보는 문제도 잘 푸는지입니다.
예를 들어 AI에게 고양이와 강아지 사진을 구분하도록 학습시킨다고 해 보겠습니다. 훈련 데이터에 있는 사진은 거의 다 맞히는데, 새로운 사진을 보여 주면 자주 틀린다면 좋은 모델이라고 보기 어렵습니다.
AI의 목적은 과거 데이터를 외우는 것이 아닙니다. 새로운 상황에서도 쓸 만한 판단을 내리는 것입니다. 이것을 일반화라고 합니다.
일반화가 잘된 모델은 처음 보는 데이터에도 비교적 안정적으로 답합니다.
정확도, 오차, 과적합을 쉽게 이해하기
머신러닝을 접하면 자주 나오는 용어가 있습니다. 처음에는 어렵게 보이지만, 뜻은 생각보다 단순합니다.
정확도
정확도는 전체 문제 중에서 몇 개를 맞혔는지를 나타냅니다.
예를 들어 100개의 메일 중 스팸인지 아닌지를 판단했는데 90개를 맞혔다면 정확도는 90%입니다.
정확도는 이해하기 쉬운 지표입니다. 하지만 항상 충분한 지표는 아닙니다.
예를 들어 전체 메일 100개 중 99개가 정상 메일이고 1개만 스팸이라고 해 보겠습니다. 모델이 모든 메일을 정상이라고 답하면 정확도는 99%입니다. 숫자만 보면 좋아 보입니다. 하지만 정작 스팸은 하나도 잡지 못했습니다.
그래서 중요한 문제일수록 정확도 하나만 보지 않고, 어떤 종류의 실수를 하는지도 함께 봐야 합니다.
오차
오차는 모델의 예측과 실제 정답 사이의 차이입니다.
집값을 예측하는 모델이 실제 5억 원짜리 집을 4억 8천만 원으로 예측했다면 오차는 2천만 원입니다.
오차는 모델이 얼마나 빗나갔는지를 보여 줍니다. 오차가 작을수록 모델의 예측이 실제 값에 가까운 것입니다.
비슷한 말로 손실이라는 용어도 자주 나옵니다. 손실은 모델이 얼마나 틀렸는지를 숫자로 표현한 값입니다. 모델은 학습하면서 이 손실을 줄이려고 합니다.
초보자는 이렇게 이해하면 됩니다.
오차: 예측과 실제의 차이
손실: 그 차이를 학습에 쓰기 좋게 숫자로 만든 것
과적합
과적합은 모델이 훈련 데이터를 지나치게 외워 버린 상태입니다.
학생이 문제의 원리를 이해한 것이 아니라, 문제집의 답만 통째로 외운 상황과 비슷합니다. 같은 문제를 다시 내면 잘 맞히지만, 조금만 바꿔서 내면 틀립니다.
AI도 마찬가지입니다. 훈련 데이터에서는 성능이 매우 좋은데 테스트 데이터에서는 성능이 떨어진다면 과적합을 의심할 수 있습니다.
과적합은 머신러닝에서 매우 중요한 개념입니다. 모델을 복잡하게 만들수록 항상 좋아지는 것은 아닙니다. 너무 복잡한 모델은 데이터의 중요한 패턴뿐 아니라 우연한 잡음까지 외워 버릴 수 있습니다.
좋은 모델은 훈련 데이터를 잘 맞히는 모델이 아니라, 새로운 데이터에도 잘 작동하는 모델입니다.
모델보다 먼저 문제를 정의해야 한다
AI를 처음 배우면 "어떤 모델이 가장 좋은가"에 관심이 가기 쉽습니다. 하지만 실제로는 모델 선택보다 더 먼저 해야 할 일이 있습니다.
바로 문제를 제대로 정의하는 것입니다.
문제가 흐릿하면 좋은 모델을 써도 좋은 결과를 얻기 어렵습니다. 반대로 문제가 분명하면 단순한 모델로도 충분히 쓸 만한 결과를 만들 수 있습니다.
예를 들어 "고객을 분석하고 싶다"는 말은 너무 넓습니다. 이 상태로는 어떤 데이터를 모아야 할지, 어떤 결과가 필요한지, 성공을 어떻게 판단할지 정하기 어렵습니다.
더 좋은 질문은 다음과 같습니다.
다음 달에 이탈할 가능성이 높은 고객을 예측하고 싶은가?
고객을 구매 성향별로 나누고 싶은가?
특정 상품을 살 가능성이 높은 고객을 찾고 싶은가?
광고를 보낼 우선순위를 정하고 싶은가?
각 질문에 따라 필요한 데이터와 학습 방식이 달라집니다.
이탈 고객을 예측하려면 지도학습이 적합할 수 있습니다. 과거에 이탈한 고객과 남아 있는 고객의 데이터가 정답 역할을 하기 때문입니다.
고객 유형을 나누고 싶다면 비지도학습이 적합할 수 있습니다. 미리 정답이 없어도 비슷한 고객끼리 묶을 수 있기 때문입니다.
추천 순서를 계속 바꿔 가며 더 나은 반응을 찾고 싶다면 강화학습의 아이디어가 활용될 수도 있습니다.
이처럼 머신러닝은 기술보다 문제 정의에서 출발합니다.
좋은 문제 정의를 위한 질문
머신러닝 프로젝트를 시작할 때는 다음 질문을 먼저 던져야 합니다.
무엇을 예측하거나 분류하고 싶은가?
입력으로 사용할 수 있는 데이터는 무엇인가?
정답 데이터가 있는가?
결과가 숫자인가, 범주인가, 묶음인가?
틀렸을 때 어떤 문제가 생기는가?
성공을 어떤 기준으로 판단할 것인가?
이 질문들은 모델을 고르기 전에 방향을 정해 줍니다.
예를 들어 병원에서 질병 가능성을 예측하는 AI를 만든다고 해 보겠습니다. 이 경우 단순히 정확도만 높으면 된다고 말하기 어렵습니다. 아픈 사람을 건강하다고 잘못 판단하는 실수와, 건강한 사람을 아프다고 잘못 판단하는 실수는 무게가 다릅니다.
반면 영화 추천에서는 약간 틀려도 큰 위험은 없습니다. 사용자가 마음에 들지 않는 영화를 넘기면 됩니다.
문제의 성격에 따라 어떤 실수를 더 조심해야 하는지가 달라집니다. 그래서 문제 정의는 기술적인 과정이면서 동시에 현실적인 판단의 과정입니다.
머신러닝 용어를 상황으로 이해하자
머신러닝 용어는 외우려고 하면 어렵습니다. 하지만 상황과 연결하면 훨씬 쉬워집니다.
모델: 데이터를 보고 판단하는 도구
학습: 데이터에서 패턴을 찾는 과정
훈련 데이터: 모델이 공부하는 자료
테스트 데이터: 공부하지 않은 새 문제
특성: 판단에 쓰는 정보
라벨: 정답에 해당하는 값
정확도: 전체 중 맞힌 비율
오차: 예측과 실제의 차이
과적합: 새 문제에는 약한 외우기식 학습
일반화: 처음 보는 데이터에도 잘 작동하는 능력
예를 들어 집값 예측 문제라면, 집의 크기·위치·방 개수는 특성입니다. 실제 거래 가격은 라벨입니다. 모델은 특성을 보고 가격을 예측합니다. 예측 가격과 실제 가격의 차이가 오차입니다.
이렇게 하나의 사례에 용어를 붙여 보면 추상적인 말이 구체적으로 이해됩니다.
이번 장의 핵심 정리
머신러닝은 데이터를 통해 패턴을 배우고, 새로운 상황에 대한 예측이나 판단을 내리는 방법입니다.
지도학습은 정답이 있는 데이터로 배웁니다. 비지도학습은 정답 없이 데이터의 구조를 찾습니다. 강화학습은 행동의 결과로 받은 보상을 통해 배웁니다.
훈련 데이터와 테스트 데이터를 나누는 이유는 모델이 단순히 외운 것이 아니라, 새로운 데이터에도 잘 작동하는지 확인하기 위해서입니다.
정확도는 맞힌 비율이고, 오차는 예측이 얼마나 빗나갔는지를 뜻합니다. 과적합은 훈련 데이터에만 지나치게 맞춰져 새 문제에 약해지는 상태입니다.
마지막으로 가장 중요한 점은, 좋은 AI는 좋은 질문에서 시작된다는 것입니다. 모델을 잘 고르는 것도 중요하지만, 먼저 해결하려는 문제를 분명히 해야 합니다. 무엇을 예측할지, 어떤 데이터가 있는지, 어떤 실수를 조심해야 하는지 정해야 머신러닝을 제대로 활용할 수 있습니다.
이 노트는 보도·비평·교육·연구 목적으로 작성되었습니다. 저작권 문의가 있으시면 에서 알려주세요.