본문 바로가기

취준/FRM part1

FRM part1. Reading 25: Machine Learning Methods

 

FRM Part I – Reading 25
머신러닝 방법론 (Machine Learning Methods)

EXAM FOCUS

핵심 학습 목표

이 Reading은 머신러닝(Machine Learning) 모델의 기본 원리와 금융 및 운영 분야에서의 적용 방법을 다룹니다. 전통적인 계량경제학(Classical Econometrics)과 머신러닝의 철학적·실무적 차이점을 이해하고, 머신러닝의 세 가지 범주인 지도학습(Supervised Learning), 비지도학습(Unsupervised Learning), 강화학습(Reinforcement Learning)을 구분할 수 있어야 합니다.

시험에서 반드시 할 수 있어야 하는 것

  • 전통 계량경제학과 머신러닝의 철학적·실무적 차이 비교
  • 지도학습, 비지도학습, 강화학습의 정의, 특징, 적용 사례 구분
  • 표준화(Standardization)정규화(Normalization)의 수식 및 적용 조건 비교
  • 주성분분석(PCA)을 활용한 차원 축소의 원리와 수익률 곡선 적용
  • K-means 알고리즘의 군집화 과정과 최적 K 결정 방법 (Elbow, Silhouette)
  • 과적합(Overfitting)과소적합(Underfitting)의 편향-분산 트레이드오프
  • Training / Validation / Test Set 분할 원칙과 k-fold 교차검증
  • 강화학습의 Q-value 업데이트 (몬테카를로 / 시간차 학습) 계산
  • 자연어 처리(NLP) 전처리 파이프라인과 감성분석 원리

이 Reading은 개념적 이해와 계산 문제가 균형 있게 출제됩니다. 특히 Q-value 업데이트 계산, 유클리드/맨해튼 거리 계산, 표준화/정규화 수식 적용이 계산형으로, 지도/비지도/강화학습 분류, NLP 전처리 단계, 과적합/과소적합 구분이 개념형으로 자주 출제됩니다.


MODULE 25.1: 머신러닝 개요와 데이터 준비

LO 25.a: 머신러닝과 전통 계량경제학의 차이

1. 전통 계량경제학의 접근 방식

전통적인 통계학과 계량경제학 분석에서는 경제·금융 이론(Theory)이 데이터 생성 과정(Data-Generating Process)을 주도합니다. 분석가가 먼저 이론에 기반하여 모형(Model)과 변수(Variables)를 선택하고, 컴퓨터 알고리즘을 사용하여 파라미터를 추정한 뒤 그 통계적 유의성을 검정합니다. 이후 분석가는 결과가 사전에 기대한 이론적 결과를 지지하는지를 판단합니다.

예를 들어, CAPM(자본자산가격결정모형)을 검증하려는 분석가는 먼저 "체계적 리스크(시장 베타)만이 기대수익률을 설명한다"는 이론적 가설을 세운 뒤, 회귀분석을 통해 베타 계수의 유의성을 검정합니다. 이 과정에서 설명변수의 독립성(Multicollinearity 부재), 오차항의 정규분포, 등분산성(Homoscedasticity), 회귀적합도(R-squared) 등이 중요한 진단 기준이 됩니다.

2. 머신러닝의 접근 방식

반면 머신러닝은 데이터 자체가 모형에 포함될 내용을 결정하도록 허용합니다. 분석가가 사전에 특정 가설을 세우고 검정하는 것이 아니라, 알고리즘이 데이터에서 패턴(Pattern)을 자동으로 인식합니다. 머신러닝은 전통적 통계 기법에 비해 극도로 큰 데이터(Big Data)를 처리할 수 있고, 더 큰 유연성(Flexibility)을 제공하며, 표준 선형 모형이 포착할 수 없는 비선형 상호작용(Non-linear Interactions)을 포함한 광범위한 사양(Specification)을 활용할 수 있습니다.

머신러닝이 특히 잘 작동하는 상황은 다음과 같습니다. 첫째, 금융 이론이 변수의 선택을 명확하게 지시하지 않는 경우입니다. 예를 들어, 대출 부도율을 예측할 때 수백 개의 잠재적 변수 중 어떤 조합이 최적인지 이론만으로는 판단하기 어렵습니다. 둘째, 변수 간의 관계가 선형인지 비선형인지 사전에 결정할 수 없는 경우입니다. 머신러닝 모형은 유연한 함수 형태(Flexible Functional Forms)를 사용하여 복잡한 변수 상호작용을 포착합니다.

핵심 차이점 요약:

전통 계량경제학에서는 설명변수의 독립성, 정규분포, 통계적 유의성, 오차항 검정, 회귀적합도가 필수적인 진단 기준이지만, 머신러닝(특히 지도학습)에서는 이러한 가정들이 적용되지 않습니다. 머신러닝의 초점은 오로지 예측 정확도(Prediction Accuracy)에 맞추어져 있습니다.

3. 용어 대응표 (Terminology Differences)

전통 계량경제학과 머신러닝은 유사한 개념에 대해 서로 다른 용어를 사용합니다. 시험에서는 이 용어 대응 관계를 정확히 알고 있어야 합니다.

전통 계량경제학 (Classical Econometrics) 머신러닝 (Machine Learning)
독립변수 (Independent Variables) 특징 / 입력 (Features / Inputs)
종속변수 (Dependent Variable) 타깃 / 출력 (Target / Output)
가설 검정, p-value, 유의성 (Hypothesis Testing) 예측 정확도, 일반화 성능 (Prediction Accuracy)
이론이 모형 주도 (Theory-Driven) 데이터가 모형 주도 (Data-Driven)
파라미터 추정 (Parameter Estimation) 학습 / 훈련 (Learning / Training)
오차항 진단 (Error-Term Diagnostics) 검증 성능 (Validation Performance)

LO 25.h: 지도학습, 비지도학습, 강화학습

1. 지도학습 (Supervised Learning)

지도학습은 "라벨이 붙은 데이터(Labeled Data)"를 사용하여 학습하는 방법론입니다. 여기서 "라벨"이란 각 관측치에 대해 이미 알려진 정답(Target)을 의미합니다. 지도학습의 목표는 크게 두 가지로 나뉩니다.

