소셜 네트워크 기반 추론

R로 배우는 사기 탐지

Tim Verdonck

Professor Data Science at KU Leuven

소셜 네트워크 기반 추론

목표

다른 노드의 행동을 바탕으로 특정 노드의 행동을 예측함

네트워크의 누락 노드

R로 배우는 사기 탐지

소셜 네트워크 기반 추론

과제

  • 데이터는 독립적이지 않음
    • 한 노드의 행동이 다른 노드에 영향
    • 노드 간 행동 상관
  • 집합적 추론: 노드에 대한 추론이 서로에 영향

네트워크의 누락 노드

R로 배우는 사기 탐지

비관계 vs 관계

비관계 모델

  • 로컬 정보만 사용
  • 로지스틱 회귀, 의사결정나무 등

로지스틱 회귀

관계 모델

  • 네트워크의 링크 활용
  • 관계 이웃 분류기

단순 네트워크

R로 배우는 사기 탐지

관계 이웃 분류기

가정

  • 동질성: 연결된 노드는 동일한 클래스에 속할 가능성이 큼(연상에 의한 귀인)
  • 일부 클래스 레이블은 알려져 있음

누락된 노드

R로 배우는 사기 탐지

관계 이웃 분류기

사기 확률

$$P(F | ?) = \frac{1 + 1}{1 + 1 + 1 + 1 + 1}=\frac{2}{5}= 40\%$$

누락된 노드

R로 배우는 사기 탐지

가중치 포함 관계 이웃 분류기

사기 확률

$$P(F | ?) = \frac{1 + 2}{3 + 1 + 1 + 2 + 1}=\frac{3}{8}=37.5\%$$

가중치가 있는 누락 노드

R로 배우는 사기 탐지

관계 이웃 분류기

vertex_attr(network) ## 노드는 1(사기), 0(비사기), NA(미확인)으로 라벨링됨
$name
"?" "B" "C" "D" "E" "A"
$isFraud
NA  1  0  1  0  0
edge_attr(network) ## 간선에는 가중치가 있음

$weight
2 3 1 1 1
R로 배우는 사기 탐지

관계 이웃 분류기

## subgraph(): 노드 "?"와 모든 사기 노드를 포함하는 서브그래프 생성
subnetwork <- subgraph(network, v = c("?", "B", "D"))

## strength(): 노드 "?" 인접 간선 가중치 합산 prob_fraud <- strength(subnetwork, v = "?") / strength(network, v = "?")
prob_fraud
0.375
R로 배우는 사기 탐지

Ayo berlatih!

R로 배우는 사기 탐지

Preparing Video For Download...