Skip to main content
Summary

지난 장에서 우리는 모델을 '작은 예측 기계'로 바라보았습니다. 모델은 마법처럼 답을 맞히는 존재가 아니라, 데이터 안에서 반복되는 관계를 찾아 예측 방식을 조금씩 고쳐 가는 기계입니다. 그렇다면 이제 자연스럽게 이런 질문이 따라옵니다.

모델은 대체 무엇을 보고 배우는 걸까요?

답은 간단합니다. 모델은 데이터를 봅니다. 조금 더 정확히 말하면, 데이터 안에 들어 있는 특징을 보고, 라벨이라는 정답과 비교하면서 배웁니다. 이 장에서는 머신러닝의 가장 기본적인 단어인 데이터, 샘플, 특징, 라벨, 예측값을 차근차근 정리하겠습니다. 이 단어들이 선명해지면 앞으로 만날 회귀, 분류, 군집화, 추천 같은 문제들이 훨씬 덜 낯설게 느껴질 것입니다.

데이터, 특징, 라벨, 예측의 의미

데이터는 표로 생각하면 쉽다

머신러닝에서 데이터라고 하면 거창한 것을 떠올리기 쉽습니다. 서버에 쌓인 로그, 수백만 장의 이미지, 복잡한 센서 기록 같은 것 말입니다. 하지만 처음에는 아주 단순하게 생각해도 됩니다.

데이터는 표입니다.

예를 들어 집값을 예측하고 싶다고 해 봅시다. 그러면 다음과 같은 표를 만들 수 있습니다.

샘플면적방 개수지하철역까지 거리건축 연도실제 집값
1번 집84㎡3개500m2015년7.2억 원
2번 집59㎡2개900m2008년4.8억 원
3번 집110㎡4개300m2020년11.5억 원

이 표에서 가로줄 하나는 하나의 집을 나타냅니다. 머신러닝에서는 이런 한 줄을 샘플 또는 관측치라고 부릅니다. 샘플은 모델이 학습할 때 만나는 하나의 사례입니다. 집값 데이터에서는 집 한 채가 샘플이고, 타이타닉 생존 예측 데이터에서는 승객 한 명이 샘플이며, 스팸 메일 분류 데이터에서는 이메일 한 통이 샘플입니다.

세로줄은 각 샘플을 설명하는 속성입니다. 면적, 방 개수, 거리, 건축 연도, 집값처럼 샘플에 대해 알고 있는 정보들이 열로 정리됩니다. 표를 보는 습관이 생기면 머신러닝 데이터가 훨씬 편해집니다. 복잡한 데이터도 결국은 "한 행은 하나의 사례, 한 열은 그 사례를 설명하는 정보"라는 기본 구조로 이해할 수 있기 때문입니다.

물론 실제 데이터는 항상 이렇게 말끔하지 않습니다. 빈칸이 있을 수도 있고, 숫자와 글자가 섞여 있을 수도 있고, 날짜처럼 해석이 필요한 값도 있습니다. 하지만 출발점은 같습니다. 모델에게 보여 줄 사례들을 행으로 모으고, 그 사례를 설명하는 정보를 열로 정리합니다.

특징은 모델에게 주는 힌트다

모델은 사람처럼 집을 직접 보러 다니지 못합니다. 햇빛이 잘 드는지, 동네 분위기가 어떤지, 길 건너에 편의점이 있는지를 스스로 느끼지 못합니다. 모델이 볼 수 있는 것은 우리가 데이터에 담아 준 정보뿐입니다.

이때 모델에게 입력으로 제공되는 정보를 특징이라고 부릅니다. 영어로는 feature라고 합니다. 특징은 모델이 예측할 때 참고하는 힌트입니다.

집값 예측 모델에서 면적, 방 개수, 지하철역까지 거리, 건축 연도는 모두 특징이 될 수 있습니다. 모델은 이런 특징을 보고 집값을 추측합니다. 면적이 넓을수록 집값이 높아지는 경향이 있을까? 지하철역과 가까울수록 비쌀까? 지은 지 오래된 집은 가격이 낮아질까? 모델은 이런 질문에 대한 답을 데이터 속에서 찾아갑니다.

