특징 공학
"오늘의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]
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