맨위로가기

힌지 손실

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

힌지 손실(Hinge loss)은 기계 학습에서 사용되는 손실 함수의 한 종류이다. 이는 주로 최대 마진 분류를 수행하는 서포트 벡터 머신(SVM)과 같은 모델에서 사용되며, 다중 클래스 분류와 구조적 예측 문제로 확장될 수 있다. 힌지 손실은 볼록 함수이므로 볼록 최적화 기법을 사용하여 최적화할 수 있으며, 미분 불가능한 지점이 있어 평활화된 버전을 사용하기도 한다.

더 읽어볼만한 페이지

  • 서포트 벡터 머신 - 순차적 최소 최적화
    순차적 최소 최적화(SMO)는 지지 벡터 머신(SVM)과 같은 기계 학습 문제에서 2차 계획법(QP) 문제를 작은 하위 문제로 분해하여 라그랑주 승수를 반복적으로 최적화하는 효율적인 알고리즘이다.
힌지 손실
개요
유형분류
손실 함수손실 함수
볼록 함수?
매끄러운 함수?아니요
미분 가능 함수?아니요
정의
수식max(0, 1 - t⋅y)
변수t = 실제 클래스 (t ∈ {−1, 1} 또는 t ∈ {0, 1})
y = 예측값
속성
힌지 손실은 볼록 함수인가?
힌지 손실은 매끄러운 함수인가?아니요
힌지 손실은 미분 가능한 함수인가?아니요
활용
주요 사용처최대 마진 분류 알고리즘, 특히 서포트 벡터 머신 (SVM)
대안
유사 손실 함수제곱 힌지 손실
로지스틱 손실
0-1 손실 함수

2. 다중 클래스 분류로의 확장

SVM은 일반적으로 일대다 또는 일대일 방식으로 다중 클래스 분류로 확장되지만,[2] 힌지 손실 자체를 다중 클래스 분류로 확장하는 것도 가능하다. 다중 클래스 힌지 손실의 여러 변형이 제안되었다.[3] Crammer와 Singer, Weston과 Watkins가 제안한 방식이 대표적이다.

구조적 예측에서 힌지 손실은 구조적 출력 공간으로 더 확장될 수 있다. 마진 재조정을 사용하는 구조적 SVM은 다음 변형을 사용한다. 여기서 는 SVM의 매개변수를 나타내고, 는 SVM의 예측을 나타내며, 는 결합 특징 함수를 나타내고, 는 해밍 손실을 나타낸다.

:\begin{align}

\ell(\mathbf{y}) & = \max(0, \Delta(\mathbf{y}, \mathbf{t}) + \langle \mathbf{w}, \phi(\mathbf{x}, \mathbf{y}) \rangle - \langle \mathbf{w}, \phi(\mathbf{x}, \mathbf{t}) \rangle) \\

& = \max(0, \max_{y \in \mathcal{Y}} \left( \Delta(\mathbf{y}, \mathbf{t}) + \langle \mathbf{w}, \phi(\mathbf{x}, \mathbf{y}) \rangle \right) - \langle \mathbf{w}, \phi(\mathbf{x}, \mathbf{t}) \rangle)

\end{align}.

2. 1. Crammer와 Singer의 방식

크래머(Crammer)와 싱어(Singer)[4]는 선형 분류기에 대해 다음과 같이 힌지 손실을 다중 클래스 분류에 맞게 수정하였다.[5]

:\ell(y) = \max(0, 1 + \max_{y \ne t} \mathbf{w}_y \mathbf{x} - \mathbf{w}_t \mathbf{x})

여기서 t는 대상 레이블이고, \mathbf{w}_t\mathbf{w}_y는 모델 매개변수이다. 이 방식은 각 클래스에 대한 가중치 벡터를 고려하여 힌지 손실을 다중 클래스 문제로 확장한 것이다.

2. 2. Weston과 Watkins의 방식

Weston과 Watkins는 max 대신 합계를 사용하는 유사한 다중 클래스 힌지 손실 정의를 제안했다.[6][3]

:\ell(y) = \sum_{y \ne t} \max(0, 1 + \mathbf{w}_y \mathbf{x} - \mathbf{w}_t \mathbf{x}).

3. 구조적 예측

힌지 손실은 구조적 출력 공간을 다루는 구조적 예측 문제에도 확장될 수 있다. 마진 재조정을 사용하는 구조적 SVM은 다음 변형을 사용한다.[2]

:\begin{align}

\ell(\mathbf{y}) & = \max(0, \Delta(\mathbf{y}, \mathbf{t}) + \langle \mathbf{w}, \phi(\mathbf{x}, \mathbf{y}) \rangle - \langle \mathbf{w}, \phi(\mathbf{x}, \mathbf{t}) \rangle) \\

