[Week 5-2] πŸ”—νŽ˜μ΄μ§€λž­ν¬ μ•Œκ³ λ¦¬μ¦˜

JadeΒ·2021λ…„ 2μ›” 23일
0

λΆ€μŠ€νŠΈμΊ ν”„ AI Tech

λͺ©λ‘ 보기
22/54

5μ£Όμ°¨ ν™”μš”μΌ

  • νŽ˜μ΄μ§€λž­ν¬μ˜ μ •μ˜
  • νŽ˜μ΄μ§€λž­ν¬ 점수 계산

πŸ“[νŽ˜μ΄μ§€λž­ν¬μ˜ μ •μ˜]

웹은 μ›ΉνŽ˜μ΄μ§€(정점)와 ν•˜μ΄νΌλ§ν¬(κ°„μ„ )둜 κ΅¬μ„±λœ κ±°λŒ€ν•œ λ°©ν–₯ μžˆλŠ” κ·Έλž˜ν”„λ‹€.

초창기 검색 μ—”μ§„μ—μ„œλŠ” 웹을 예술, λ‰΄μŠ€, ꡐ윑, 건강 λ“± κ±°λŒ€ν•œ λ””λ ‰ν† λ¦¬λ‘œ μ •μ˜ν•˜κ³ μž ν–ˆλ‹€. ν•˜μ§€λ§Œ μ›Ή νŽ˜μ΄μ§€μ˜ μˆ˜κ°€ 증가함에 따라 μΉ΄ν…Œκ³ λ¦¬μ˜ μˆ˜μ™€ κΉŠμ΄λ„ λ¬΄ν•œμ • 컀지고 μΉ΄ν…Œκ³ λ¦¬μ˜ ꡬ뢄이 λͺ¨ν˜Έν•œ κ²½μš°λ„ μžˆμ–΄ μ €μž₯κ³Ό 검색에 어렀움이 μƒκΈ°κ²Œ λ˜μ—ˆλ‹€. λ˜λ‹€λ₯Έ μ‹œλ„λ‘œ μ‚¬μš©μžκ°€ κ²€μƒ‰ν•œ ν‚€μ›Œλ“œκ°€ 많이 ν¬ν•¨λ˜μ–΄ μžˆλŠ” μ›ΉνŽ˜μ΄μ§€λ₯Ό λ°˜ν™˜ν•˜λŠ” 방법도 μ‚¬μš©λ˜μ—ˆλŠ”λ°, 검색 μœ λ„λ₯Ό λͺ©μ μœΌλ‘œ νŠΉμ • ν‚€μ›Œλ“œλ₯Ό μΌλΆ€λŸ¬ 많이 λ„£μ–΄ 놓은 κ΄€λ ¨ μ—†λŠ” μ›Ή νŽ˜μ΄μ§€κ°€ κ²€μƒ‰λ˜λŠ” 단점이 μžˆλ‹€.