스팸 메일 분류에서는 특징이 조금 다르게 생겼을 수 있습니다. 이메일 제목에 특정 단어가 들어 있는지, 본문 길이가 얼마나 되는지, 느낌표가 몇 번 등장하는지, 보낸 사람이 이전에도 스팸을 보냈는지 같은 정보가 특징이 됩니다. 타이타닉 생존 예측에서는 승객의 성별, 나이, 객실 등급, 동승 가족 수 같은 정보가 특징이 될 수 있습니다.

중요한 점은 이것입니다. 특징은 모델이 답을 맞히기 위해 볼 수 있는 힌트입니다. 힌트가 부실하면 모델도 좋은 예측을 하기 어렵습니다. 시험 문제를 풀 때 문제 설명이 엉망이면 사람도 답을 맞히기 어렵듯, 모델도 충분하고 적절한 특징이 있어야 패턴을 배울 수 있습니다.

그렇다고 특징이 많기만 하면 좋은 것은 아닙니다. 아무 관련 없는 정보가 너무 많으면 오히려 모델이 헷갈릴 수 있습니다. 집값을 예측하는데 집주인이 좋아하는 과일 같은 정보가 들어 있다면 대부분의 경우 도움이 되지 않을 것입니다. 나중에 특성 엔지니어링을 배울 때 다시 이야기하겠지만, 좋은 특징을 만들고 고르는 일은 머신러닝에서 매우 중요한 작업입니다.

라벨은 모델이 맞혀야 할 정답이다

특징이 힌트라면 라벨은 정답입니다. 영어로는 label 또는 target이라고 부릅니다. 모델이 최종적으로 맞혀야 하는 값입니다.

앞의 집값 예측 표에서는 실제 집값이 라벨입니다. 모델은 면적, 방 개수, 거리, 건축 연도 같은 특징을 보고 집값을 예측해야 합니다. 학습 데이터에는 이미 실제 집값이 들어 있으므로, 모델은 자신이 예측한 값과 실제 집값을 비교할 수 있습니다.

다른 예를 들어 보겠습니다.

문제특징라벨
집값 예측면적, 위치, 방 개수, 건축 연도실제 거래 가격
스팸 메일 분류제목, 본문 단어, 발신자 정보스팸 여부
고객 이탈 예측사용 기간, 결제 횟수, 최근 접속일이탈 여부
타이타닉 생존 예측나이, 성별, 객실 등급생존 여부

라벨은 문제의 목적을 결정합니다. 같은 고객 데이터가 있어도 무엇을 라벨로 삼느냐에 따라 문제는 달라집니다. 다음 달 구매 금액을 맞히고 싶다면 라벨은 구매 금액입니다. 고객이 서비스를 떠날지 맞히고 싶다면 라벨은 이탈 여부입니다. 고객이 어떤 상품을 좋아할지 맞히고 싶다면 라벨은 구매하거나 클릭한 상품이 될 수 있습니다.

즉, 데이터만 보고 문제를 결정하는 것이 아닙니다. 우리가 무엇을 알고 싶은지가 라벨을 결정하고, 라벨이 머신러닝 문제의 방향을 정합니다.

라벨이 있는 데이터를 이용해 학습하는 방식을 지도학습이라고 합니다. 지도학습이라는 말은 누군가 옆에서 답을 알려 주며 가르치는 장면을 떠올리면 쉽습니다. 모델이 문제를 풀면, 라벨이 "정답은 이거야"라고 알려 주는 셈입니다.

반대로 라벨이 없는 데이터도 있습니다. 고객 정보는 있지만 누가 어떤 그룹에 속하는지 정답이 없다면, 모델은 스스로 비슷한 고객끼리 묶어 보아야 합니다. 이런 방식은 비지도학습에 가깝습니다. 나중에 군집화 장에서 더 자세히 보겠지만, 지금은 라벨이 있으면 정답을 맞히는 학습, 라벨이 없으면 숨어 있는 구조를 찾는 학습이라고 이해하면 충분합니다.

