머신러닝 특징 선택, Feature Selection - 부스트키워드 블로그 커버 이미지
검색엔진 원리
2026년 10월 24일

머신러닝이 중요한 단어만 골라내는 법: 특징 선택(Feature Selection) 쉽게 이해하기

부스트키워드 팀

부스트키워드 팀

검색 데이터로 키워드의 검색량, 트렌드, 검색 의도를 파악하고 마케팅 의사결정을 돕는 도구 부스트키워드를 만듭니다.


앞서 나이브 베이즈나 SVM 같은 텍스트 분류 알고리즘을 살펴보면서, 문서에 등장하는 단어 하나하나를 판단의 근거로 삼는다고 설명했습니다. 그런데 문서에는 수천, 수만 개의 서로 다른 단어가 등장할 수 있는데, 이 많은 단어를 정말 모두 사용하는 것이 좋을까요? 사실은 그렇지 않습니다. 오히려 불필요한 단어를 걸러내고 정말 도움이 되는 단어만 골라 쓰는 것이 더 좋은 성능으로 이어지는 경우가 많습니다. 이 글에서는 이러한 특징 선택(Feature Selection)의 원리를 예제와 함께 살펴봅니다.

단어가 많다고 무조건 좋은 것은 아니다

문서 분류에 사용되는 '특징(Feature)'이란 무엇인가

머신러닝에서 '특징(Feature)'이란 모델이 판단의 근거로 삼는 정보의 단위를 말합니다. 텍스트 분류에서는 보통 문서에 등장하는 단어 하나하나가 각각 하나의 특징이 됩니다. 즉 문서에 1만 개의 서로 다른 단어가 등장한다면, 이 문서는 1만 개의 특징으로 표현되는 셈입니다.

단어 수가 너무 많을 때 생기는 문제

이렇게 특징의 수가 지나치게 많아지면 두 가지 문제가 발생합니다. 첫째, 계산해야 할 데이터의 양이 늘어나면서 모델을 학습시키고 예측하는 데 필요한 시간과 자원이 함께 늘어납니다. 둘째, 그리고 더 중요한 문제로, 실제로는 분류와 아무런 관련이 없는 단어들까지 모두 반영하다 보면, 모델이 학습 데이터에 지나치게 맞춰져 새로운 데이터에는 오히려 성능이 떨어지는 현상(이를 과적합이라고 부릅니다)이 나타날 수 있습니다.

특징 선택(Feature Selection)이란 무엇인가

도움이 되는 단어와 도움이 안 되는 단어를 구분한다는 발상

특징 선택은 전체 단어들 중에서, 실제로 분류 작업에 도움이 되는 단어들만 미리 골라내고 나머지는 제외하는 작업입니다. 예를 들어 스포츠 기사와 경제 기사를 구분하는 문제에서, "그리고"나 "합니다" 같은 단어는 두 카테고리 모두에서 비슷한 비율로 등장하므로 구분에 별 도움이 되지 않는 반면, "득점"이나 "환율" 같은 단어는 특정 카테고리에 훨씬 편중되어 등장하므로 구분에 큰 도움이 됩니다.

특징 선택을 거치면 얻는 두 가지 이득: 속도와 정확도

이렇게 도움이 되는 단어만 골라내면, 모델이 처리해야 할 데이터의 양이 줄어들어 학습과 예측 속도가 빨라집니다. 동시에 분류에 방해가 되거나 무의미한 정보를 미리 제거함으로써, 오히려 분류 정확도가 향상되는 경우도 많습니다.

어떤 단어가 '도움이 되는' 단어일까: 대표적인 평가 기준

특정 카테고리와 유독 자주 같이 등장하는 단어 찾기

어떤 단어가 분류에 도움이 되는지를 판단하는 대표적인 방법 중 하나가 상호 정보량입니다. 개념적으로 설명하면, 어떤 단어가 등장했다는 사실을 알았을 때 그 문서가 어떤 카테고리에 속할지를 훨씬 더 자신 있게 예측할 수 있다면, 그 단어는 상호 정보량이 높은, 즉 유용한 단어로 평가됩니다. 반대로 그 단어의 등장 여부가 카테고리 예측에 별 영향을 주지 못한다면 유용성이 낮은 단어로 평가됩니다.

카이제곱 검정: 우연이라고 보기 힘든 연관성 찾기

또 다른 대표적인 방법은 카이제곱 검정입니다. 이는 통계학에서 널리 쓰이는 방법으로, "이 단어와 이 카테고리 사이의 관계가 단순히 우연이라고 보기에는 너무 뚜렷하지 않은가"를 검증하는 방식입니다. 특정 단어가 특정 카테고리에서 예상보다 훨씬 자주(또는 훨씬 드물게) 등장한다면, 이는 우연이 아니라 실제로 의미 있는 연관성이 있다고 판단할 수 있습니다.

간단한 예제로 이해하는 특징 선택

스포츠 기사와 경제 기사를 구분하는 단어 후보들 나열해보기

스포츠 기사 500개와 경제 기사 500개를 놓고, 몇 가지 단어의 등장 패턴을 살펴본다고 가정해봅시다.

  • "그리고": 스포츠 기사 480개, 경제 기사 470개에 등장 (양쪽 모두에서 비슷하게 자주 등장)
  • "합니다": 스포츠 기사 300개, 경제 기사 310개에 등장 (양쪽 모두에서 비슷하게 자주 등장)
  • "득점": 스포츠 기사 420개, 경제 기사 5개에 등장 (스포츠 기사에 압도적으로 편중)
  • "환율": 스포츠 기사 3개, 경제 기사 400개에 등장 (경제 기사에 압도적으로 편중)

