[패턴인식] 5. 패턴인식 시스템 예시 - (2) 비용과 과적합 문제

2022. 4. 1. 16:58패턴인식

앞선 패턴인식 시스템 예시 - (1)에서 우리는

인식률 95% 이상을 만족하는 아래와 같은 그래프를 도출하였다.

 

여기서, 애초에 우리가 연어와 농어를 분류할 수 있는 시스템을 만든 목적이 무엇인가?

 

단순 분류만을 목적으로 이러한 행위를 진행한 것일까?

 

우리는 연어와 농어만을 키우는 수산 양식장에 종사를 하고 있다.

때가 되면 상품으로써 가치가 있는 연어와 농어를 포획한다.

해당 시기가 다가오면, 노동력과 시간을 최대한 아낄 수 있도록

잡은 물고기들에 대하여 시스템으로 하여금 이를 분류하게 한다.

 

이 모든 행위를 통해 양식한 물고기를 팔아 생계를 유지하는 것이 목적이다.

생계 유지와 직결되어 있는 부분에서,

인식률 95%라는 소식에, 우리는 한 시름 놓고 마음 편히 발 뻗고 잘 수 있을까?

 

비용 vs 인식률

 

우리는 이제 만들어진 시스템이 실제로 사용될 수 있는지

확인하기 위해 오분류율 5%를 자세히 살펴봐야 한다.

오분류율을 확인하기 위해 아래 두 가지 경우를 고려하였다.

(연어가 농어보다 비싸다는 전제.)

 

(A) 연어를 농어로 잘못 분류한 경우의 비용

-> 소비자가 농어를 구입했는데 연어가 한 마리가 같이 들어있음.

상식적으로, 사업을 유지하기 위해서는 소비자와의 관계가 매우 중요하다.

(A)의 경우는, 사업자에게 손해로 다가오지만 고객의 경우 금액 측면에서 손해가 나지 않는다.

따라서 연어보다 농어를 너무나 먹고 싶어하는 고객이 아닌 이상

해당 문제는 고객에게 금액적 이득으로 다가오기 때문에 사업장에 컴플레인이 들어오지 않는다.

 

(B) 농어를 연어로 잘못 분류했을 경우의 비용

-> 소비자가 연어를 10마리 구입했는데 농어 한 마리가 있어 금액 부분에서 손해를 봄.

하지만 (B)의 경우는 다르다. 좋은게 좋다고 넘어갈 수 있는 경우가 아니다.

이와 같은 경우는 소비자가 금액적으로 손해를 보기 때문에 쉽게 넘어갈 수 있는 문제가 아니게 된다.

 

우리는 최선의 비용을 선택하기 위해 인식률을 조금 감소시키더라도 결정경계를 바꿀 필요성이 있다.

(A)에서는 직관적으로, 또는 수학적으로 계산하기 쉬운 선형을 이루고 있는 선형판별함수를 사용할 수 있었으나

(B)의 경우에는 n차 곡선의 형태로 결정경계를 수정해야만 한다. 이는 매우 복잡한 계산을 요구하게 된다.

이 때, 통상적으로 신경망 알고리즘을 사용하여 이러한 결정경계를 만들 수 있다.

 

마침내 우리는 우리가 현재 갖고 있는 물고기(농어와 연어)의 데이터만을 고려하여

위 그래프와 같은 결정경계를 갖는 시스템 구축을 완료하였으며

이를 내일 당장 실제 사업장에서 사용하기로 하였다.

사람은 거짓말을 하지만 컴퓨터는 거짓말을 하지 않는다는 평소 신념이 있기 때문에

한 달간 스마트폰을 꺼놓고 모든 것을 구축된 시스템에 맡긴 채 해외 여행을 떠나기로 하였다.

 

그러나 한 달 뒤, 귀국하여 스마트폰을 킴과 동시에 나의 사업은 망했다는 연락을 받았다.

???????

과적합(Overfitting)

 

앞서 언급한 것처럼 우리는

우리가 당시 갖고 있는 물고기(농어와 연어)의 데이터만을 고려하여 시스템을 구축하였다. 

해당 데이터에 대한 인식률을 높이는 것만 생각하며 결정경계를 정해버렸기 때문에(과적합)

새로운 데이터에 대한 인식률이 매우 떨어지게 되는 것은 당연지사였다.

 

우리는 이러한 과적합 문제를 해결(방지)하기 위해 학습 데이터와 실제 데이터 사이

분류율, 인식률의 간극을 줄일 수 있는 각종 일반화 방법을 사용하게 된다.

과적합 문제에 대한 것은 블로그 내 딥러닝 카테고리에서 다뤄보도록 하자.(예정)