맨위로가기

특징 공학

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

특징 공학은 기계 학습 및 통계적 모델링에서 데이터의 특징을 선택, 생성, 변환 및 추출하는 과정을 의미한다. 이 과정은 특징 브레인스토밍, 결정, 생성, 테스트 및 개선을 포함하며, 데이터 클러스터링 및 예측 모델링에 활용된다. 특징 공학은 자동화 기술을 통해 효율성을 높이고 있으며, 피처 스토어를 통해 특징을 저장하고 관리한다. 딥 러닝의 대안적 접근 방식도 존재하지만, 데이터 전처리 및 모델 설정의 어려움이 있다.

더 읽어볼만한 페이지

  • 기계 학습 - 비지도 학습
    비지도 학습은 레이블이 없는 데이터를 통해 패턴을 발견하고 데이터 구조를 파악하는 것을 목표로 하며, 주성분 분석, 군집 분석, 차원 축소 등의 방법을 사용한다.
  • 기계 학습 - 지도 학습
    지도 학습은 레이블된 데이터를 사용하여 입력 데이터와 출력 레이블 간의 관계를 학습하는 기계 학습 분야로, 예측 모델 생성, 알고리즘 선택, 모델 최적화, 정확도 평가 단계를 거치며, 회귀 및 분류 문제에 적용되고 다양한 확장 기법과 성능 평가 방법을 활용한다.
특징 공학
개요
정의기계 학습 모델의 성능을 향상시키기 위해 원시 데이터에서 특징을 추출하고 변환하는 과정
목표모델이 학습하기에 적합한 형태로 데이터를 변환하여 예측 정확도 및 성능 향상
필요성데이터의 품질과 특징 표현 방식이 모델 성능에 큰 영향
원시 데이터는 모델이 직접 사용하기에 부적합한 경우가 많음
중요성모델 성능 개선
데이터 이해도 향상
일반화 능력 향상
주요 단계
1. 특징 추출원시 데이터에서 유용한 특징을 식별하고 추출하는 과정
예: 텍스트 데이터에서 단어 빈도수, 이미지 데이터에서 색상 히스토그램 추출
2. 특징 선택모델 학습에 가장 관련성이 높은 특징을 선택하는 과정
불필요하거나 중복된 특징 제거
예: 분산 분석, 상관 분석 등을 통해 특징 선택
3. 특징 변환추출된 특징을 모델이 학습하기에 적합한 형태로 변환하는 과정
예: 정규화, 표준화, PCA 등을 통해 특징 변환
일반적인 기술
1. 결측치 처리결측치를 적절한 값으로 대체하거나 제거
예: 평균값 대체, 최빈값 대체, 결측치 제거
2. 이상치 처리이상치를 탐지하고 제거하거나 변환
예: IQR 기반 이상치 탐지, Z-score 기반 이상치 탐지
3. 스케일링특징 값의 범위를 조정하여 모델 학습 속도 및 성능 향상
예: Min-Max 스케일링, 표준화
4. 인코딩범주형 데이터를 숫자형 데이터로 변환
예: 원-핫 인코딩, 레이블 인코딩
5. 차원 축소고차원 데이터를 저차원 데이터로 변환하여 모델 복잡도 감소 및 성능 향상
예: PCA, LDA
예시
이미지 처리특징 추출:
엣지, 코너, 텍스처 등의 시각적 특징 추출
특징 변환:
스케일 불변 특징 변환 (SIFT), 방향성 기울기 히스토그램 (HOG)
텍스트 처리특징 추출:
단어 빈도수 (TF), 역문서 빈도수 (IDF), TF-IDF
특징 변환:
단어 임베딩 (Word2Vec, GloVe, FastText)
시계열 데이터특징 추출:
이동 평균, 지수 평활, 계절성 분해
특징 변환:
푸리에 변환, 웨이블릿 변환
추가 정보
관련 개념특징 선택
차원 축소
표현 학습
참고 자료Hastie, Tibshirani, Friedman (2009). The Elements of Statistical Learning: Data Mining, Inference, and Prediction. Springer.
MacQueron C (2021). SOLID-LIQUID MIXING IN STIRRED TANKS : Modeling, Validation, Design Optimization and Suspension Quality Prediction.
Stanford University (2013). Machine Learning and AI via Brain simulations.
주의사항특징 공학은 데이터와 모델에 따라 적절한 방법을 선택해야 함
과도한 특징 공학은 과적합을 유발할 수 있음