입력과 출력으로 보면 구조가 선명해진다

머신러닝 데이터셋은 입력과 출력의 관계로 볼 수 있습니다. 특징은 입력이고, 라벨은 출력입니다. 모델은 입력을 받아 출력을 예측하는 기계입니다.

집값 예측을 다시 보겠습니다.

면적 84㎡, 방 3개, 지하철역까지 500m, 건축 연도 2015년이라는 정보가 입력으로 들어갑니다. 모델은 이 입력을 보고 "이 집은 약 7억 원 정도일 것 같다"라고 예측합니다. 실제 라벨이 7.2억 원이라면 꽤 비슷하게 맞힌 셈입니다. 실제 라벨이 5억 원이라면 많이 빗나간 것입니다.

이 구조를 간단히 쓰면 다음과 같습니다.

구성 요소의미집값 예측 예시
입력 특징모델이 참고하는 힌트면적, 방 개수, 거리, 건축 연도
모델특징을 보고 답을 계산하는 규칙집값 예측 모델
예측값모델이 내놓은 대답7.0억 원
라벨실제 정답7.2억 원

머신러닝 책이나 문서에서는 입력 특징을 X, 라벨을 y라고 쓰는 경우가 많습니다. 이 표기 자체가 중요한 것은 아닙니다. 핵심은 X가 모델에게 주어지는 정보이고, y가 모델이 맞혀야 하는 정답이라는 점입니다.

처음에는 기호보다 그림을 떠올리는 편이 좋습니다.

특징이 모델 안으로 들어갑니다. 모델은 예측값을 내놓습니다. 그 예측값을 실제 라벨과 비교합니다. 그리고 틀린 만큼 모델을 고칩니다.

이것이 앞으로 계속 반복해서 보게 될 머신러닝의 기본 흐름입니다.

예측값은 모델의 현재 대답이다

예측값은 모델이 지금 알고 있는 방식으로 내놓은 대답입니다. 아직 학습이 충분하지 않은 모델의 예측값은 엉뚱할 수 있습니다. 아이가 처음 자전거를 탈 때 균형을 잘 못 잡는 것처럼, 모델도 처음부터 능숙하게 맞히지 못합니다.

예를 들어 어떤 집의 실제 가격이 7.2억 원인데 모델이 4.9억 원이라고 예측했다면, 모델은 이 샘플에서 크게 틀렸습니다. 반대로 7.1억 원이라고 예측했다면 꽤 잘 맞혔습니다. 숫자를 예측하는 회귀 문제에서는 예측값과 실제값의 차이를 비교하기 쉽습니다.

분류 문제에서는 예측값이 조금 다르게 표현될 수 있습니다. 스팸 메일 분류 모델은 "스팸" 또는 "정상 메일"이라고 바로 답할 수도 있지만, 실제로는 "스팸일 확률 87%"처럼 확률에 가까운 값을 내놓는 경우가 많습니다. 타이타닉 생존 예측 모델도 "생존 가능성 73%"처럼 답할 수 있습니다. 이 확률을 기준으로 일정 기준을 넘으면 생존, 넘지 못하면 사망처럼 분류할 수 있습니다.

여기서 중요한 감각은 예측값이 완성된 진리가 아니라는 점입니다. 예측값은 모델의 현재 의견입니다. 데이터에서 배운 만큼 내놓은 답입니다. 그래서 우리는 이 답이 실제 정답과 얼마나 다른지 확인해야 합니다.

실제값과 비교하는 순간 학습이 시작된다

모델이 예측만 하고 끝난다면 머신러닝은 단순한 추측 기계에 불과합니다. 학습이 일어나려면 반드시 비교가 필요합니다.

