ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Association Rules (연관규칙) 이해하기
    AI-ML 2023. 5. 16. 20:51
    728x90
    반응형


    - 목차

     

    소개 *

    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

     

    반응형
Designed by Tistory.