기계 학습을 위한 기능 선택 방법을 선택하는 방법

게시 됨: 2021-06-22

목차

기능 선택 소개

많은 기능이 기계 학습 모델에서 사용되며 그 중 일부만 중요합니다. 데이터 모델을 훈련하는 데 불필요한 기능을 사용하면 모델의 정확도가 떨어집니다. 또한 모델의 복잡성이 증가하고 일반화 능력이 감소하여 편향된 모델이 발생합니다. "때로는 적을수록 좋다"는 말은 머신 러닝의 개념과 잘 어울립니다. 많은 사용자가 데이터에서 관련 기능 집합을 식별하고 관련 없는 기능 집합을 모두 무시하는 데 어려움을 겪는 이 문제에 직면해 있습니다. 덜 중요한 기능은 대상 변수에 기여하지 않기 때문에 명명됩니다.

따라서 중요한 프로세스 중 하나는 기계 학습에서 기능 선택입니다 . 목표는 기계 학습 모델 개발을 위해 가능한 최상의 기능 세트를 선택하는 것입니다. 기능 선택은 모델의 성능에 큰 영향을 미칩니다. 데이터 정리와 함께 기능 선택은 모델 설계의 첫 번째 단계여야 합니다.

기계 학습의 기능 선택은 다음과 같이 요약될 수 있습니다.

  • 예측 변수 또는 출력에 가장 많이 기여하는 기능을 자동 또는 수동으로 선택합니다.
  • 관련 없는 기능이 있으면 관련 없는 기능에서 학습하므로 모델의 정확도가 떨어질 수 있습니다.

기능 선택의 이점

  • 데이터 과적합 감소: 데이터 수가 적으면 중복성이 줄어듭니다. 따라서 소음에 대한 결정을 내릴 가능성이 적습니다.
  • 모델의 정확도 향상: 데이터를 오도할 가능성이 줄어들수록 모델의 정확도가 높아집니다.
  • 훈련 시간 감소: 관련 없는 기능을 제거하면 더 적은 수의 데이터 포인트만 존재하므로 알고리즘 복잡성이 감소합니다. 따라서 알고리즘이 더 빨리 학습됩니다.
  • 데이터를 더 잘 해석하면 모델의 복잡성이 줄어듭니다.

기능 선택의 감독 및 비지도 방법

기능 선택 알고리즘 의 주요 목적은 모델 개발을 위한 최상의 기능 세트를 선택하는 것입니다. 머신 러닝에서 특징 선택 방법은 지도 방식과 비지도 방식으로 분류할 수 있습니다.

  1. 지도 방법: 지도 방법은 레이블이 지정된 데이터에서 특징을 선택하는 데 사용되며 관련 특징의 분류에도 사용됩니다. 따라서 구축된 모델의 효율성이 증가합니다.
  2. Unsupervised 방법 : 이 기능 선택 방법은 레이블이 지정되지 않은 데이터에 사용됩니다.

감독 방법에 따른 방법 목록

머신 러닝에서 지도 기능 선택 방법은 다음과 같이 분류할 수 있습니다.

1. 래퍼 메서드

이러한 유형의 특성 선택 알고리즘 은 알고리즘의 결과를 기반으로 특성의 성능 프로세스를 평가합니다. 탐욕 알고리즘이라고도 하는 이 알고리즘은 기능의 하위 집합을 반복적으로 사용하여 알고리즘을 훈련합니다. 중지 기준은 일반적으로 알고리즘을 교육하는 사람이 정의합니다. 모델의 기능 추가 및 제거는 모델의 사전 교육을 기반으로 수행됩니다. 이 검색 전략에는 모든 유형의 학습 알고리즘을 적용할 수 있습니다. 모델은 필터 방법에 비해 더 정확합니다.

