안녕하세요
오늘은 머신러닝 주요 모델 중 데이터양과 품질, 표준화, 문제 유형에 대해 알아보겠습니다.
머신러닝은 데이터를 기반으로 작업을 하기 때문에 앞서 살펴본 데이터형이나 데이터양, 품질, 데이터 표준화, 그리고 문제의 유형 등 데이터를 어떻게 받아들이고 출력값을 어떻게 계산하여 내보낼 것인가가 매우 중요합니다.
먼저 데이터양에 대해 알아보면, 데이터의 양이 많으면 머신러닝을 활용하기 좋습니다. 그러나 무작정 데이터의 양이 많기 보다는 특정 항목에 대한 데이터가 충분해야 합니다.
이미지 태깅이나 문법 파싱처럼 사람이 입력값을 일일이 입력하는 경우 데이터의 레이블을 얻기 어려운경우가 발생합니다. 이런 경우 '액티브 러닝 기법'을 활용하는데, 학습이 잘되지 않은 부분을 머신러닝 시스템이 사람에게 질문하는 방식으로 학습 성능을 올리는 방법입니다.
다음으로 데이터가 많지만 특정 레이블의 데이터가 부족한 경우를 살펴보면, 데이터가 많은 레이블에서 임의로 데이터를 누락(과소표집) 하거나 적은 데이터로도 작동이 잘되는 '원샷러닝 기법'을 사용합니다.
특정 경우의 데이터가 아예 없는 경우 '제로샷러닝 기법'을 사용하는데 이 방법은 다른 형식의 데이터를 이용해서 유사도를 판별하여 새로운 레이블을 학습 데이터 없이 예측하는 방법입니다.
데이터의 품질은 노이즈와 밀접한 연관이 있습니다. 노이즈가 많은 경우 노이즈 자체를 가정에 두는 칼만 필터 같은 모델을 많이 사용합니다. 레이블이 일정하지 않은 경우도 품질에 안좋은 영향을 미칠 수 있는데 그런 경우 편차를 줄이는 '전처리 작업' 후 머신러닝을 적용합니다.
다음으로 데이터 표준화에 대해 알아보겠습니다.
데이터 표준화란 데이터 척도 및 단위를 변환하여 데이터를 비교하기 쉽게 만드는 방법입니다. 다른 형태의 데이터를 같은 기준을 평가할 수 없으니 특정 형태로 바꾸어 비교하는 방법인 것입니다.
'수치 데이터 표준화'에서는 단위가 다른 두 수치 데이터를 평균 0, 표준편차 1인 데이터로 바꾼 후 비교하는, 'z-점수 표준화 방식'을 사용합니다. 이외에 '척도화'는 피처의 최대값 및 최소값을 이용하여 피처값의 범위를 조정하는 방법입니다.
'벡터 정규화'는 한 데이터가 가지는 피처 벡터의 노름이 1이 되게 하는 방법입니다. 즉 벡터의 각 요소로를 벡터의 총 크기로 나누는 것입니다.
'카테고리 데이터 표준화'는 수치가 아닌 비수치로, 데이터 사이의 유사도 계산을 하는데 그 방법으로 '원-핫 인코딩' 방식이 있습니다. 데이터를 0과 1로 바꾸어 제곱유클리드 거리를 계산하는 방법입니다.
'서수 데이터 표준화'는 카테고리에 순서가 있는 데이터형을 서수 데이터라고 합니다. 이런 데이터는 특정한 식을 활용하여 0과 1 사이로 표준화하여 계산합니다.
머신러닝의 주요 모델을 이해하고 적절히 활용하기 위해서는 어떤 데이터의 양에 따라, 어떤 품질에 따라, 어떤 표준화 방식에 따라 모델이 달라질 수 있다는 것을 알아야 합니다. 각각의 개념에 대한 설명이 앞으로 실제 문제를 다루는 예시에서 구체화 될 것입니다. 그러기 위해서는 이론적인 배경이 탄탄해야 합니다. 또 여러 모델이 동시에 사용되어질 때 어떤 이유로 사용하는지 알아야 합니다. 다음에는 '모델 유형'에 대해 알아보도록 하겠습니다.
감사합니다.
'머신러닝' 카테고리의 다른 글
[머신러닝 입문]문서 분석 시스템 만들기 (0) | 2020.04.03 |
---|---|
[머신러닝 입문]머신러닝 주요 문제 유형 (0) | 2020.04.01 |
[머신러닝 입문]머신러닝 주요 모델 - 데이터형 (0) | 2020.03.31 |
[머신러닝 입문]머신러닝 주요 개념-모델 평가 (0) | 2020.03.29 |
[머신러닝 입문]머신러닝의 주요 개념 - 최적화 (0) | 2020.03.28 |