머신러닝은 모든 규칙을 사람이 일일이 작성하지 않고도, 데이터를 이용해 예측을 하거나 패턴을 찾아내는 방법입니다. 지도학습에서는 훈련 데이터에 정답이 포함되어 있습니다. 비지도학습에서는 정답이 없기 때문에, 그룹이나 주요한 변화 방향 같은 구조를 찾는 것이 목표입니다.

이것이 대부분의 머신러닝 기초를 관통하는 핵심 아이디어입니다. 먼저 데이터를 준비하고, 모델을 고르고, 예제로 학습시킨 뒤, 이미 본 데이터가 아니라 새로운 데이터에서도 잘 작동하는지 확인합니다.

머신러닝은 무엇을 하나요

머신러닝 모델은 입력을 출력이나 패턴으로 대응시킵니다. 입력은 집의 크기, 시험 점수, 고객 활동, 이미지의 픽셀값 등이 될 수 있습니다. 출력은 과제에 따라 달라집니다.

  • 가격처럼 숫자를 예측하기
  • 스팸 여부처럼 라벨을 예측하기
  • 라벨 없이 비슷한 항목끼리 묶기
  • 가능성이 높은 선택지를 순위화하거나 추천하기

이것이 “학습”이라고 불리는 이유는, 모델의 매개변수가 프로그래머에 의해 완전히 고정되는 것이 아니라 데이터로부터 조정되기 때문입니다.

지도학습과 비지도학습의 차이

지도학습: 알려진 목표값 예측하기

지도학습은 (x,y)(x, y) 형태의 예제를 사용하며, 여기서 xx는 입력이고 yy는 알려진 목표값입니다.

yy가 숫자이면 이 과제는 보통 회귀라고 합니다. yy가 범주이면 보통 분류라고 합니다.

대표적인 지도학습 알고리즘으로는 선형 회귀, 로지스틱 회귀, 결정 트리, 랜덤 포레스트, 서포트 벡터 머신, 신경망이 있습니다. 어떤 방법도 모든 상황에서 항상 최고는 아닙니다. 올바른 선택은 데이터 크기, 노이즈 수준, 특성의 종류, 그리고 얼마나 해석 가능성이 필요한지에 따라 달라집니다.

비지도학습: 라벨 없이 구조 찾기

비지도학습은 목표 라벨 없이 입력 xx만 사용합니다.

이 경우의 목표는 대개 데이터 안에 이미 존재하는 구조를 발견하는 것입니다. k-평균 같은 군집화 방법은 비슷한 관측값을 묶으려 합니다. 주성분 분석 같은 차원 축소 방법은 더 적은 수의 방향으로 변동을 요약하려 합니다.

비지도학습은 탐색, 압축, 이상 탐지, 전처리에 유용할 수 있습니다. 결과는 데이터를 어떻게 표현했는지, 그리고 방법 안에 어떤 유사도 개념이 들어 있는지에 크게 좌우됩니다.

간단한 직관적 이해

머신러닝을 불확실성 아래에서 곡선 맞추기 또는 패턴 맞추기로 생각해 볼 수 있습니다.

직선, 결정 트리, 여러 층의 신경망 같은 모델 계열을 하나 고릅니다. 그런 다음 학습 과정에서 손실 함수에 따라 예측이 훈련 데이터와 최대한 잘 맞도록 모델을 조정합니다. 모델이 일반화를 잘하면, 이전에 보지 못한 새로운 데이터에서도 좋은 성능을 냅니다.

마지막 조건이 중요합니다. 훈련 세트만 외워 버리는 모델은 보통 쓸모가 없습니다.

예제로 보기: 선형 회귀로 월세 예측하기

아파트의 면적으로 월세를 예측한다고 해 봅시다. 간단한 지도학습 모델은 다음과 같습니다.

y^=b0+b1x\hat{y} = b_0 + b_1x

여기서 xx는 면적, y^\hat{y}는 예측 월세, b0b_0는 절편, b1b_1은 기울기입니다.

학습된 모델이 다음과 같다고 가정해 봅시다.

y^=500+2x\hat{y} = 500 + 2x

여기서 월세는 달러, 면적은 제곱피트 단위로 측정합니다.

어떤 아파트의 면적이 x=700x = 700이면 예측값은

y^=500+2(700)=1900\hat{y} = 500 + 2(700) = 1900

입니다.

