수많은 머신러닝 기법 속에서 길을 잃지 않기 위한 첫걸음
머신러닝의 세계에 첫발을 내디딘 주니어 개발자나 예비 엔지니어에게 가장 먼저 부딪히는 장벽은 복잡한 수학 공식이나 코드가 아닙니다. 바로 '내가 해결하려는 문제가 대체 어떤 종류의 문제인가?'를 정의하는 것입니다.
수많은 머신러닝 기법 속에서 길을 잃지 않으려면, 가장 먼저 지도학습(Supervised Learning)의 두 거대한 기둥인 회귀(Regression)와 분류(Classification)의 차이를 명확히 이해해야 합니다. 이 첫 단추를 잘 끼워야만 올바른 모델을 선택하고 프로젝트를 성공으로 이끌 수 있습니다.
"생활코딩 머신러닝(이론편)"에 담긴 명쾌한 예시들을 통해 두 개념을 확실히 잡아보겠습니다.
시작하기 전: 지도학습(Supervised Learning)이란?
회귀와 분류를 이해하려면, 먼저 이 둘의 상위 개념인 '지도학습'을 알아야 합니다. 지도학습은 아주 간단합니다.
정답이 있는 문제집으로 공부하는 것과 같습니다.
과거의 데이터, 즉 '문제(원인)'와 그에 대한 '정답(결과)'이 모두 있는 데이터를 컴퓨터에 주고, 그 관계를 학습시키는 방식입니다. 이렇게 학습이 끝난 기계는 정답을 모르는 새로운 문제를 만났을 때, 과거의 경험을 바탕으로 결과를 예측(추측)하게 됩니다.
이제 이 지도학습이 어떻게 두 가지 방식으로 문제를 해결하는지 살펴보겠습니다.
1. 회귀 (Regression): 연속적인 '숫자'를 예측하는 마법
내일 기온이 25도라면, 레모네이드는 몇 잔이나 팔릴까?
회귀는 이처럼 연속적인 숫자 값을 예측하고 싶을 때 사용하는 방법입니다. 키, 몸무게, 주가, 시험 점수, 판매량 등 특정 입력 값에 따라 결과 값이 연속적으로 변하는 문제를 다룹니다.
실전 사례: 레모네이드 판매량 예측
"생활코딩 머신러닝(이론편)"에서는 레모네이드 카페 사장님의 고민을 예시로 듭니다.
[작동 방식]
데이터 수집: 먼저 과거의 '온도(원인)'와 그날의 '레모네이드 판매량(결과)' 데이터를 표로 정리합니다. 여기서 온도는
독립변수(원인), 판매량은 종속변수(결과)가 됩니다.
관계 학습: 컴퓨터는 수집된 데이터를 보고 '온도가 1도 오를 때마다 판매량은 2잔씩 늘어난다'는 패턴, 즉 판매량 = 온도 × 2 와 같은 관계(모델)를 스스로 찾아냅니다.
결과 예측: 이 모델이 만들어지면, 우리는 미래의 온도(예: 일기예보)라는 새로운 입력 값을 넣어 아직 일어나지 않은 미래의 판매량을 정확하게 예측할 수 있습니다.
이처럼 회귀는 입력과 출력 사이의 함수 관계를 찾아내어, 새로운 입력에 대한 출력(숫자)을 예측하는 강력한 도구입니다.
2. 분류 (Classification): 정해진 '이름'으로 판별하는 기술
이 사진 속 인물은 손톱을 깨물고 있을까, 아닐까?
분류는 이 질문처럼 입력된 데이터가 미리 정해진 몇 개의 카테고리(이름) 중 어디에 속하는지 판별하는 문제입니다. "A인가, B인가?"를 결정하는 것이죠. 스팸 메일 분류(스팸/정상), 이미지 인식(고양이/개), 질병 진단(양성/음성) 등이 모두 분류의 영역에 속합니다.
실전 사례: 손톱 깨무는 습관 인식 앱
이 책에서는 코딩 없이 '손톱 깨무는 습관'을 인식하는 앱을 만드는 과정을 통해 분류를 아주 쉽게 설명합니다.
[작동 방식]
데이터 수집: 컴퓨터에게 수백 장의 '손톱을 깨무는 사진'과 '정상 상태의 사진'을 보여줍니다. 그리고 각 사진에 '손톱', '정상'이라는 이름표(Label)를 붙여줍니다. 여기서 사진은
독립변수(원인), '손톱' 또는 '정상'이라는 이름표는 종속변수(결과)입니다.
패턴 학습: 컴퓨터는 두 그룹의 사진들을 비교하며 '손가락이 입 근처에 있는 특정 패턴'을 학습하여 '손톱'과 '정상'을 구분하는 자신만의 기준(모델)을 만듭니다.
결과 판별: 학습이 끝난 후, 이름표가 없는 새로운 사진을 보여주면 컴퓨터는 학습한 기준에 따라 이 사진이 '손톱'인지 '정상'인지 95%의 확률로 판별해냅니다.
[코드로 살펴보기]
손톱일 확률이 80%보다 크면 '손톱'이라고 말하기 와 같은 블록 조합은 분류 모델이 실제 애플리케이션에서 어떻게 조건문(if-else) 형태로 작동하는지 직관적으로 보여주는 훌륭한 예시입니다. (코드 로직 참조: 생활코딩 머신러닝 이론편, p.45)
분류는 데이터를 정해진 기준에 따라 나누고, 새로운 데이터가 어느 그룹에 속할지 결정하는 기술입니다.
결론: 그래서 둘의 차이는? 한눈에 정리하기
당신이 마주한 문제가 "가격을 예측"하는 것이라면 회귀를, "정상/불량을 판별"하는 것이라면 분류를 선택해야 합니다. 이처럼 문제의 종류를 올바르게 정의하는 것이야말로, 성공적인 머신러닝 프로젝트를 위한 가장 중요하고 위대한 첫걸음입니다.
더 많은 직관적인 예시와 머신러닝의 근본 원리에 대한 쉬운 설명이 궁금하시다면, "생활코딩 머신러닝(이론편)"을 통해 그 여정을 시작해보시길 바랍니다.
인공지능은 현대인이라면 교양과 상식으로 누구나 알아야 합니다. 초등 교육 과정을 비롯해 아이들의 정규 교육 과정에도 포함될 예정이라고 합니다. 하지만 어떻게 시작할지 망설여지고, 내가 과연 배울 수 있을지 두려운가요? 소설처럼 가볍게 읽으면서 인공지능/머신러닝의 개념을 알아가고 경험까지 할 수 있는 책이 있습니다.