본문 바로가기
Data Science/Machine Learning

[Machine Learning] 성능 평가

by AI_Wooah 2022. 9. 7.

모델 학습에 들어가기에 앞서 학습시킬 데이터를 먼저 살펴보겠습니다.

머신러닝을 하기 전 먼저 머신러닝 첫 포스팅에서 말씀드린 것과 같이 EDA를 하며 데이터를 파악하는데요

그 과정을 상세히 설명드리겠습니다.

 

데이터와 데이터 분포

 

데이터 표현(수치화)

기계는 현실에 있는 언어나 그림을 알아듣지 못하기 때문에 기계가 인식할 수 있도록 수치값으로 변형해서 학습시킬 수 있다.

위와 같은 프로세스를 다른 데이터들에게 적용할 수 있도록 바탕을 n차원의 벡터로 두고 식을 구한다.

n차원 공간상의 한 점 x에 대해서 열벡터를 구해보면 다음과 같이 식이 표현된다.

 

데이터 집합의 분포

수치화된 데이터의 특성을 직관적으로 파악할 수 있도록 분포를 확인한다.

제일 기본적이고 처음에 많이 하는방법은 2차원 데이터 집합의 산점도(scatter plot)를 뿌려보는 것이다.

이 공간에서 점들이 분포된 모양을 보면 크게 네가지 정보를 얻을 수 있다.

  • 가우시안 분포
  • 평균 (3,3)
  • 공분산
  • 데이터 개수 N=50

 

데이터 집합의 분포

산점도 이외에도 데이터 분포를 확인하기 위해 다양한 방법을 사용한다.

 

 

특징추출

데이터를 처리할 때 속도를 빠르게 하고 메모리나 계산 양 등의 비용 절약을 위해서 데이터의 핵심만 뽑아서 간략하게 처리하는 것이 일반적이다.

(특징 추출에 관해 자세한 내용은 다변량 분석 카테고리를 참고해주시기 바랍니다.🥰)

* 이미지특징은 주로 사영 projection에 의한 특징추출을 사용한다.

- 단순히 차원의 축소가 아닌 데이터 처리를 위한 핵심 정보를 추출하는 것이 더 중요하다.

- 주어진 데이터의 분포 특성을 가장 잘 나타낼 수 있는 방향을 찾아야 한다.

 

 

학습 시스템이란?

 

데이터로부터 학습을 통해 추출하고자 하는 정보를 표현하는 시스템이다.

 

입력 x가 주어졌을 때 출력 y가 나오는 입 출력 매핑 형태의 함수로 정의한다.

학습이란?

  • 데이터를 이용하여 함수  𝑓를 찾는 것이다
  • 학습 시스템의 파라미터 θ를 찾는 것이다.

학습의 궁극적 목표는!

앞으로 주어질 새로운 데이터에 대한 성능을 최대화 하는 것이다.

 

학습 시스템이 학습을 하기 위한 목표가 필요하다. 목표를 잡아주는 성능 평가 지표를 목적함수라고 한다.

학습의 궁극적인 목적은 목적함수를 최적화 시키는 것이다.

목적함수에는 오차함수 분류함수 크로스엔트리핏 등이 있다.

그 중 가장 대표적인 함수는 오차함수이다.

오차함수는 학습 시스템의 출력값과 원하는 출력값의 차이('오차')로 정의한다.학습의 목적은 오차를 최소화는 것이기 때문이다.

 

학습 시스템을 만들었으면 그 학습 시스템의 성능을 평가할 수 있는 성능 평가 기준이 필요하다.

이 기준으로 크게 세가지를 들 수 있다. 

 

학습 오차

학습에 사용된 데이터 집합에 대해서 계산된 오차다.

오차의 차이에 대한 제곱으로 구한다.

 

일반화 오차

하지만 궁극적인 목적은 이미 학습된 데이터 뿐만 아니라 앞으로 만나게 될 모든 데이터에 대해 오차를 줄이는 것이다.

관찰될 수 있는 모든 데이터 분포 전체에 대해 정의되는 오차를 일반화 오차라고 한다.

테스트 오차

확률밀도함수를 실제로 계산할 수 없기 때문에 그 대신 테스트 오차를 사용한다.

학습에 사용되지 않은 새로운 데이터 집합에 대해서 계산된 오차로 경험오차라고도 한다.

 

일반화 오차의 추정

교차검증법

제한된 데이터 집합을 이용해서 일반화 오차에 조금 더 근접한 오차값을 얻어내기 위한 방법이다.

- K-분절 교차검증법을 처리하는 과정은 다음 그림과 같다.

 

 

반응형

댓글