-
머신러닝/딥러닝의 시작: 인공지능이 학습하는 데이터의 종류sk루키즈/생성형AI 활용을 위한 머신러닝&딥러닝 2026. 3. 18. 21:24
머신러닝을 하기 전, 가장 먼저 이해해야 할 것은 바로 재료가 되는 '데이터'입니다. 데이터 분석 분야에는 "Garbage In, Garbage Out(쓰레기가 들어가면 쓰레기가 나온다)"이라는 유명한 격언이 있습니다. 아무리 뛰어난 알고리즘(모델)을 사용하더라도, 입력되는 데이터의 품질이 엉망이거나 모델이 이해할 수 없는 형태라면 결코 좋은 예측 결과를 얻을 수 없기 때문입니다.
이번 포스팅에서는 머신러닝과 딥러닝에서 주로 다루는 데이터의 종류를 알아보고, 이 원본 데이터를 인공지능이 소화할 수 있도록 가공하는 '데이터 전처리(Data Preprocessing)' 과정에 대해서도 언급을 하겠습니다.
1. 머신러닝/딥러닝에 사용되는 데이터의 종류
데이터는 크게 엑셀 표처럼 정리하기 쉬운 정형데이터와, 형태가 자유롭고 복잡한 비정형 데이터로 나눌 수 있습니다. 전통적인 머신러닝은 주로 정형 데이터를 다루며, 딥러닝의 발전은 비정형 데이터 처리의 혁신을 가져왔습니다.
대분류 소분류 설명 대표적인 예시 정형 데이터(Structured) 수치형(Numerical) 더하고 뺄 수 있는 숫자 형태의 데이터. (연속형, 이산형) 나이, 연봉, 키, 결제 금액, 방문 획수 범주형(Categorical) 종류, 상태, 등급 등을 나누는 데이터. (명목형, 순서형) 성별, 색상, MBTI, 회원 등급(VIP/Gold) 비정형 데이터(Unstructured) 텍스트(Text) 인간이 사용하는 자연어 형태의 글자 데이터 영회 리뷰, 뉴스 기사, 이메일 본문 이미지/영상(Image) 픽셀(Pixel) 값의 배열로 이루어진 시각 데이터 강아지 사진, 자율주행 카메라 영상 음성(Audio) 주파수와 파형(Waveform)으로 이루어진 소리 데이터 사람의 음성, 음악파일
2. 데이터의 형태변환
1. 수치형 데이터 (Numerical Data) : "단위 통일"
데이터 예시
나이(20세, 30세), 연봉(3,000만원, 1억원), 방문 횟수 등
왜 변환해야 할까?
수치형 데이터는 이미 숫자이기 때문에 그대로 넣어도 된다고 생각할 수 있다. 하지만 기계는 숫자의 '단위'를 이해하지 못하고 오직 숫자의 '크기'만 본다. 예를 들어 나이 차이는 10 단위로 나지만, 연봉 차이는 수천만 단위로 난다. 이를 그대로 학습시키면 기계는 연봉이 숫자 단위가 크니, 나이보다 훨씬 중요한 데이터라고 착각하게 된다.
어떻게 변환하나? (스케일링, Scaling)
이러한 기계의 오해를 막기 위해 모든 숫자의 범위를 공평하게 맞춰준다. 가장 대표적인 방법인 표준화(Standardization)을 이용해 모든 특성의 평균을 0, 표준편차를 1로 압축한다. 이렇게 하면 나이도 -1.5~1.5 사이의 소수점이 되고, 연봉도 -1.5~1.5 사이의 소수점이 되어 기계가 편견 없이 데이터를 바라볼 수 있게 된다.
2. 범주형 데이터 (Categorical Data) : "글자를 숫자로"
데이터 예시
성별(남성, 여성), 혈액형(A, B, O, AB), 상품 카테고리 등
왜 변환해야 할까?
컴퓨터는 '남성'이나 'A형'이라는 한글을 전혀 읽지 못합니다. 따라서 반드시 숫자로 바꿔주어야 한다.
어떻게 변환하나? (인코딩, Encoding)
단순히 남성=0, 여성=1로 바꾸는 것을 라벨 인코딩(Label Encoding)이라고 한다. 하지만 '사과=0, 바나나=1, 딸기=2'로 바꿀 경우, 수학 계산기인 컴퓨터는 "딸기가 바나나보다 2배 더 큰 과일인가?"라는 엉뚱한 서열을 매길 위험이 있다. 이를 방지하기 위해 원-핫 인코딩(One-Hot Encoding)이라는 기법을 주로 사용한다. 종류의 개수만큼 새로운 열(컬럼)을 만들고, '사과인가? (1:맞다, 0:아니다)', '바나나인가? (1:맞다, 0:아니다)'처럼 오직 0과 1의 스위치 형태로 찢어서 기계의 수학적 착각을 원천 차단한다.
3. 텍스트 데이터 (Text Data) : "문장을 단어 사전의 좌표로"
데이터 예시:
영화 리뷰, 뉴스 기사, 이메일 본문 등
왜 변환해야 할까?
인간의 언어(자연어)는 문맥, 은유, 문법 구조가 얽혀 있는 가장 복잡한 비정형 데이터다. 컴퓨터가 이 문장들의 의미와 유사성을 파악하게 하려면 아주 특별한 변환이 필요하다.
어떻게 변환하나? (토큰화 및 벡터화)
먼저 문장을 의미를 가진 최소 단위(형태소나 단어)로 산산조각 내는 토큰화(Tokenization)를 진행한다. 그 후 이 단어들을 거대한 다차원 공간의 숫자 좌표로 바꾸는 워드 임베딩(Word Embedding, 예: Word2Vec) 기술을 사용한다. 이 변환을 거치고 나면 컴퓨터는 "왕(King) - 남자(Man) + 여자(Woman) = 여왕(Queen)"이라는 언어의 의미적 관계를 수학적인 덧셈 뺄셈으로 계산할 수 있게 된다.
4. 이미지 및 영상 데이터 (Image/Video Data) : "색상을 픽셀 행렬로"
데이터 예시:
고양이 사진, 자율주행 카메라 영상, 엑스레이(X-ray) 사진 등
왜 변환해야 할까?
우리의 눈에는 고양이 사진으로 보이지만, 컴퓨터의 눈에는 그저 가로세로로 촘촘하게 박힌 바둑판(픽셀, Pixel)일 뿐이다.
어떻게 변환하나? (텐서 변환 및 정규화)
이미지는 `가로 픽셀 수 X 세로 픽셀 수 X 3(RGB 색상 채널)`의 거대한 다차원 숫자 배열(Tensor)로 변환된다. 각 픽셀은 색상의 진하기에 따라 0부터 255 사이의 숫자를 가진다. 학습 속도를 높이고 모델의 안정성을 위해, 이 0~255의 숫자들을 255로 나누어 0과 1 사이의 소수점으로 정규화(Normalization)한 뒤 딥러닝(CNN 등) 모델에 입력하게 됩니다.
5. 음성 데이터 (Audio Data) : "소리의 파동을 이미지로"
데이터 예시:
사람의 목소리, 음악 파일, 기계의 소음 등
왜 변환해야 할까?
소리는 시간에 따라 변하는 공기의 진동(파형, Waveform)이다. 컴퓨터가 이 1차원적인 진동의 패턴에서 특정 목소리나 단어를 인식하게 하려면 주파수 정보를 추출해야 한다.
어떻게 변환하나? (스펙트로그램 변환)
시간에 따른 소리의 파동을 일정한 간격으로 잘라내어(Sampling), 수학적인 변환(푸리에 변환)을 거친다. 이를 통해 소리의 고저(주파수)와 크기를 한눈에 볼 수 있는 일종의 소리 사진인 스펙트로그램(Spectrogram)이나 MFCC 형태의 2차원 숫자 행렬로 변환한다. 즉, 귀로 듣는 소리 데이터를 컴퓨터가 눈으로 볼 수 있는 이미지 데이터처럼 변환하여 학습시키는 것이다.
따라서
머신러닝과 딥러닝 모델의 성능은 "알고리즘이 얼마나 뛰어난가" 이전에, "원시 데이터를 컴퓨터가 얼마나 소화하기 편한 형태의 숫자로 잘 변환하여 떠먹여 주었는가"에서 이미 절반 이상이 결정된다. 각 데이터의 태생적 한계를 이해하고 적절한 변환 기법을 적용하는 것이야말로 데이터 분석가와 AI 엔지니어의 가장 중요한 기본기라고 할 수 있다.
'sk루키즈 > 생성형AI 활용을 위한 머신러닝&딥러닝' 카테고리의 다른 글
머신러닝/딥러닝 비지도학습 주요 알고리즘 (0) 2026.03.23 머신러닝/딥러닝 지도학습(Supervised Learning) (1) 2026.03.22 머신러닝/딥러닝 : 데이터 파악 (0) 2026.03.21 머신러닝/딥러닝 데이터 전처리 (0) 2026.03.19