첫째는 회귀(Regression)로, 연속적인 수치를 예측하는 것입니다. 예를 들어 자동차의 가치, 주택 가격, 1년 후 국채 수익률 등을 예측하는 경우가 이에 해당합니다. 자동차 가치를 예측하려면 제조사(Make), 모델(Model), 연식(Year), 크기(Size), 엔진 유형(Engine Type) 등이 특징(Features)으로 입력됩니다.

둘째는 분류(Classification)로, 관측치가 어떤 범주에 속하는지를 분류하는 것입니다. 예를 들어 스포츠 팀의 다음 경기 결과(승/패), 대출 신청자의 부도 여부(부도/정상), 이메일의 스팸 여부(스팸/정상) 등을 예측하는 것이 분류에 해당합니다.

지도학습은 시계열 시나리오(예: 1년 후 국채 수익률 예측)와 횡단면 시나리오(예: 인근 비교 가격에 기반한 주택 호가 예측) 모두에서 사용될 수 있습니다.

2. 비지도학습 (Unsupervised Learning)

비지도학습은 특정 타깃(Target) 없이 데이터의 패턴을 인식하는 방법론입니다. 라벨이 붙지 않은 데이터에서 숨겨진 구조(Hidden Structure)를 발견하는 것이 목적이며, 예측(Prediction)에는 사용되지 않습니다. 그러나 데이터셋의 특성을 파악하고 그 구조를 학습하는 데 매우 유용합니다.

비지도학습의 대표적인 활용으로는 데이터 군집화(Data Clustering)소수의 설명 요인 식별(차원 축소)이 있습니다. 예를 들어, 내부 감사인(Internal Auditor)이 비지도학습을 사용하여 특정 원장 계정(Ledger Accounts)의 다양한 회사 거래를 평가하고, 추가 검토 및 조사가 필요한지를 판단할 수 있습니다. 이 경우 감사인은 "부정거래"라는 라벨을 사전에 부여하는 것이 아니라, 거래 패턴의 이상 여부를 군집 분석을 통해 탐지합니다.

3. 강화학습 (Reinforcement Learning)

강화학습은 변화하는 환경에서 의사결정을 내리기 위해 시행착오(Trial-and-Error) 접근법을 사용하는 방법론입니다. 컴퓨터가 게임을 학습하는 방식과 유사하게, 체계적인 시행착오를 통해 모든 가능한 상황에서 어떤 행동을 취해야 하는지를 학습합니다.

금융 분야에서 강화학습은 대량 거래(Large Block Trading), 파생상품 포트폴리오 헤지(Hedging Derivatives Portfolios), 전체 투자 포트폴리오 관리(Managing Investment Portfolios) 등 리스크 관리 맥락에서 자주 사용됩니다.

학습 유형 데이터 특성 목적 금융 적용 예시
지도학습 라벨 있음 (Labeled) 예측 / 분류 주가 예측, 신용 부도 분류, 주택 가격 추정
비지도학습 라벨 없음 (Unlabeled) 구조 파악 / 군집화 회계 전표 이상탐지, 고객 세그먼트 분류
강화학습 환경 피드백 (Reward) 보상 극대화 정책 파생상품 헤지, 매매 규칙 최적화, 대량 거래

LO 25.b: 데이터 준비 - 표준화와 정규화

많은 머신러닝 알고리즘(특히 거리 기반 알고리즘이나 경사하강법 기반 알고리즘)은 변수의 스케일(Scale)에 민감합니다. 예를 들어, 연봉(수천만 원 단위)과 근속연수(한 자리 수)를 동시에 입력하면, 스케일이 큰 연봉이 모형을 지배하게 됩니다. 따라서 데이터셋 내에서 스케일 일관성(Scale Consistency)을 달성하기 위한 전처리가 필수적입니다. 두 가지 주요 방법이 사용됩니다.

(1) 표준화 (Standardization, Z-Score 변환)

표준화는 변수를 평균이 0이고 분산이 1인 스케일로 변환하는 과정입니다. 각 관측치에서 해당 변수의 표본 평균을 빼고, 표본 표준편차로 나눕니다. 이 방법은 이상치(Outliers)를 포함하거나 범위가 매우 넓은 데이터에 선호되는 방법론입니다.

표준화 (Standardization)

$$z_i = \frac{x_i - \bar{x}}{s_x}$$

여기서 \(\bar{x}\) = 표본 평균, \(s_x\) = 표본 표준편차

변환 결과: 평균 = 0, 분산 = 1

(2) 정규화 (Normalization, Min-Max 변환)

정규화(Min-Max 변환)는 변수를 0과 1 사이의 범위로 변환하는 과정입니다. 각 관측치에서 최솟값을 빼고, 범위(최댓값 - 최솟값)로 나눕니다. 정규화된 변수는 일반적으로 평균이 0이 아니며 분산이 1이 아닙니다.

정규화 (Normalization, Min-Max)

$$x_i^{(norm)} = \frac{x_i - \min(x)}{\max(x) - \min(x)}$$

변환 결과: 0 ~ 1 범위 (평균 0, 분산 1은 보장되지 않음)

예시: 표준화와 정규화 비교

데이터 \(x = [10, 12, 20]\)이 주어진 경우:

표준화 계산:

표본 평균: \(\bar{x} = \frac{10 + 12 + 20}{3} = 14\)

표본 표준편차: \(s = \sqrt{\frac{(10-14)^2 + (12-14)^2 + (20-14)^2}{2}} = \sqrt{\frac{56}{2}} = \sqrt{28} \approx 5.292\)

$$z_{10} = \frac{10-14}{5.292} = -0.756, \quad z_{12} = \frac{12-14}{5.292} = -0.378, \quad z_{20} = \frac{20-14}{5.292} = +1.134$$

정규화 계산: (min = 10, max = 20, 범위 = 10)

$$x_{10}^{(norm)} = \frac{10-10}{10} = 0, \quad x_{12}^{(norm)} = \frac{12-10}{10} = 0.2, \quad x_{20}^{(norm)} = \frac{20-10}{10} = 1$$

해석: 표준화는 "평균 대비 몇 표준편차 떨어져 있는가"를 나타내고, 정규화는 "전체 범위 내에서 어디에 위치하는가"를 나타냅니다.