& = \max(0, \max_{y \in \mathcal{Y}} \left( \Delta(\mathbf{y}, \mathbf{t}) + \langle \mathbf{w}, \phi(\mathbf{x}, \mathbf{y}) \rangle \right) - \langle \mathbf{w}, \phi(\mathbf{x}, \mathbf{t}) \rangle)

\end{align}

여기서 \mathbf{w}는 SVM의 매개변수를 나타내고, \mathbf{y}는 SVM의 예측을 나타내며, \phi는 결합 특징 함수를 나타내고, \Delta는 해밍 손실을 나타낸다.

4. 최적화

힌지 손실은 볼록 함수이므로, 머신 러닝에서 사용되는 다양한 볼록 최적화 기법을 사용하여 모델을 학습시킬 수 있다. 그러나 힌지 손실은 미분가능 함수가 아닌 지점이 있어 최적화에 어려움이 있을 수 있다.

4. 1. 서브그래디언트

힌지 손실은 볼록 함수이므로 머신 러닝에서 사용되는 일반적인 볼록 최적화 방법을 사용할 수 있다. 하지만 힌지 손실은 미분가능 함수는 아니다. 점수 함수 y = \mathbf{w} \cdot \mathbf{x}를 사용하는 선형 SVM의 모델 매개변수 '''w'''에 대한 서브그래디언트는 다음과 같다.

:\frac{\partial\ell}{\partial w_i} = \begin{cases}

  • t \cdot x_i & \text{if } t \cdot y < 1, \\

0 & \text{otherwise}.

\end{cases}

가 1보다 작은 경우의 함수로 표시한 힌지 손실의 세 가지 변형: "일반" 변형(파란색), 그 제곱(녹색), Rennie와 Srebro가 제안한 분할 부드러운 버전(빨간색). y축은 힌지 손실 이고, x축은 매개변수 이다.


그러나 ty = 1에서 힌지 손실의 도함수는 정의되지 않으므로, Rennie와 Srebro가 제안한 것과 같은 평활화된 버전이 최적화에 선호될 수 있다.[7]

:\ell(y) = \begin{cases}

\frac{1}{2} - ty & \text{if } ~~ ty \le 0, \\

\frac{1}{2} (1 - ty)^2 & \text{if} ~~ 0 < ty < 1, \\

0 & \text{if} ~~ 1 \le ty

\end{cases}

또는 Zhang이 제안한 제곱적으로 평활화된 함수를 사용할 수도 있다.[8]

:\ell_\gamma(y) = \begin{cases}

\frac{1}{2\gamma} \max(0, 1 - ty)^2 & \text{if} ~~ ty \ge 1 - \gamma, \\

1 - \frac{\gamma}{2} - ty & \text{otherwise}

\end{cases}

수정된 Huber loss L\gamma = 2인 이 손실 함수의 특수한 경우이며, 구체적으로 L(t,y) = 4 \ell_2(y)이다.

4. 2. 평활화된 힌지 손실

힌지 손실은 볼록 함수이지만, ty = 1에서 미분가능 함수가 아니기 때문에 최적화 과정에서 어려움이 있을 수 있다. 따라서 Rennie와 Srebro가 제안한 것과 같이 평활화된 버전의 হিন지 손실 함수를 사용하기도 한다.[7]

:\ell(y) = \begin{cases}

\frac{1}{2} - ty & \text{if} ~~ ty \le 0, \\

\frac{1}{2} (1 - ty)^2 & \text{if} ~~ 0 < ty < 1, \\

0 & \text{if} ~~ 1 \le ty

\end{cases}

이 외에도 Zhang이 제안한 제곱적으로 평활화된 힌지 손실 함수도 사용된다.[8]

:\ell_\gamma(y) = \begin{cases}

\frac{1}{2\gamma} \max(0, 1 - ty)^2 & \text{if} ~~ ty \ge 1 - \gamma, \\

1 - \frac{\gamma}{2} - ty & \text{otherwise}

\end{cases}

수정된 Huber loss L\gamma = 2인 경우에 해당하며, L(t,y) = 4 \ell_2(y)로 표현된다.

참조

[1] 논문 Are Loss Functions All the Same? http://web.mit.edu/l[...]
[2] 서적 Multiple Classifier Systems
[3] 논문 A Unified View on Multi-class Support Vector Classification http://www.jmlr.org/[...]
[4] 논문 On the algorithmic implementation of multiclass kernel-based vector machines http://jmlr.csail.mi[...]
[5] 간행물 L1 and L2 regularization for multiclass hinge loss models http://www.ttic.edu/[...] 2013-10-23
[6] 간행물 Support Vector Machines for Multi-Class Pattern Recognition https://www.elen.ucl[...] 2017-03-01
[7] 간행물 Loss Functions for Preference Levels: Regression with Discrete Ordered Labels http://ttic.uchicago[...]
[8] 간행물 Solving large scale linear prediction problems using stochastic gradient descent algorithms http://tongzhang-ml.[...]
[9] 논문 Are Loss Functions All the Same? http://web.mit.edu/l[...]



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com