처음의 질문으로 돌아가기
이 책을 시작할 때 우리는 아주 단순한 질문 앞에 서 있었습니다.
"머신러닝이 도대체 무엇일까?"
처음에는 이 질문이 커 보였을 것입니다. 인공지능, 머신러닝, 딥러닝, 모델, 학습, 손실, 최적화, 일반화 같은 말들이 한꺼번에 몰려오면 마치 거대한 수학 성벽 앞에 선 느낌이 들기 때문입니다. 하지만 책의 끝에 도착한 지금, 우리는 이 질문을 훨씬 작고 선명한 문장으로 다시 말할 수 있습니다.
머신러닝은 데이터를 보고, 예측해 보고, 틀린 정도를 확인한 뒤, 다음에는 덜 틀리도록 모델을 고치는 과정입니다.
이 문장 안에 이 책의 거의 모든 핵심이 들어 있습니다. 데이터가 있어야 하고, 모델이 있어야 하며, 예측이 있어야 합니다. 예측이 실제값과 얼마나 다른지 재는 기준이 필요하고, 그 차이를 줄이는 방향으로 모델이 바뀌어야 합니다. 그리고 마지막에는 학습할 때 본 데이터뿐 아니라 처음 보는 데이터에도 어느 정도 잘 작동해야 합니다.
처음에는 "모델이 학습한다"는 말이 막연했지만, 이제 우리는 그 말을 조금 더 구체적으로 이해할 수 있습니다. 모델은 마법처럼 깨닫는 것이 아닙니다. 모델은 데이터 속에서 반복되는 관계를 숫자의 형태로 붙잡습니다. 집의 면적이 커질수록 가격이 오르는 경향, 특정 단어가 들어간 메일이 스팸일 가능성, 사용 빈도가 줄어든 고객이 이탈할 위험, 함께 본 상품들이 다시 함께 선택될 가능성. 이런 관계를 조금씩 조정된 규칙으로 바꾸는 과정이 학습입니다.