비교 항목 표준화 (Standardization) 정규화 (Normalization)
수식 \(\frac{x_i - \bar{x}}{s_x}\) \(\frac{x_i - \min}{\max - \min}\)
결과 범위 제한 없음 (음수/양수 모두 가능) 0 ~ 1
평균/분산 평균 = 0, 분산 = 1 보장되지 않음
이상치 영향 상대적으로 강건(Robust) 이상치에 민감 (범위가 왜곡됨)
선호 상황 범위가 넓거나 이상치 포함 시 범위가 좁고 이상치 없을 시

데이터 클리닝 (Data Cleaning)

데이터 클리닝은 머신러닝 접근법에서 가장 중요하고 시간이 많이 소요되는 구성요소입니다. 실무에서는 전체 프로젝트 시간의 60~80%가 데이터 수집과 클리닝에 소요되기도 합니다. 데이터 클리닝이 필요한 주요 이유는 다음과 같습니다.

문제 유형 설명 대응 방법
결측 데이터
(Missing Data)
가장 흔한 문제. 일부 관측치에서 특정 변수 값이 누락됨 (i) 결측 관측치 제거 (소수인 경우)
(ii) 해당 특징의 평균 또는 중앙값으로 대체
(iii) 다른 관측치를 기반으로 추정
이상치
(Outliers)
평균에서 수 표준편차 이상 떨어진 관측치 제거, 변환(로그 등), 또는 별도 처리
중복 관측치
(Duplicate Observations)
동일한 데이터가 두 번 이상 기록됨 중복 제거
비일관적 기록
(Inconsistent Recording)
같은 의미의 데이터가 다른 형식으로 기록됨
(예: "Seoul", "서울", "SEOUL")
통일된 기준으로 변환
불필요한 관측치
(Unwanted Observations)
분석 목적과 무관한 데이터 관련 없는 관측치 제거
시험 함정 주의: "머신러닝은 데이터 스케일링이 필요 없다"는 잘못된 진술입니다. 많은 머신러닝 모델은 데이터 스케일링을 반드시 필요로 합니다. 표준화와 정규화는 그 대표적인 기법입니다. 이것이 전통 통계 모형과 비교한 머신러닝의 "장점"이 아니라 "전제 조건"입니다.

MODULE 25.2: 주성분분석(PCA)과 K-Means 군집화

LO 25.e: 주성분분석 (Principal Components Analysis, PCA)

1. PCA의 기본 원리

주성분분석(PCA)은 비지도학습 모형에서 차원 축소(Dimensionality Reduction)를 위한 대표적인 통계 기법입니다. PCA의 핵심 목표는, 다수의 상관된(Correlated) 변수가 제공하는 것과 거의 동일한 양의 정보소수의 비상관된(Uncorrelated) 성분(Components)으로 압축하는 것입니다. 따라서 머신러닝 모형에서 PCA는 특징(Features)의 수를 줄이는 데 사용됩니다.

중요한 점은, PCA가 원래 변수 중에서 "중요한 것을 선택"하는 것이 아니라, 원래 변수들의 선형 결합(Linear Combination)으로 새로운 축(주성분)을 생성한다는 것입니다. 각 관측 성분은 사용된 변수들의 선형 결합을 나타냅니다.

PCA의 수학적 직관:

PCA는 좌표축을 회전시켜 "정보(분산, Variance)를 가장 많이 담는 방향"부터 순서대로 뽑아냅니다. 상관된 변수들이 많으면 "실제로는 같은 방향으로 같이 움직이는 정보"가 중복되기 때문에, 소수의 비상관 축만으로도 대부분의 변동을 설명할 수 있습니다.

수학적 표현: 단위벡터 \(\mathbf{w}\) 방향으로 투영한 값의 분산을 최대화합니다.

$$\max_{\mathbf{w}:\|\mathbf{w}\|=1} \text{Var}(\mathbf{w}^\top \mathbf{x}) = \mathbf{w}^\top \Sigma \mathbf{w}$$

라그랑주 승수법을 적용하면, \(\Sigma \mathbf{w} = \lambda \mathbf{w}\)가 되어 첫 번째 주성분 방향은 공분산 행렬 \(\Sigma\)의 최대 고유값에 대응하는 고유벡터입니다.

2. PCA의 수익률 곡선 적용

PCA는 수익률 곡선 움직임(Yield Curve Movements)에 자주 적용됩니다. 수익률 곡선 변동을 설명하는 소수의 비상관 성분을 생성하는 것입니다. 7개 국채 금리를 10년(120개월) 동안 관측한 결과, 상위 3개 성분만으로 수익률 움직임 전체 변동의 99%를 설명할 수 있었습니다.

순위 주성분 (Component) 의미 설명력
1 평행 이동 (Parallel Shift / Level) 모든 금리가 같은 방향으로 같은 크기만큼 이동 가장 높음
2 기울기 변화 (Twist / Slope) 단기 금리와 장기 금리가 반대 방향으로 이동 두 번째
3 곡률 변화 (Curvature) 중기 금리가 단기·장기와 다르게 움직임 세 번째
시험 함정 주의: PCA의 결과물은 소수의 비상관(Uncorrelated) 성분입니다. "소수의 상관된 성분" 또는 "다수의 비상관 성분"은 오답입니다. 또한 PCA는 원래 변수를 선택하는 것이 아니라 새로운 선형 결합을 만드는 것입니다.

LO 25.f: K-Means 군집화 알고리즘

1. K-Means 알고리즘의 작동 원리

데이터셋의 구조를 파악하기 위해, 비지도 K-Means 알고리즘을 사용하여 관측치를 군집(Clusters)으로 분리할 수 있습니다. K는 군집의 수를 나타내며 분석가가 사전에 설정합니다.

K-Means의 직관적 이해는 다음과 같습니다. K개의 "자석(Centroid)"을 데이터 공간에 무작위로 놓고, 각 데이터 점이 가장 가까운 자석으로 붙게 합니다. 그런 다음 자석의 위치를 해당 군집에 배정된 모든 데이터 점의 평균 위치로 옮깁니다. 이 과정을 자석 위치가 더 이상 변하지 않을 때까지 반복합니다.

K-Means 알고리즘 단계:
단계 내용
Step 1 K개의 중심점(Centroid)을 무작위로 초기 설정
Step 2 각 데이터 점을 가장 가까운 중심점에 배정
Step 3 각 군집의 중심점을 해당 군집 내 모든 점의 평균 위치로 재계산
Step 4 중심점이 더 이상 변하지 않을 때까지 Step 2~3을 반복

2. 거리 측정 방법: 유클리드 vs 맨해튼