어떤 단어를 남기고 어떤 단어를 버릴지 판단하는 과정

이 표를 보면 "그리고"와 "합니다"는 두 카테고리에서 거의 비슷한 비율로 등장하기 때문에, 이 단어의 등장 여부만으로는 스포츠 기사인지 경제 기사인지 구분하는 데 거의 도움이 되지 않습니다. 반면 "득점"과 "환율"은 한쪽 카테고리에 매우 편중되어 등장하므로, 이 단어가 등장했다는 사실만으로도 어느 카테고리에 속할지 상당히 자신 있게 짐작할 수 있습니다. 특징 선택은 바로 이런 방식으로 "그리고", "합니다" 같은 단어는 걸러내고, "득점", "환율" 같은 단어는 남기는 작업을 자동으로, 그리고 수만 개의 단어를 대상으로 체계적으로 수행합니다.

특징 선택 없이 모든 단어를 다 쓰면 안 되는 이유

특징 선택을 거치지 않고 모든 단어를 다 사용하면, "그리고"나 "합니다"처럼 분류에 도움이 안 되는 수많은 단어들이 모델에 불필요한 잡음으로 작용할 수 있습니다. 특히 학습에 사용한 데이터에만 우연히 존재하는 특이한 패턴까지 모델이 그대로 암기해버리는 과적합 현상은, 정작 새로운 문서를 분류할 때는 오히려 성능을 떨어뜨리는 원인이 됩니다. 적절한 특징 선택은 이러한 과적합을 줄이고, 모델이 진짜 의미 있는 패턴에 집중하도록 도와줍니다.

실제로 어디에 쓰일까

스팸 필터링, 뉴스 분류 등에서 계산 속도와 정확도를 함께 높이는 방법

특징 선택은 스팸 메일 필터링, 뉴스 기사 자동 분류, 리뷰 감정 분석 등 다양한 텍스트 분류 작업의 전처리 단계에서 널리 활용됩니다. 방대한 단어 중 정말 중요한 것들만 추려냄으로써, 앞서 다룬 나이브 베이즈나 SVM 같은 분류 알고리즘이 더 빠르고 정확하게 작동하도록 도와줍니다.

텍스트 외 다른 데이터에서의 특징 선택

특징 선택의 개념은 텍스트 데이터에만 국한되지 않습니다. 이미지 데이터에서 분류에 도움이 되는 시각적 특징만 골라내거나, 여러 항목으로 이루어진 정형 데이터(예: 고객의 나이, 소득, 구매 이력 등)에서 예측에 실제로 유용한 항목만 골라내는 데에도 동일한 원리가 널리 응용됩니다.

정리하며

특징 선택은 "정보가 많을수록 무조건 좋다"는 통념과 달리, 오히려 불필요하거나 도움이 되지 않는 정보를 걸러내는 것이 모델의 속도와 정확도를 함께 높여줄 수 있다는 사실을 보여주는 기법입니다. 상호 정보량이나 카이제곱 검정 같은 통계적 방법을 활용해, 수만 개의 단어 중 정말 의미 있는 소수의 단어만 골라내는 이 과정은, 오늘날에도 다양한 텍스트 분류 시스템의 성능을 뒷받침하는 중요한 밑작업으로 자리 잡고 있습니다.

Q.특징 선택은 사람이 직접 해야 하나요, 자동으로 되나요?

A.상호 정보량이나 카이제곱 검정 같은 방법을 이용하면 수만 개의 단어에 대해서도 컴퓨터가 자동으로 각 단어의 유용성을 계산해서 순위를 매길 수 있습니다. 다만 어느 정도의 단어를 남길지, 어떤 평가 기준을 사용할지 등은 사람이 판단하고 조정하는 경우가 많습니다.

Q.특징을 너무 많이 줄이면 오히려 성능이 나빠지지 않나요?

A.그렇습니다. 지나치게 적은 수의 단어만 남기면, 실제로 분류에 도움이 될 수 있는 유용한 정보까지 함께 버려질 위험이 있습니다. 그래서 실무에서는 특징의 수를 여러 단계로 바꿔가며 성능을 비교해보고, 가장 균형 잡힌 지점을 찾는 방식을 흔히 사용합니다.

Q.딥러닝에서도 특징 선택이 필요한가요?

A.전통적인 특징 선택 기법은 주로 나이브 베이즈나 SVM 같은 고전적인 머신러닝 방법과 함께 많이 쓰였습니다. 딥러닝 모델은 원본 데이터로부터 스스로 유용한 특징을 학습하는 능력이 뛰어나 명시적인 특징 선택 과정이 상대적으로 덜 필요한 경우가 많지만, 데이터 전처리나 계산 자원 절약 등의 이유로 여전히 유용하게 활용되는 경우도 있습니다.

Written by

부스트키워드 팀

부스트키워드 팀

검색 데이터로 키워드의 검색량, 트렌드, 검색 의도를 파악하고 마케팅 의사결정을 돕는 도구 부스트키워드를 만듭니다.