래퍼 메서드에 사용되는 기술은 다음과 같습니다.

  1. 순방향 선택: 순방향 선택 프로세스는 각 반복 후에 모델을 개선하는 새로운 기능이 추가되는 반복적인 프로세스입니다. 빈 기능 세트로 시작합니다. 모델의 성능을 더 이상 향상시키지 않는 기능이 추가될 때까지 반복이 계속되고 중지됩니다.
  2. 역방향 선택/제거: 프로세스는 모든 기능으로 시작하는 반복 프로세스입니다. 각 반복 후에 가장 중요도가 낮은 특성이 초기 특성 세트에서 제거됩니다. 반복을 위한 중지 기준은 기능을 제거해도 모델의 성능이 더 이상 향상되지 않는 경우입니다. 이러한 알고리즘은 mlxtend 패키지에서 구현됩니다.
  3. 양방향 소거 : 양방향 소거법에는 순방향 선택과 후진 소거법이 동시에 적용되어 하나의 고유한 솔루션에 도달합니다.
  4. 철저한 기능 선택: 기능 하위 집합의 평가를 위한 무차별 대입 접근 방식이라고도 합니다. 가능한 하위 집합 집합이 생성되고 각 하위 집합에 대해 학습 알고리즘이 구축됩니다. 모델이 최상의 성능을 제공하는 하위 집합이 선택됩니다.
  5. 재귀적 특징 제거(RFE): 이 방법은 점점 더 작은 특징 집합을 재귀적으로 고려하여 특징을 선택하기 때문에 탐욕적이라고 합니다. 초기 기능 세트는 추정기를 훈련하는 데 사용되며 그 중요도는 feature_importance_attribute를 사용하여 얻습니다. 그런 다음 필요한 수의 기능만 남기고 가장 덜 중요한 기능을 제거합니다. 알고리즘은 scikit-learn 패키지에서 구현됩니다.

그림 4: 재귀적 특징 제거 기술을 보여주는 코드의 예

2. 임베디드 메소드

기계 학습 의 내장형 기능 선택 방법은 기능 상호 작용을 포함하고 합리적인 계산 비용을 유지함으로써 필터 및 래퍼 방법에 비해 특정 이점이 있습니다. 임베디드 방법에 사용되는 기술은 다음과 같습니다.

  1. 정규화: 모델의 매개변수에 패널티를 추가하여 모델에서 데이터의 과적합을 방지합니다. 계수가 패널티와 함께 ​​추가되어 일부 계수는 0이 됩니다. 따라서 계수가 0인 기능은 기능 세트에서 제거됩니다. 기능 선택 접근 방식은 Lasso(L1 regularization)와 Elastic net(L1 및 L2 regularization)을 사용합니다.
  2. SMLR(희소 다항 로지스틱 회귀): 알고리즘은 고전적인 다국적 로지스틱 회귀에 대해 ARD 사전(자동 관련성 결정)에 의한 희소 정규화를 구현합니다. 이 정규화는 각 기능의 중요도를 추정하고 예측에 유용하지 않은 차원을 제거합니다. 알고리즘 구현은 SMLR에서 수행됩니다.
  3. ARD(자동 관련성 결정 회귀): 알고리즘은 계수 가중치를 0으로 이동하고 베이지안 릿지 회귀를 기반으로 합니다. 알고리즘은 scikit-learn에서 구현할 수 있습니다.
  4. Random Forest 중요성: 기능 선택 알고리즘 은 지정된 수의 트리를 집계한 것입니다. 이 알고리즘의 트리 기반 전략은 노드의 불순물을 증가시키거나 불순물(Gini 불순물)을 줄이는 것을 기준으로 순위가 매겨집니다. 트리의 끝은 불순물 감소가 가장 적은 노드로 구성되고 트리의 시작은 불순물 감소가 가장 큰 노드로 구성됩니다. 따라서 특정 노드 아래에 있는 트리의 가지치기를 통해 중요한 기능을 선별할 수 있습니다.

3. 필터 방법