각 데이터 점에서 중심점까지의 거리는 유클리드 거리(Euclidean Distance) 또는 맨해튼 거리(Manhattan Distance)를 사용하여 계산할 수 있습니다. 두 특징(\(x_1, x_2\))을 가진 두 관측치 P와 Q가 있을 때:

유클리드 거리 (Euclidean Distance)

두 점 사이의 직선 거리 (삼각형의 빗변)

$$d_E(P, Q) = \sqrt{\sum_{k=1}^{m}(p_k - q_k)^2}$$

맨해튼 거리 (Manhattan Distance)

격자(Grid)를 따라 이동하는 거리 (삼각형의 밑변 + 높이)

$$d_M(P, Q) = \sum_{k=1}^{m}|p_k - q_k|$$

예시: 유클리드 거리와 맨해튼 거리 계산

P = (1, 2), Q = (4, 6)일 때:

유클리드 거리:

$$d_E = \sqrt{(4-1)^2 + (6-2)^2} = \sqrt{9 + 16} = \sqrt{25} = 5$$

맨해튼 거리:

$$d_M = |4-1| + |6-2| = 3 + 4 = 7$$

해석: 유클리드 거리는 "새가 날아가는 직선 경로"이고, 맨해튼 거리는 "도시 블록을 따라 걷는 경로"입니다. 맨해튼 거리는 항상 유클리드 거리 이상입니다.

3. 관성 (Inertia)과 최적 K 결정

K-Means 알고리즘의 목표는 각 관측 점과 그 중심점 사이의 거리를 최소화하는 것입니다. 개별 데이터 점이 중심점에 가까울수록 모형의 적합도가 좋습니다. 이를 측정하는 지표가 관성(Inertia)입니다.

관성 (Inertia)

$$\text{Inertia} = \sum_{c=1}^{K}\sum_{j \in c} d(x_j, \mu_c)^2$$

여기서 \(d(x_j, \mu_c)\) = 데이터 점 \(j\)와 중심점 \(\mu_c\) 사이의 거리

낮은 관성 = 더 나은 군집 적합도

그러나 관성은 중심점(K)이 추가될수록 항상 감소합니다. 극단적으로 K = n(데이터 점 수)이면 관성은 0이 되지만, 이는 군집화의 의미가 없습니다. 따라서 K를 무한정 늘리는 것이 가치를 추가하는 데에는 한계가 있습니다.

(1) 스크리 플롯과 엘보우 방법 (Scree Plot & Elbow Method)

스크리 플롯(Scree Plot)은 다양한 K 값에 대해 관성을 계산하여 그래프로 나타냅니다. K가 증가함에 따라 관성의 감소 속도가 둔화되기 시작하는 지점을 "엘보우(Elbow)"라고 하며, 이 지점이 최적의 중심점 수를 나타냅니다.

예시: 엘보우 판단

K = 1~8에서 관성이 [100, 60, 42, 32, 26, 22, 19, 17]이라면:

K Inertia 감소량
1 100 -
2 60 -40
3 42 -18
4 32 -10
5 26 -6
6 22 -4
7 19 -3
8 17 -2

K = 4 이후 감소폭이 현저히 둔화되므로, 최적 K는 대략 4로 판단됩니다.

(2) 실루엣 계수 (Silhouette Coefficient)

엘보우 방법의 대안으로, 실루엣 계수를 사용하여 K를 선택할 수 있습니다. 실루엣 계수는 한 관측치와 자신의 군집 내 다른 점들 사이의 거리(응집도)를 다음으로 가장 가까운 군집의 데이터 점들과의 거리(분리도)와 비교합니다. 실루엣 점수가 가장 높은 K 값이 최적입니다.

시험 함정 주의: "가장 낮은 관성을 생성하는 K 값을 선택한다"는 오답입니다. K가 커질수록 관성은 항상 감소하므로, 관성이 더 느린 속도로 감소하기 시작하는 지점(엘보우)을 선택해야 합니다.

MODULE 25.3: 과적합/과소적합과 데이터 분할

LO 25.d: 과적합과 과소적합, 편향-분산 트레이드오프

1. 과적합 (Overfitting)

과적합은 모형이 지나치게 복잡하거나, 너무 크거나, 파라미터가 너무 많을 때 발생합니다. 과적합된 모형은 훈련 데이터(Training Data)의 노이즈(Noise)까지 학습하여, 훈련 데이터에서는 매우 낮은 오차율을 보이지만 새로운 데이터(Out-of-Sample Data)에서는 성능이 크게 떨어집니다. 이것이 과적합의 가장 뚜렷한 징후입니다.

과적합은 전통 계량 모형보다 머신러닝 모형에서 더 큰 위험입니다. 전통 모형은 파라미터가 제한되어 있는 반면, 머신러닝 모형은 수백~수천 개의 파라미터를 가질 수 있기 때문입니다.

2. 과소적합 (Underfitting)

과소적합은 모형이 지나치게 단순하여 관련 패턴을 포착하지 못할 때 발생합니다. 예를 들어, 헤지펀드의 기대 성과와 운용규모(AUM) 사이의 관계를 생각해 봅시다. 소규모 펀드는 비용 충당에 어려움을 겪고, 대규모 펀드는 시의적절한 전략 실행에 어려움을 겪으므로 이 관계는 이차 함수(Quadratic) 형태를 띨 것으로 예상됩니다. 머신러닝 모형은 이러한 비선형 관계를 적절히 포착할 수 있지만, 단순 선형 회귀 모형은 이 데이터를 과소적합합니다.

과소적합은 전통 모형에서 더 큰 위험입니다. 전통 모형은 선형 가정에 의존하기 때문에 비선형 패턴을 놓칠 가능성이 높기 때문입니다.

3. 편향-분산 트레이드오프 (Bias-Variance Tradeoff)

머신러닝 모형의 크기(복잡도)에 따라 모형이 적절히 적합(Appropriately Fitted)되는지, 과적합되는지, 과소적합되는지가 결정됩니다. 이 관계는 편향-분산 트레이드오프로 설명됩니다.

구분 과소적합 (Underfitting) 과적합 (Overfitting)
모형 복잡도 너무 단순 너무 복잡
관련 요인 처리 관련 요인을 제외 노이즈까지 과도하게 학습
편향 (Bias) 높음 (High) 낮음 (Low)
분산 (Variance) 낮음 (Low) 높음 (High)
훈련 성능 낮음 매우 높음
테스트 성능 낮음 크게 떨어짐
더 큰 위험 전통 모형 머신러닝 모형
편향과 분산의 직관적 이해:

