스터디
하이브리드 추천 시스템 본문
< 추천 시스템의 한계점 >
- 콜드 스타트 문제
- 추천 시스템을 사용하기 위해서는 기존 데이터가 반드시 필요한데, 새로 시작할 때는 데이터가 존재하지 않아서 추천할 수 없다.
- 계산 효율성 저하
- 추천 시스템은 비교적 계산량이 많은 알고리즘이기 때문에 사용자 수가 많거나 행렬 분해 시 계산에 시간이 많에 소요되기도 한다.
- 롱테일 문제
- 상품이 많다고 하더라도 소수의 인기 있는 항목만 추천되고, 관심이 저조한 항목은 정보가 부족하여 추천되지 못할 수도 있다.
장점 | 단점 | |
contents-based | 1. 다른 사용자에 의존할 필요가 없다. 2. 새로운 아이템을 추천할 수 있다. |
1. 아이템과 비슷한 분류를 주로/계속 추천할 수밖에 없다. 2. 눈에 보이는 특징만 활용 가능할 뿐 아이템의 잠재적 의미를 활용하기 어렵다. |
collaborative filtering | 1. 집단 지성을 활용하여 평가(추천 성능)의 품질이 높아진다. 2. 잠재적 특징을 활용하여 폭넓은 추천을 할 수 있다. 3. Implicit feedback을 활용할 수 있다. 4. 데이터가 쌓일수록 추천 품질이 올라간다. |
1. 한 번도 평가되지 않은 아이템을 추천할 확률이 적다.(cold-start) 2. 과거 데이터에 의존하기 때문에 초기(또는 데이터가 부족한) 사용자에게 추천 품질이 떨어진다. 3. 과거 데이터와 큰 사이즈 데이터에 의존한다. |
< 하이브리드 추천 시스템 >
앞서 말한 추천 시스템의 한계점을 해결하기 위해 제안된 것이 하이브리드 추천 시스템이다.
하이브리드 추천 시스템은 두 가지 이상 다양한 종류의 추천 시스템 알고리즘을 조합하는 방법이다.
즉, 하이브리드 추천 시스템은 다양한 알고리즘들의 단점은 보완하고 장점을 결합하여 더 좋은 알고리즘을 만든 것이다.
- 다양한 데이터와 다양한 알고리즘을 조합하는 방식이다.
- 유저와 아이템 프로필, 유저와 아이템의 상호 관계, 유저 주변의 다른 유저 정보, 아이템과 비슷한 다른 아이템 정보
- 가용할 수 있는 최대 정보 또는 지식을 다양한 source로부터 얻어서 활용하는 방식이다.
- 다양한 추천 알고리즘의 장점만 모아서 성능 좋고 뛰어난 시스템을 만드는 방식이다.
- Robust한 inference를 할 수 있다. (이상치/에러값으로부터 영향을 크게 받지 않는 건장한 추론이 가능하다.)
< Hybrid Methods >
> Weighted Ensemble
- 여러 개의 모델이 예측하는 결과를 가중치(weight)를 주어서 결합하는 앙상블(ensemble) 기법이다.
- 각 모델은 데이터에 대해 독립적으로 학습되며, 예측 결과를 결합함으로써 개별 모델의 성능을 향상시킬 수 있다.
- Soft Ensemble(점수) 또는 Hard Vote와 같은 방법으로 여러 모델의 추천 결과를 하나로 합쳐서 최종 추천 아이템을 정한다.
- Soft Ensemble은 주어진 입력 샘플에 대해 각 모델의 예측 결과를 확률값으로 해석하고, 이 확률 값을 가중치로 사용하여 최종 예측을 결정한다. 일반적으로 소프트 앙상블에서는 예측 확률 값들을 단순히 평균하여 최종 예측을 수행하거나, 보다 복잡한 방법으로 가중 평균 등을 사용하여 예측을 수행할 수 있다.
- Hard vote는 여러 개의 모델이 예측한 결과들 중에서 가장 많은 표를 얻은 클래스를 최종 예측으로 선택하는 방법이다. 각 모델은 주어진 입력 샘플에 대해 개별적으로 예측을 수행하고, 이들 예측 결과를 다수결 방식으로 투표하여 최종 예측을 결정한다.
- Hard vote 방식은 비교적 간단하며, 다양한 모델들의 다른 예측 결과를 효율적으로 결합하는 데 사용된다. 하지만 모델들이 클래스를 분류할 때 동일한 확신을 가지고 예측하지 않을 경우에는 간혹 불확실성을 해소하기 어려울 수도 있다. 이런 경우 소프트 앙상블 방식이 더 적합할 수 있다.
> Mixed Ensemble
- 다양한 추천 알고리즘들을 혼합하여 사용하는 앙상블 방법 중 하나다.
- 이 방법은 여러 가지 서로 다른 알고리즘들을 함께 결합하여 추천을 수행하는 데 사용된다.
- Mixed 앙상블은 앙상블에서 다양한 알고리즘들을 사용하면서, 각 알고리즘의 예측 결과를 어떤 방식으로 결합할지를 지정하는 방법을 말한다.
- 일반적으로 여러 알고리즘들의 예측 결과를 가중 평균이나 단순 평균 등을 사용하여 결합한다.
- 예를 들어, 하이브리드 추천 시스템에서 콘텐츠 기반 추천 알고리즘과 협업 필터링 추천 알고리즘, 그리고 딥러닝 기반의 시스템이 있다고 가정해보자. Mixed 앙상블에서는 이러한 알고리즘들의 추천 결과를 결합하여 최종 추천을 수행한다. 이를 위해 가중 평균을 사용하여 각 알고리즘의 중요도에 따라 예측 결과를 가중치를 주어서 합산한다.
- 여러 다양한 알고리즘들의 장점을 융합하여 더 강력한 추천을 제공하는 데 사용된다.
- 알고리즘들의 중요도나 결합 방법은 하이퍼파라미터(머신 러닝 모델 학습 과정에서 사람이 직접 설정해야 하는 매개변수를 의미한다.)로서 조절할 수 있으며, 이를 튜닝하여 최적의 앙상블 성능을 찾는 것이 중요하다.
> Switch
- 다양한 추천 알고리즘들 중에서 특정 조건에 따라 어떤 알고리즘을 선택하고 사용하는 메커니즘을 가리킨다.
- 이를 통해 다양한 추천 알고리즘들을 유연하게 결합하여, 최적의 추천 결과를 제공할 수 있다.
- Switch는 주로 추천 요청의 성격, 사용자의 특성, 현재 상황 등에 따라 알고리즘들의 적용 여부를 결정하는 데 사용된다.
- 예를 들어, 콘텐츠 기반 알고리즘은 새로운 사용자에게 추천을 제공하는 데 유용하고, 협업 필터링 알고리즘은 사용자의 선호가 충분히 수집되었을 때 유용할 수 있다. 따라서 이러한 조건을 판단하여 알고리즘들을 적절히 스위칭하여 사용한다.
- 여러 알고리즘들을 유연하게 조합하여 다양한 정보를 활용하여 추천을 제공하므로, 더 정확하고 다양한 추천을 가능케 한다. 하지만 알고리즘의 선택과 조건 설정에 따라 하이브리드 방법의 성능이 크게 달라질 수 있으므로 신중한 설계와 평가가 필요하다.
> Feature Combination
- 다양한 추천 알고리즘들이 사용하는 입력 데이터의 특성들을 조합하여 하나의 특성 집합으로 만드는 과정을 말한다.
- 이는 여러 다른 알고리즘들이 사용하는 입력 데이터의 형태나 표현 방식이 다를 때, 각 알고리즘들이 이해할 수 있는 공통된 특성을 생성하기 위해 사용된다.
- 각 알고리즘이 사용하는 특성들이 서로 다르면 알고리즘들이 상호 보완적으로 동작하기 어렵다.
- Feature Combination은 이러한 문제를 해결하기 위해, 다양한 특성들을 적절하게 조합하여 알고리즘들이 공통적으로 사용할 수 있는 특성 집합을 생성하는 과정이다.
- 이를 통해 서로 다른 알고리즘들이 공통된 입력 데이터를 이해할 수 있게 되며, 하이브리드 추천 시스템의 성능을 향상시킬 수 있다.
- 예를 들어, 서로 다른 알고리즘들이 사용하는 입력 데이터를 각각 특성 벡터로 표현한 후, 이들 벡터를 연결(concatenate)하여 하나의 특성 벡터로 만들 수 있다. 또는 각 알고리즘이 사용하는 특성들을 각각 변환하여 공통된 특성 공간으로 매핑하는 방법도 있다.
> Meta-Level
- 다른 추천 알고리즘들을 조합하거나 관리하는 상위 레벨의 접근 방식을 가리킨다.
- 이는 하이브리드 추천 시스템에서 다양한 추천 알고리즘들을 효과적으로 관리하고 연결하는 방법을 의미한다.
- 메타 레벨은 주로 추천 알고리즘들 사이의 상호 작용, 결합 방법, 알고리즘 선택 및 조정 등을 다룬다.
- 메타 레벨에서는 다음과 같은 주요 요소들을 고려한다.
- 알고리즘 선택: 메타 레벨에서는 다양한 추천 알고리즘들 중에서 어떤 알고리즘이 현재 상황에 가장 적합한지를 결정한다. 이를 위해 사용자의 특성, 상황, 데이터의 특성 등을 고려하여 알고리즘들을 선택하게 된다.
- 알고리즘 결합:메타 레벨에서는 다른 추천 알고리즘들을 결합하는 방법을 다룬다. 이를 통해 다양한 알고리즘들의 장점을 융합하여 더 정확하고 다양한 추천을 가능하게 한다. 이러한 결합 방법은 가중 평균, 스위치 메커니즘 등이 있을 수 있다.
- 하이퍼파라미터 최적화: 메타 레벨에서는 각 알고리즘들의 하이퍼파라미터를 튜닝하고 최적화하는 방법을 다룬다. 하이퍼파라미터는 모델의 학습에 영향을 주는데, 이들 값을 조정하여 최적의 알고리즘 성능을 찾는 것이 중요하다.
- 실험 및 평가: 메타 레벨에서는 다양한 추천 알고리즘들을 실험하고 평가하는 방법을 다룬다. 추천 시스템의 성능을 측정하고 비교하여 최적의 알고리즘 조합을 찾는 데 사용된다.
설명 | |
Weighted Ensemble | Soft Ensemble(점수) 또는 Hard Vote와 같은 방법으로 여러 모델의 추천 결과를 하나로 합쳐서 최종 추천 아이템을 정하는 방식 |
Mixed | 추천 시스템이 적용될 플랫폼에 (특징이 다른) 여러 추천 알고리즘을 활용하고, 이때 알고리즘의추천 결과를 모두 보여주는 방식 |
Switch | 플랫폼 내 사용자 또는 서비스 상태 등 특정 상황을 고려하여 여러 추천 알고리즘의 추천 결과를 선택적으로 보여주는 방식 |
Feature Combination | 보유하고 있는 데이터로부터 얻을 수 있는 다양한 feature를 모두 조합하여 추천 알고리즘을 학습하고 추천하는 방식 |
Meta-Level | 여러 추천 알고리즘을 활용할 때 첫 번째 모델이 다음 모델의 input이 되면서 서로가 서로의 정보를 학습하여 추천하는 방식 |
이것들 이외에도 Cascade Approach(계층적 접근 방식), Feature Augmentation(특성 확장), Meta Learning, Reinforcement Learning(강화학습) 등 다양한 하이브리드 추천 시스템 전략들이 연구되고 개발되고 있으며, 시스템의 목표와 데이터 특성에 따라 다양한 방식들이 적용될 수 있다.
https://velog.io/@suminwooo/%EC%B6%94%EC%B2%9C-%EC%8B%9C%EC%8A%A4%ED%85%9C11
추천 시스템(9) - 하이브리드 추천시스템
하이브리드 추천시스템
velog.io
'그 외' 카테고리의 다른 글
Git 브랜치 전략 (2) | 2023.04.07 |
---|