2. 과정

특징 공학은 일반적으로 다음과 같은 과정을 거친다.[42]


  • 특징을 브레인스토밍하거나 테스트한다.[43]
  • 어떤 특징을 만들지 결정한다.
  • 특징을 만든다.
  • 확인된 기능이 작업에 미치는 영향을 테스트한다.
  • 필요하다면 특징을 개선한다.
  • 반복한다.

3. 클러스터링

특징 공학은 데이터 세트에서 특징 객체 또는 샘플 객체의 클러스터링에 응용된다. 특히 행렬 분해를 기반으로 하는 특징 공학은 특징 계수에 비음수 제약 조건을 적용하여 데이터 클러스터링에 광범위하게 사용되었다. 여기에는 ''비음수 행렬 분해''(NMF),[6] ''비음수 행렬 삼중 분해''(NMTF),[7] ''비음수 텐서 분해/인수 분해''(NTF/NTD) 등이 포함된다.[8] 이러한 알고리즘으로 추출된 특징 벡터 계수에 대한 비음수 제약 조건은 부분 기반 표현을 생성하며, 서로 다른 인수 행렬은 자연스러운 클러스터링 속성을 나타낸다. 하드 클러스터링을 위한 ''직교성 제약 인수 분해''와 알고리즘의 고유한 문제를 극복하기 위한 ''매니폴드 학습''을 포함하여, 위에서 언급한 특징 공학 방법의 여러 확장 기능이 보고되었다.

다른 종류의 특징 공학 알고리즘에는 여러 상호 관련된 데이터 세트에서 공통적인 숨겨진 구조를 활용하여 합의(공통) 클러스터링 방식을 얻는 방법이 있다. 한 예로는 여러 데이터 세트에서 공통 클러스터링 방식을 추출하는 ''합의 행렬 분해 기반 다중 뷰 분류''(MCMD)가 있다.[2] MCMD는 두 가지 유형의 클래스 레이블(스케일 가변 및 스케일 불변 클러스터링)을 출력하도록 설계되었으며, 다음과 같은 특징을 가진다.


  • 계산적으로 강건하여 정보가 누락되어도 괜찮다.
  • 모양 및 스케일 기반의 이상치를 얻을 수 있다.
  • 고차원 데이터를 효과적으로 처리할 수 있다.


결합된 행렬 및 텐서 분해는 다중 뷰 특징 공학에서 널리 사용된다.[9]

4. 예측 모델링

특징 공학은 기계 학습과 통계적 모델링에서 데이터 특징을 선택, 생성, 변환 및 추출하는 과정을 포함한다. 주요 구성 요소는 다음과 같다.


  • 기존 데이터로부터 특징 생성
  • 누락되거나 유효하지 않은 특징 변환 및 대입
  • 주성분 분석(PCA), 독립 성분 분석(ICA), 선형 판별 분석(LDA)과 같은 방법을 통한 데이터 차원 축소
  • 중요도 점수와 상관 행렬을 기반으로 모델 훈련에 가장 적합한 특징 선택[10]


특징은 중요도가 다양하며,[11] 비교적 중요하지 않은 특징도 모델에 기여할 수 있다. 특징 선택은 모델이 훈련 데이터 세트에 지나치게 특화되는 현상(과적합)을 방지하기 위해 특징 수를 줄일 수 있다.[12]

특징 폭발은 식별된 특징 수가 효과적인 모델 추정 또는 최적화에 너무 많을 때 발생한다. 일반적인 원인은 다음과 같다.

  • 특징 템플릿 - 새로운 특징을 코딩하는 대신 특징 템플릿 구현
  • 특징 조합 - 선형 시스템으로 표현할 수 없는 조합


특징 폭발은 정규화 (수학), 커널 방법 및 특징 선택과 같은 기술을 통해 제한될 수 있다.[13]

5. 자동화

특징 공학의 자동화는 1990년대부터 연구되어 온 주제이다.[14] 자동 특징 공학을 통합한 기계 학습 소프트웨어는 2016년부터 상용화되었다.[15] 관련 학술 문헌은 크게 두 가지 유형으로 나눌 수 있다.


  • 다중 관계 의사 결정 트리 학습(MRDTL)은 의사 결정 트리와 유사한 지도 학습 알고리즘을 사용한다.
  • 심층 특징 합성은 더 간단한 방법을 사용한다.

