데이터 Y=y1⋮yn 에 대한 추정치가 Y=y1⋮yn 와 같이 주어져 있을 때 데이터와 추정치의 괴리도를 나태는 스칼라 함수L:Rn→[0,∞) 를 손실 함수라 한다.
다른 이름
손실 함수는 학습을 통해 얻은 데이터의 추정치가 실제 데이터와 얼마나 차이나는지 평가하는 지표로 쓰인다. 이 값이 크면 클수록 많이 틀렸다는 의미고, 이 값이 0 이라는 것은 ‘무손실’ 즉 완벽하게 추정할 수 있다는 의미가 된다. 이는 수학에서 말하는 메트릭과 크게 다를 바가 없다.
L(Y):=n1i=1∑n(yi−yi)2MSE는 유서 깊은 손실 함수로써, yi∈R 일 때 유의미하게 사용할 수 있다.
크로스 엔트로피
L(Y):=−n1i=1∑n⟨yi,log(σ(yi^))⟩
크로스 엔트로피는 이른바 원-핫 인코딩을 할 때 유효한 수단이 되며, Y 가 범주형 데이터일 때 Y 가 추정한 각각의 확률을 이용해 계산한다. 주로 분류 문제에 사용된다.
원-핫 인코딩이란 그냥 표준기저로의 매핑을 말한다. m 개의 계급이 있다면, Rn 상의 표준기저를 β={ei}i=1m으로 표기할 때, 각각의 yi 와 yi^ 는
yi∈Rm,y^i∈β
와 같은 벡터로 나타난다. 예를 들어 Y 가 3개의 계급을 가질 때, yi가 1번 분류에 속한다면 yi=[1,0,0]t, 3번 분류에 속한다면 yi=[0,0,1]t 처럼 나타내는 식이다.
σ 는 소프트맥스 함수로써 주어진 벡터의 값들을 [0,1] 에 바운드 시키고 확률분포의 조건을 만족시키게 하는 함수다. ⟨⋅,⋅⟩ 은 내적이다. σ(yi^)∈[0,1] 이므로 log(σ(yi^))<0 이고 yi 는 0 혹은 1 이므로
L(Y)=−n1i=1∑n⟨yi,log(σ(yi^))⟩≥0
임을 쉽게 확인할 수 있다.
yi=(yi1,⋯,yij,⋯,yim) 의 추정치인 yi^=(yi1^,⋯,yij^,⋯,yim^) 의 각 성분들은 확률이 높을수록 큰 값, 낮을 수록 낮은 값을 갖는다. 이를 소프트맥스 함수에 넣으면 확률이 클수록 1 에 가깝고 낮을수록 0 에 가까운 값으로 조정된다. 만약 실제 성분이 1 인데 확률을 낮게 계산했다면 −1⋅log(c) 은 c≪1 이므로 꽤 큰 값이 된다. 반대로 실제 성분이 0 인데 확률을 높게 계산해봐도 −0⋅log(c) 은 큰 의미가 없다. 따라서 많이 틀리면 틀릴수록 크로스 엔트로피가 치솟게 될 것임을 어렵지 않게 짐작할 수 있다.