모델이 예측값을 냅니다. 우리는 그 예측값을 라벨, 즉 실제값과 비교합니다. 차이가 작으면 모델이 잘한 것이고, 차이가 크면 모델이 아직 배울 것이 많다는 뜻입니다. 이 차이를 흔히 오차라고 부릅니다.

예를 들어 모델이 집값을 6.5억 원으로 예측했는데 실제값이 7.2억 원이었다면 0.7억 원만큼 빗나갔습니다. 이 차이는 모델에게 중요한 신호가 됩니다. "이런 특징을 가진 집은 네가 생각한 것보다 더 비싼 편이야." 모델은 이런 신호를 수많은 샘플에서 반복해서 받으며 예측 방식을 조정합니다.

스팸 메일 분류도 마찬가지입니다. 모델이 어떤 이메일을 정상 메일이라고 예측했는데 실제 라벨이 스팸이라면, 모델은 놓친 것입니다. 반대로 정상 메일을 스팸이라고 판단했다면 사용자가 중요한 메일을 못 볼 수도 있습니다. 모델은 이런 실수를 줄이기 위해 어떤 단어, 어떤 발신자 패턴, 어떤 문장 구조가 스팸과 더 관련 있는지 조금씩 배워 갑니다.

이 과정을 아주 단순하게 정리하면 다음과 같습니다.

  1. 데이터를 준비한다.

  2. 각 샘플에서 특징을 꺼낸다.

  3. 모델이 특징을 보고 예측값을 만든다.

  4. 예측값을 실제 라벨과 비교한다.

  5. 틀린 정도를 줄이도록 모델을 고친다.

  6. 새로운 데이터가 들어와도 잘 맞히는지 확인한다.

이 흐름은 머신러닝 전체를 관통합니다. 선형회귀를 배우든, 결정트리를 배우든, 랜덤포레스트를 배우든, 나중에 딥러닝으로 넘어가든 이 기본 구조는 쉽게 사라지지 않습니다. 모델의 모양은 달라져도 학습의 뼈대는 비슷합니다. 입력을 보고 예측하고, 실제값과 비교하고, 더 잘 맞히도록 조정합니다.

같은 데이터도 질문에 따라 문제가 달라진다

머신러닝을 처음 배울 때 자주 헷갈리는 부분이 있습니다. 회귀, 분류, 군집화, 추천이 모두 완전히 다른 세계처럼 느껴지는 것입니다. 하지만 데이터, 특징, 라벨, 예측값의 관점으로 보면 훨씬 단순해집니다.

예를 들어 온라인 쇼핑몰의 고객 데이터가 있다고 해 보겠습니다. 고객의 나이, 가입 기간, 방문 횟수, 구매 이력, 장바구니 기록, 클릭한 상품 정보가 들어 있습니다. 이 데이터로 무엇을 할 수 있을까요?

우리가 묻는 질문문제 유형라벨의 모습
다음 달 구매 금액은 얼마일까?회귀숫자
이 고객이 이탈할까?분류예 또는 아니오
비슷한 고객끼리 묶으면 어떤 그룹이 나올까?군집화라벨 없음
이 고객에게 어떤 상품을 추천할까?추천선호, 클릭, 구매 기록

데이터는 비슷해도 질문이 달라지면 문제 유형이 달라집니다. 숫자를 예측하면 회귀에 가깝고, 정해진 종류 중 하나를 고르면 분류에 가깝습니다. 정답 없이 비슷한 것끼리 묶으면 군집화이고, 사용자의 행동을 바탕으로 좋아할 만한 항목을 골라 주면 추천 문제가 됩니다.

이 구분을 외울 필요는 없습니다. 대신 이렇게 물어보면 됩니다.

모델이 무엇을 입력으로 받는가? 모델이 무엇을 맞혀야 하는가? 정답 라벨이 있는가? 예측값은 숫자인가, 종류인가, 그룹인가, 추천 목록인가?

이 질문에 답할 수 있으면 머신러닝 문제의 윤곽이 잡히기 시작합니다.

