특징
Recommender System 은 개인에 대한 맞춤이 되므로 구별해야함.
이건 전체 데이터에 대해서 함께 발생하는 빈도수로 학습하므로 개인맞춤 같은건 없음.
경영학의 Market Basket Analysis 과 매우 비슷함.
어떤 features 의 조합이 있으면 => 다른 어떤 features 는 이럴 것이다. 라는 rule 을 만듦.
이 rule 의 전걱을 만족한 instance 의 수를 support 라고 함.
이 rule 의 전건을 만족하는 instance 중 후건도 만족하는 비율이 confidence 임.
이 rule 의 전건과 후건이 독립사건이 아닌 정도를 Lift 라고 함.
rule 을 A -> B 라고 하면
Support = P(A)
Confidence = P(B | A)
Lift = P(A & B) / (P(A) * P(B)) - (0<= Lift <= 1, 클수록 독립사건, 작을수록 연관된 사건)
위 세가지 지표를 조합해서 rule 을 만들어냄.
n 개의 feature 에 m 개의 instance 가 있으면 가능한 rule 의 조합은 매우 많음.
그리고 m 개 의 instance 에 각각에 rule 이 적용되는지 support 와 confidence 를 구해야함.
그래서 매우 느릴 수 있음.
전건 후건에 feature 1개만 있다고 해도 n(n-1)m=> O(n^3) 정도임
Feature 는 one-hot encoded value 가 가장 적절함.
만들어진 Rule 이 실제로는 우리의 관심과 동떨어진 rule 일 수도 있음.
Apriori Algorithms
feature 의 조합이 매우 많으므로 일정 support 를 만족못하면 거르는 알고리즘.
feature 1 개의 조합부터 시작해서 점점 숫자를 늘려감.
만들어진 조합이 특정 support 를 만족하지 못하면 거기서 조합을 추가시킬 필요가 없음.
왜냐하면 조합을 하면 할 수록 support 가 같아지거나 더 작아질 뿐이기 때문임.
그렇게 선별한 feature 의 조합의 집합을 가지고 Support, Confidence, Lift 를 계산해 rule 을 만듦.