-
Association Rules (연관규칙) 이해하기AI-ML 2023. 5. 16. 20:51728x90반응형
- 목차소개 *
Association Rules (연관 규칙) 은 큰 규모의 데이터셋에서 어떠한 규칙을 찾는 데이터 마이닝 기법입니다.
동일한 카테고리에 속하는 여러 아이템들은 서로 연관이 있다는 보편적인 방식으로 관계를 규정하는 것이 아니라
아이템들의 소비/사용되는 패턴으로 아이템들을 연관짓습니다.
"카테고리 -> 아이템" 으로 이어지는 Top-Down 방식이 아니라
"아이템 -> 연관 관계 규칙" 으로 이러지는 Bottom-Up 방식으로 연관 규칙을 찾아갑니다.
예를 들어,
- 기저귀를 산 고객들에게 유아 용품을 판매
- 신발을 장바구니에 담은 고객들에게 양말이나 의류를 판매
더 나아가서
월마트의 기저귀-맥주 케이스처럼 기저귀를 구매하는 고객들에게 맥주를 추천할 수 있습니다.
즉, 아이템들의 연관 관계 규칙만으로 기존의 Top-Down 방식의 아이디어를 넘어선 추천의 근거가 마련됩니다.
Rule-based Algorithm *
Model-Based Algorithm 과 반대되는 머신러닝 학습방식입니다.
Model-based Algorithm 은 데이터의 패턴을 학습한 후에 적절한 Rule 을 찾아서 Prediction 을 수행합니다.
Linear Regression 을 예로 들면,
Linear Regression 은 대표적인 Model-based Algorithm 입니다.
Linear Regression 는 Model-Based Algorithm 을 통해서 feature 값인 bias 값과 기울기 값을 얻을 수 있습니다.
만약 Linear Regression 을 Rule-based Algorithm 으로 표현할 때,
bias 와 기울기에 해당하는 Feature 들을 사전에 정의한 이후에 예측값을 얻을 수 있습니다.
즉, 어떤 데이터셋은 bias 와 기울기 x, b 인 linear regression 을 사전에 정의한 이후에 활용할 수 있는 것이죠.
따라서 해결해야할 문제에 따라서 Rule-based Algorithm 이 적합할 수도 있고, Model-based Algorithm 이 적합할 수 있습니다.
Association Rules 의 경우에는 보통 Rule-based Algorithm 을 사용합니다.
Association Rules 은 대개 비지도학습의 케이스가 많기 때문에 Label 과 Dataset 에 해당하는 상관관계를 추출하기 어렵습니다.
그래서 Support Threshold 를 어떤 값으로 결정할지, Confidence Threshold 는 어떤값으로 할지 등을
도메인적인 배경지식을 기반으로 Rule 를 사전에 정의합니다.
Association Rules 구성요소 *
Association Rules 는 몇가지 지표들로 구성됩니다.
1. Support (지지도)
2. Confidence (신뢰도)
3. Lift (향상도)
Support *
Support (지지도) 는 특정 아이템 또는 아이템들의 조합이 얼마나 잦은 빈도로 구매되거나 관심을 받았는지에 대한 지표입니다.
이커머스의 경우에 특정 상품의 노출 빈도나 장바구니에 담긴 빈도, 구매 빈도 등이 지지도가 될 수 있습니다.
다른 산업군에서도 비슷하겠죠.
하나의 상품에 대해서도 적용이 가능하지만, 상품군에 대해서 Support 지표를 구하는 것이 일반적입니다.
왜냐하면 둘 이상의 상품에 대한 연관 규칙을 구해야하기 때문입니다.
Support 를 수학적으로 표현하면,
Support(X) = X 의 노출 빈도 / 전체 상품의 노출 빈도
두 상품 A, B 가 동시에 노출된 횟수가 100회고,
개별 상품의 노출 수의 총 합이 1000회 이라면
Support (A&B) = 100 / 1000 = 0.1 이 됩니다.
수학적으로 A 의 지지도와 B 의 지지도는 A&B 의 지지도보다 크거나 같습니다.
두 케이스가 결합된 확률은 개별적인 확률보다 클 수 없기 때문입니다.
Support(A) >= Support(A&B) , Support(B) >= Support(A&B)
Confidence *
Confidence 는 신뢰도라고 불리며, 조건부 확률을 의미합니다.
조건이라는 의미 자체가 전제 조건과 그에 따른 결과를 수반하게 되는데요.
전제 조건을 Antecedent, 조건에 따른 결과를 Consequent 라고 합니다.
Confidence 를 문장으로 풀어서 설명하면,
상품 A 를 구매하였을 때, 상품 B 를 구매할 확률로 설명할 수 있습니다.
상황에 따라
- 상품 A 에 관심이 있다면, 상품 B 또한 관심을 가질 확률
- 상품 A 를 장바구니에 담았다면, 상품 B 또한 장바구니에 담길 확률
..
등으로 표현 가능합니다.
분석하는 데이터가 거래 데이터인지, 행동 데이터인지, 장바구니 데이터인지에 따라서 해석이 달라집니다.
반대로 데이터가 환불 데이터처럼 negative 한 성격의 데이터라면
negative 한 조건부 해석도 가능합니다.
Confidence 를 수학적으로 표현하면 아래와 같습니다.
Confidence(A -> B) = Support(A U B) / Support(A)
"A 와 B 의 지지도 / A 의 지지도" 로 표현됩니다.
여기서 Antecedent 는 A 가 되고, Consequent 는 B 가 됩니다.
Confidence(A -> B) 를 풀어서 설명하자면,
거래 데이터 상에서 A 를 구매한 사람이 B 를 구매할 확률이 되며,
Basket 데이터 상에선 A 상품 를 장바구니에 담으면 B 를 같이 담을 확률이 됩니다.
A 상품에 어떠한 행동을 취한 사람이 A와 B 상품에 액션을 취했다면 이는 A -> B 의 조건부 사건으로 생각할 수 있습니다.
<추후에 추가할 내용들>
Lift Interest apriori brutal
반응형'AI-ML' 카테고리의 다른 글
[ pytorch ] AutoEncoder 구현하기 (0) 2023.09.05 [pytorch] Dropout 알아보기 (0) 2023.08.17 [ pytorch ] MaxPool2d, AvgPool2d 알아보기 ( Pooling Layer ) (0) 2023.03.27 [pytorch] torch.cat 알아보기 (0) 2023.03.12 [pytorch] nn.Linear 알아보기 (0) 2023.02.20