방법은 전처리 단계에서 적용됩니다. 이 방법은 매우 빠르고 저렴하며 중복, 상관 및 중복 기능을 제거하는 데 가장 효과적입니다. 지도 학습 방법을 적용하는 대신 기능의 중요도는 고유한 특성을 기반으로 평가됩니다. 알고리즘의 계산 비용은 기능 선택의 래퍼 방법에 비해 적습니다. 그러나 기능 간의 통계적 상관 관계를 도출할 만큼 데이터가 충분하지 않은 경우 결과는 래퍼 방법보다 나쁠 수 있습니다. 따라서 알고리즘은 고차원 데이터에 사용되며 래퍼 메서드를 적용할 경우 더 높은 계산 비용이 발생합니다.

Filter 메서드에 사용되는 기술은 다음과 같습니다.

  1. 정보 이득 : 정보 이득은 목표 값을 식별하기 위해 특성에서 얻은 정보의 양을 나타냅니다. 그런 다음 엔트로피 값의 감소를 측정합니다. 특성 선택의 대상 값을 고려하여 각 속성의 정보 이득을 계산합니다.
  2. 카이-제곱 검정 : 카이-제곱 방법(X 2 )은 일반적으로 두 범주형 변수 간의 관계를 검정하는 데 사용됩니다. 테스트는 데이터 세트의 다른 속성에서 관찰된 값과 예상 값 사이에 상당한 차이가 있는지 식별하는 데 사용됩니다. 귀무 가설은 두 변수 사이에 연관성이 없다는 것입니다.

원천

카이제곱 검정 공식

카이제곱 알고리즘 구현: sklearn, scipy

카이제곱 검정을 위한 코드의 예

원천

  1. CFS(Correlation-based feature selection): 방법은 " CFS(상관 기반 기능 선택) 구현: scikit-feature

세계 최고의 대학에서 온라인으로 AI 및 ML 과정 (석사, 대학원 대학원 프로그램, ML 및 AI 고급 인증 프로그램)에 참여하여 경력을 빠르게 추적하십시오 .

  1. FCBF(고속 상관 기반 필터): 위에서 언급한 Relief 및 CFS 방법에 비해 FCBF 방법이 더 빠르고 효율적입니다. 처음에 대칭 불확도 계산은 모든 피처에 대해 수행됩니다. 그런 다음 이러한 기준을 사용하여 기능을 분류하고 중복 기능을 제거합니다.

대칭적 불확실성 = x의 정보 이득 | y를 엔트로피의 합으로 나눈 값입니다. FCBF 구현: skfeature

  1. 피셔 점수: 피셔 비율(FIR)은 특성당 각 클래스에 대한 표본 평균 간의 거리를 분산으로 나눈 값으로 정의됩니다. 각 기능은 Fisher 기준에 따른 점수에 따라 독립적으로 선택됩니다. 이것은 차선의 기능 세트로 이어집니다. Fisher의 점수가 클수록 더 잘 선택된 기능을 나타냅니다.

원천

피셔 점수 공식

Fisher 점수 구현: scikit-feature

Fisher 점수 기법을 보여주는 코드의 출력

원천

Pearson의 상관 계수: 두 개의 연속 변수 간의 연관성을 수량화하는 척도입니다. 상관 계수 값의 범위는 변수 간의 관계 방향을 정의하는 -1에서 1까지입니다.

  1. 분산 임계값: 분산이 특정 임계값을 충족하지 않는 기능이 제거됩니다. 이 방법을 통해 분산이 0인 특징을 제거합니다. 고려되는 가정은 더 높은 분산 기능이 더 많은 정보를 포함할 가능성이 있다는 것입니다.

그림 15: Variance 임계값의 구현을 보여주는 코드의 예

  1. MAD(Mean Absolute Difference): 이 방법은 평균 절대값을 계산합니다.

평균값과의 차이.

MAD(Mean Absolute Difference) 구현을 보여주는 코드 및 해당 출력의 예