5. 1. 오픈 소스 구현

관계형 데이터 및 시계열 데이터의 특징 공학을 자동화하는 다양한 오픈 소스 라이브러리와 도구가 있다.

  • '''featuretools''': 기계 학습을 위한 특징 행렬로 시계열 및 관계형 데이터를 변환하기 위한 파이썬 라이브러리이다.[18][19][20]
  • '''MCMD''': 여러 데이터 세트의 공동 클러스터링을 위한 오픈 소스 특징 공학 알고리즘이다.[21][2]
  • '''OneBM''' (One-Button Machine): 관계형 데이터에 대한 특징 변환과 특징 선택을 특징 선택 기술과 결합한다.[22] OneBM은 데이터 과학자가 데이터 탐색 시간을 줄여 짧은 시간에 많은 아이디어를 시도하고 오류를 범할 수 있도록 돕는다. 또한 데이터 과학에 익숙하지 않은 비전문가도 적은 노력, 시간, 비용으로 데이터에서 빠르게 가치를 추출할 수 있도록 한다.[22]
  • '''getML community''': 시계열 및 관계형 데이터에 대한 자동화된 특징 공학을 위한 오픈 소스 도구이다.[23][24] C/C++(C++)로 구현되었으며 파이썬 인터페이스를 제공한다.[24] tsflex, tsfresh, tsfel, featuretools 또는 kats보다 최소 60배 빠르다는 것이 입증되었다.[24]
  • '''tsfresh''': 시계열 데이터에 대한 특징 추출을 위한 파이썬 라이브러리이다.[25] 가설 검정을 사용하여 특징의 품질을 평가한다.[26]
  • '''tsflex''': 시계열 데이터에서 특징을 추출하기 위한 오픈 소스 파이썬 라이브러리이다.[27] 100% 파이썬으로 작성되었음에도 tsfresh, seglearn 또는 tsfel보다 빠르고 메모리 효율적임이 입증되었다.[28]
  • '''seglearn''': scikit-learn 파이썬 라이브러리에 대한 다변량, 순차적 시계열 데이터의 확장이다.[29]
  • '''tsfel''': 시계열 데이터에 대한 특징 추출을 위한 파이썬 패키지이다.[30]
  • '''kats''': 시계열 데이터를 분석하기 위한 파이썬 툴킷이다.[31]

6. 피처 스토어

'''피처 스토어'''는 피처를 저장하고 정리하는 곳으로, 데이터 과학자가 모델을 훈련하거나(모델 훈련), 훈련된 모델을 가진 애플리케이션이 예측을 수행하는(예측 수행) 명시적인 목적을 위해 사용된다. 여러 다른 데이터 소스에서 생성된 피처 그룹을 생성, 업데이트하거나, 모델 훈련 또는 피처를 계산하지 않고 예측을 위해 필요할 때 검색하려는 애플리케이션에서 사용할 새로운 데이터 세트를 생성하고 업데이트할 수 있는 중앙 위치이다.[34]

피처 스토어는 피처를 생성하는 데 사용되는 코드를 저장하고, 해당 코드를 원시 데이터에 적용하며, 요청 시 해당 피처를 모델에 제공하는 기능을 포함한다. 유용한 기능으로는 피처 버전 관리 및 피처를 사용할 수 있는 상황을 관리하는 정책이 있다.[35]

피처 스토어는 독립형 소프트웨어 도구이거나 기계 학습 플랫폼에 내장될 수 있다.

7. 대안

특징 공학은 도메인 전문 지식을 요구하고 시행착오를 거치는 경우가 많기 때문에 시간이 오래 걸리고 오류가 발생하기 쉬운 과정일 수 있다.[36][37] 딥 러닝 알고리즘은 특징 공학에 의존하지 않고도 대량의 원시 데이터를 처리하는 데 사용될 수 있다.[38] 그러나 딥 러닝 알고리즘도 여전히 입력 데이터의 신중한 전처리 및 정리가 필요하다.[39] 또한, 딥 뉴럴 네트워크에 적합한 아키텍처, 하이퍼파라미터, 최적화 알고리즘을 선택하는 것은 어렵고 반복적인 과정일 수 있다.[40]

참조