따라서 모델은 월세를 19001900으로 예측합니다.

여기에는 세 가지 중요한 점이 있습니다. 이 모델은 면적과 월세라는 라벨이 있는 예제로부터 학습했습니다. 예측값은 보장이 아니라 추정치입니다. 그리고 이 식은 관심 있는 범위에서 대략 선형 관계가 적절한 근사일 때만 의미가 있습니다.

이 예시는 의도적으로 단순하지만, 지도학습의 핵심 흐름을 잘 보여 줍니다. 라벨이 있는 데이터를 사용하고, 매개변수를 맞추고, 새로운 입력에 대한 목표값을 예측하는 것입니다.

핵심 머신러닝 알고리즘과 사용 시점

선형 회귀

숫자 값을 예측하는 것이 목표이고, 직선에 의한 근사가 첫 모델로 적절할 때 사용합니다.

로지스틱 회귀

예/아니오 같은 범주를 예측할 때, 비교적 단순하고 해석 가능한 기준선 분류 모델이 필요하면 사용합니다.

결정 트리와 랜덤 포레스트

관계가 비선형이거나 변수 간 상호작용이 있을 때, 특히 표 형식 데이터에서 사용합니다. 랜덤 포레스트는 보통 해석 가능성을 일부 줄이는 대신 더 안정적인 예측 성능을 제공합니다.

K-평균 군집화

비지도학습에서 관측값을 kk개의 군집으로 묶고 싶을 때 사용합니다. 사용하는 특성에 대해 군집 중심이라는 개념이 의미 있을 때 가장 잘 작동합니다.

신경망

입력과 출력 사이의 관계가 매우 복잡할 때 사용합니다. 특히 이미지, 음성, 언어 과제에서 자주 쓰입니다. 보통 단순한 모델보다 더 많은 데이터와 튜닝이 필요합니다.

머신러닝 기초에서 흔한 실수

예측과 설명을 혼동하기

모델이 예측을 잘하더라도, 그 패턴의 진짜 원인을 설명하지는 못할 수 있습니다.

학습과 테스트의 차이를 무시하기

훈련 정확도가 높다고 해서 새로운 데이터에서도 잘 작동한다는 뜻은 아닙니다. 일반화 성능은 반드시 별도의 데이터로 확인해야 합니다.

잘못된 지표 사용하기

불균형 분류 문제에서는 정확도가 오해를 부를 수 있습니다. 어떤 과제에서는 정밀도, 재현율, 평균 절대 오차, 또는 다른 지표가 더 중요할 수 있습니다.

알고리즘 이름을 성능 보장처럼 받아들이기

“신경망”이나 “랜덤 포레스트”라는 이름 자체가 품질을 보장하지는 않습니다. 데이터 품질, 특성 설계, 평가 방식, 문제 정의는 알고리즘 이름만큼이나, 때로는 그보다 더 중요합니다.

머신러닝이 유용한 경우

머신러닝은 작은 고정 규칙 집합으로는 패턴을 다루기 어렵지만, 예제로부터 학습할 만큼의 데이터는 충분할 때 유용합니다. 대표적인 활용 예로는 추천 시스템, 사기 탐지, 의료 영상 보조 도구, 순위화, 예측, 문서 분류가 있습니다.

하지만 항상 정답은 아닙니다. 규칙이 단순하고 안정적이며 완전히 알려져 있다면, 일반적인 수식이나 결정론적 프로그램이 더 나을 수 있습니다.

비슷한 문제를 직접 해 보기

작은 데이터셋 하나를 두고 두 가지를 물어보세요. “입력은 무엇인가?” 그리고 “목표값은 무엇인가?”입니다. 둘 다 답할 수 있다면 선형 회귀나 분류 같은 지도학습 모델을 시도해 보세요. 답할 수 없다면, 비지도학습 방법으로 데이터가 자연스럽게 그룹을 이루는지 탐색해 보세요.

한 걸음 더 나아가고 싶다면, 먼저 단순한 모델로 비슷한 문제를 풀어 보고 그다음 더 유연한 모델과 비교해 보세요. 대개 이것이 처음부터 가장 고급 알고리즘으로 뛰어드는 것보다 더 좋은 학습 방법입니다.

문제 풀이가 필요하신가요?

문제를 올리면 검증된 단계별 풀이를 몇 초 만에 받을 수 있습니다.

GPAI Solver 열기 →