2020년 11월 30일 월요일

ML memo - Association Rule

특징

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 을 만듦.



Eclat 


List