모델트리를 활용한 소프트웨어 노력 추정 적응 전략
초록
본 논문은 유사 사례 기반 소프트웨어 노력 추정에서 기존의 선형 적응 방식이 복잡하고 범주형 변수가 많은 데이터에 부적합한 문제를 해결하고자, 모델 트리(Model Tree)를 이용한 새로운 적응 전략을 제안한다. 모델 트리는 범주형 속성을 자연스럽게 처리하고 학습 과정에서 사용자 개입을 최소화한다. 7개의 공개 데이터셋을 3‑Fold 교차 검증으로 실험했으며, K‑유사 사례(K=1~3)를 사용한 결과, 제안 방법이 선형 크기 적응, 선형 유사도 적응, 평균 회귀, 무적응 등 기존 기법보다 추정 정확도가 유의하게 향상됨을 확인하였다.
상세 분석
이 연구는 소프트웨어 개발 노력 추정에서 가장 널리 사용되는 유사 사례 기반 추정(Estimation by Analogy, EBA)의 핵심 단계인 ‘적응(adaptation)’에 초점을 맞춘다. 기존 적응 기법은 주로 선형 크기 조정(linear size adjustment)이나 선형 유사도 조정(linear similarity adjustment)을 사용했으며, 이러한 방식은 변수 간 비선형 관계를 포착하지 못하고, 특히 범주형 속성이 다수 포함된 데이터셋에서는 성능 저하가 두드러진다. 비선형 적응을 위해 신경망이나 유전 알고리즘을 적용하는 연구도 있지만, 이들 방법은 모델 구조 설계, 하이퍼파라미터 튜닝, 학습 과정 관리 등 사용자 개입이 많고 구현 복잡도가 높아 실무 적용에 제약이 있다.
논문은 이러한 문제점을 해결하기 위해 모델 트리(Model Tree)를 적응 메커니즘으로 도입한다. 모델 트리는 회귀 트리와 유사하게 데이터를 분할하면서, 각 리프 노드에서는 선형 회귀 모델을 학습한다. 중요한 점은 모델 트리가 범주형 변수를 분할 기준으로 자연스럽게 활용할 수 있다는 점이다. 즉, 범주형 속성에 대한 원-핫 인코딩이나 임의의 수치 변환 없이도 트리 구조 자체가 해당 속성의 값을 기준으로 데이터를 구분한다. 또한, 트리 기반 분할은 데이터의 비선형 패턴을 효과적으로 포착하므로, 전통적인 선형 적응보다 높은 적응 정확도를 기대할 수 있다.
제안된 적응 절차는 다음과 같다. 먼저, 전체 데이터셋에서 목표 프로젝트와 가장 유사한 K개의 사례를 선택한다(K=1~3). 선택된 사례들의 속성값과 실제 노력값을 이용해 모델 트리를 학습한다. 학습된 트리의 리프 노드에 존재하는 선형 회귀 모델은 각 사례군에 특화된 적응 함수를 제공한다. 이후, 목표 프로젝트의 속성값을 트리에 입력해 해당 리프 노드와 회귀 모델을 찾아내고, 이 회귀 모델을 통해 유사 사례들의 초기 추정값을 보정한다. 최종 추정값은 보정된 값들의 평균 혹은 가중 평균으로 산출한다.
실험은 7개의 공개 소프트웨어 프로젝트 데이터셋(예: NASA, ISBSG 등)을 사용했으며, 3‑Fold 교차 검증을 통해 일반화 성능을 평가하였다. 성능 지표로는 MMRE, MdMRE, PRED(0.25) 등을 사용했으며, 제안 방법은 모든 데이터셋에서 기존 선형 적응 방식보다 낮은 오류와 높은 정확도를 기록했다. 특히, 범주형 속성이 다수 포함된 데이터셋에서 개선 폭이 크게 나타났는데, 이는 모델 트리가 범주형 변수를 효과적으로 처리한 결과로 해석된다.
또한, 모델 트리 기반 적응은 학습 및 추정 과정에서 사용자가 직접 설정해야 하는 파라미터가 거의 없으며, 트리 깊이와 최소 리프 샘플 수 정도만 기본값으로 두어도 충분히 좋은 성능을 보였다. 이는 실무에서 비전문가가 손쉽게 적용할 수 있는 장점을 제공한다. 다만, 트리 기반 모델은 과적합 위험이 존재하므로, 데이터 양이 매우 적은 경우에는 사전 가지치기(pruning)나 교차 검증을 통한 파라미터 튜닝이 필요할 수 있다.
결론적으로, 모델 트리를 활용한 적응 전략은 복잡하고 범주형 변수가 풍부한 소프트웨어 노력 추정 문제에 대해 높은 정확도와 낮은 사용자 부담을 동시에 제공한다는 점에서 기존 선형 및 복잡한 비선형 적응 기법을 보완하는 유망한 접근법이라 할 수 있다. 향후 연구에서는 모델 트리와 다른 앙상블 기법을 결합하거나, 다중 목표(시간, 비용 등) 추정에 확장하는 방안을 모색할 필요가 있다.
댓글 및 학술 토론
Loading comments...
의견 남기기