BookmarkSubscribeRSS Feed

Hybrid Filtering

Started ‎10-31-2024 by
Modified ‎10-31-2024 by
Views 260

Hybrid Filtering이란 Collaborative Filtering 과 Contents-Based Filtering 을 결합하여 사용한 추천 시스템 방입니다.

 

 

 

 

image.png

 

 

https://medium.com/@dikosaktiprabowo/hybrid-recommendation-system-using-lightfm-e10dd6b42923

' 초반에는 컨텐츠 필터링을 활용하고, 상호작용을 많이한 고객은 데이터가 많이 쌓였기 때문에 협업 필터링을 활용하!'

새로운 사용자(Cold starter) 나 데이터가 다양하지 않을 때 발생할 수 있는 문제에서 조금 더 자유로울 수 있습니다. 더 다양한 데이터를 활용할 수 있으며 추천의 정확성과 다양성을 확보할 수 있습니다.

하지만, 복잡도가 증가하여 계산의 양이 많아져 계산에 사용되는 비용이 높아질 수 있으며 유지보수 측면에서 어렵다라는 단점도 있습니다.

1) 단순 가중 앙상블(Weighted Ensemble)

 

가장 단순한 방식으로 여러 모델의 결과값의 평균값을 사용합니다. 모델의 성능을 기준으로 더 좋은 성능에 큰 가중치를 주도록 구성할 수 있습니다. 가중치는 특정 상황이나 사용자의 유형에 따라 조정 가능합니다.

 

 

 

proc reg data=mydata outest=model1_est;
    model 종속변수 = 변수1 변수2;
    output out=model1_out p=pred1;
run;
quit;

proc reg data=mydata outest=model2_est;
    model 종속변수 = 변수1 변수2 변수3;
    output out=model2_out p=pred2;
run;
quit;

proc reg data=mydata outest=model3_est;
    model 종속변수 = 변수1;
    output out=model3_out p=pred3;
run;
quit;

PROC REG statement 를 활용해 model 1은 선형회귀 , model 2는 다항 회귀, model 3는 단순회귀를 활용한 3개의 회귀 모델을 생성합니다.

 

 

 

data ensemble_data;
    merge model1_out (keep=pred1)
          model2_out (keep=pred2)
          model3_out (keep=pred3);
run;

data ensemble_data;
    set ensemble_data;
    final_prediction = 0.5*pred1 + 0.3*pred2 + 0.2*pred3;
run;

proc print data=ensemble_data;
    var pred1 pred2 pred3 final_prediction;
run;

 

 

MERGE statement를 활용하여 각각의 모델의 예측값을 하나의 데이터로 합칩니다.(ensemble data)

모델1에는 0.5의 가중치, 모델2에는 0.3의 가중치, 모델3에는 0.2의 가중치를 부여하여 final_prediction 최종 예측값을 계산합니다. 최종 예측값과 개별 모델의 예측값을 확인하여 가중된 앙상블의 결과를 확인할 수 있습니다.

2) 스위칭 방식(Switching Hybrid)

사용자에 대한 정보가 충분하지 않으면 콘텐츠 기반 필터링을 사용하고, 사용자 데이터가 충분히 쌓이면 협업 필터링으로 전환하는 방식

3) 특징 결합 방식(Feature Combination)

협업 필터링 추천 결과를 고려하여 컨텐츠 필터링을 적용해 두 모델의 장점을 조합합니다. 컨텐츠 필터링에서는 추출된 특성을 파악하고 협업 필터링 방식으로는 입력을 활용합니다.

이 외에도 혼합 방식(Mixed Hybrid), 시퀀셜 방식(Cascade Hybrid) 등 다양한 Hybrid 방식이 있습니다 .

두 모델을 적절히 조합해서 각 모델의 강점을 활용하고 약점을 상쇄시킨다라는 장점으로 전반적인 추천 성능의 값을 증대합니다. 또한 cold item, cold stater의 문제 역시 개선될 수 있습니다 .

하지만, 복잡도가 증가해서 유지보수 및 관리가 필요할 수 있으며 하이퍼파라미터, 모델의 가중치 변경 등 추가적인 튜닝이 필요할 수 있습니다 .

 

 

 

Version history
Last update:
‎10-31-2024 08:56 AM
Updated by:
Contributors

SAS Innovate 2025: Register Now

Registration is now open for SAS Innovate 2025 , our biggest and most exciting global event of the year! Join us in Orlando, FL, May 6-9.
Sign up by Dec. 31 to get the 2024 rate of just $495.
Register now!

Article Labels
Article Tags