[1] 서적 The Elements of Statistical Learning: Data Mining, Inference, and Prediction https://books.google[...] Springer 2009
[2] 간행물 Multi-view feature engineering for day-to-day joint clustering of multiple traffic datasets 2024-05-01
[3] 서적 Understanding Machine Learning: From Theory to Algorithms Cambridge University Press
[4] 서적 Probabilistic Machine Learning The MIT Press (Copyright 2022 Massachusetts Institute of Technology, this work is subject to a Creative Commons CC-BY-NC-ND license)
[5] 보고서 SOLID-LIQUID MIXING IN STIRRED TANKS : Modeling, Validation, Design Optimization and Suspension Quality Prediction https://www.research[...] 2021
[6] 간행물 Learning the parts of objects by non-negative matrix factorization https://www.nature.c[...] 1999
[7] 서적 2011 IEEE 11th International Conference on Data Mining IEEE 2011
[8] arXiv Nonnegative approximations of nonnegative tensors 2009-04-12
[9] 간행물 Multi-aspect Learning https://doi.org/10.1[...] 2023
[10] 웹사이트 Feature engineering - Machine Learning Lens https://docs.aws.ama[...] 2024-03-01
[11] 웹사이트 Feature Engineering http://www.cs.prince[...] 2010-04-22
[12] 웹사이트 Feature engineering and selection http://www.cs.berkel[...] Alexandre Bouchard-Côté 2009-10-01
[13] 웹사이트 Feature engineering in Machine Learning https://ufal.mff.cun[...] Zdenek Zabokrtsky
[14] 서적 Principles of Data Mining and Knowledge Discovery
[15] 웹사이트 Its all about the features https://reality.ai/i[...] 2017-09
[16] 서적 Proceedings. 20th International Conference on Data Engineering
[17] 서적 Knowledge Discovery in Databases: PKDD 2007
[18] 웹사이트 What is Featuretools? https://featuretools[...]
[19] 웹사이트 Featuretools - An open source python framework for automated feature engineering https://www.featuret[...]
[20] 웹사이트 github: alteryx/featuretools https://github.com/a[...]
[21] Citation mcmd: Multi-view Classification framework based on Consensus Matrix Decomposition developed by Shubham Sharma at QUT https://github.com/a[...] 2024-04-14
[22] arXiv One button machine for automating feature engineering in relational databases 2017-06-01
[23] 웹사이트 getML documentation https://docs.getml.c[...]
[24] 웹사이트 github: getml/getml-community https://github.com/g[...]
[25] 웹사이트 tsfresh documentation https://tsfresh.read[...]
[26] 웹사이트 Time Series FeatuRe Extraction on basis of Scalable Hypothesis tests (tsfresh – A Python package) https://www.research[...]
[27] 웹사이트 predict-idlab/tsflex https://github.com/p[...]
[28] 간행물 tsflex: Flexible time series processing & feature extraction https://www.scienced[...] 2022-09-07
[29] 웹사이트 seglearn user guide https://dmbee.github[...]
[30] 웹사이트 Welcome to TSFEL documentation! https://tsfel.readth[...]
[31] 웹사이트 github: facebookresearch/Kats https://github.com/f[...]
[32] 웹사이트 Automating big-data analysis https://news.mit.edu[...] 2015-10-16
[33] 서적 2015 IEEE International Conference on Data Science and Advanced Analytics (DSAA) 2015
[34] 웹사이트 What is a feature store https://www.features[...]
[35] 웹사이트 An Introduction to Feature Stores https://phaseai.com/[...]
[36] 웹사이트 Feature Engineering in Machine Learning https://www.section.[...] 2023-03-21
[37] 웹사이트 5 Reasons Why Feature Engineering is Challenging https://www.exploriu[...] Explorium 2021-10-25
[38] 서적 The art of statistics : learning from data https://www.worldcat[...] 2019
[39] 논문 Deep Learning: A Comprehensive Overview on Techniques, Taxonomy, Applications and Research Directions 2021-11
[40] 간행물 Neural Networks: Tricks of the Trade Springer Berlin Heidelberg 2023-03-21
[41] 웹인용 Machine Learning and AI via Brain simulations https://ai.stanford.[...] 2019-08-01
[42] 웹인용 Big Data: Week 3 Video 3 - Feature Engineering https://www.youtube.[...]
[43] 저널 Big data and intelligent software systems https://content.iosp[...] 2018-01-01



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com