κ΅¬κΈ€μ˜ μ°½μ—…μž 래리 νŽ˜μ΄μ§€μ™€ μ„Έλ₯΄κ²Œμ΄ 브린이 λ…Όλ¬Έ The PageRank Citation Ranking: Bringing Order to the Web, 1999 μ—μ„œ μ†Œκ°œν•œ PageRank μ•Œκ³ λ¦¬μ¦˜μ΄ 이 문제λ₯Ό κ°œμ„ ν–ˆλ‹€.

  • νŽ˜μ΄μ§€λž­ν¬ : νˆ¬ν‘œ
    νŽ˜μ΄μ§€λž­ν¬μ˜ 핡심 μ•„μ΄λ””μ–΄λŠ” νˆ¬ν‘œλ‹€. νˆ¬ν‘œλ₯Ό 톡해 μ‚¬μš©μž ν‚€μ›Œλ“œμ™€ 관련이 λ†’μœΌλ©° μ‹ λ’°ν•  수 μžˆλŠ” μ›Ή νŽ˜μ΄μ§€λ₯Ό μ°ΎλŠ”λ‹€. νˆ¬ν‘œμ˜ μ£Όμ²΄λŠ” μ›Ή νŽ˜μ΄μ§€λ‘œ, ν•˜μ΄νΌλ§ν¬λ₯Ό 톡해 νˆ¬ν‘œν•˜κ²Œ λœλ‹€. μ–΄λ–€ μ›Ή νŽ˜μ΄μ§€ uκ°€ v둜의 ν•˜μ΄νΌλ§ν¬λ₯Ό ν¬ν•¨ν•˜κ³  μžˆλ‹€λ©΄ u의 μž‘μ„±μžλŠ” vκ°€ κ΄€λ ¨ 있고 μ‹ λ’°ν•  수 μžˆλŠ” νŽ˜μ΄μ§€λΌκ³  μƒκ°ν–ˆμ„ 것이닀. λ”°λΌμ„œ uκ°€ vμ—κ²Œ νˆ¬ν‘œν•œ 것이 λœλ‹€. ν•˜μ΄νΌλ§ν¬λŠ” κ°„μ„ μ΄λ―€λ‘œ, λ“€μ–΄μ˜€λŠ” 간선이 λ§Žμ„μˆ˜λ‘ μ‹ λ’°ν•  수 μžˆλ‹€κ³  λ³Ό 수 μžˆκ² λ‹€. κ·ΈλŸ¬λ‚˜ μ›Ή νŽ˜μ΄μ§€λ₯Ό μ—¬λŸ¬ 개 λ§Œλ“€κ±°λ‚˜ sns κ°€μ§œ 계정을 많이 λ§Œλ“€μ–΄ νŒ”λ‘œμš°ν•˜λŠ” λ“± κ°„μ„ μ˜ 수λ₯Ό μ‘°μž‘ν•  κ°€λŠ₯성이 있기 λ•Œλ¬Έμ— μ•…μš©μ„ 막기 μœ„ν•΄ 가쀑 νˆ¬ν‘œλ₯Ό μ μš©ν•˜μ—¬ 관련성이 λ†’κ³  μ‹ λ’°ν•  수 μžˆλŠ” μ›Ή νŽ˜μ΄μ§€μ˜ νˆ¬ν‘œλ₯Ό 더 μ€‘μš”ν•œ κ²ƒμœΌλ‘œ κ°„μ£Όν•œλ‹€.

    μ£Όλͺ©ν•  λ§Œν•œ 점은 νˆ¬ν‘œλ₯Ό 톡해 μΈ‘μ •ν•˜κ³ μž ν•˜λŠ” κ΄€λ ¨μ„±κ³Ό μ‹ λ’°μ„± 정보λ₯Ό νˆ¬ν‘œμ— μ‚¬μš©ν•œλ‹€λŠ” κ²ƒμœΌλ‘œ, μž¬κ·€μ μΈ 연립방정식을 톡해 계산할 수 μžˆλ‹€.

    μΈ‘μ •ν•˜λ €λŠ” μ›Ή νŽ˜μ΄μ§€μ˜ κ΄€λ ¨μ„±κ³Ό 신뒰도λ₯Ό νŽ˜μ΄μ§€λž­ν¬ 점수라고 λΆ€λ₯Έλ‹€. 각 μ›Ή νŽ˜μ΄μ§€λŠ” λ‚˜κ°€λŠ” μ΄μ›ƒλ“€μ—κ²Œ μžμ‹ μ˜ (νŽ˜μ΄μ§€λž­ν¬ 점수/λ‚˜κ°€λŠ” μ΄μ›ƒμ˜ 수) 만큼의 κ°€μ€‘μΉ˜λ‘œ νˆ¬ν‘œν•œλ‹€. 각 μ›Ή νŽ˜μ΄μ§€μ˜ νŽ˜μ΄μ§€λž­ν¬ μ μˆ˜λŠ” 받은 νˆ¬ν‘œμ˜ κ°€μ€‘μΉ˜ ν•©μœΌλ‘œ μ •μ˜λœλ‹€.

  • νŽ˜μ΄μ§€λž­ν¬ : μž„μ˜ 보행
    μž„μ˜ 보행을 톡해 웹을 탐색(ν˜„μž¬ νŽ˜μ΄μ§€μ˜ ν•˜μ΄νΌλ§ν¬ 쀑 ν•˜λ‚˜λ₯Ό κ· μΌν•œ ν™•λ₯ λ‘œ 클릭)ν•˜λŠ” μ›Ή μ„œνΌλ₯Ό κ°€μ •ν•˜λ©΄ μ›Ή μ„œνΌκ°€ t번째둜 λ°©λ¬Έν•œ μ›Ή νŽ˜μ΄μ§€κ°€ i일 ν™•λ₯ μ„ p_i(t)둜 μ •μ˜ν•  수 μžˆλ‹€. 이 λ•Œ p(t)λŠ” 길이가 μ›Ή νŽ˜μ΄μ§€ 수인 ν™•λ₯ λΆ„포 벑터가 λœλ‹€. 이λ₯Ό 톡해 μ›Ή μ„œνΌκ°€ t+1번째둜 λ°©λ¬Έν•œ νŽ˜μ΄μ§€κ°€ j일 ν™•λ₯ λ„ ꡬ할 수 μžˆλŠ”λ°, 이 과정을 λ¬΄ν•œνžˆ λ°˜λ³΅ν•˜μ—¬ tκ°€ λ¬΄ν•œνžˆ 컀지면 ν™•λ₯ λΆ„포 p(t)κ°€ μˆ˜λ ΄ν•˜μ—¬ p(t)=p(t+1)=pκ°€ λœλ‹€. 이 λ•Œ μˆ˜λ ΄ν•œ ν™•λ₯ λΆ„포 pλ₯Ό 정상 뢄포라고 λΆ€λ₯΄λ©°, 이것은 νˆ¬ν‘œ κ΄€μ μ—μ„œ μ •μ˜ν•œ νŽ˜μ΄μ§€ 랭크 μ μˆ˜μ™€ λ™μΌν•˜λ‹€.