머신러닝의 한 문장 지도
이 책 전체를 하나의 흐름으로 압축하면 다음과 같습니다.
데이터를 준비하고, 특징을 만들고, 모델이 예측하고, 실제값과 비교하고, 오차를 줄이고, 새로운 데이터에 적용한다.
이 흐름은 선형회귀에서도, 로지스틱 회귀에서도, 결정트리에서도, 랜덤포레스트와 그래디언트 부스팅에서도 반복되었습니다. 비지도학습처럼 정답 라벨이 없는 문제에서는 "실제값과 비교한다"는 부분이 조금 달라졌지만, 큰 방향은 여전히 비슷했습니다. 데이터의 구조를 보고, 비슷한 것끼리 묶거나, 중요한 축을 찾거나, 평소와 다른 점을 발견했습니다.
중요한 것은 알고리즘 이름을 많이 외우는 것이 아닙니다. 알고리즘은 도구입니다. 망치, 드라이버, 렌치처럼 상황마다 어울리는 쓰임이 다릅니다. 더 중요한 것은 "지금 내가 풀려는 문제가 어떤 종류의 문제인가?"를 알아보는 감각입니다.
숫자를 예측해야 한다면 회귀 문제입니다. 집값, 매출, 온도, 배송 시간처럼 결과가 연속적인 값으로 나타납니다. 이때 모델은 예측값과 실제 숫자의 차이를 줄이도록 학습합니다.
정해진 종류 중 하나를 골라야 한다면 분류 문제입니다. 스팸인지 아닌지, 생존했는지 아닌지, 이탈할 고객인지 아닌지처럼 결과가 범주로 나뉩니다. 이때 모델은 어느 선택지가 더 그럴듯한지 판단하고, 우리는 정확도뿐 아니라 정밀도와 재현율 같은 지표도 함께 살펴보아야 합니다.
정답표 없이 데이터 안의 자연스러운 무리를 찾고 싶다면 군집화 문제입니다. 사용자를 행동 패턴별로 나누거나, 상품을 비슷한 취향끼리 묶거나, 시장을 여러 유형으로 나누는 일이 여기에 속합니다. 이때 중요한 것은 "맞혔다"가 아니라 "의미 있게 나뉘었는가"입니다.
무언가를 골라 주고 싶다면 추천 문제입니다. 추천은 회귀, 분류, 군집화, 임베딩의 감각이 한곳에서 만나는 문제에 가깝습니다. 비슷한 사용자, 비슷한 상품, 함께 발생한 행동, 앞으로 좋아할 가능성을 연결해 다음 선택지를 제안합니다.
이 네 가지 문제 유형을 구분할 수 있다면, 머신러닝의 첫 번째 큰 문은 이미 통과한 것입니다. 이제 새로운 프로젝트를 만나도 겁먹기보다 먼저 물어볼 수 있습니다. "이건 숫자를 예측하는 문제인가? 종류를 고르는 문제인가? 무리를 찾는 문제인가? 아니면 무언가를 추천하는 문제인가?"
모델보다 먼저 봐야 할 것들
머신러닝을 배우다 보면 자꾸 더 강한 모델을 찾고 싶어집니다. 선형회귀보다 결정트리, 결정트리보다 랜덤포레스트, 랜덤포레스트보다 그래디언트 부스팅, 그다음에는 딥러닝. 마치 더 복잡한 모델을 쓰면 모든 문제가 해결될 것처럼 느껴집니다.
하지만 책의 중반 이후 우리는 조금 다른 사실을 배웠습니다. 좋은 모델은 알고리즘 하나만으로 만들어지지 않습니다. 모델의 성능은 데이터, 특징, 평가 방식, 실험 절차가 함께 결정합니다.
데이터가 엉망이면 좋은 모델도 흔들립니다. 라벨이 잘못되어 있거나, 중복 데이터가 많거나, 특정 집단만 과하게 들어 있거나, 예측 시점에는 알 수 없는 정보가 섞여 있다면 모델은 그럴듯한 점수를 내면서도 실제 환경에서는 실패할 수 있습니다.
특징은 모델이 세상을 보는 창입니다. 같은 데이터라도 어떤 특징을 만들었는지에 따라 모델이 배울 수 있는 관계가 달라집니다. 단순히 원본 컬럼을 넣는 것에서 끝나지 않고, 비율을 만들고, 시간 차이를 계산하고, 범주를 묶고, 텍스트를 숫자로 바꾸고, 필요한 경우 차원을 줄이는 과정이 모델의 눈을 밝게 만듭니다.
평가는 모델의 거울입니다. 학습 데이터에서 높은 점수가 나왔다고 해서 좋은 모델이라고 말할 수 없습니다. 우리는 학습 데이터, 검증 데이터, 테스트 데이터를 구분해야 했습니다. 교차검증으로 우연에 덜 흔들리는 평가를 만들고, 마지막 테스트 데이터는 정말 마지막까지 아껴 두어야 했습니다.
데이터 누수는 가장 교묘한 함정이었습니다. 모델이 실제로는 알 수 없는 정보를 몰래 보고 학습하면, 성능은 갑자기 좋아 보입니다. 그러나 그 점수는 실력이 아니라 반칙의 결과입니다. 그래서 좋은 머신러닝 실무자는 높은 점수를 기뻐하기 전에 먼저 묻습니다. "이 점수는 믿을 수 있는가?"
결국 좋은 모델을 만든다는 것은 다음 네 가지를 함께 관리하는 일입니다.
어떤 데이터를 사용할 것인가
어떤 특징으로 표현할 것인가
어떤 기준으로 평가할 것인가
어떤 정보가 새어 들어오지 않게 막을 것인가
이 네 가지 질문을 놓치지 않는다면, 여러분은 이미 단순히 모델을 실행하는 사람을 넘어 모델을 의심하고 개선할 줄 아는 사람에 가까워졌습니다.
과적합을 알아본다는 것
이 책에서 가장 중요한 감각 중 하나는 과적합과 일반화였습니다. 과적합은 모델이 학습 데이터를 너무 잘 외워서, 처음 보는 데이터에서는 오히려 약해지는 현상입니다. 마치 시험 문제집의 답만 통째로 외운 학생이 응용문제 앞에서 멈춰 버리는 것과 비슷합니다.
처음에는 학습 점수가 높으면 좋은 일처럼 보입니다. 그러나 머신러닝에서 진짜 목표는 학습 데이터의 정답을 기억하는 것이 아닙니다. 우리가 원하는 것은 아직 보지 못한 데이터에도 쓸 수 있는 규칙입니다. 집값 예측 모델은 이미 알고 있는 집의 가격만 잘 맞히면 안 됩니다. 새로 나온 집의 가격도 어느 정도 그럴듯하게 예측해야 합니다. 스팸 분류기는 과거 스팸 메일만 잡으면 안 됩니다. 새롭게 변형된 스팸에도 대응해야 합니다.
그래서 일반화는 머신러닝의 중심에 있습니다. 일반화란 학습한 패턴이 새로운 상황에서도 통하는 능력입니다. 모델이 진짜 배웠는지, 아니면 그저 외웠는지를 가르는 기준입니다.
이 감각은 앞으로 딥러닝과 LLM을 배울 때도 계속 따라옵니다. 거대한 언어 모델도 결국 학습 데이터에서 패턴을 배웁니다. 하지만 우리가 기대하는 것은 단순한 암기가 아닙니다. 새로운 질문을 이해하고, 문맥에 맞게 답하고, 보지 못한 조합에 대응하는 능력입니다. 이름은 더 화려해져도 질문은 그대로입니다. "이 모델은 정말 일반화하고 있는가?"
복잡한 AI도 같은 원리 위에 서 있다
딥러닝과 LLM을 처음 보면 완전히 다른 세계처럼 느껴질 수 있습니다. 수많은 층, 엄청난 데이터, GPU, 토큰, 어텐션, 파라미터, 사전학습, 미세조정 같은 단어들이 등장합니다. 하지만 겉모습이 복잡해졌다고 해서 기초 원리가 사라지는 것은 아닙니다.
LLM도 데이터를 입력으로 받습니다. 문장을 토큰이라는 작은 단위로 나누고, 각 토큰을 숫자 벡터로 바꿉니다. 모델은 그 숫자들 사이의 관계를 계산하고, 다음에 올 가능성이 높은 토큰을 예측합니다. 예측이 실제 데이터와 다르면 손실이 생기고, 모델은 그 손실을 줄이는 방향으로 내부 숫자를 조정합니다. 이 과정을 엄청난 규모로 반복하면 언어의 패턴, 지식의 연결, 문맥의 흐름을 점점 더 잘 다루게 됩니다.
여기서 우리가 이 책에서 배운 개념들이 다시 살아납니다. 입력, 특징, 모델, 예측, 손실, 학습, 평가, 일반화. 전통 머신러닝에서 만났던 단어들이 딥러닝에서도 그대로 등장합니다. 달라지는 것은 규모와 표현 방식입니다.
전통 머신러닝에서는 사람이 특징을 많이 설계했습니다. 집값 예측에서는 면적, 방 개수, 역세권 여부를 만들었고, 고객 이탈 예측에서는 최근 접속일, 사용량 변화, 결제 이력을 특징으로 만들었습니다. 딥러닝에서는 모델이 원본 데이터에서 필요한 표현을 더 많이 스스로 배웁니다. 이미지에서는 선과 모서리에서 시작해 사물의 형태로 나아가고, 텍스트에서는 단어의 관계에서 시작해 문맥과 의미의 연결로 나아갑니다.
하지만 이것 역시 완전히 낯선 말이 아닙니다. 우리는 이미 임베딩을 통해 데이터를 숫자 공간에 놓고, 거리와 방향으로 비슷함을 표현하는 감각을 맛보았습니다. 추천 시스템에서 비슷한 사용자와 비슷한 상품을 찾았고, 군집화에서 가까운 점들을 묶었고, PCA에서 복잡한 데이터를 더 이해하기 쉬운 축으로 바라보았습니다. LLM의 표현 학습도 이 감각의 훨씬 거대한 확장으로 볼 수 있습니다.
LLM을 이해하기 전 붙잡아야 할 세 가지 감각
이 책을 덮고 다음 학습으로 넘어갈 때, 특히 LLM을 더 깊이 이해하고 싶다면 세 가지 감각을 꼭 붙잡고 가면 좋습니다.
첫 번째는 학습의 감각입니다. 학습은 모델이 데이터를 보고 내부 규칙을 조정하는 과정입니다. "모델이 똑똑해졌다"는 말 뒤에는 예측, 손실, 조정, 반복이라는 매우 구체적인 과정이 있습니다. 이 감각이 있으면 거대한 AI도 신비로운 상자가 아니라 훈련된 예측 시스템으로 바라볼 수 있습니다.
두 번째는 표현의 감각입니다. 모델은 현실을 그대로 받아들이지 않습니다. 현실을 숫자로 표현한 뒤 계산합니다. 사람, 집, 문장, 상품, 이미지, 클릭 기록은 모두 어떤 방식으로든 숫자 벡터가 되어 모델 안으로 들어갑니다. 좋은 표현은 모델이 중요한 차이를 알아보게 만들고, 나쁜 표현은 중요한 신호를 흐리게 만듭니다. LLM의 임베딩, 토큰 표현, 문맥 표현도 결국 이 질문과 연결됩니다. "데이터를 어떤 숫자 형태로 표현할 것인가?"
세 번째는 일반화의 감각입니다. 모델의 목적은 과거를 외우는 것이 아니라 미래에 대응하는 것입니다. 학습 데이터에서 잘 맞는 모델보다 새로운 데이터에서도 안정적으로 작동하는 모델이 더 중요합니다. LLM 역시 마찬가지입니다. 멋진 답변 하나보다 다양한 상황에서 일관되게 유용한 답을 내는 능력이 중요합니다.
학습, 표현, 일반화. 이 세 가지는 머신러닝에서 딥러닝으로, 딥러닝에서 LLM으로 넘어갈 때도 계속 이어지는 뼈대입니다.
이제 여러분은 모델을 다르게 볼 수 있다
이제 뉴스에서 "AI 모델을 학습했다"는 말을 보면 이전과 다르게 들릴 것입니다. 어떤 데이터를 썼을까? 라벨은 있었을까? 어떤 특징이나 표현을 사용했을까? 무엇을 예측하도록 훈련했을까? 손실은 어떻게 정의했을까? 평가는 어떤 데이터로 했을까? 과적합은 없었을까? 실제 환경에서도 일반화될까?
이 질문들이 떠오른다면, 여러분은 이미 머신러닝을 단순한 유행어가 아니라 하나의 사고방식으로 받아들이기 시작한 것입니다.
물론 아직 갈 길은 많습니다. 더 깊은 수학을 배울 수도 있고, 파이썬과 라이브러리로 더 많은 실험을 할 수도 있습니다. 실제 데이터를 다루다 보면 결측치, 불균형 데이터, 배포 환경, 모델 모니터링, 윤리와 편향 같은 더 현실적인 문제도 만나게 됩니다. 딥러닝으로 넘어가면 신경망 구조, 역전파, 최적화 알고리즘, 어텐션, 트랜스포머 같은 새로운 개념도 기다리고 있습니다.
하지만 이제 그 길은 완전히 낯선 길이 아닙니다. 여러분은 이미 가장 중요한 지도를 손에 넣었습니다.
데이터가 있다. 모델이 예측한다. 틀린 정도를 잰다. 더 덜 틀리도록 고친다. 처음 보는 데이터에서도 통하는지 확인한다.
이 단순한 흐름이 머신러닝의 시작이고, 복잡한 AI의 밑바닥입니다.
다음 문을 열기 전에
머신러닝을 처음 배울 때 가장 위험한 오해는 "수식을 많이 알아야만 시작할 수 있다"는 생각입니다. 물론 수학은 중요합니다. 더 깊이 들어갈수록 선형대수, 확률, 미분, 최적화가 강력한 언어가 됩니다. 하지만 수학이 머신러닝의 유일한 입구는 아닙니다.
먼저 필요한 것은 감각입니다. 모델이 무엇을 입력으로 받고, 무엇을 출력으로 내며, 어떻게 틀리고, 어떻게 고쳐지고, 왜 새로운 데이터에서 실패할 수 있는지 이해하는 감각입니다. 이 감각이 생기면 수식은 벽이 아니라 설명 도구가 됩니다. 코드는 주문이 아니라 실험 도구가 됩니다. 논문과 문서는 낯선 외국어가 아니라 이미 아는 개념을 더 정밀하게 풀어 쓴 글로 보이기 시작합니다.
이 책은 그 첫 감각을 만들기 위한 책이었습니다. 집값을 예측하고, 스팸을 분류하고, 고객 이탈을 예측하고, 사용자를 묶고, 상품을 추천해 보며 우리는 같은 구조를 여러 번 반복했습니다. 문제는 달랐지만 원리는 이어졌습니다.
데이터에서 패턴을 찾는다. 그 패턴으로 예측한다. 틀리면 고친다. 외우지 않고 일반화하려 한다.
이제 여러분이 다음에 만날 모델은 더 클 수도 있습니다. 더 많은 데이터를 먹고, 더 복잡한 표현을 배우고, 더 놀라운 결과를 보여 줄 수도 있습니다. 하지만 그 모델을 바라볼 때 이 책에서 배운 질문을 잊지 않는다면, 복잡함 속에서도 길을 잃지 않을 것입니다.
AI는 어느 날 갑자기 지능을 얻은 마법이 아닙니다. 데이터 속 패턴을 배우고, 그 패턴을 바탕으로 더 나은 예측을 하려는 긴 시도입니다. 그리고 여러분은 이제 그 시도의 가장 중요한 출발점을 이해했습니다.
다음 문을 열어도 좋습니다. 그 문 너머에는 더 복잡한 모델이 기다리고 있겠지만, 그 아래에는 여전히 같은 심장이 뛰고 있습니다.
데이터를 보고, 예측하고, 틀리고, 고치고, 다시 시도하는 심장입니다.
이 노트는 보도·비평·교육·연구 목적으로 작성되었습니다. 저작권 문의가 있으시면 에서 알려주세요.