편향(Bias): "평균적으로 정답에서 얼마나 떨어져 있는가?" 편향이 높으면 모형이 체계적으로 잘못된 예측을 합니다. 과녁 비유로, 화살이 일관되게 과녁의 한쪽에 몰리는 상황입니다.

분산(Variance): "예측값이 데이터셋마다 얼마나 흩어지는가?" 분산이 높으면 훈련 데이터가 조금만 바뀌어도 예측이 크게 달라집니다. 과녁 비유로, 화살이 넓게 흩어지는 상황입니다.

기억법:
- 과소적합: "훈련도 못하고, 테스트도 못한다" (High Bias, Low Variance)
- 과적합: "훈련만 잘하고, 테스트는 못한다" (Low Bias, High Variance)

과소적합과 과적합의 처방

과소적합 해결:

  • 더 복잡한 모형 사용 (비선형 모형 도입)
  • 추가 특징(Feature) 포함
  • 모형의 파라미터 수 증가

과적합 해결:

  • 규제(Regularization) 적용 (L1/L2 규제)
  • 모형 단순화 (파라미터 수 감소)
  • 더 많은 훈련 데이터 확보
  • 교차검증(Cross-Validation) 활용
  • 조기 종료(Early Stopping)

LO 25.c: 훈련, 검증, 테스트 데이터 분할

1. 세 가지 데이터 하위 샘플

전통 계량 모형과 머신러닝 모형 모두에서 사용되는 일반적인 모델링 기법은, 적합된 모형을 테스트하기 위해 데이터 샘플의 일부를 모형 밖에 남겨두는 것(Holdout Data)입니다. 목표는 유보된 데이터가 보이지 않는 관측치(Unseen Observations)를 얼마나 잘 예측할 수 있는지 확인하는 것입니다.

머신러닝 모형에서는 데이터 샘플을 세 부분으로 나눕니다.

데이터셋 목적 전형적 비율 주의사항
훈련셋
(Training Set)
모형의 파라미터를 추정(학습)
모형이 데이터를 가장 잘 표현하는 방법을 학습하는 데 사용
2/3 (약 67%) 훈련셋이 작으면 파라미터 추정의 편향 위험
검증셋
(Validation Set)
두 대안 모형 중 어느 것이 우수한지 결정
모형 선택이 완료되면 이 데이터는 더 이상 사용 불가
1/6 (약 17%) 검증셋이 작으면 부정확한 모형 추정 위험
테스트셋
(Test Set)
선택된 모형의 최종 효과성 평가
테스트 적합도가 훈련 적합도에 가까우면 모형 일반화(Generalization) 성공
1/6 (약 17%) 테스트셋은 절대로 모형 선택에 사용하면 안 됨

2. 횡단면 데이터 vs 시계열 데이터의 분할

횡단면(Cross-Sectional) 데이터는 자연스러운 순서가 없으므로 세 집합에 무작위(Random)로 배치할 수 있습니다. 그러나 시계열(Time-Series) 데이터는 자연스러운 시간 순서가 있으므로, 훈련 데이터가 샘플의 첫 부분, 검증 데이터가 중간, 테스트 데이터가 마지막 부분이 되어야 합니다.

시험 함정 주의: 시계열 데이터를 랜덤으로 분할하면 미래 정보가 훈련셋에 섞여(Data Leakage) 예측 성능이 과대평가될 수 있습니다. 시계열은 반드시 시간 순서대로 "앞(훈련) → 중간(검증) → 뒤(테스트)"로 분할해야 합니다.

3. k-fold 교차검증 (k-fold Cross-Validation)

데이터셋이 상대적으로 작은 경우, 훈련셋과 검증셋을 고정적으로 분리하면 각 셋의 크기가 불충분해질 수 있습니다. 이때 k-fold 교차검증을 활용합니다.

k-fold 교차검증 과정:

(1) 훈련 데이터와 검증 데이터를 하나의 샘플로 합침 (n개의 데이터)
(2) 합쳐진 데이터를 k개의 동일 크기 하위 샘플로 분할
(3) 첫 번째 추정: k1~k9으로 훈련하고 k10을 검증에 사용
(4) 두 번째 추정: k1~k8, k10으로 훈련하고 k9를 검증에 사용
(5) 이를 반복하여 k개의 검증 결과를 평균하여 성능 평가

일반적으로 k = 5 또는 10이 선택됩니다.

Leave-One-Out 교차검증: k = n (데이터 점 수)으로 설정하는 극단적 방법으로, 매번 1개만 빼고 나머지로 훈련합니다. 관측 점이 매우 적을 때 유용합니다.

스케일링 누수(Scaling Leakage) 주의:

전체 데이터의 평균/표준편차로 표준화하면 테스트 데이터의 정보가 훈련 데이터에 섞이게 됩니다. 반드시 훈련셋 기준으로만 스케일링 파라미터(평균, 표준편차, 최솟값, 최댓값)를 계산하고, 이를 검증셋과 테스트셋에 그대로 적용해야 합니다.


MODULE 25.4: 강화학습과 자연어 처리

LO 25.i: 강화학습과 Q-value 계산

1. 강화학습의 기본 구조

강화학습은 보상(Reward)을 극대화하기 위한 의사결정 정책(Policy)을 생성하는 과정입니다. 컴퓨터가 게임을 학습하는 방식과 유사하게, 컴퓨터가 스스로와 대결하면서 모든 가능한 상황에서 어떤 단계를 따라야 하는지를 학습하는 체계적인 시행착오 접근법이 적용됩니다.

강화학습 알고리즘은 대량의 훈련 데이터를 필요로 하며, 초기 성능은 약하지만 시간이 지남에 따라 극적으로 개선됩니다. 금융 분야에서는 파생상품 헤지, 거래 규칙 수립, 대량 거래 관리 등에 적용됩니다.

강화학습의 핵심 구성요소는 다음 세 가지입니다.

구성요소 영문 설명
상태 (S) States 현재 환경을 정의합니다. 에이전트가 처해 있는 상황을 나타냅니다.
행동 (A) Actions 에이전트가 내리는 결정(의사결정)을 나타냅니다.
보상 (R) Rewards 최선의 결정이 내려졌을 때 극대화됩니다.

