A Survey on Web Service QoS Prediction Methods
S. H. Ghafouri, S. M. Hashemi and P. C. K. Hung, "A Survey on Web Service QoS Prediction Methods," in IEEE Transactions on Services Computing, vol. 15, no. 4, pp. 2439-2454, 1 July-Aug. 2022, doi: 10.1109/TSC.2020.2980793.
출처 : https://ieeexplore.ieee.org/abstract/document/9037072
요약
지금까지 발표된 웹서비스 QoS Prediction Method에 대한 연구들을 카테고리별로 나눠서 소개하고, 그들의 장단점을 비교한다. 이 논문에서는 Collaborative Filtering을 사용한 Methods에 집중한다. Problem Statement 섹션이 있는데 이 논문에서 다른 연구들의 approach를 설명할 때 사용하는 기호들이 의미하는 바를 설명하고, 주로 사용되는 prediction accuracy를 평가하는 수식이 두 개 소개된다. MAE, RMSE가 그것이다. 이들은 예측값과 실제값의 오차를 측정하는 식이다. 이어서 주로 사용하는 데이터셋에 대한 설명도 있다. 대부분 response time과 throughput데이터로 이루어지지만 더 다양한 attribute와 더 오랜 기간 모인 데이터셋도 있다.
섹션4에서 본격적으로 Collaborative Filtering(CF)에 대해서 소개한다. 기본적인 개념은 유저의 QoS 값을 예측하기 위해 다른 유사한 유저들의 QoS값을 활용한다는 것이다. CF 기반 메소드는 크게 memory-based 알고리즘, model-based 알고리즘, context-based 알고리즘으로 구분지을 수 있다.
우선 memory-based 알고리즘 부터 살펴보면, similarity 계산을 통해서 나온 neighbours의 QoS 값을 사용하여 유사한 유저나 서비스에 대한 QoS 값을 예측하는 방식이다. 여기서 similarity가 user간의 값인지 service간의 값인지에 따라 user-based 알고리즘인지, item-based 알고리즘인지로 나뉘고, 두 방식을 혼용하는 것이 hybrid 알고리즘으로 소개된다. memory-based 알고리즘은 이해 및 구현이 쉽고, user-service matrix가 완성되어있다면(충분한 데이터가 있다면) 괜찮은 정확성을 내는 반면, Data sparsity(데이터가 빈약할 경우 생기는 정확성 문제), cold-start(새로운 유저나 서비스에 대해서는 유사한 데이터를 찾기 어려운 문제), scalability(유저나 서비스가 많아질 경우 계산에 필요한 비용이 증가하는 문제), Trust(다른유저로부터 얻은 데이터이기 때문에 데이터의 신뢰성 문제)등을 한계점으로 갖고 있다.
Model-based 알고리즘은 여러 면에서 memory-based 알고리즘이 갖고 있던 한계점을 해소한다. 기본 개념은 user-service 호출 데이터셋을 통해 패턴을 파악하고 이를 학습시킨 모델을 사용하여 QoS 값을 예측하는 식이다. 이때 다양한 학습 technique이 사용되는데 clustering 알고리즘, matrix factorization(MF)알고리즘, time series, machine learning technique 등 이 있으며 이에따라 Model-based 알고리즘을 세분화한다. 간략하게 설명하면, Clustering알고리즘은 말그대로 유사한 데이터를 하나의 클러스터로 묶는 기법인데 대부분 위치 정보를 사용하여 클러스터링하며, 이 방법은 단독으로 예측에 사용되기 보단 데이터 분석 및 전처리 용도로 다른 방법들과 함께 사용된다. 데이터를 단순화함으로써 데이터의 볼륨을 줄여 컴퓨팅시간을 줄일 수 있고 데이터 sparsity 문제도 어느정도 해결할 수 있다.(데이터 sparsity가 존재한다면 클러스터로 해결되는 게 아닌 것 아닌가 - 클러스터링에 한하여 데이터의 양이 크게 중요하지 않은 거 아닌가). Matrix Factorization(행렬 분해) 알고리즘은 model-based 알고리즘에서 가장 중요한 방법으로 소개되는데 성능이 아주 좋기 때문인 것 같다. 이는 data sparsity 문제와 scalability 문제를 어느정도 해결한다.(scalability문제는 유저의 수아이템의 수 하지 않고 유저의 수latent factor, latent factor*item 수 이렇게 하니까 유저나 아이템(서비스)의 수가 많아도 더 적은 데이터로 나누어 표현할 수 있기 때문) 존재하는 기존의 값이 있다면 예측 성능이 좋지만 새로운 서비스나 유저가 추가되면 다시 계산되어야 하는 문제와 결과의 이유를 설명하기 어렵다는 문제가 존재한다. (사실 MF는 잘 이해하진 못함), Time Series는 간추리면 이전 시간의 값에 의해서 미래의 QoS 값을 예측한다는 것이다. 몇몇 QoS 특성들은 시간이 지남에 따라 다른 값을 갖기 때문에 이 방법이 유용할 때가 있다. 하지만 역시 이전 데이터가 없다면 예측하기 어렵고 따라서 현재 사용중인 서비스에 한해 유용한 방법이다. ML Technique 역시 QoS Prediction에 사용된다. SVM, CNN, autoencoder 등 다양한 종류의 ML방식을 도입한 연구들이 많다. 이 방법에 대해서는 딱히 한계점을 언급하지는 않으며 미래에 더 기대되는 방식이라고만 언급한다.
마지막으로 Context-Aware CF-Based Methods은 QoS Prediction에 context information을 사용하여 예측 정확도를 향상하는 방법인데, 이는 유저나 서비스의 위치에 따라 달라지는 특성, 서비스 호출 시간에 따라 달라지는 속성, 그리고 데이터의 신뢰성을 고려한 접근 방식이 소개된다. Location-Aware 방법은 서비스의 QoS는 서비스와 그 서비스를 사용하는 유저간의 네트워크 성능에 의존한다는 사실에 근거하여 근접한 위치에 있는 사용자나 서비스에 대한 QoS값은 유사하다는 것을 가정한 접근 방법이다. 이 방법은 data sparsity, cold start, scalability, accuracy 문제를 해결할 수 있다. 다음으로 Time-Aware 방법은 서비스나 네트워크 상태가 시간에 따라 변화하므로 시간에 따라 QoS값도 변화한다는 것을 고려한다. Trust-Aware 방법은 데이터를 제공하는 다른 유저들의 데이터 신뢰성을 의심해야하며 유효하지 않은 데이터를 식별하고 제거함으로써 데이터의 신뢰성과 reliability를 향상하고자 하는 접근방식이다. 실제 상황에서는 중요하게 다루어져야 하는 요소로 소개된다.
Comparison 섹션에서는 지금까지 소개한 여러 방법들을 카테고리 별로 나누고 각 장점과 단점을 정리해둔 표를 제공한다. 표를 참고하면 더 간략하게 내용을 이해할 수 있다. 논문의 4장은 각 방법들의 기본 개념과 함께 관련 연구들을 간략하게 소개하고 마지막에 각 카테고리의 장점과 한계점을 소개하는 식으로 구성되어있다. Discussion 섹션에서는 앞서 다룬 내용을 통해서 얻을 수 있는 통찰이 소개되는데 앞서 소개된 것도 있고 아닌 것도 있어서 한번 읽어보면 좋을 것 같다. comparison과 discussion만 읽어도 대부분의 것을 얻을 수 있을 것 같다.
개인적인 생각
서베이 논문이라 그런지 (아니 다른 서베이 논문들이라고 다 이렇지 않았음) 술술 읽혔다. 이해하기 쉽게 쓰여있음. 개인적으로 Collaborative Filtering에 대해서 알고 싶어서 읽었는데 기술적인 부분을 자세히 알기에 적합한 논문은 아니지만 여러 세부 접근 방법을 알 수 있어서 큰 그림을 아는 데 도움은 됐다. 그리고 관련 연구들을 잘 요약해둬서 요약만 봐도 대충 알 것 같은 느낌이 들었다. 느낌만 들어서 문제지만. 그래서 그 중에 흥미로워 보이는 연구를 하나 골라서 읽어도 좋겠다는 생각이 들었음. 그리고 Discussion 파트에 있는 내용이 꽤 유용하다. 정말 시간이 없다면 abstract랑 discussion만 읽어도 될듯. 근데 discussion만 읽으면 너무 배경없이 들어서 무슨 소리인지 이해하는 데 한참 걸릴 수도 있겠다. 그리고 결론적으로 앞으로는 model-based 접근 방식의 연구가 진행되어야 한다는 내용도 있음. 암튼 저자가 결론에서 말한 것처럼 이분야를 더 연구하고 싶은 사람에게 방향을 제시하는 좋은 논문이었다. 끝.
(다음에는 더 줄여보기..)
더불어 CF를 이해하는 데 도움이 될 만한 블로그 링크를 첨부합니다.
https://lsjsj92.tistory.com/563
https://lsjsj92.tistory.com/564?category=853217