추천 시스템 - accidentlywoo/legacyVue GitHub Wiki
추천 시스템( Recommendation )
R은 새로운 기술을 바로바로 사용할 수 있다.
Python은 시스템적으로 활용할 수 있게 한다.
DIKI 모델
과거의 데이터 -> 수독적인 데이터 제공에 쓰인다.
추천이 언제부터인가 DL이 됬다.
파레토 법칙 vs 롱테일 법칙
-
파레토 법칙 : 상위 20%가 리드 : 선택과 집중(소품종 대량 생산)
-
롱테일 법칙 : 하위 80%가 리드 : Niche market(다품종 소량생선)
필터 버블
추천시스템의 2가지 종류
-
finding similar people : demographic 추천 시스템의 기본 원리 협업 필터링 유사도를 어떻게 알것인가? -> 과거의 패턴의 유사도를 찾는다. 신선한 추천(serendipity recommen dation) 나하고 비슷한 사람이 한 새로운 경험도 나에게 추천해준다. 많은 데이터가 필요없을 수 도 있다.
-
finding contents similar : Knowledge 항목 필터링
1. 단점쓰
-
콜드 스타트(Cold-Start)문제 처음 데이터를 넣었을 때, 성능이 안나오는 문제
-
롱테일(Long tail)문제 시스템 항목이 많다 하더라도 소수의 인기 있는 항목에만 관심이 있다.-> 롱테일이 더 길어짐
-
계산량이 비교적 많은 알고리즘이므로 사용자 수가 많은 경우 효율적으로 추천할 수 없음. 구글이 뭔가 해결한 것이 있다.
-
독특한 취향의 고객(gray sheep, black sheep) 문제
2. 단점쓰
컨텐츠 끼리의 유사도를 찾기 굉장히 힘들다.
-
콜드 스타트 문제가 없다.
-
콘텐츠의 내용을 분석해야 하므로 아이템(콘텐츠) 분석 앍고리즘 분석
--> 보통 많은 경우가 1, 2,를 콜라보해서 사용한다. : Hybrid 기술
콜드 스타트 문제
-
새로 시작할 때 곤란함을 의미. 협업 필터링 외에 위키 같은 협업 시스템에서 초기 정보 부족의 문제점을 일컫기 위해 사용.
-
이용자의 행동 데이터가 충분히 모이지 않아 추천이 어려운 상황을 지칭
모델 기반 협력 필터링(Model-based Collaborative Filtering algorithm)
-> ML 모델 기반 분석
PC? ,SVN, NSA..등 숨은 뭐시기를 찾는다. -> KNN
돈많고 시간없는 사람만 쓴다.
KNN + 숨어있는 의미 찾기
관련성 있는 메모리기반 base만들기 1.
구매여부 binary -> 0 / 1 (평점도 널을 수 있다.)
기계학습 -> column / dimension / 피쳐
-> 벡터화 시킴
유사도 찾기? cos similarity / 상관계수(전략 - 항상 좋은 얘는 없다.) /
아이템보다 사람계산이 더 비용이 많이든다. -> 동적으로 계산되는게 많기 때문에.
아마존 : 컨텐츠 속성없이. 내가 구매한 이력의 유사도를 가지고 추천시스템을 계산한다.
-> item base corabortive filtering : 메모리, 캐시, 빠른 필터링
Contents base corabortive filtering
콜라보티브 -> 사람이 과거에 한 행동 기반
추천 정확도는? -> 검증 문제가 굉장히 까다롭다.
넷플릭스는 사람에게 판단을 시켰다. 객관적인 평가가 힘들 수 도 있다.
검증이슈가 줄어들고, 구현이 쉽다. 컨텐츠 베이스 -> 컨텐츠 고유의 속성만 가지고 유사도를 계산