정보시스템에 대한 이용이 늘어남에 따라 소프트웨어 개발 요구와 개발 비용이 증가하게 되었다. 기존에는 통계적 알고리즘 기반의 회귀분석을 이용하여 소프트웨어 개발비용을 산정하였으나 오늘날은 기계학습 방법들이 많이 연구되고 있다. 본 논문에서는 기계학습 기술의 하나인 SVR를 사용하여 소프트웨어 비용을 산정하였고, 이 때 SVR에서 사용하는 파라미터들의 최적 조합을 면역계의 동작원리를 적용한 면역 알고리즘을 적용하여 최적 조합을 찾았다. 소프트웨어 비용산정을 위해 세대수, 기억세포수, 대립유전자수를 변경해 가면서 면역 알고리즘 기반의 SVR을 적용하였고, 그 실험 결과를 기존 연구된 다른 기계학습 방법과 비교 분석하였다.
정보시스템에 대한 이용이 늘어남에 따라 소프트웨어 개발 요구와 개발 비용이 증가하게 되었다. 기존에는 통계적 알고리즘 기반의 회귀분석을 이용하여 소프트웨어 개발비용을 산정하였으나 오늘날은 기계학습 방법들이 많이 연구되고 있다. 본 논문에서는 기계학습 기술의 하나인 SVR를 사용하여 소프트웨어 비용을 산정하였고, 이 때 SVR에서 사용하는 파라미터들의 최적 조합을 면역계의 동작원리를 적용한 면역 알고리즘을 적용하여 최적 조합을 찾았다. 소프트웨어 비용산정을 위해 세대수, 기억세포수, 대립유전자수를 변경해 가면서 면역 알고리즘 기반의 SVR을 적용하였고, 그 실험 결과를 기존 연구된 다른 기계학습 방법과 비교 분석하였다.
Increasing use of information system has led to larger amount of developing expenses and demands on software. Until recent days, the model using regression analysis based on statistical algorithm has been used. However, Machine learning is more investigated now. This paper estimates the software cos...
Increasing use of information system has led to larger amount of developing expenses and demands on software. Until recent days, the model using regression analysis based on statistical algorithm has been used. However, Machine learning is more investigated now. This paper estimates the software cost using SVR(Support Vector Regression). a sort of machine learning technique. Also, it finds the best set of parameters applying immune algorithm. In this paper, software cost estimation is performed by SVR based on immune algorithm while changing populations, memory cells, and number of allele. Finally, this paper analyzes and compares the result with existing other machine learning methods.
Increasing use of information system has led to larger amount of developing expenses and demands on software. Until recent days, the model using regression analysis based on statistical algorithm has been used. However, Machine learning is more investigated now. This paper estimates the software cost using SVR(Support Vector Regression). a sort of machine learning technique. Also, it finds the best set of parameters applying immune algorithm. In this paper, software cost estimation is performed by SVR based on immune algorithm while changing populations, memory cells, and number of allele. Finally, this paper analyzes and compares the result with existing other machine learning methods.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
본 논문에서는 통계적 기계학습 기술인 SV玉을 이용하여소프트웨어 개발비용을 산정하고, 이때 SV况에서 사용하는사용자 정의 파라미터들의 최적 조합을 면역 알고리즘을 이용하여 찾고자 한다. 면역 알고리즘은 인간의 행동을 결정하는정보처리 메카니즘들 중의 하나이다.
제안 방법
그리고 최적화의 목적함수를 미분값과 그 외 다른 정보를 요구하지 않고 그대로 사용한다는 장점을 갖는다. 또한, 이러한 비결정론적 알고리즘의 특징 이 외에도 면역 알고리즘만이 갖는 가장 큰 특징은 최적해로의 수렴을 보장하기 위하여 기억세포군(memory cell)을 갖고 최적화과정을수행한다. 〔11, 12〕.
sv玉를 결합하여 사용하였다. 본 논문에서 사용한 면역 알고리즘은 항체들 간의 친화도가 높은 것은 항체 생성을 억제하는 자기조절기 능으로, 항원 간의 친화도가 높은 것은 새로운 항체를 생성함으로써 우수한 항체의 보존과 다양성을 통해파라미터들을 최적화했다.
본 논문에서는 SV氏를 사용하여 소프트웨어 개발비용을 추정하고, 이때 SVTM]서 사용되는 파라미터들의 최적 조합을면역 알고리즘을 적용하여 찾았다. 소프트웨어 비용산정의 정확성을 비교하기 위한 척도로는 식 (12)의 MMRE(Mean Magnitude of Relative Error) 와 PRED(Prediction at Level)〔16〕를 사용한다.
본 논문에서는 항체의 생성과 억제를 기대치에 의하지 않고〔3단계〕 에서 계산된 친화도에 의하여 친화도가 가장 높은 1개를 기억세포에 저장한다. 그리고 항체간의 친화도를 계산하여 친화도가 높은 항체들을 상위부터 두 개 중 하나를 삭제한다.
대상 데이터
5를 사용하여 구현하였으며, 실험 데이터는 비용산정 연구 분야에서 가장 널리 이용되고 있는 데이터 중의 하나인<표 1>의 Jean Marc Desharnais 데이테18〕를 사용하였다. 동일한 데이터를 사용한 기존 연구〔19, 20, 21〕와 비교하기 위해, 기존 연구와 동일한 방법으로 81개 프로젝트 데이터 중 63개를 훈련 데이터로, 18개를 실험 데이터로 사용하여 소프트웨어 비용을 산정하였다.
이론/모형
면역 알고리즘 기반의 SVR을 이용한 소프트웨어 비용산정 알고리즘은 LIBSVM Version 2.86〔17〕과 Python 2.5를 사용하여 구현하였으며, 실험 데이터는 비용산정 연구 분야에서 가장 널리 이용되고 있는 데이터 중의 하나인의 Jean Marc Desharnais 데이테18〕를 사용하였다.
본 논문에서 소프트웨어 비용산정을 위하여 면역 알고리즘과 sv玉를 결합하여 사용하였다. 본 논문에서 사용한 면역 알고리즘은 항체들 간의 친화도가 높은 것은 항체 생성을 억제하는 자기조절기 능으로, 항원 간의 친화도가 높은 것은 새로운 항체를 생성함으로써 우수한 항체의 보존과 다양성을 통해파라미터들을 최적화했다.
성능/효과
<표 2>를 보면 MMRE가 40% 정도, PRED가 39%부터 56%까지 값을 보이고 있으며, 세대수 20, 기억세포수 40, 대립유전자수 10일 때 MMRE = 0.4046, PRED = 0.56 으로 가장 좋은 결과를 보이고, 이 때의 최적 파라미터 조합은 C = 27722, a = 0.06328, e = 0.09495이다.
면역 알고리즘에 의해 찾은 최적의 파라미터 조합으로 소프트웨어 비용산정을 한 결과을 보면 기존 연구된 결과보다 우수한 결과를 보여 면역 알고리즘 기반의 SVR를 이용한 소프트웨어 비용산정이 기존의 SVR뿐만 아니라 다른 기계학습 방법인 사례기반추론, 인공 신경망이나 유전 프로그래밍, 퍼지 논리보다 우수한 것을 알 수 있었다.
변화를 나타낸 그래프이다. 면역 알고리즘의 성능평가를 위하여 세대수, 기억세포수, 대립유전자수를 변경해가면서 실험한 결과 기억세포수와 대립유전자수가 많은 것이좋은 결과를 보였고, 세대수에 대한 변화는 초반인 10세대 이내에서 많은 변화가 있었고 이 후로는 변화가 미미해 나중에는 세대수에는 큰 영향이 없었다.
위을 보면 본 연구에서 제안한 면역 알고리즘 기반의 SVR 모델이 기존의 SVR뿐만 아니라 다른 기계학습 방법인 인접성 기준 분류모델, 인공 신경망, 유전 프로그래밍, 퍼지 논리보다 우수한 것을 알 수 있다.
표 2>와 같다.<표 2>의 실험결과를 보면 MMRE는 세대수 보다는 기억세포수에 영향을 많이 받으며. PRED는 세대수, 기억세포수, 대립유전자수에 따라 근소하지만 각각이증가함에 따라 좋은 결과를 보이고 있다.
이러한 연구에서 얻은 주요한 결론은 비용 산정 모델들은 환경이 다른 경우에 측정하지 못한 인자들이 적용된다면 성능이 떨어진다는 것이다. 1990년에는 Abdel-Hamid와 Madnick 같은 연구자들은 소프트웨어 개발은 복잡한 동적인 프로세스이며 복잡함과 생산성에서 나타나는 다양务을 설명할 수 있는 변경과 관련된 관계성을 거의 알지 못함을 알게 되었다.
후속연구
연구가 필요하다. 또한 면역 알고리즘 기반의 SVE를 이용한 모델을 유지보수 데이터에 적용하는 것과 소프트웨어 신뢰성과 품질관리 분야에도 적용하고, 다양한 데이터마이닝 연구 〔22〕와 결합하는 것도 차후 과제라 할 수 있다.
향후 연구과제로는 본 논문에서 보는 것 같이 면역 알고리즘에서 대립유전자의 길이가 기호화하여 표현하는 항체들에많은 영향을 미침으로 적절한 대립유전자와 항체를 기호화하는 연구가 필요하다. 또한 면역 알고리즘 기반의 SVE를 이용한 모델을 유지보수 데이터에 적용하는 것과 소프트웨어 신뢰성과 품질관리 분야에도 적용하고, 다양한 데이터마이닝 연구 〔22〕와 결합하는 것도 차후 과제라 할 수 있다.
참고문헌 (22)
Linda M. Laird and M. Carol Brenman., "Software Measurement and Estimation," Wiley-Interscience, 2006.
Barry W. Boehm et al., "Software Cost Estimation with COCOMO II," Prentice-Hall, 2000.
M. A. Parthasarathy, "Practical Software Estimation," Addison Wesley, 2007.
장병탁, "차세대 기계학습 기술", 정보과학회지 제25권, 제3호, 2007년 3월.
Mukhopadhyay et al., "Examining the Feasibility of a Case-based Reasoning Model for Software Effort Estimation." MIS Quarterly, 16, pp. 155-171, June 1992.
Martin Shepperd and Chris Schofield. "Estimating Software Project Effort Using Analogies." IEEE Trans. Software Eng.. Vol. 23. No. 12. pp. 736-743. November 1997.
M. Shin and A.L. Goel, "Empirical Data Modeling in Software Engineering using Radial Basis Functions." IEEE Trans. Software Eng. Vol. 26, No. 6, pp. 567-576, June 2000.
권기태 외, "소프트웨어 비용산정을 위한 SVM의 파라미터 선정과 응용에 관한 연구", 한국컴퓨터정보학회 논문지, 제14권, 제3호, 209-216쪽, 2009년, 3월.
Chih-Wei Hsu, Chih-Chung Chang, and Chih-Jen Lin, "A Practical Guide to Support Vector Classification", http://www.csie.ntu.edu.tw/~cjlin/libsvm/, 2008
J.M. Desharnais, "Analyse Statistique de la ?Productivities des Projects Informatique a Partie de la Technique des Point des Function", Masters Thesis, Univ. of Montreal, 1989.
Colin J. Burgess and Martin Lefley, "Can genetic programming improve software effort estimation? A comparative evaluation", Information and Software Technology, Vol. 43, Issue 14, pp. 863-873, December 2001
Hojung Lim and Amrit L. Goel, "Support Vector Machines for Data Modeling with Software Engineering Applications," in Springer Handbook of Engineering Statistics, Springer, pp. 1023-1037, 2006.
A. R. Gray and S. G. MacDonell. "Applications of Fuzzy Logic to Software Metric Models for Development Effort Estimation," Proceedings of NAFIPS'97, pp. 394-399, 1997.
이영호 외, "약물부작용감시스템에서 재현성 평가를 통한 마이닝 모델 개발", 한국컴퓨터정보학회 논문지, 제14권, 제3호, 183-192쪽, 2009년, 3월.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.