원천

  1. 산포 비율: 산포 비율은 주어진 피처에 대한 기하 평균(GM)에 대한 산술 평균(AM)의 비율로 정의됩니다. 해당 값의 범위는 주어진 기능에 대해 AM ≥ GM이므로 +1에서 ∞입니다.

더 높은 분산 비율은 더 높은 Ri 값을 의미하므로 더 관련성이 높은 기능입니다. 반대로 Ri가 1에 가까우면 관련성이 낮은 특성을 나타냅니다.

  1. 상호 의존성: 이 방법은 두 변수 간의 상호 의존성을 측정하는 데 사용됩니다. 한 변수에서 얻은 정보는 다른 변수에 대한 정보를 얻는 데 사용할 수 있습니다.
  2. 라플라시안 점수: 같은 클래스의 데이터는 종종 서로 가깝습니다. 지형지물의 중요성은 지역성 보존의 힘으로 평가할 수 있습니다. 각 기능에 대한 라플라시안 점수가 계산됩니다. 가장 작은 값이 중요한 치수를 결정합니다. Laplacian 점수 구현: scikit-feature.

결론

기계 학습 프로세스의 기능 선택은 기계 학습 모델 개발을 위한 중요한 단계 중 하나로 요약될 수 있습니다. 특성 선택 알고리즘의 프로세스는 고려 중인 모델과 관련이 없거나 중요하지 않은 특성을 제거하여 데이터의 차원을 감소시킵니다. 관련 기능은 모델의 훈련 시간을 단축하여 고성능을 얻을 수 있습니다.

머신 러닝에 대해 자세히 알아보려면 IIIT-B & upGrad의 기계 학습 및 AI 경영자 PG 프로그램을 확인하세요. 이 프로그램은 일하는 전문가를 위해 설계되었으며 450시간 이상의 엄격한 교육, 30개 이상의 사례 연구 및 과제, IIIT를 제공합니다. -B 동문 자격, 5개 이상의 실용적인 실습 캡스톤 프로젝트 및 최고의 기업과의 취업 지원.

필터 방법은 래퍼 방법과 어떻게 다릅니까?

래퍼 방법은 분류기 성능을 기반으로 기능이 얼마나 유용한지 측정하는 데 도움이 됩니다. 반면에 필터 방법은 교차 검증 성능이 아닌 일변량 통계를 사용하여 기능의 고유한 품질을 평가하므로 기능의 관련성을 판단한다는 의미입니다. 결과적으로 래퍼 방법은 분류기 성능을 최적화하므로 더 효과적입니다. 그러나 반복되는 학습 프로세스와 교차 검증으로 인해 래퍼 기법은 필터 기법보다 계산 비용이 더 많이 듭니다.

기계 학습에서 순차 순방향 선택이란 무엇입니까?

필터 선택보다 비용이 훨씬 많이 들지만 일종의 순차적 기능 선택입니다. 이상적인 기능 하위 집합을 찾기 위해 분류기 성능을 기반으로 기능을 반복적으로 선택하는 탐욕 검색 기술입니다. 빈 기능 하위 집합으로 시작하여 매 라운드마다 하나의 기능을 계속 추가합니다. 이 기능 중 하나는 기능 하위 집합에 없는 모든 기능 풀에서 선택되며 다른 기능과 결합할 때 최고의 분류기 성능을 제공하는 기능입니다.

기능 선택에 필터 방법을 사용할 때의 제한 사항은 무엇입니까?

필터 접근 방식은 래퍼 및 포함된 기능 선택 방법보다 계산 비용이 저렴하지만 몇 가지 단점이 있습니다. 일변량 접근 방식의 경우 이 전략은 종종 기능을 선택하는 동안 기능 상호 의존성을 무시하고 각 기능을 독립적으로 평가합니다. 기능 선택의 다른 두 가지 방법과 비교할 때 때때로 컴퓨팅 성능이 저하될 수 있습니다.