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

  1. Signal feature extraction: 센서로 데이터 취득

  2. Feature pooling: 최대한 많은 정보를 갖도록 global feature vector를 assemble

  3. Feature extraction on the feature level: feature vector에서 새로운 feature를 extract, 이 새로운 feature는 dimension도 줄어들고 machine condition의 정보를 추상적으로 가지고 있음

  4. Feature selection: dimension reduction과 판별력을 증가시키기 위함

  5. 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

    h~(t):=H{h(t)}:=h(t)1πt=1πh(t)dτtτ\tilde h\left( t \right): = H\left\{ {h\left( t \right)} \right\}: = h\left( t \right)*{1 \over {\pi t}} = {1 \over \pi }\int_{ - \infty }^\infty {h\left( t \right){{d\tau } \over {t - \tau }}}
    • analytic signal

      ha(t):=h(t)+ih~(t){h_a}\left( t \right): = h\left( t \right) + i\tilde h\left( t \right)
  • 순서를 다시 정리하면

    1. high pass filtering of the raw signal → signal h(t) 얻음

    2. h(t)에서 h_a(t) 얻음

    3. Fourier transform: F{h_a(t)}

    4. 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함

  1. ↓ statistical features in the time and freq. domain

  2. 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]

  3. 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 난이도를 인위적으로 높임

    1. signal sampling resolution을 낮춤

    2. 한 signal에서 pattern의 수를 15개에서 50개로 늘림

    3. 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