λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°

인곡지λŠ₯

[Day 23] Graph - κ΅°μ§‘ & κ΅°μ§‘ 탐색 μ•Œκ³ λ¦¬μ¦˜ & μΆ”μ²œ μ‹œμŠ€ν…œ

πŸ“ κ΅°μ§‘(Comuunity)

  - λ‹€μŒ 쑰건을 λ§Œμ‘±ν•˜λŠ” μ •μ λ“€μ˜ μ§‘ν•©

    1. 집합에 μ†ν•˜λŠ” 정점 μ‚¬μ΄μ—λŠ” λ§Žμ€ 간선이 쑴재

    2. 집합에 μ†ν•˜λŠ” 정점과 κ·Έλ ‡μ§€ μ•Šμ€ 정점 μ‚¬μ΄μ—λŠ” 적은 간선이 쑴재

 

  - 온라인 μ†Œμ…œ λ„€νŠΈμ›Œν¬μ˜ ꡰ집은 μ‚¬νšŒμ  무리(Social Circle)을 μ˜λ―Έν•˜λŠ” κ²½μš°κ°€ 많음

 

  - λ‰΄λŸ°κ°„ μ—°κ²° κ·Έλž˜ν”„μ—μ„œλŠ” ꡰ집듀이 λ‡Œμ˜ κΈ°λŠ₯적 ꡬ성 λ‹¨μœ„λ₯Ό 의미

 

  πŸ”₯ κ·Έλž˜ν”„λ₯Ό μ—¬λŸ¬ κ΅°μ§‘μœΌλ‘œ '잘' λ‚˜λˆ„λŠ” 문제λ₯Ό κ΅°μ§‘ 탐색(Community Detection)문제라고 함

 

πŸ“ κ΅°μ§‘ 탐색

  πŸ”₯ 배치 λͺ¨ν˜•(Configuration Model)

    - 각 μ •μ μ˜ μ—°κ²°μ„±(Degree)을 λ³΄μ‘΄ν•œ μƒνƒœμ—μ„œ 간선듀을 λ¬΄μž‘μœ„λ‘œ μž¬λ°°μΉ˜ν•˜μ—¬ 얻은 κ·Έλž˜ν”„

 

  πŸ”₯ κ΅°μ§‘μ„±(Modularity)

    - κ΅°μ§‘ νƒμƒ‰μ˜ 성곡 μ—¬λΆ€λ₯Ό νŒλ‹¨ν•˜κΈ° μœ„ν•΄ μ‚¬μš©ν•˜λŠ” 도ꡬ

    -> λ¬΄μž‘μœ„λ‘œ μ—°κ²°λœ 배치 λͺ¨ν˜•κ³Όμ˜ 비ꡐλ₯Ό 톡해 톡계적 μœ μ˜μ„± νŒλ‹¨(0.3~0.7 μ •λ„μ˜ κ°’μΌλ•Œ, μœ μ˜λ―Έν•˜λ‹€κ³  함)

 

  πŸ”₯ Girvan-Newman μ•Œκ³ λ¦¬μ¦˜

    - λŒ€ν‘œμ μΈ ν•˜ν–₯식(Top-down) κ΅°μ§‘ 탐색 μ•Œκ³ λ¦¬μ¦˜

    - 전체 κ·Έλž˜ν”„μ—μ„œ 탐색을 μ‹œμž‘ν•΄ ꡰ집듀이 μ„œλ‘œ λΆ„λ¦¬λ˜λ„λ‘, 간선을 순차적으둜 제거

    -> κ°„μ„ (닀리 μ—­ν• )을 μ–΄λ–»κ²Œ μ°Ύμ„κΉŒ?

      => 맀개 쀑심성(Betweenness Centrality)λ₯Ό μ‚¬μš© - ν•΄λ‹Ή 간선이 μ •μ κ°„μ˜ μ΅œλ‹¨ κ²½λ‘œμ— λ†“μ΄λŠ” 횟수

 

    - μ•Œκ³ λ¦¬μ¦˜ μˆœμ„œ

      1. 전체 κ·Έλž˜ν”„μ—μ„œ μ‹œμž‘

      2. 맀개 쀑심성이 높은 μˆœμ„œλ‘œ 간선을 μ œκ±°ν•˜λ©΄μ„œ, κ΅°μ§‘μ„± λ³€ν™”λ₯Ό 기둝

      3. ꡰ집성이 κ°€μž₯ μ»€μ§€λŠ” 상황을 볡원

      4. μ΄λ•Œ, μ„œλ‘œ μ—°κ²°λœ 정점듀, 즉 μ—°κ²° μš”μ†Œλ₯Ό ν•˜λ‚˜μ˜ κ΅°μ§‘μœΌλ‘œ κ°„μ£Ό

 

    - κ°„μ„ μ˜ 제거 정도에 λ”°λΌμ„œ λ‹€λ₯Έ μž…λ„(Granularity)의 κ΅°μ§‘ ꡬ쑰가 λ‚˜νƒ€λ‚¨

 

    - 간선을 μ–΄λŠμ •λ„ μ œκ±°ν•˜λŠ” 것이 μ ν•©ν• κΉŒ?

      => ꡰ집성을 κΈ°μ€€μœΌλ‘œ μ‚ΌμŒ(μ΅œλŒ€κ°€ λ˜λŠ” 지점)

 

  πŸ”₯ Louvain μ•Œκ³ λ¦¬μ¦˜

    - 상ν–₯식(Bottom-up) κ΅°μ§‘ 탐색 μ•Œκ³ λ¦¬μ¦˜

    - κ°œλ³„ μ •μ μ—μ„œ μ‹œμž‘ν•΄ 점점 큰 ꡰ집을 ν˜•μ„±

 

    - κ³Όμ •

      1. κ°œλ³„ μ •μ μœΌλ‘œ κ΅¬μ„±λœ 크기 1의 κ΅°μ§‘λ“€λ‘œλΆ€ν„° μ‹œμž‘

      2. 각 정점 uλ₯Ό κΈ°μ‘΄ ν˜Ήμ€ μƒˆλ‘œμš΄ κ΅°μ§‘μœΌλ‘œ 이동(μ΄λ•Œ, ꡰ집성이 μ΅œλŒ€ν™”λ˜λ„λ‘ ꡰ집을 κ²°μ •)

      3. 더 이상 ꡰ집성이 μ¦κ°€ν•˜μ§€ μ•Šμ„ λ•ŒκΉŒμ§€ 2λ²ˆμ„ 반볡

      4. 각 ꡰ집을 ν•˜λ‚˜μ˜ μ •μ μœΌλ‘œν•˜λŠ” κ΅°μ§‘ 레벨의 κ·Έλž˜ν”„λ₯Ό 얻은 λ’€ 3λ²ˆμ„ μˆ˜ν–‰

      5. ν•œ 개의 정점이 남을 λ•ŒκΉŒμ§€ 4번 반볡

 

  πŸ”₯ 쀑첩이 μžˆλŠ” κ΅°μ§‘ λͺ¨ν˜•

    - μ‹€μ œ κ·Έλž˜ν”„μ˜ ꡰ집듀은 μ€‘μ²©λ˜μ–΄ λ‚˜νƒ€λ‚¨

 

    - κ·Έλž˜ν”„μ˜ ν™•λ₯ μ„ κ³„μ‚°ν•˜μ—¬ 그것을 μ΅œλŒ€ν™”ν•˜λŠ” κ΅°μ§‘ λͺ¨ν˜•을 μ°ΎλŠ” 것이 쀑첩 κ΅°μ§‘ 탐색

 

 

