Feature Model and Feature Selection
2015, Thomas W. Rauber, Member, IEEE, Francisco de Assis Boldt, and Flávio Miguel Varejão
Introduction
CWRU dataset 사용
Statistical feature
envelope feature
Feature selection
dimension을 줄이고 parameter의 성능을 높이기 위함
univariate feature의 경우에는 feature selection이 필요하지 않음
ex) Fisher score 사용
multivariate feature는 search algorithm 필요
statistical, wavelets, and envelopes 같은 서로 별개인 모델에서 feature를 조합할 수도 있음
SVM 어쩌구
Training, validation, and test data splitting
Validation
LOO(leave-one-out), K-fold cross validation
estimated accuracy가 유일한 성능 평가 기준이지만 AUC-ROC(area under the receiver operating characteristic curve)같은 것도 있음
Feature models
각각 다른 signal feature extraction methods에서 비롯된 feature를 융합해서 사용했던 연구는 없었음
↓ bearing fault diagnosis를 위한 일반적인 framework와 이 논문에서 제안하는 framework
Sequence of Information Processing
Signal feature extraction: 센서로 데이터 취득
Feature pooling: 최대한 많은 정보를 갖도록 global feature vector를 assemble
Feature extraction on the feature level: feature vector에서 새로운 feature를 extract, 이 새로운 feature는 dimension도 줄어들고 machine condition의 정보를 추상적으로 가지고 있음
Feature selection: dimension reduction과 판별력을 증가시키기 위함
Classification
이 방법은 extraction 단계에서 관련 없는 feature는 버리고 관련 있는 feature를 얻을 수 있음
Statistical feature
time domain, freq. domain의 statistical features
(time domain feature 10개 + freq. domain feature 3개) * (DE, FE 두 가지 진동 데이터) = 26개의 feature
Complex envelope analysis
베어링 고장에는 4가지 fault freq.가 있음
f_s = shaft rotational freq.
f_c = fundamental cage freq. (CWRU 데이터에는 없음)
f_bpi = ball-pass inner-raceway freq.
f_bpo = ball-pass outer-raceway freq.
hilbert transform으로 계산됨
definition: 신호 h(t)와 1/πt의 convolution
analytic signal
순서를 다시 정리하면
high pass filtering of the raw signal → signal h(t) 얻음
h(t)에서 h_a(t) 얻음
Fourier transform: F{h_a(t)}
analysis its spectrum: |F{h_a(t)}|
Feature: 1% narrowband RMS energy 계산
(DE, FE 데이터 2가지) * (f_bpi, f_bpo, f_b 세가지 주파수) * (cross detection) * (sixth harmonic)
= 2 * 3 * 2 * 6 = 72개의 envelope feauture
cross detection? : For the CWRU database, the sensor at the DE, although with less confidence, can detect the faults at the FE; hence, the number of features duplicates.
Wavelet packet analysis
wavelet decomposition보다 felxible함
mother wavelet: Daubechies 4 사용
level 4까지 분해
~~ 복잡한 수학정인 정의 ~~
Feature pooling and dimensionality reduction
feature model을 얻고 나서 그것들을 common pool로 merge 시킴
feature pool의 index(?)
26개의 statistical features + 72개의 complex envelope features + 32개의 wavelet packet feature = 130개
이 feature들은 중복과 noise가 포함되어 있음 → feature vector의 dimension을 낮추는 게 목적
reference 28에서는 PCA, partial least squares, independent component analysis, Fisher discriminant analysis, and subspace-aided approach 등의 방법 사용
Feature selection
기본적으로 selection criterion과 search strategy로 구성됨
wrapper approach
classifier의 성능을 estimate..?
가장 좋은 성능을 보이는 feature의 subset을 뽑아내는 방법
filter approach
feature set을 평가하기 위해 다른 기준을 사용함
selection filter의 장점: 속도가 빠름
단점: wrapper 방식에 비해 성능이 안 좋음
사용자에게 feature-rank를 줘서 각 feature가 얼만큼의 영향력을 가지는지 알려주는 방법
Best feature(BF) search
선택 기준을 평가하는 방법
각 feature x_j(j = 1, 2, ..., D)에 대한 선택 기준 J({x_j})를 평가하고 J에 대해 feature을 내림차순으로 정렬하고 선택된 set X_d를 정렬된 set의 첫번째 d feature로 설정함
BF 장점: 속도가 빠름
BF 단점: multidimensionality of the problem을 무시함
Sequential forward selection (SFS)
empty set에서 시작해서 feature 후보군과 이미 선택된 set들을 같이 테스트하는 방법
Sequential backward selection (SBS)
모든(D개의) feature를 선택하고 D-d feature가 삭제될때까지 feature를 하나씩 삭제하는 방법
= d feature가 남아있을때까지
floating techniques
SFFS
SFBS
최근 연구에서 wrapper와 filter method를 combine하려는 시도는 고려되지 않는다(...?)
Classification and performance estimation
CV(Cross validation) techniques
x% training data, 100-x% test data
K-fold CV
계산의 복잡성을 줄이면서도 통계적 유의성을 얻을 수 있음
K개의 subset으로 나눠짐
각 subset은 training에 K-1번, test에 1번 사용됨
+) 데이터셋을 k개의 같은 크기로 나눠서 한 부분씩 test set으로 사용하여 k개의 test performance를 평균을 내는 방법
장점: LOO CV에 비해 빠른 속도, validation set approach보다 높은 정확도
LOO(leave-one-out) CV
training 시간이 너무 길지 않다면 사용할 수 있음
K-fold CV의 특수한 경우임: total dataset이 N pattern임(K = N)
단순하게 train-test data로 나누는 것보다 더 신뢰도가 높음 - 암묵적으로 각 available pattern이 테스트되기 때문임(...?)
+) N번의 모델을 만들고 각 모델을 만들 때 하나의 샘플을 제외하면서 그 제외한 샘플로 test set performance를 계산하는 방법이라고 함
장점: 모든 샘플에 대해 한번씩은 test하기 때문에 randomness가 없음, validation set approach와 다르게 매우 stable한 결과를 얻을 수 있음
단점: 연산량이 많음, k-fold CV에 비해 model의 다양성이 적음
이 논문에서는 classifier architecture의 training cost에 따라 LOO와 K-fold CV를 사용했음
Performance criteria
accuracy와 AUC-ROC 두 가지가 사용됨
AUC-ROC: 분류해야할 클래스가 두 가지이고, 각 클래스로 분류될 확률을 return하는 경우에 사용 가능
negative class가 positive class보다 훨씬 많은 경우에 좋음 ( = normal condition이 fault보다 훨신 많음)
Classifier architectures
k-nearest neighbor classifier
nonparametric method의 한 종류
새로운 데이터가 들어왔을 때 근처의 기존 데이터의 k개의 majority votes로 classification하는 방법
MLP
대표적인 artificial neural network의 한 종류
SVM
오랫동안 많은 영역에서 사용된 classifier
Experimental result
CWRU dataset 사용
Condition classes
table 3. machine condition classes defined for the experiments
일반적인 CWRU data를 사용한 논문들보다 더 많은 class를 사용함
fault의 위치, fault의 심각성, 모터에 대한 위치 등을 구분하기 위함
load 분류가 가장 어려운 문제
Signals to patterns
전체 신호는 회전 신호의 반복이기 때문에 일정한 time interval의 연속으로 자르는 게 좋음
테스트를 통해 15번의 nonoverlapping interval이 성능 저하의 threshold라고 찾음
Experiment 1: Feature extraction
각 machine condition에 따라 feature vector로 split함
↓ statistical features in the time and freq. domain
narrow band energy of the complex envelope magnitude에서 72개의 feature
six harmonic freq. 주변의 1%만큼 narrow band라고 정의함
ex) expected freq.가 30Hz (running speed of the machine) * 5.4152인 경우는 2*30* 5.4152 ( = 324.91) 근처를 봐야함 : narrow band는 interval [(324.91*0.99), (324.81*1.01)] = [321.66, 328.16 Hz]
wavelet packet analysis
fault의 종류는 같지만 심각도(결함의 크기)가 다름
대비를 높이기 위해 0.007 결함은 0hp, 0.021 결함은 3hp인 데이터 사용
freq. band 4,4와 4,12에서 값이 크게 차이남
normal 데이터는 4,0에서 값이 확 높아짐
Experiment 2: Performance Without Feature Selection
1-nearest neighbor classifier는 항상 LOO CV로 validation해야함
SVM과 MLP는 연산량이 많기 때문에 tenfold CV(10개의 fold로 나누는 CV)를 사용해야 함
statistical feature model이 가장 정확도가 떨어지고 wavelet packet이 가장 정확도 높음
complete pool이 항상 가장 정확한 건 아님(일부 feature에 노이즈가 있기 때문에 결과가 안 좋을 수도 있음)
Experiment 3: Feature selection
x 축은 선택된 feature의 수
global pool과 세가지 feature pool 다 테스트했지만 wavelet 결과만 표시
global pool의 경우에는 SFFS, SFS가 같은 기능을하고 SBS, SFBS가 같은 기능을 함
wavelet의 결과를 보면 floating기법이 sequential 결과보다 더 나은 성능을 보임
결론: global pool에서 선택된 feature의 성능이 더 좋다
Experiment 4: AUC-ROC for different feature models and number of selected features
ROC 곡선을 보기 편하게 만들기 위해(?) separating the classes 난이도를 인위적으로 높임
signal sampling resolution을 낮춤
한 signal에서 pattern의 수를 15개에서 50개로 늘림
50개의 패턴을 sample하기 위해 첫 2초만 사용함
fig. 4, 5를 통해 one feature model보다 여러 feature를 동시에 사용하는 게 더 성능이 좋다는 것을 확인할 수 있음
Experiment 5: Comparison of feature selection and feature extraction by PCA
PCA는 feature selection과 다르게 기존의 feature들을 조합해서 새로운 feature를 만들어내는 방법, feature selection은 original feature가 변하지 않지만 PCA는 variance에 따라 rank됨(variance가 크다고 해서 무조건 성능이 좋아지는 건 아님)
table 9 : feature selection(SFS) 방법과 feature extraction(PCA) 방법의 성능 비교
fig. global pool과 wavelet packet의 PCA 결과
Conclusion
3개의 feature model과 classifier architecture, performance criteria는 이미 많이 사용하고 있는 것들임
그러나 다른 논문들은 feature model의 낮은 성능을 지나치게 정교한 classifier model로 보완하려고 함
이 논문에서는 good process description을 사용하는 경우에는 classifier는 간단해도 괜찮다는 점을 시사함
Last updated