2. Q-value와 탐색/활용 트레이드오프

Q-value(Q(S, A))는 특정 상태(S)에서 특정 행동(A)을 취할 때의 기대 가치입니다. 주어진 상태(S)에서 취할 최선의 행동은 Q-value를 최대화하는 행동(A)입니다.

각 상태에서의 행동을 결정할 때, 알고리즘은 두 가지 사이에서 선택합니다.

선택 영문 설명 확률
활용 Exploitation 이미 식별된 최선의 행동을 선택 p
탐색 Exploration 새로운 행동을 시도 1 - p

더 많은 시행이 완료되고 알고리즘이 우수한 전략을 학습할수록 p의 값은 증가합니다. 즉, 시간이 지남에 따라 활용(Exploitation)의 비중이 높아지고 탐색(Exploration)의 비중은 줄어듭니다.

3. Q-value 업데이트 방법

(1) 몬테카를로 방법 (Monte Carlo Method)

몬테카를로 방법은 상태(S)에서 행동(A)을 취하고 그에 따른 보상(R)을 평가하는 데 사용됩니다. α 파라미터는 일반적으로 0.01 또는 0.05와 같은 작은 값으로 설정됩니다.

몬테카를로 Q-value 업데이트:

$$Q_{new}(S, A) = Q_{old}(S, A) + \alpha \left[ R - Q_{old}(S, A) \right]$$

여기서 \(\alpha\) = 학습률 (Learning Rate), R = 관측된 보상

직관: 기존 Q-value를 실제 관측된 보상 방향으로 \(\alpha\)만큼 끌어당기는 지수이동평균

(2) 시간차 학습 (Temporal Difference Learning, TD)

시간차 학습은 몬테카를로 방법의 대안으로, 현재까지의 최선 전략이 앞으로도 계속된다고 가정하고 한 단계 앞만 봅니다. 즉, 다음 상태에서의 가치를 현재 업데이트에 반영합니다.

시간차 Q-value 업데이트:

