클래스 불균형 해결을 위한 DBB와 RBF 결합 결함 예측 모델
초록
본 논문은 소프트웨어 결함 예측에서 빈번히 발생하는 클래스 불균형 문제를 해결하기 위해 분포 기반 균형(Distributed‑Based Balancing, DBB) 인스턴스 선택 기법과 방사형 기저 함수 신경망(RBFNN) 분류기를 결합한 DBBRBF 모델을 제안한다. NASA, PROMISE, Softlab 등 6개의 공개 데이터셋에 10‑fold 교차 검증을 적용하여 정확도, 정밀도, 재현율, F‑점수, AUC, Balance 등 6가지 지표를 평가했으며, 기존 방법들에 비해 전반적으로 우수한 성능을 보였다. 통계적 유의성을 검증하기 위해 Kruskal‑Wallis와 Mann‑Whitney 검정을 수행하였다.
상세 분석
본 연구는 소프트웨어 결함 예측 분야에서 데이터 불균형이 모델 성능을 크게 저해한다는 점에 주목한다. 이를 해결하기 위해 저자는 두 단계의 하이브리드 접근법을 설계하였다. 첫 번째 단계는 ‘분포 기반 균형(Distributed‑Based Balancing, DBB)’이라 명명된 인스턴스 선택 기법이다. DBB는 과소표본 클래스에 대해 포아송 분포를 이용한 과샘플링을, 과다표본 클래스에 대해서는 언더샘플링을 수행한다. 또한 클래스 간 중첩(over‑lap) 영역을 제거하고, 최종적으로 모든 클래스가 동일한 샘플 수(b)를 갖도록 완전 균형을 만든다. 이 과정에서 새로운 샘플을 생성하기 위해 가우시안 분포를 활용하며, 클래스당 30개의 인스턴스를 재생성한다는 구체적인 파라미터가 제시된다. 이러한 데이터 전처리는 기존의 SMOTE와 달리 샘플링 속도를 높이면서도 원본 데이터의 통계적 특성을 보존한다는 장점을 가진다.
두 번째 단계는 방사형 기저 함수 신경망(RBFNN)이다. RBFNN은 입력층, 비선형 가우시안 활성함수를 갖는 은닉층, 그리고 선형 출력층으로 구성된 3계층 피드포워드 네트워크이며, 은닉층의 중심과 폭은 K‑means 클러스터링을 통해 초기화한다. 가중치 업데이트는 Moore‑Penrose 의사역을 이용한 폐쇄형 해법을 적용해 학습률, 에포크 수, 지역 최적해 문제 등을 회피한다. 저자는 은닉층을 단일 레이어로 제한하고, 은닉 뉴런 수를 충분히 크게 설정함으로써 보편 근사 이론에 기반한 모델 일반화를 도모한다.
실험 설계는 10‑fold 교차 검증을 기본으로 하며, 데이터 전처리 단계에서 결측값을 전역적으로 대체하고, 명목형 특성을 이진화한다. 평가 지표는 정확도(Accuracy), 정밀도(Precision), 재현율(Recall), F‑점수(F‑measure), ROC 곡선 아래 면적(AUC), 그리고 클래스 불균형을 고려한 Balance 지표를 포함한다. 통계적 검증으로는 비모수 Kruskal‑Wallis 검정과 사후 분석을 위한 Mann‑Whitney 검정을 사용해 모델 간 차이가 우연이 아님을 입증한다.
결과적으로 DBBRBF는 NASA KC1, KC2, JM1, PC1 등 주요 데이터셋에서 정확도가 98% 이상, 일부 데이터셋에서는 100%에 달했으며, Balance 지표에서도 0.99에 근접하는 높은 값을 기록했다. 이는 기존의 Naïve Bayes+MICHAC, Random Forest+MICHAC, RIPPER+MICHAC 등과 비교했을 때 전반적인 성능 향상을 의미한다. 특히 클래스 불균형이 심한 데이터셋에서 Balance가 0.79 이하였던 기존 방법들에 비해 1에 가까운 값을 보인 점은 DBB 단계가 효과적으로 샘플 분포를 재조정했음을 시사한다.
한계점으로는 실험에 사용된 하드웨어 사양이 비교적 낮아 대규모 데이터셋에 대한 확장성 검증이 부족하고, DBB의 파라미터(b, 샘플당 인스턴스 수 등)가 데이터 특성에 따라 민감하게 변할 가능성이 있다. 또한, RBFNN의 은닉 뉴런 수 선택이 경험적이며, 자동화된 최적화 절차가 제시되지 않아 재현성에 영향을 줄 수 있다. 향후 연구에서는 파라미터 자동 튜닝, 다중 코어 병렬 학습, 그리고 딥러닝 기반의 대체 분류기와의 비교를 통해 모델의 일반화 능력을 더욱 강화할 필요가 있다.
댓글 및 학술 토론
Loading comments...
의견 남기기