AEPC(Adaptive Excess-Preserving Clipping): 극단값을 단순 절단하지 않고 초과 정보를 보존하는 전처리 전략
정형 데이터 기반 회귀 모델을 학습하다 보면 자주 마주치는 문제가 있다. 바로 극단값(outlier)이다. 일부 feature는 대부분의 값이 특정 구간에 몰려 있지만, 소수의 값이 매우 크거나 매우 작게 나타난다. 이러한 극단값은 모델 학습 과정에서 손실을 크게 만들거나, 특정 변수의 영향력을 과도하게 키워 모델이 전체적인 데이터 경향을 안정적으로 학습하는 것을 방해할 수 있다.
일반적으로 이러한 문제를 완화하기 위해 clipping을 적용한다. 가장 흔한 방식은 특정 분위수를 기준으로 값을 제한하는 Quantile Clipping이다. 하지만 Quantile Clipping은 기준을 벗어난 값을 모두 동일한 상한 또는 하한으로 고정하기 때문에, 극단값이 가지고 있던 상대적 크기 정보가 사라질 수 있다.
이 문제를 완화하기 위해 본 프로젝트에서는 AEPC(Adaptive Excess-Preserving Clipping)라는 전처리 전략을 설계하였다.
AEPC는 극단값을 완전히 잘라내지 않고, 기준값을 벗어난 초과 정보의 일부를 보존하는 전처리 방식이다.
1. 실험 데이터 개요
실험에는 와인 품질 예측 데이터를 사용하였다. 데이터는 총 4,898개 샘플과 12개 컬럼으로 구성되어 있으며, 11개의 입력 feature와 quality 종속변수를 가진다. 실제 관측된 quality 값은 3부터 9까지 존재하였다.
입력 feature는 다음과 같다.
- fixed acidity
- volatile acidity
- citric acid
- residual sugar
- chlorides
- free sulfur dioxide
- total sulfur dioxide
- density
- pH
- sulphates
- alcohol
전체 데이터는 train/validation/test를 60/20/20 비율로 분할하였다.
- train set: 2,938개
- validation set: 980개
- test set: 980개
이 중 residual sugar, chlorides, total sulfur dioxide, density 등은 일부 값이 분포의 꼬리 부분에 크게 치우쳐 있어 극단값 완화가 필요한 변수로 확인되었다.
2. 기존 Quantile Clipping 방식
Quantile Clipping은 train set 기준으로 하위 분위수와 상위 분위수를 계산한 뒤, 해당 범위를 벗어난 값을 각각 하한값과 상한값으로 고정하는 방식이다.
예를 들어 하위 1% 분위수를 \(q_{0.01}\), 상위 99% 분위수를 \(q_{0.99}\)라고 하면 Quantile Clipping은 다음과 같이 정의할 수 있다.
\[ x' = \begin{cases} q_{0.01}, & x \lt q_{0.01} \\ x, & q_{0.01} \le x \le q_{0.99} \\ q_{0.99}, & x \gt q_{0.99} \end{cases} \]즉, 아래쪽 극단값은 하위 1% 분위수로 끌어올리고, 위쪽 극단값은 상위 99% 분위수로 낮춘다.
실제 데이터에서 Quantile Clipping 기준은 다음과 같이 계산되었다.
| Feature | q01 lower | q99 upper | min before | max before |
|---|---|---|---|---|
| fixed acidity | 5.0000 | 9.2000 | 3.8000 | 14.2000 |
| residual sugar | 0.9000 | 18.8630 | 0.7000 | 65.8000 |
| chlorides | 0.0200 | 0.1570 | 0.0120 | 0.3460 |
| total sulfur dioxide | 50.0000 | 243.0000 | 9.0000 | 366.5000 |
| density | 0.9889 | 1.00038 | 0.98711 | 1.03898 |
예를 들어 residual sugar의 경우 train set 기준 상위 99% 분위수는 18.863이고, 원본 최댓값은 65.8이었다. 따라서 Quantile Clipping을 적용하면 다음과 같이 변환된다.
또한 total sulfur dioxide의 경우 원본 최댓값 366.5는 상위 99% 분위수인 243.0으로 제한된다.
하단 극단값도 동일하게 처리된다. fixed acidity의 경우 하위 1% 분위수가 5.0이고, 원본 최솟값이 3.8이므로 다음과 같이 변환된다.
이 방식은 극단값의 영향을 줄이는 데 효과적이다. 그러나 상한을 초과한 값들은 모두 같은 값으로 바뀌고, 하한보다 작은 값들도 모두 같은 값으로 바뀐다. 즉, 극단값 구간 안에서 원래 값들이 가지고 있던 상대적 차이가 사라진다.
예를 들어 residual sugar의 상위 극단값들은 원래 서로 다른 크기를 갖지만, Quantile Clipping 이후에는 모두 18.863으로 고정된다.
| Original | Quantile Clipping |
|---|---|
| 65.80 | 18.863 |
| 26.05 | 18.863 |
| 23.50 | 18.863 |
| 20.70 | 18.863 |
즉, Quantile Clipping은 안정적이지만, 극단값의 상대적 순서와 크기 정보를 제거한다는 한계가 있다.
3. 기존 클리핑 방식을 개선하기 위한 AEPC 제안
AEPC는 이러한 한계를 완화하기 위해 설계한 방식이다. AEPC는 극단값을 기준값으로 완전히 고정하지 않고, 기준값을 벗어난 부분의 일부만 보존한다.
이를 위해 하단 cap과 상단 cap을 각각 정의한다.
- lower cap: \(c_L\)
- upper cap: \(c_U\)
그리고 하단 극단값과 상단 극단값에 대해 각각 보존 비율을 둔다.
- lower alpha: \(\alpha_L\)
- upper alpha: \(\alpha_U\)
양방향 AEPC는 다음과 같이 정의할 수 있다.
\[ x' = \begin{cases} c_L + \alpha_L(x - c_L), & x \lt c_L \\ x, & c_L \le x \le c_U \\ c_U + \alpha_U(x - c_U), & x \gt c_U \end{cases} \]이 수식에서 \(x\)는 원본 값, \(x'\)는 AEPC 적용 후 값이다.
하단 극단값에서는 \(x - c_L\)이 음수이다. 따라서 \(x\)가 하단 cap보다 작으면, 원래 값과 cap 사이의 차이를 \(\alpha_L\) 비율만큼만 보존한다.
상단 극단값에서는 \(x - c_U\)가 양수이다. 따라서 \(x\)가 상단 cap보다 크면, cap을 초과한 부분을 \(\alpha_U\) 비율만큼만 보존한다.
여기서 \(\alpha\)는 hard clipping과 원본 유지 사이의 절충 정도를 의미한다.
\[\alpha = 0 \Rightarrow \text{hard clipping}\] \[\alpha = 1 \Rightarrow \text{original value}\]즉, \(\alpha\)가 0에 가까울수록 기존 clipping처럼 강하게 값을 제한하고, \(\alpha\)가 1에 가까울수록 원본 값을 더 많이 유지한다.
4. AEPC cap 계산 방식
AEPC에서는 cap을 단순히 1%와 99% 분위수로 고정하지 않는다. 각 feature의 분포를 기준으로 하단 cap과 상단 cap을 따로 계산한다.
먼저 다음 통계량을 계산한다.
\[Q_1,\ Q_3,\ IQR\]여기서 IQR은 다음과 같다.
\[IQR = Q_3 - Q_1\]상단 cap 후보는 다음과 같이 계산한다.
\[c_{U,raw} = Q_3 + 3.0 \times IQR\]하단 cap 후보는 다음과 같이 계산한다.
\[c_{L,raw} = Q_1 - 3.0 \times IQR\]일반적인 IQR 기반 이상치 기준에서는 \(1.5 \times IQR\)을 많이 사용하지만, AEPC에서는 \(3.0 \times IQR\)을 사용하였다. 그 이유는 너무 많은 값을 극단값으로 간주하지 않고, 실제 꼬리 영역에 해당하는 값만 완화하기 위해서이다.
다만 raw cap이 너무 낮거나 높게 설정되는 것을 방지하기 위해 분위수 범위로 한 번 더 제한한다.
상단 cap은 다음과 같이 제한한다.
\[c_U = \min(\max(c_{U,raw}, Q_{97.5}), Q_{99.5})\]즉, 상단 cap은 다음 범위 안에서 결정된다.
\[Q_{97.5} \le c_U \le Q_{99.5}\]하단 cap은 다음과 같이 제한한다.
\[c_L = \min(\max(c_{L,raw}, Q_{0.5}), Q_{2.5})\]즉, 하단 cap은 다음 범위 안에서 결정된다.
\[Q_{0.5} \le c_L \le Q_{2.5}\]이렇게 하면 AEPC는 대부분의 일반적인 값은 그대로 유지하고, 하단과 상단의 꼬리 영역에 해당하는 값만 완화한다.
실제 데이터에서 Bidirectional AEPC 기준은 다음과 같이 계산되었다.
| Feature | lower cap | upper cap | min before | max before |
|---|---|---|---|---|
| fixed acidity | 4.8000 | 9.6000 | 3.8000 | 14.2000 |
| residual sugar | 0.8000 | 19.84725 | 0.7000 | 65.8000 |
| chlorides | 0.018685 | 0.100725 | 0.0120 | 0.3460 |
| total sulfur dioxide | 32.3700 | 249.9725 | 9.0000 | 366.5000 |
| density | 0.988614 | 1.000631 | 0.98711 | 1.03898 |
이 기준을 보면 AEPC는 Quantile Clipping처럼 값을 분위수 경계에 바로 고정하지 않고, 각 feature의 분포와 tail 특성을 반영하여 완화 기준을 정한다.
5. alpha 계산 방식
AEPC에서 가장 중요한 값은 \(\alpha\)이다. \(\alpha\)는 cap을 벗어난 값을 얼마나 보존할지 결정한다.
본 프로젝트에서는 \(\alpha\)를 고정값으로 두지 않고, feature별 tail 특성을 반영하여 계산하였다.
이를 위해 세 가지 점수를 사용하였다.
\[S_{tail},\ S_{target},\ S_{cont}\]각 점수의 의미는 다음과 같다.
| 점수 | 의미 |
|---|---|
| \(S_{tail}\) | cap을 벗어난 값이 얼마나 반복적으로 등장하는가 |
| \(S_{target}\) | cap 밖의 값들이 target과 얼마나 관련되어 있는가 |
| \(S_{cont}\) | tail이 한두 개만 튀는 형태인지, 연속적으로 존재하는지 |
최종 보존 점수는 다음과 같이 계산하였다.
\[S_{preserve} = 0.3S_{tail} + 0.5S_{target} + 0.2S_{cont}\]그리고 이를 \(\alpha\)로 변환한다.
\[\alpha = \alpha_{min} + (\alpha_{max} - \alpha_{min})S_{preserve}\]실험에서는 다음 범위를 사용하였다.
\[\alpha_{min} = 0.1\] \[\alpha_{max} = 0.9\]따라서 \(S_{preserve}\)가 클수록 \(\alpha\)가 커지고, cap을 벗어난 정보를 더 많이 보존한다.
6. 각 스코어의 정의
6.1 Tail Ratio Score
먼저 cap을 벗어난 샘플 집합을 정의한다. 상단 tail은 다음과 같다.
\[T_U = \{x_i \mid x_i \gt c_U\}\]하단 tail은 다음과 같다.
\[T_L = \{x_i \mid x_i \lt c_L\}\]전체 샘플 수를 \(n\)이라고 하면 tail ratio는 다음과 같다.
\[r_{tail} = \frac{|T|}{n}\]이를 기준 tail 비율 \(r_{ref}\)와 비교해 점수화한다.
\[S_{tail} = \min\left(\frac{r_{tail}}{r_{ref}}, 1\right)\]본 프로젝트에서는 \(r_{ref}=0.05\)를 기준으로 두었다. 즉, cap 밖의 값이 전체의 5%에 가까울수록 tail ratio score가 커진다.
이 점수는 cap 밖의 값이 단순히 우연히 등장한 이상치인지, 아니면 어느 정도 반복적으로 나타나는 분포의 일부인지를 판단하기 위한 값이다.
6.2 Target Signal Score
극단값을 보존할지 판단할 때 가장 중요한 기준은 target과의 관련성이다.
따라서 AEPC에서는 tail 구간의 target 평균과 일반 구간의 target 평균 차이를 계산한다. tail 구간의 target 값을 \(y_{tail}\), 나머지 구간의 target 값을 \(y_{body}\)라고 하면 다음과 같이 정의할 수 있다.
\[ S_{target} = \min\left( \frac{|\mu(y_{tail}) - \mu(y_{body})|}{\sigma(y)}, 1 \right) \]이 수식은 다음 질문에 답한다.
cap 밖의 값들이 실제 quality와 관련된 차이를 가지고 있는가?
만약 tail 구간의 quality 평균이 body 구간의 quality 평균과 많이 다르다면, 해당 극단값은 단순 노이즈가 아니라 예측에 의미 있는 신호일 수 있다.
6.3 Tail Continuity Score
마지막으로 tail이 한두 개만 튀는 형태인지, 아니면 꼬리 구간이 어느 정도 연속적으로 존재하는지를 확인한다.
상단 tail에서는 excess를 다음과 같이 정의한다.
\[e_i = x_i - c_U,\quad x_i \gt c_U\]하단 tail에서는 excess를 다음과 같이 정의한다.
\[e_i = c_L - x_i,\quad x_i \lt c_L\]즉, cap에서 얼마나 벗어났는지를 양수로 계산한다.
Tail continuity score는 다음과 같이 계산한다.
\[S_{cont} = \frac{\operatorname{median}(e)}{\max(e) + \epsilon}\]여기서 \(\epsilon\)은 0으로 나누는 것을 방지하기 위한 작은 값이다.
이 값은 tail이 일부 값만 비정상적으로 튀는 형태인지, 아니면 꼬리 구간이 비교적 연속적으로 존재하는지를 판단하기 위한 보조 지표이다.
7. 알파값을 정하기 위한 스코어 계수(가중치)
AEPC의 보존 점수는 다음과 같이 계산된다.
\[S_{preserve} = 0.3S_{tail} + 0.5S_{target} + 0.2S_{cont}\]이 계수는 모델이 자동으로 학습한 값이 아니라, AEPC의 설계 목적을 반영한 경험적 가중치이다.
가장 큰 가중치는 \(S_{target}\)에 부여하였다.
\[0.5S_{target}\]AEPC의 목적은 극단값을 무조건 보존하는 것이 아니다. 예측에 의미 있을 가능성이 있는 극단값을 더 많이 보존하는 것이다. 따라서 tail 구간이 target과 얼마나 관련되어 있는지가 가장 중요한 기준이라고 판단하였다.
두 번째로 큰 가중치는 \(S_{tail}\)에 부여하였다.
\[0.3S_{tail}\]cap 밖의 값이 한두 개만 존재한다면 단순 이상치일 가능성이 크다. 반면 cap 밖의 값이 반복적으로 나타난다면 해당 feature가 원래 가지고 있는 분포 특성일 수 있다. 따라서 tail ratio는 target signal보다는 낮지만 중요한 보조 기준으로 보았다.
마지막으로 \(S_{cont}\)에는 가장 낮은 가중치를 부여하였다.
\[0.2S_{cont}\]tail continuity는 tail이 연속적인지 확인하는 지표이지만, target과 직접적으로 연결되는 기준은 아니다. 따라서 보조적인 안정성 판단 기준으로 두었다.
정리하면 AEPC의 가중치 구조는 다음 우선순위를 반영한다.
\[S_{target} \gt S_{tail} \gt S_{cont}\]즉, 다음과 같다.
\[0.5 \gt 0.3 \gt 0.2\]8. 실제 데이터 적용 예시 1: residual sugar
residual sugar는 상단 극단값이 매우 크게 나타난 feature이다.
train set에서 residual sugar의 Quantile Clipping 상한은 18.863이고, 원본 최댓값은 65.8이었다. 반면 AEPC의 상단 cap은 19.84725, 상단 alpha는 0.223661로 계산되었다.
Quantile Clipping을 적용하면 다음과 같다.
\[65.8 \rightarrow 18.863\]AEPC를 적용하면 다음과 같이 계산된다.
\[x' = c_U + \alpha_U(x - c_U)\] \[x' = 19.84725 + 0.223661(65.8 - 19.84725)\] \[x' = 19.84725 + 0.223661 \times 45.95275\] \[x' \approx 30.125\]즉, Quantile Clipping은 65.8을 18.863으로 강하게 절단하지만, AEPC는 30.125로 완화한다.
| Original | Quantile Clipping | AEPC |
|---|---|---|
| 65.80 | 18.863 | 30.125 |
| 26.05 | 18.863 | 21.235 |
| 23.50 | 18.863 | 20.664 |
| 20.70 | 18.863 | 20.038 |
이 결과를 보면 AEPC는 극단값을 그대로 두지는 않지만, 원래 값이 더 컸다는 상대적 정보는 유지한다.
9. 실제 데이터 적용 예시 2: total sulfur dioxide
total sulfur dioxide도 AEPC의 특성이 잘 드러나는 feature이다.
train set에서 total sulfur dioxide의 Quantile Clipping 상한은 243.0이고, 원본 최댓값은 366.5였다. 반면 AEPC의 상단 cap은 249.9725, 상단 alpha는 0.531410으로 계산되었다.
Quantile Clipping을 적용하면 다음과 같다.
\[366.5 \rightarrow 243.0\]AEPC를 적용하면 다음과 같다.
\[x' = c_U + \alpha_U(x - c_U)\] \[x' = 249.9725 + 0.531410(366.5 - 249.9725)\] \[x' = 249.9725 + 0.531410 \times 116.5275\] \[x' \approx 311.896\]| Original | Quantile Clipping | AEPC |
|---|---|---|
| 366.5 | 243.0 | 311.896 |
| 344.0 | 243.0 | 299.940 |
| 307.5 | 243.0 | 280.543 |
| 272.0 | 243.0 | 261.678 |
Quantile Clipping은 상한을 초과한 값을 모두 243.0으로 고정한다. 반면 AEPC는 초과분의 약 53%를 보존하여 원래 값들의 상대적 크기 차이를 유지한다.
10. 실제 데이터 적용 예시 3: 하단 극단값
AEPC는 상단 극단값뿐 아니라 하단 극단값도 같은 원리로 처리할 수 있다.
예를 들어 fixed acidity의 경우 Quantile Clipping 하한은 5.0이고 원본 최솟값은 3.8이었다. Bidirectional AEPC에서는 하단 cap이 4.8로 계산되었다.
Quantile Clipping은 다음과 같이 처리한다.
\[3.8 \rightarrow 5.0\]반면 AEPC는 하단 cap을 기준으로 다음 수식을 적용한다.
\[x' = c_L + \alpha_L(x - c_L)\]여기서 \(x - c_L\)는 음수이다. 따라서 원본 값이 cap보다 낮았다는 정보를 일부 보존하면서, 값을 cap 방향으로 완화한다.
예를 들어 설명을 위해 \(c_L = 4.8\), \(\alpha_L = 0.4\)라고 두면 다음과 같이 계산된다.
\[x' = 4.8 + 0.4(3.8 - 4.8)\] \[x' = 4.8 + 0.4(-1.0)\] \[x' = 4.8 - 0.4\] \[x' = 4.4\]즉, Quantile Clipping은 3.8을 5.0으로 완전히 끌어올리지만, AEPC는 4.4처럼 원래 값이 낮았다는 정보를 일부 보존한 상태로 완화할 수 있다.
11. 상관관계 변화 확인
AEPC 적용 후 feature와 quality 간의 관계가 어떻게 변했는지 확인하기 위해 Pearson 및 Spearman 상관계수를 비교하였다.
여기서 중요한 점은 상관관계의 방향이 아니라 강도를 비교해야 한다는 것이다. 예를 들어 어떤 feature가 quality와 음의 상관관계를 갖는다면, 상관계수가 -0.22에서 -0.25로 변했을 때 숫자 자체는 작아졌지만, 절댓값은 커졌으므로 관계의 강도는 증가했다고 볼 수 있다.
따라서 본 분석에서는 다음 값을 함께 확인하였다.
\[|\text{corr}(x, quality)|\]11.1 Pearson 상관계수
Pearson 상관계수는 값의 선형적 크기 관계에 민감하다. 따라서 극단값의 크기를 어떻게 조정했는지에 영향을 받을 수 있다.
실험 결과 chlorides에서 가장 뚜렷한 변화가 나타났다.
Raw feature 기준:
| Feature | Original corr | Quantile corr | AEPC corr |
|---|---|---|---|
| chlorides | -0.216275 | -0.233189 | -0.249089 |
log1p 적용 후:
| Feature | Original corr | Quantile corr | AEPC corr |
|---|---|---|---|
| chlorides | -0.222471 | -0.237445 | -0.252598 |
즉, chlorides는 AEPC 적용 후 Pearson 상관계수의 절댓값이 가장 크게 증가하였다. log1p 적용 후 기준으로 보면 원본의 절댓값은 0.222471, Quantile Clipping은 0.237445, AEPC는 0.252598이었다.
이 결과는 AEPC가 chlorides에서 극단값의 크기 효과를 조정하면서 quality와의 선형 관계를 더 뚜렷하게 만들었을 가능성을 보여준다.
다만 이러한 효과가 모든 feature에서 동일하게 나타난 것은 아니다. 예를 들어 total sulfur dioxide는 AEPC 적용 후 Pearson 상관계수 절댓값이 원본보다 소폭 감소하였다.
Raw Pearson 기준으로 보면 다음과 같다.
| Feature | Original corr | Quantile corr | AEPC corr |
|---|---|---|---|
| total sulfur dioxide | -0.168759 | -0.170613 | -0.167668 |
따라서 AEPC는 모든 변수의 상관관계를 일괄적으로 증가시키는 방식이 아니라, feature의 tail 특성에 따라 관계 변화가 다르게 나타나는 전처리 방식으로 보는 것이 적절하다.
11.2 Spearman 상관계수
Spearman 상관계수는 값의 크기보다 순위 기반 관계를 반영한다.
실험 결과 Spearman 상관계수는 AEPC 적용 전후에 거의 변하지 않았다.
예를 들어 chlorides의 Spearman 상관계수는 다음과 같았다.
| Feature | Original Spearman | Quantile Spearman | AEPC Spearman |
|---|---|---|---|
| chlorides | -0.323436 | -0.323453 | -0.323436 |
density도 거의 동일하였다.
| Feature | Original Spearman | Quantile Spearman | AEPC Spearman |
|---|---|---|---|
| density | -0.342469 | -0.342448 | -0.342469 |
이는 AEPC가 데이터의 순위 구조를 크게 바꾸기보다는, cap 밖의 값의 크기만 완화하는 방식으로 작동했음을 보여준다.
- 순위 구조는 거의 유지한다.
- 극단값의 크기 효과는 완화한다.
- 일부 feature에서는 target과의 Pearson 관계가 더 뚜렷해질 수 있다.
12. Quantile Clipping과 AEPC의 수식적 차이
두 방식의 차이는 수식으로 보면 더 명확하다.
Quantile Clipping에서는 상한을 넘는 두 값 \(x_1, x_2\)가 있을 때 다음과 같이 가정할 수 있다.
\[x_1 \gt x_2 \gt q_{0.99}\]변환 후에는 다음과 같이 된다.
\[x_1' = x_2' = q_{0.99}\]즉, 상한을 넘은 값들의 순서 정보가 사라진다.
반면 AEPC에서는 다음과 같이 가정할 수 있다.
\[x_1 \gt x_2 \gt c_U\]이때 AEPC 적용 후 값은 다음과 같다.
\[x_1' = c_U + \alpha_U(x_1 - c_U)\] \[x_2' = c_U + \alpha_U(x_2 - c_U)\]그리고 \(\alpha_U \gt 0\)이면 다음 관계가 유지된다.
\[x_1' \gt x_2'\]하단 극단값도 마찬가지다. \(x_1 \lt x_2 \lt c_L\)이고 \(\alpha_L \gt 0\)이면 AEPC 적용 후에도 다음 관계가 유지된다.
\[x_1' \lt x_2'\]즉, AEPC는 상단과 하단 극단값 모두에서 값의 상대적 순서를 보존한다.
13. 한계와 향후 개선 방향
AEPC는 극단값을 완전히 제거하지 않고 일부 정보를 보존한다는 장점이 있다. 하지만 모든 상황에서 Quantile Clipping보다 항상 우수하다고 볼 수는 없다.
극단값이 실제로 노이즈라면 AEPC가 불필요한 정보를 남길 수 있다. 반대로 극단값이 target과 관련된 의미 있는 신호라면 AEPC가 Quantile Clipping보다 유리할 수 있다.
또한 이번 실험에 사용한 와인 품질 데이터는 종속변수인 quality가 5, 6, 7 구간에 크게 집중되어 있다. 실제로 대부분의 샘플이 중간 품질 등급에 몰려 있기 때문에, 입력 feature의 극단값을 일부 보존하더라도 target 측면에서 충분히 뚜렷한 차이를 만들기 어려울 수 있다. 즉, AEPC가 극단값의 상대적 정보를 보존하더라도, 종속변수 자체가 중간 등급에 편중되어 있다면 그 효과가 제한적으로 나타날 가능성이 있다.
따라서 본 실험 결과만으로 AEPC의 일반적인 유효성을 단정하기는 어렵다. AEPC가 실제로 다양한 정형 회귀 문제에서 유효한 전처리 전략인지 확인하기 위해서는, target 분포가 더 다양하거나 극단 구간의 target 차이가 뚜렷한 데이터셋을 포함하여 추가적인 실험과 검증이 필요하다.
또한 본 프로젝트에서 사용한 \((0.3, 0.5, 0.2)\) 가중치는 모델 학습으로 최적화된 값이 아니라, AEPC 설계 의도를 반영한 경험적 가중치이다. 특히 target 관련성을 가장 중요하게 보고 0.5의 가중치를 부여하였으며, tail의 반복성과 연속성에는 각각 0.3과 0.2를 부여하였다. 그러나 이 가중치 조합이 최적이라는 의미는 아니다. 데이터셋의 분포, target과의 관계, 극단값의 형태에 따라 적절한 가중치가 달라질 수 있으므로, 계수 조합에 대한 추가적인 실험과 민감도 분석이 필요하다.
향후에는 다음과 같은 추가 검증이 필요하다.
- 가중치 조합에 대한 ablation study
- alpha_min, alpha_max 변화에 따른 민감도 분석
- 하단 AEPC와 상단 AEPC의 개별 효과 비교
- 여러 random seed 기반 반복 실험
- target 분포가 서로 다른 다양한 정형 회귀 데이터셋에 대한 일반화 검증
결론
AEPC는 극단값을 단순히 제거하는 것이 아니라, 극단값의 영향을 줄이면서도 cap을 벗어난 정보의 일부를 보존하기 위한 전처리 전략이다.
핵심 수식은 다음과 같다.
\[ x' = \begin{cases} c_L + \alpha_L(x - c_L), & x \lt c_L \\ x, & c_L \le x \le c_U \\ c_U + \alpha_U(x - c_U), & x \gt c_U \end{cases} \]이 방식은 hard clipping과 원본 유지 사이의 절충점을 만든다.
\[\alpha = 0 \Rightarrow \text{hard clipping}\] \[\alpha = 1 \Rightarrow \text{original value}\]Quantile Clipping은 극단값을 안정적으로 제한하지만, 기준 밖의 값을 모두 같은 값으로 고정한다. 반면 AEPC는 기준 밖의 값을 완화하면서도 원래 값의 상대적 순서와 일부 크기 정보를 유지한다.
결국 AEPC는 극단값 제거가 아니라 극단값 완화와 정보 보존 사이의 균형을 목표로 한 전처리 방식이다.
'AI_Machine_Learning' 카테고리의 다른 글
| [CNN] VGG 구조를 참고한 경량 CNN 설계 (0) | 2026.06.08 |
|---|