머신러닝 공부를 막 시작했을 때 가장 헷갈렸던 개념 중 하나는 지도학습과 비지도학습의 차이였습니다. 처음에는 단순히 정답이 있는지 없는지의 차이라고 들었지만, 실제로 다양한 문제를 접하고 적용해보니 그 차이는 훨씬 더 근본적이고 실용적인 관점에서 이해되어야 한다는 것을 깨달았습니다. 이 두 방식은 머신러닝을 배우는 입장에서 가장 기본이면서도, 실제 데이터를 어떻게 다뤄야 하는지를 결정짓는 출발점이기도 합니다. 지도학습 – 정답이 있는 데이터로부터 배우다 지도학습(Supervised Learning)은 학습 데이터에 입력(Input)과 정답(Output)이 명확히 주어진 상태에서 모델을 훈련시키는 방식입니다. 즉, 기계는 입력값에 대해 어떤 결과가 나와야 하는지를 미리 알고 있고, 이를 기준으로 오차를 줄여가며 학습합니다. 예를 들어 이메일이 스팸인지 아닌지를 분류하는 문제에서는, 이미 ‘스팸’ 혹은 ‘정상’이라는 라벨이 붙은 수천 개의 메일을 학습 데이터로 사용합니다. 이 데이터를 통해 머신러닝 모델은 특정 단어나 발신자 정보, 메일 구조 등의 특징을 학습하고, 이후 새로운 메일에 대해서도 스팸 여부를 예측할 수 있게 됩니다. 지도학습에서 가장 대표적인 문제 유형은 두 가지입니다. 하나는 ‘분류(Classification)’ 문제로, 특정 입력이 어떤 범주에 속하는지를 예측하는 것입니다. 예를 들어 암 진단 모델이 입력된 의료 데이터를 보고 양성인지 음성인지 판단하는 것이 여기에 해당합니다. 다른 하나는 ‘회귀(Regression)’ 문제로, 연속적인 수치를 예측하는 데 사용됩니다. 예를 들어 주택의 면적, 위치, 층수 등을 보고 가격을 예측하는 모델이 대표적인 회귀 문제입니다. 지도학습의 장점은 명확한 목표와 피드백을 통해 빠르게 학습할 수 있다는 점이며, 결과의 정확도 역시 비교적 높게 유지됩니다. 그러나 단점으로는 정답 데이터를 만드는 데 시간이 많이 들고, 현실에서 라벨이 없는 데이터가 훨씬 많다는 한계가 존재합니다. 비지도학습 – ...
머신러닝 모델을 처음 만들어봤을 때, 정확도가 90% 이상 나오자 속으로 꽤 잘 만들었다고 생각했습니다. 하지만 막상 실제 데이터에 적용해보니 예측 결과가 엉뚱하게 나오는 경우가 많았습니다. 그때 처음으로 ‘정확도만 보고 판단하면 안 되겠구나’라는 생각이 들었습니다. 이후 정밀도, 재현율, F1 Score 같은 지표들을 접하면서 비로소 모델 성능을 입체적으로 해석하는 것이 얼마나 중요한지 깨닫게 되었습니다. 정확도(Accuracy) – 가장 기본적인 성능 지표 정확도는 전체 예측 중에서 정답으로 맞힌 비율을 나타내는 가장 기본적인 모델 평가 지표입니다. 수식으로는 다음과 같이 표현됩니다. 정확도 = (정답으로 맞힌 건수) / (전체 건수) 예를 들어 100개의 샘플 중에서 90개를 정확히 예측했다면 정확도는 90%입니다. 간단하고 직관적인 지표이기 때문에 많은 입문자들이 가장 먼저 사용하게 됩니다. 그러나 정확도에는 한 가지 큰 함정이 있습니다. 바로 데이터가 불균형한 경우, 높은 정확도에도 불구하고 모델이 쓸모없을 수 있다는 점입니다. 예를 들어 암 환자 데이터 중 95%가 정상이고 5%만 환자일 경우, 모든 샘플을 ‘정상’이라고 예측하면 정확도는 95%가 됩니다. 하지만 이 모델은 정작 암 환자를 전혀 찾아내지 못하는 무의미한 결과를 만들어냅니다. 이처럼 클래스 불균형 문제에서는 정확도 하나만으로 모델을 평가할 수 없습니다. 정밀도(Precision)와 재현율(Recall) – 오류의 방향을 분석하다 정밀도와 재현율은 이진 분류 문제에서 오류의 종류에 따라 성능을 평가하는 데 사용됩니다. 둘은 서로 다른 관점을 제공합니다. 정밀도(Precision) 는 모델이 ‘양성’이라고 예측한 것들 중에서 실제로 양성인 비율을 의미합니다. 즉, 모델이 얼마나 신중하게 양성으로 판단했는지를 나타냅니다. 정밀도 = TP / (TP + FP) (TP: 진짜 양성, FP: 거짓 양성) 예를 들어 스팸 필터에서 스팸으로 분류된 메일 중 실제로 스팸인...
머신러닝을 처음 배우던 시절, 다양한 알고리즘들이 복잡하게 느껴졌지만, 그중에서도 선형회귀와 로지스틱 회귀는 이해의 출발점이 되어주었습니다. 특히 데이터를 시각화하고 직선 하나를 그어 예측을 하는 과정은 매우 직관적이었고, 로지스틱 회귀를 통해 분류 문제도 수치적으로 접근할 수 있다는 사실은 신선하게 다가왔습니다. 모델의 복잡함보다는, 그 근간이 되는 수학적 직선과 확률 개념을 얼마나 정확히 이해하느냐가 중요하다는 것을 점차 느끼게 되었습니다. 선형회귀 – 연속적인 수치를 예측하는 가장 단순한 모델 선형회귀(Linear Regression)는 독립 변수와 종속 변수 간의 선형 관계를 기반으로, 입력값에 따라 연속적인 수치 값을 예측하는 회귀 알고리즘입니다. 예를 들어 면적에 따른 집값 예측, 공부 시간에 따른 시험 점수 예측처럼, 결과가 숫자로 나타나는 문제에서 활용됩니다. 선형회귀의 수식은 다음과 같습니다. y = w1x1 + w2x2 + ... + wnxn + b 여기서 y는 예측값, x는 입력 변수, w는 가중치(회귀계수), b는 절편을 의미합니다. 이 모델은 데이터 포인트를 가장 잘 설명하는 직선을 찾는 것이 핵심이며, 손실 함수로는 보통 평균제곱오차(Mean Squared Error, MSE)를 사용합니다. 즉, 실제 값과 예측 값의 차이를 제곱해 평균을 구하고, 이 값을 최소화하는 방향으로 가중치를 조정합니다. 선형회귀의 장점은 해석이 매우 명확하다는 점입니다. 각 변수의 계수가 결과에 어떤 영향을 미치는지 직관적으로 이해할 수 있기 때문에, 통계 분석과 실무 보고서에서도 자주 사용됩니다. 하지만 변수 간 선형성이 없거나, 이상치에 민감한 경우에는 성능이 급격히 떨어질 수 있으므로 주의가 필요합니다. 로지스틱 회귀 – 분류 문제를 위한 회귀 알고리즘 로지스틱 회귀(Logistic Regression)는 선형회귀와 유사한 구조를 가지지만, 결과값이 연속적인 수치가 아닌 범주(클래스) 라는 점에서 차이가 있습니다. 대표적으로 이...
댓글
댓글 쓰기