Ssul's Blog
[추천시스템#1] 추천관련 개요 본문
가장 좋은 공부법은 다른 사람에게 설명해주는 것.
그래서, 대학원과 그동안 개발하며 주워 배웠던 추천알고리즘을 블로그에 정리해보자 한다.
협업필터링부터, MF, FM, 딥러닝까지... 배웠던 코드와 함께 하나 하나 정리할 예정.
오늘은 첫번째로, 다양한 추천시스템들을 나열하고, 분류해볼 것이다. 그리고 그 이후에 하나씩 풀어내기!
#1. CF(Collaborative Filtering-협업필터링)
추천알고리즘을 배울때 가장 처음으로 배우는 것이다. 여기에는 UBCF(유저기반 협업필터링), IBCF(아이템기반 협업필터링)으로 나눠지며, 이 협업필터링을 메모리기반의 협업필터링으로 분류된다. 나중에 코드에서 보여주겠지만, 메모리기반은 기존의 user또는 item데이터를 모두 활용해서 추천을 하기 때문에 느리고, 현실서비스에서 이것만으로 추천을 하기에는 한계가 존재한다.
모델 기반은 메모리기반과 다르게, 학습이후에는 모든 데이터가 필요없는 구조. 여기에 MF와 FM이 있음.
#2. CB(Contents Based Filtering-컨텐츠 기반추천모델)
CB는 처음배울때 사실 IBCF랑 많이 헤깔렸음. CB코드 예시를 하나 외우면(?) 쉽게 구분이 됨. 콘텐츠가 가지고 있는 고유의 데이터를 기반으로 추천을 해주는 구조. CF가 user와 item의 관계를 활용하여 추천한다면, CB는 콘텐츠 자체가 가지고 있는 특징을 가지고 추천에 활용하는 것. 뒤에서 코드로 차근차근 알아보자.
#3. 딥러닝 추천모델
최근 모델들은 대부분 딥러닝이 결합된 구조라고 보면 되겠다.
단순히 기존 CF를 신경망을 사용해서 추천에 사용하는 Neural CF부터, 구글 플레이스토어에 활용한 wide and deep, FM과 딥러닝이 결합된 DeepFM, Auto Encoder를 추천에 활용, 그래프알고리즘을 활용한 추천까지 다양하다.
그럼, CF - CB - Deep으로 이어지는 추천 알고리즘을 하나하나 알아보자.
'AI & ML' 카테고리의 다른 글
[추천시스템#6] FM(Factorization Machines) (2) | 2024.01.03 |
---|---|
[추천시스템#5] MF(Matrix Factorization) (1) | 2023.12.29 |
[추천시스템#4]CB(콘텐츠 기반 필터링) (0) | 2023.12.22 |
[추천시스템#3]CF-UBCF(유저기반 협업필터링) (0) | 2023.12.21 |
[추천시스템#2]CF-IBCF(아이템기반 협업필터링) (1) | 2023.12.21 |