[머신러닝 배우기] 7.데이터 - 데이터형, 양, 품질


데이터

데이터는 머신러닝에서 정말 중요하다. 머신러닝의 발전 가능했던 이유가 데이터때문이었다고 첫번째 포스팅에서 이야기 한적이있다. 머신러닝은 데이터를 이용해서 문제를 해결하기 때문에 데이터형, 품질, 양 등 고려해야할 점들이 많다. 오늘은 그 중요햔 데이터에 대해 좀 더 자세히 알아보자.

데이터형

머신러닝에서 다루는 데이터에는 어떤 유형이있을까? 우리가 다루는 데이터는 대부분 텍스트, 수치, 이미지, 음성이라고 표현할 수 있고 두가지 유형이상을 복합적으로 사용하는 경우도 있다.

텍스트 데이터

텍스트 데이터는 위키피디아등을 통해서 다른 데이터에비해 상대적으로 쉽게 구할 수 있다. 하지만 문법과 문맥을 컴퓨터가 파악할 수 있게해야 잘 동작하기때문에 생각보다 다루기 까다로운 데이터 형이라고 할 수 있다.

수치 데이터

수치화되어있는 데이터를 이야기한다. 금융, 관측장치 등으로부터 얻을 수 있다. 센서나 무작위적인 예외상항으로 노이즈가 꽤 많으므로 노이즈에 강한 기법을 사용하는 것이 정석이다.

이미지 데이터

스마트폰이나 디지털카메라가 보급화 되면서 이미지 데이터가 쏟아져나오고 있어 최근 활발한 연구가 진행되고 있다. 데이터양이 많아지면서 딥러닝을 활용한 모델의 성능이 비약적으로 발전했다.

비디오 데이터는 없나? 라고 생각할 수 있는데 비디오는 조금 다르지만 연속된 이미지라고보고 몇가지 요소를 고려해서 사용한다.

음성 데이터

음성 데이터는 수치 데이터와 비슷한 경향이 있다. 아무래도 디지털로 저장된 음성이기 때문인데, 노이즈가 많고 시간에 따른 변화가 중요한 데이터 형이다.

복합 데이터

다양한 유형의 데이터가 섞여있는 데이터 형이다. 비디오 데이터(이미지, 음성)와 자막(텍스트)를 동시에 학습하거나 할 때 사용한다.

데이터양과 품질

데이터가 적으면 기계가 학습을 하기 어렵다. 또 데이터에 노이즈가 많이 끼어있거나 다양한 관점으로 해석된 데이터가 있다면 학습에 어려움이 있을 수 있다.

데이터양

사실 데이터를 모은다는 게 자동화 되는 경우는 아직까진 드물다. 결국 사람이 일일이 예측 결과를 제공하는 경우가 많은데, 이런 경우 너무 비용이 많이 들기 때문에 데이터의 양을 충분히 갖기 어렵다. 이런 경우에는 액티브 러닝기법을 사용해 머신러닝이 사람에게 질문을 하는 방식으로 개선하곤 한다.

또 사람이 데이터를 제공하는 경우 특정 레이블에 데이터가 쏠리는 현상이 발생하는 경우가 많이 발생한다. 이런 경우 데이터가 충분한 레이블에 손실함수가 집중하게 되어 나머지가 무시되어 성능을 보장하기 어렵다. 이런 경우 데이터가 많은 레이블의 데이터를 일부러 누락시키거나 데이터가 적은 경우에 사용하는 원샷러닝등의 기법을 이용한다.

데이터가 끝없이 새로운 레이블을 생성하는 경우도 있다. 이런경우 레이블을 제대로 학습할 수 없기 때문에 제로샷러닝이라는 기법을 사용해서 해결하기도 한다.

데이터 품질

데이터 품질은 노이즈가 많을 경우와 레이블이 일정하지 않은 경우를 고려한다.

노이즈가 많은경우를 해결하기 위해서는 간단한 모델을 사용해서 노이즈를 무시하던가 노이즈마저 가정에 두는 칼만 필터 같은 모델을 사용해 해결한다.

레이블이 일정하지 않은 경우는 여러사람의 관점이 들어가던가 하는 경우가 있다. A는 점수를 대체적으로 짜게 매기고 B는 후하게 매긴다고 했을 때 상대적으로 A의 평가를 받은 물건들이 저평가 될 가능성이 높아진다. 이런 경우 평가자별로 점수를 정규화해서 사용하거나 다른 전처리 작업들을 한 뒤 머신러닝을 한다.

데이터 표준화

데이터를 비교하기 쉽게 만드는 방법을 데이터 표준화라고 한다. 데이터 형에 따라 표준화 방법이 달라진다. 수치 데이터와 카테고리 데이터, 서수 데이터의 표준화에 대해서 알아보자.




© 2019. by Moonan

Powered by Moonan