πŸ“[νŽ˜μ΄μ§€λž­ν¬μ˜ 계산]

νŽ˜μ΄μ§€λž­ν¬ 점수λ₯Ό κ³„μ‚°ν•˜κΈ° μœ„ν•΄ 반볡곱(Power iteration)을 μ‚¬μš©ν•œλ‹€.

  • 반볡곱
  1. 각 νŽ˜μ΄μ§€ i의 νŽ˜μ΄μ§€λž­ν¬ 점수 r_i(0)을 λͺ¨λ‘ 1/μ›ΉνŽ˜μ΄μ§€ 수 둜 μ΄ˆκΈ°ν™”ν•œλ‹€.
  2. 각 νŽ˜μ΄μ§€μ˜ νŽ˜μ΄μ§€λž­ν¬ 점수λ₯Ό κ°±μ‹ ν•œλ‹€.
  3. νŽ˜μ΄μ§€λž­ν¬ μ μˆ˜κ°€ 수렴(r(t)와 r(t+1)이 μΆ©λΆ„νžˆ μœ μ‚¬ν•΄μ§)ν•˜μ˜€μœΌλ©΄ μ’…λ£Œ, μˆ˜λ ΄ν•˜μ§€ μ•Šμ•˜μœΌλ©΄ 2번 κ³Όμ •μœΌλ‘œ λŒμ•„κ°€ λ°˜λ³΅ν•œλ‹€.

    κ·ΈλŸ¬λ‚˜ 반볡곱 μ•Œκ³ λ¦¬μ¦˜μ€ '항상', '합리적인' 점수둜 μˆ˜λ ΄ν•˜λŠ” 것을 보μž₯ν•  수 μ—†λ‹€. λ“€μ–΄μ˜€λŠ” 간선은 μžˆμ§€λ§Œ λ‚˜κ°€λŠ” 간선이 μ—†λŠ” 막닀λ₯Έ 정점을 λ§Œλ‚˜λ©΄ νŽ˜μ΄μ§€λž­ν¬ μ μˆ˜κ°€ 0으둜 μˆ˜λ ΄ν•˜λ©°, λ“€μ–΄μ˜€λŠ” 간선은 μžˆμ§€λ§Œ λ‚˜κ°€λŠ” 간선이 μ—†λŠ” μ •μ μ˜ 집합인 μŠ€νŒŒμ΄λ” νŠΈλž©μ— 빠진 κ²½μš°μ—λŠ” νŽ˜μ΄μ§€λž­ν¬ μ μˆ˜κ°€ μˆ˜λ ΄ν•˜μ§€ μ•ŠλŠ”λ‹€.

  • μˆœκ°„μ΄λ™
    이 문제λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•΄ μˆœκ°„μ΄λ™μ„ λ„μž…ν–ˆλŠ”λ°, μ›Ή 상을 μž„μ˜ λ³΄ν–‰ν•˜λŠ” μ›Ή μ„œνΌμ˜ 행동을 λ‹€μŒκ³Ό 같이 μˆ˜μ •ν•˜μ˜€λ‹€.

    1. ν˜„μž¬ νŽ˜μ΄μ§€μ— ν•˜μ΄νΌλ§ν¬κ°€ μ—†λ‹€λ©΄ μž„μ˜μ˜ μ›Ή νŽ˜μ΄μ§€λ‘œ μˆœκ°„μ΄λ™ν•œλ‹€.
    2. ν˜„μž¬ νŽ˜μ΄μ§€μ— ν•˜μ΄νΌλ§ν¬κ°€ μžˆλ‹€λ©΄ μ•žλ©΄μ΄ λ‚˜μ˜¬ ν™•λ₯ μ΄ α인 동전을 λ˜μ§„λ‹€.
    3. μ•žλ©΄μ΄ λ‚˜μ™”λ‹€λ©΄ ν•˜μ΄νΌλ§ν¬ 쀑 ν•˜λ‚˜λ₯Ό κ· μΌν•œ ν™•λ₯ λ‘œ 선택해 ν΄λ¦­ν•œλ‹€.
    4. 뒷면이 λ‚˜μ™”λ‹€λ©΄ μž„μ˜μ˜ μ›ΉνŽ˜μ΄μ§€λ‘œ μˆœκ°„μ΄λ™ν•œλ‹€.

μˆœκ°„μ΄λ™μ„ μ μš©ν•˜λ©΄ 막닀λ₯Έ μ •μ μ΄λ‚˜ μŠ€νŒŒμ΄λ” νŠΈλž©μ— κ°‡νžˆλŠ” 일이 없어진닀. νŽ˜μ΄μ§€λž­ν¬ 점수λ₯Ό κ΅¬ν•˜λŠ” μˆ˜μ‹μ€ λ‹€μŒκ³Ό 같이 바뀐닀.

profile
λ°˜κ°€μ›Œμš©

0개의 λŒ“κΈ€