라벨도 완벽하지 않을 수 있다

라벨은 정답이라고 했지만, 현실의 라벨이 항상 완벽한 것은 아닙니다. 사람이 잘못 입력했을 수도 있고, 기준이 애매했을 수도 있습니다. 어떤 이메일은 광고 메일이지만 사용자는 유용하다고 느낄 수 있고, 어떤 고객은 이탈한 것처럼 보이다가 몇 달 뒤 다시 돌아올 수도 있습니다.

머신러닝 모델은 데이터에서 배웁니다. 따라서 데이터에 잘못된 라벨이 많으면 모델도 잘못된 방향으로 배울 수 있습니다. 선생님이 계속 틀린 답을 알려 주면 학생이 헷갈리는 것과 같습니다.

이 말은 라벨을 의심하라는 뜻이 아니라, 라벨 역시 데이터의 일부로 관리해야 한다는 뜻입니다. 좋은 모델을 만들려면 좋은 특징도 필요하지만, 믿을 수 있는 라벨도 필요합니다. 앞으로 실전 프로젝트를 할 때 데이터 정리와 검토가 중요한 이유도 여기에 있습니다.

작은 표 하나가 모델의 세계를 만든다

머신러닝은 멀리서 보면 복잡해 보이지만, 가까이서 보면 작은 표에서 시작합니다. 행 하나는 샘플입니다. 열은 샘플을 설명하는 속성입니다. 그중 모델에게 입력으로 줄 열이 특징이고, 모델이 맞혀야 할 열이 라벨입니다. 모델은 특징을 보고 예측값을 만들고, 예측값을 라벨과 비교하며 배웁니다.

이 구조를 이해하면 머신러닝이 훨씬 덜 신비롭게 느껴집니다. 모델이 학습한다는 말은 결국 수많은 샘플을 보며 "이런 특징이 있을 때는 이런 답이 나오는구나"라는 관계를 조정해 간다는 뜻입니다.

이제 우리는 머신러닝의 재료를 갖추었습니다. 데이터라는 표가 있고, 샘플이라는 행이 있으며, 특징이라는 힌트와 라벨이라는 정답이 있습니다. 모델은 이 재료를 이용해 예측값을 만들고, 실제값과 비교하면서 조금씩 나아집니다.

다음 단계는 이 비교를 더 정확히 이해하는 것입니다. 예측값과 실제값이 다를 때, 모델은 그 차이를 어떻게 받아들일까요? 얼마나 틀렸는지를 어떻게 숫자로 표현할까요? 그리고 그 오차를 줄인다는 것은 실제로 어떤 의미일까요?

머신러닝의 심장은 바로 그 지점에서 뛰기 시작합니다.

정리

  • 샘플 또는 관측치는 데이터 표의 한 행이며, 하나의 사례를 의미합니다.

  • 열은 샘플을 설명하는 속성이고, 그중 모델에게 입력으로 제공되는 열을 특징이라고 합니다.

  • 라벨은 모델이 맞혀야 하는 정답이며, 지도학습에서는 특징과 라벨이 짝을 이룹니다.

  • 예측값은 모델이 현재 규칙으로 내놓은 대답이고, 실제 라벨과 비교해야 학습이 시작됩니다.

  • 회귀, 분류, 군집화, 추천은 데이터 자체보다 우리가 던지는 질문과 라벨의 형태에 따라 구분됩니다.

책 목록

처음 만나는 머신러닝: 데이터가 스스로 규칙을 배우는 법

전체 목차 보기

이 노트는 보도·비평·교육·연구 목적으로 작성되었습니다. 저작권 문의가 있으시면 에서 알려주세요.

틸노트는 사용자가 AI를 활용해 노트를 쉽게 작성하거나 편집할 수 있는 서비스입니다.

AI 스퀘어 단톡방에 함께해요

AI 활용과 틸노트 사용 팁을 나누는 오픈채팅방입니다. 입장 비밀번호는 tilnote입니다.

참여하기