주로 Quantile Prediction을 위해 사용되는 Loss로 Quantile Loss라고도 불린다. 계산식은 다음과 같다.$$
\begin{align}
\mathcal{L}
&=(Y_{t}-Q_{t}(u)){\cdot}u{\cdot}{\mathbb{1}\{Q_{t}(u){\leq}Y_{t}\}}
+(Q_{t}(u)-Y_{t}){\cdot}(1-u){\cdot}{\mathbb{1}\{Q_{t}(u){\gt}Y_{t}\}} \\ \\
&=\begin{cases}
(Y_{t}-Q_{t}(u)){\cdot}u & if $Q_{t}(u){\leq}Y_{t}$, \\ \\
(Q_{t}(u)-Y_{t}){\cdot}(1-u) & otherwise.
\end{cases}
\end{align}
$$
이 때
- $Y_t$는 t 시점의 실제값
- $Q_{t}(u)$는 t 시점에서의 u 분위수에 대한 예측값
- $\mathbb{1}$은 Indicator function이다.
수식만으로는 Pinball Loss를 이용했을 때 모델이 어떤 방향으로 학습될지, 어떤 예측 결과가 나와야 Pinball Loss가 낮아지는지 알아보기 어려우니 분위수에 따른 Loss 값의 그래프를 확인해본다.
분위수에 따른 Loss 변화
1. 중위수
위 그래프에서 확인할 수 있듯이 50% 분위수의 예측값이 실제값과 동일하도록 학습이 진행될 것이다.
2. 50% 미만
- 예측값이 실제값보다 높을 때 Loss가 크다.
- 분위수가 작아질수록 예측값이 실제값보다
- 큰 경우의 Loss가 커지지만,
- 작은 경우의 Loss는 작아진다.
즉, Pinball Loss를 이용하여 모델을 학습하게 되면
- 50% 미만 분위수에 대한 예측값이 실제값보다 낮도록 학습이 되는 동시에
- 분위수가 낮아질수록 더 낮은 예측값을 얻게 될 가능성이 커도록 학습이 이루어질 것이다.
3. 50% 초과
50% 미만일 때와 정반대로
- 예측값이 실제값보다 낮을 때 Loss가 크다.
- 분위수가 커질수록 예측값이 실제값보다
- 작은 경우의 Loss가 커지지만,
- 큰 경우의 Loss는 작아진다.
즉, Pinball Loss를 이용하여 모델을 학습하게 되면
- 50% 초과 분위수에 대한 예측값이 실제값보다 높도록 학습이 되는 동시에
- 분위수가 높아질수록 더 높은 예측값을 얻게 될 가능성이 커도록 학습이 이루어질 것이다.
정리
Quantile 별 예측값은 단일 값을 이용하기보다는 예측 범위를 만들 때 사용된다는 점을 고려하면
- 50% 미만 분위수의 예측값과 50% 초과 분위수 예측값 사이에 실제값이 존재하기를 바랄 것이므로 50% 미만 분위수에 대해서는 예측값이 실제값보다 클 때 큰 Loss가 부여되고, 50% 초과 분위수에 대해서는 예측값이 실제값보다 작을 때 큰 Loss가 부여되는 점, 그리고 분위수가 작아질수록(높아질수록) 더 낮은(높은) 예측값이 나올 수 있도록 해주는 점을 이해할 수 있다.
- 또한, 1번 조건이 만족될 경우 최대한 예측 범위를 줄이는 것이 도움이 된다는 점에서 모든 분위수에 대하여 예측값이 실제값을 벗어나는 경우 일정 부분의 Loss가 부여되는 점을 이해할 수 있다.
잘못된 내용, 오타, 부정확한 문장 등 어떤 피드백이든 환영합니다. 감사합니다.
'Data Science > Maching Learning' 카테고리의 다른 글
Vision Transformer(1): Theory (2) | 2022.06.26 |
---|---|
차근차근 이해하는 Transformer(5): Positional Encoding (0) | 2022.05.18 |
차근차근 이해하는 Transformer(4): Masked Multi-Head Attention과 Decoder (2) | 2022.05.09 |
차근차근 이해하는 Transformer(3): Multi-Head Attention과 Encoder (0) | 2022.05.06 |
차근차근 이해하는 Transformer(2): Single-Head Attention으로 이해하는 Encoder (2) | 2022.05.05 |