πŸ“ μΆ”μ²œ μ‹œμŠ€ν…œ

  - μ’…λ₯˜: μ•„λ§ˆμ‘΄(μƒν’ˆ μΆ”μ²œ), λ„·ν”Œλ¦­μŠ€(μ˜ν™” μΆ”μ²œ), 유튜브(μ˜μƒ μΆ”μ²œ), 페이슀뢁(친ꡬ μΆ”μ²œ) λ“±

  - μ‚¬μš©μž 각각이 ꡬ맀할 λ§Œν•œ ν˜Ήμ€ μ„ ν˜Έν•  λ§Œν•œ μƒν’ˆμ„ μΆ”μ²œ

 

  πŸ”₯ λ‚΄μš© 기반 μΆ”μ²œ μ‹œμŠ€ν…œ(Content-based)

    - 각 μ‚¬μš©μžκ°€ ꡬ맀/λ§Œμ‘±ν–ˆλ˜ μƒν’ˆκ³Ό μœ μ‚¬ν•œ 것을 μΆ”μ²œν•˜λŠ” 방법

    - λΆ€κ°€ 정보λ₯Ό ν™œμš©ν•΄ μœ μ‚¬μƒν’ˆμ„ 찾음

 

    - 원리

      1. μƒν’ˆ ν”„λ‘œν•„(Item Profile) μˆ˜μ§‘ - 벑터(One hot encoding)으둜 ν‘œν˜„

      2. μ‚¬μš©μž ν”„λ‘œν•„(User Profile) ꡬ성 - 가쀑 평균을 계산해 λ²‘ν„°λ‘œ ν‘œν˜„

      3. μ‚¬μš©μž ν”„λ‘œν•„κ³Ό λ‹€λ₯Έ μƒν’ˆλ“€μ˜ μƒν’ˆ ν”„λ‘œν•„μ„ λ§€μΉ­ - cos μœ μ‚¬λ„ μ‚¬μš©

      4. μ‚¬μš©μžμ—κ²Œ μƒν’ˆμ„ μΆ”μ²œ

 

  πŸ”₯ ν˜‘μ—… 필터링 μΆ”μ²œ μ‹œμŠ€ν…œ

    - 원리

      1. μ‚¬μš©μž x와 μœ μ‚¬ν•œ μ·¨ν–₯의 μ‚¬μš©μž(y)λ₯Ό 찾음

      2. yκ°€ μ„ ν˜Έν•œ μƒν’ˆ(z)을 찾음

      3. zλ₯Ό xμ—κ²Œ μΆ”μ²œ

  

    - 상관 κ³„μˆ˜(Correlation Coefficient)

      -> μ·¨ν–₯의 μœ μ‚¬μ„±μ„ μΈ‘μ •

 

  πŸ”₯ μΆ”μ²œ μ‹œμŠ€ν…œ 평가

    - μΆ”μ •ν•œ 평점과 μ‹€μ œ 평가 데이터λ₯Ό 비ꡐ(MSE - Mean Squared Error, 평균 제곱 였차 λ₯Ό μ‚¬μš©)