$$Q_{new}(S, A) = Q_{old}(S, A) + \alpha \left[ R + V(S') - Q_{old}(S, A) \right]$$

여기서 \(R\) = 중간 보상, \(V(S')\) = 다음 상태에서의 최대 Q-value

예시: Q-value 업데이트 계산

다음 Q-value 테이블이 주어졌다고 가정합니다:

상태 \ 행동 Action 1 Action 2 Action 3
State 1 0.2 0.4 0.6
State 2 0.3 0.5 0.7
State 3 0.4 0.6 0.8
State 4 0.1 0.3 0.5

[몬테카를로 방법]

State 4에서 Action 3을 취하고, 보상 R = 1.2를 얻었다면 (\(\alpha\) = 0.01):

$$Q(4,3) = 0.5 + 0.01 \times (1.2 - 0.5) = 0.5 + 0.01 \times 0.7 = 0.5 + 0.007 = \mathbf{0.507}$$

[시간차 학습]

State 4에서 Action 3을 취한 후, 다음 의사결정이 State 3에서 이루어진다고 가정합니다. 두 의사결정 사이의 보상이 R = 0.3이고, State 3에서의 최대 가치(Action 3)가 V(S') = 0.8이라면 (\(\alpha\) = 0.01):

$$Q(4,3) = 0.5 + 0.01 \times (0.3 + 0.8 - 0.5) = 0.5 + 0.01 \times 0.6 = 0.5 + 0.006 = \mathbf{0.506}$$
몬테카를로 vs 시간차 학습 비교:
비교 항목 몬테카를로 (MC) 시간차 (TD)
사용 정보 전체 에피소드의 최종 보상(R) 중간 보상(R) + 다음 상태 가치 V(S')
시야 전체 에피소드 완료 후 한 단계 앞만 참조
수식 차이 \(R - Q_{old}\) \(R + V(S') - Q_{old}\)

심층 강화학습(Deep Reinforcement Learning)은 신경망(Neural Networks)을 사용하여 가용 관측치로부터 완전한 Q-value 테이블을 추정하는 방법입니다. 상태-행동 공간이 너무 커서 테이블로 직접 저장할 수 없을 때 사용됩니다.


LO 25.g: 자연어 처리 (Natural Language Processing, NLP)

1. NLP의 정의와 적용 분야

자연어 처리(NLP)는 인간의 문어(Written)와 구어(Verbal) 언어를 이해하고 분석하는 데 초점을 맞춘 머신러닝의 한 구성요소입니다. 텍스트 마이닝(Text Mining)이라고도 불리며, 다음과 같은 분야에서 활용됩니다:

  • 회계 사기 탐지 (Accounting Fraud Detection)
  • 기업 성명서의 감성 평가 (Assessing Sentiment of Corporate Statements)
  • 텍스트 분류 (Categorizing Text)
  • 특정 단어 인식을 통한 메시지 목적 판별

NLP의 핵심 장점은 속도와 인간 검토에서 발견되는 비일관성 및 편향 없이 문서를 검토할 수 있다는 점입니다.

2. NLP 전처리 파이프라인

NLP의 단계는 (i) 문서에서 언어를 캡처하고, (ii) 텍스트를 전처리(Preprocessing)하며, (iii) 특정 목적을 위해 분석하는 것입니다. 전처리 과정은 다음 5단계를 거칩니다.

단계 이름 설명 예시
1 토큰화
(Tokenization)
단어만 식별하고 구두점, 기호, 공백을 제거. 모든 단어를 소문자로 변환 "Hello, World!" → ["hello", "world"]
2 불용어 제거
(Removing Stopwords)
문장 흐름을 위한 기능어를 제거. 의미적 가치가 없는 단어 "the", "has", "a", "or", "are", "have" 제거
3 어간 추출
(Stemming)
단어를 어간(Stem)으로 대체. 규칙 기반 축약으로, 결과가 실제 단어가 아닐 수 있음 "arguing", "argued", "argues" → "argu"
4 표제어 추출
(Lemmatization)
단어를 표제어(Lemma)로 대체. 어간 추출과 유사하나 결과가 실제 단어 "worse" → "bad"
"better" → "good"
5 N-gram 고려 개별 단어보다 묶음 단위로 의미를 가지는 단어 그룹 고려 "exceed analyst expectations"
(3개 단어 묶음 = Trigram)

전처리가 완료된 텍스트는 NLP에 의해 "단어 주머니(Bag of Words)"로 간주됩니다. 단어의 순서와 연결(N-gram 제외)은 무관하며, 오직 빈도(Frequency)에 기반하여 분석이 이루어집니다.

3. 감성 분석 (Sentiment Analysis)

NLP는 기업 뉴스 발표(News Releases) 등의 콘텐츠가 긍정적(Positive), 부정적(Negative), 또는 중립적(Neutral)인지를 평가하는 데 자주 사용됩니다. 사전에 정의된 "감성 단어(Sentiment Words)" 목록을 사용하여, 긍정/부정/중립으로 분류된 단어의 빈도를 비교합니다.

감성 단어 어간(Stem) 예시
긍정 (Positive) grow, relief, increase, rise, exceed, improve, strong
부정 (Negative) concern, disappoint, decrease, decline, fall, weak, loss

예시: 감성 분석 적용

어떤 뉴스 발표에서 긍정적 단어가 4개, 부정적 단어가 6개 발견되었다면, 해당 콘텐츠의 전반적 감성은 부정적(Negative)으로 평가됩니다.

NLP 감성 분석의 한계:

감성 분석의 주요 과제는 긍정적 단어가 부정적 문맥에서 사용되는 경우를 처리하는 것입니다. 예를 들어, "would have resulted in an increase(증가를 초래했을 것이다)"라는 문장에서 "increase"는 실제로는 발생하지 않은 사건을 가리키지만, 알고리즘은 이를 긍정적 단어로 분류할 수 있습니다. 또한 "not good"에서 "good"이 긍정으로 잡히는 등 부정어 처리도 난점입니다.

이러한 정확도를 개선하기 위해 동일한 뉴스 발표에 대한 인간 검토와 알고리즘 검토의 비교가 유용할 수 있습니다.


MODULE QUIZ

Module Quiz 25.1

문제 1. 전통적인 통계 방법론과 비교했을 때, 머신러닝이 제공하는 이점에 해당하지 않는 것은?

A. 더 큰 유연성
B. 데이터 스케일링이 필요 없음
C. 대량의 데이터를 관리하는 능력
D. 비선형 상호작용을 포착하는 역량

문제 2. 은행의 컴플라이언스 관리자가 머신러닝을 사용하여 총계정원장(General Ledger)에 기록된 분개 항목을 검토합니다. 특히 직원들이 거래를 잘못된 원장 계정에 기록하는 것을 우려합니다. 이 유형의 머신러닝은 다음 중 어떤 것으로 분류하는 것이 가장 적절합니까?

A. 지도학습
B. 비지도학습
C. 강화학습
D. 선형 회귀 분석

Module Quiz 25.2

문제 1. 주성분분석(PCA)의 최종 목표는 차원을 관리하기 위해 다음 중 무엇을 사용하는 것입니까?

A. 소수의 상관된 성분
B. 다수의 상관된 성분
C. 소수의 비상관된 성분
D. 다수의 비상관된 성분

문제 2. 최적의 중심점 수는 다음을 선택하여 결정할 수 있습니다:

A. 가능한 가장 낮은 관성을 생성하는 값
B. 가능한 가장 높은 관성을 생성하는 값
C. K가 증가함에 따라 관성이 더 빠른 속도로 감소하는 지점
D. K가 증가함에 따라 관성이 더 느린 속도로 감소하는 지점

Module Quiz 25.3

문제 1. 과소적합된 모형에서 생성된 예측은 다음과 같은 특성을 가질 가능성이 높습니다:

A. 낮은 편향과 낮은 분산
B. 낮은 편향과 높은 분산
C. 높은 편향과 낮은 분산
D. 높은 편향과 높은 분산

문제 2. 분석가가 두 개의 머신러닝 모형 중에서 선택하고 있습니다. 어느 모형을 선택할지 결정하기 위해 사용할 데이터셋은?

A. 테스트셋
B. 훈련셋
C. 분산셋
D. 검증셋

Module Quiz 25.4

문제 1. 강화학습 모형을 적용하는 분석가가 활용(Exploitation)에 65%의 확률을 할당했습니다. 더 많은 시행을 완료함에 따라, 합리적으로 기대할 수 있는 것은?

A. 탐색의 확률이 35% 이상으로 증가
B. 활용의 확률이 65% 이상으로 증가
C. 탐색의 확률이 50% 이상으로 증가
D. 활용의 확률이 50% 이상으로 증가

문제 2. 자연어 처리(NLP)를 사용하여 기업 연차보고서의 MD&A(경영진 토의 및 분석) 섹션을 평가합니다. "불용어(Stopwords)"를 제거할 때, NLP 알고리즘이 제거하지 않는 단어는?

A. "or"
B. "are"
C. "have"
D. "fallen"

정답

문제 정답 해설
25.1-1 B 많은 머신러닝 모델은 데이터 스케일링을 필요로 합니다. 표준화와 정규화가 대표적인 기법입니다. 유연성 향상, 대량 데이터 처리, 비선형 상호작용 포착은 머신러닝의 장점에 해당합니다.
25.1-2 B 컴플라이언스 관리자가 예측 목적이 아닌 데이터의 구조를 파악하고자 하는 경우 비지도학습에 해당합니다. 지도학습과 강화학습은 확립된 방법론이지만, 선형 회귀는 머신러닝 범주에 해당하지 않습니다.
25.2-1 C PCA의 목표는 차원 축소이므로 소수의 성분이 출력됩니다. 이 성분들은 비상관(Uncorrelated)이어야 합니다. 상관된 성분은 독립적으로 추가적인 가치를 거의 제공하지 않기 때문입니다.
25.2-2 D "엘보우"는 K가 증가함에 따라 관성이 더 느린 속도로 감소하기 시작하는 지점입니다. 관성은 K가 추가될수록 항상 감소하므로, 단순히 가장 낮은 관성을 추구하면 K = n이 되어 의미가 없습니다.
25.3-1 C 과소적합된 모형은 관련 요인을 제외하고 관련 패턴을 포착하지 못합니다. 결과적으로 예측은 낮은 분산을 가지지만 높은 편향을 보입니다.
25.3-2 D 검증 데이터셋은 대안 머신러닝 모형 사이에서 결정하는 데 사용됩니다. 테스트셋은 이미 선택된 모형의 효과성을 결정합니다. 훈련셋은 모형 파라미터를 추정합니다. 분산셋(Variance Set)은 존재하지 않는 개념입니다.
25.4-1 B 강화학습 알고리즘은 이미 식별된 최선의 행동(활용)과 새로운 행동(탐색) 사이에서 선택합니다. 활용의 확률 p는 추가 시행에 따라 증가할 것으로 기대됩니다. 현재 65%이므로 그 이상으로 증가할 것입니다.
25.4-2 D 불용어는 문장 흐름에 도움이 되지만 의미적 가치가 없는 단어입니다. "or", "are", "have"는 불용어이지만, "fallen"은 방향성을 나타내는 의미 있는 단어이므로 제거 대상이 아닙니다.

KEY CONCEPTS (핵심 개념 정리)

LO 25.a 핵심

  • 전통 계량경제학: 이론이 모형/변수 선택을 주도, 가설검정/유의성 중심
  • 머신러닝: 데이터가 모형 내용을 결정, 예측 정확도 중심
  • 머신러닝은 비선형 상호작용 포착, 대용량 데이터 처리, 유연한 함수 형태 활용 가능
  • 용어 대응: 독립변수/종속변수 → 특징(Feature)/타깃(Target)

LO 25.b 핵심

  • 표준화(Standardization): 평균 0, 분산 1로 변환. 이상치/넓은 범위에 적합
  • 정규화(Normalization, Min-Max): 0~1 범위로 변환. 평균 0/분산 1 보장 안 됨
  • 데이터 클리닝: 결측 데이터, 이상치, 중복, 비일관적 기록, 불필요한 관측치 처리

LO 25.c 핵심

  • 데이터 3분할: Training(2/3) / Validation(1/6) / Test(1/6)
  • 작은 훈련셋 → 파라미터 추정 편향, 작은 검증셋 → 부정확한 모형 추정
  • 횡단면 데이터는 랜덤 분할 가능, 시계열 데이터는 시간 순서 유지 필수
  • k-fold 교차검증: 작은 데이터셋에서 활용, k = n이면 Leave-One-Out

LO 25.d 핵심

  • 과소적합: 모형이 너무 단순 → 높은 편향, 낮은 분산 (전통 모형에서 더 큰 위험)
  • 과적합: 모형이 너무 복잡 → 낮은 편향, 높은 분산 (머신러닝에서 더 큰 위험)
  • 과적합 징후: 훈련 성능 우수 + 테스트 성능 저조

LO 25.e 핵심

  • PCA: 다수의 상관된 변수 → 소수의 비상관 성분(선형 결합)으로 차원 축소
  • 수익률 곡선 적용: 평행이동(Level), 기울기 변화(Slope), 곡률 변화(Curvature)
  • 상위 3개 성분으로 수익률 변동의 약 99% 설명 가능

LO 25.f 핵심

  • K-Means: K개 군집으로 분리, K와 초기 중심점은 분석가 설정
  • 유클리드 거리(직선)와 맨해튼 거리(격자) 사용
  • 관성(Inertia): 낮을수록 좋으나, K 증가 시 항상 감소하므로 엘보우/실루엣으로 최적 K 결정

LO 25.g 핵심

  • NLP 전처리 5단계: 토큰화 → 불용어 제거 → 어간 추출 → 표제어 추출 → N-gram
  • Bag of Words: 단어 순서 무시, 빈도 기반 분석
  • 감성 분석: 감성 단어 목록으로 긍정/부정/중립 판단
  • 한계: 긍정 단어가 부정 문맥에서 사용되는 경우 오분류 가능

LO 25.h 핵심

  • 지도학습: 라벨 있는 데이터, 예측/분류 목적
  • 비지도학습: 라벨 없는 데이터, 구조 파악/군집화 목적 (예측에 사용하지 않음)
  • 강화학습: 시행착오, 보상 극대화 정책 학습

LO 25.i 핵심

  • 강화학습 구성: 상태(S), 행동(A), 보상(R)
  • Q-value: 상태 S에서 행동 A의 기대 가치
  • 활용(Exploitation, p) vs 탐색(Exploration, 1-p): 시행 증가 시 p 증가
  • 몬테카를로: \(Q \leftarrow Q + \alpha(R - Q)\)
  • 시간차: \(Q \leftarrow Q + \alpha(R + V(S') - Q)\)

시험 대비 한 줄 암기 체크리스트

주제 암기 포인트
전통 vs ML 핵심 차이 전통 = 이론 주도 + 유의성 검정 / ML = 데이터 주도 + 예측 정확도
용어 대응 독립변수 → Feature(특징), 종속변수 → Target(타깃)
ML 3분류 지도(라벨, 예측) / 비지도(라벨X, 구조 파악) / 강화(시행착오, 보상 극대화)
표준화 \(z = (x-\bar{x})/s\), 평균0 분산1, 이상치에 강건
정규화 \((x-\min)/(\max-\min)\), 0~1 범위, 평균0/분산1 보장 안 됨
PCA 결과 소수의 비상관(Uncorrelated) 성분 (원 변수의 선형 결합)
수익률 곡선 PCA Level(평행이동) + Slope(기울기) + Curvature(곡률) = 약 99% 설명
K-Means 최적 K Elbow: 관성 감소 둔화 지점 / Silhouette: 점수 최대 K
과소적합 모형 단순 → High Bias, Low Variance (전통 모형에서 더 위험)
과적합 모형 복잡 → Low Bias, High Variance (ML에서 더 위험)
데이터 3분할 비율 Train 2/3 / Validation 1/6 / Test 1/6
시계열 분할 랜덤 분할 금지! 시간 순서대로 앞→중간→뒤
k-fold CV 작은 데이터에서 활용, k=n이면 Leave-One-Out
MC 업데이트 \(Q + \alpha(R - Q)\)
TD 업데이트 \(Q + \alpha(R + V(S') - Q)\)
활용 vs 탐색 시행 증가 → 활용(p) 증가, 탐색(1-p) 감소
NLP 전처리 5단계 토큰화 → 불용어 제거 → 어간추출 → 표제어추출 → N-gram
불용어 예시 the, has, a, or, are, have ("fallen"은 불용어 아님!)
NLP 한계 부정 문맥에서 긍정 단어 오분류 (예: "not good"에서 good이 양으로 분류)