• Mindscape ๐Ÿ”ฅ
    • Playlist ๐ŸŽง
  • ๐Ÿค– Artifical Intelligence

    • 1. Basics; Linear Algebra
    • 2. Basics; Linear Algebra (2), Search (1)
    • 3. Search (2)
    • 4. Knowledge and Logic (1)
    • 5. Knowledge and Logic (2)
    • 6. Probability
    • 7. Information Theory
    • 8. Probabilitc Reasoning (2)
    • 9. Probabilitc Reasoning (3)
    • 10. Machine Learning (1)
    • 11. Machine Learning (2)
    • 12. Machine Learning (3)
    • 13. Linear Models
    • 14. Other Classic ML Models (1)
    • 15. Other Classic ML Models (2)
  • ๐Ÿ”’ Computer Security

    • 01. Overview
    • 02. ์ •๋ณด๋ณด์•ˆ์ •์ฑ… ๋ฐ ๋ฒ•๊ทœ
    • 03. Cryptographic Tools
    • 04. User Authentication
    • 05. Access Control
    • 06. Database Security
    • 07. Malicious Software
    • 08. Firmware Analysis
  • ๐Ÿ—„๏ธ Database System

    • 1. Introduction
    • 2. Relational Model
    • 3. SQL
    • 6. E-R Model
    • 7. Relational Database Design (1)
    • 7. Relational Database Design (2)
    • 13. Data Storage Structures
    • 14. Indexing
    • 15. Query Processing
  • ๐Ÿ“ Software Engineering

    • 2. Introduction to Software Engineering
    • 3. Process
    • 4. Process Models
    • 5. Agile
    • 6. Requirements
    • 7. Requirements Elicitation and Documentation
    • 8. Architecture
    • 9. Unified Modelling Language
    • 10. Object-Oriented Analysis
    • Object-Oriented Design
  • ๐Ÿง  Algorithm

    • Python ์‹œ๊ฐ„ ์ดˆ๊ณผ ๋ฐฉ์ง€๋ฅผ ์œ„ํ•œ ํŒ
    • C++ std::vector ์‚ฌ์šฉ๋ฒ• ์ •๋ฆฌ
    • Vim ์‚ฌ์šฉ ๋งค๋‰ด์–ผ
    • 1018๋ฒˆ: ์ฒด์ŠคํŒ ๋‹ค์‹œ ์น ํ•˜๊ธฐ
    • 1966๋ฒˆ: ํ”„๋ฆฐํ„ฐ ํ

2. Basics; Linear Algebra (2), Search (1)

๊ณ ์œ ๊ฐ’๊ณผ ๊ณ ์œ ๋ฒกํ„ฐ (Eigenvalues and Eigenvectors)

์ •์˜

  • ์ •๋ฐฉ ํ–‰๋ ฌ AโˆˆRnร—nA \in \mathbb{R}^{n \times n}AโˆˆRnร—n์ด ์ฃผ์–ด์กŒ์„ ๋•Œ, ฮปโˆˆC\lambda \in \mathbb{C}ฮปโˆˆC๋Š” AAA์˜ ๊ณ ์œ ๊ฐ’(eigenvalue), xโˆˆCn\mathbf{x} \in \mathbb{C}^nxโˆˆCn๋Š” ํ•ด๋‹นํ•˜๋Š” ๊ณ ์œ ๋ฒกํ„ฐ(eigenvector)

Ax=ฮปx,xโ‰ 0A\mathbf{x} = \lambda\mathbf{x}, \quad \mathbf{x} \neq \mathbf{0} Ax=ฮปx,x๎€ =0

  • AAA๋ฅผ ๋ฒกํ„ฐ x\mathbf{x}x์™€ ๊ณฑํ•œ ๊ฒฐ๊ณผ๊ฐ€ x\mathbf{x}x์™€ ๊ฐ™์€ ๋ฐฉํ–ฅ์„ ๊ฐ€๋ฆฌํ‚ค๋ฉฐ, ฮป\lambdaฮป๋งŒํผ ํฌ๊ธฐ๊ฐ€ ์กฐ์ •(scaled)๋œ ์ƒˆ๋กœ์šด ๋ฒกํ„ฐ์ž„์„ ์˜๋ฏธ
  • ์ž„์˜์˜ ๊ณ ์œ ๋ฒกํ„ฐ xโˆˆCn\mathbf{x} \in \mathbb{C}^nxโˆˆCn์™€ ์Šค์นผ๋ผ cโˆˆCc \in \mathbb{C}cโˆˆC์— ๋Œ€ํ•ด, cxc\mathbf{x}cx ์—ญ์‹œ ๊ณ ์œ ๋ฒกํ„ฐ
    • A(cx)=c(Ax)=cฮปx=ฮป(cx)\mathbf{A}(c\mathbf{x}) = c(A\mathbf{x}) = c\lambda\mathbf{x} = \lambda(c\mathbf{x})A(cx)=c(Ax)=cฮปx=ฮป(cx)
  • ์ผ๋ฐ˜์ ์œผ๋กœ ๊ณ ์œ ๋ฒกํ„ฐ๋Š” ๊ธธ์ด๊ฐ€ 1๋กœ ์ •๊ทœํ™”(normalized)๋œ ๋ฒกํ„ฐ๋กœ ๊ฐ€์ •

๊ณ ์œ ๊ฐ’ ๊ณ„์‚ฐ

  • ์œ„ ์‹์„ (ฮปIโˆ’A)x=0,ย xโ‰ 0(\lambda I - A)\mathbf{x} = \mathbf{0},~\mathbf{x} \neq \mathbf{0}(ฮปIโˆ’A)x=0,ย x๎€ =0๋กœ ์žฌ์ž‘์„ฑ
  • ์ด ์‹์ด 0์ด ์•„๋‹Œ ํ•ด x\mathbf{x}x๋ฅผ ๊ฐ–๋Š” ๊ฒƒ์€ ฮปIโˆ’A\lambda I - AฮปIโˆ’A๊ฐ€ ๋น„์–ด ์žˆ์ง€ ์•Š์€ ์˜ ๊ณต๊ฐ„(nonempty nullspace)์„ ๊ฐ€์งˆ ๋•Œ๋งŒ ๊ฐ€๋Šฅ, ์ด๋Š” ฮปIโˆ’A\lambda I - AฮปIโˆ’A๊ฐ€ ํŠน์ด ํ–‰๋ ฌ(singular)์ผ ๋•Œ, ์ฆ‰ ํ–‰๋ ฌ์‹(determinant)์ด 0์ผ ๋•Œ

โˆฃฮปIโˆ’Aโˆฃ=0|\lambda I - A| = 0 โˆฃฮปIโˆ’Aโˆฃ=0

  • โˆฃฮปIโˆ’Aโˆฃ|\lambda I - A|โˆฃฮปIโˆ’Aโˆฃ๋ฅผ ฮป\lambdaฮป์— ๋Œ€ํ•œ ๋‹คํ•ญ์‹์œผ๋กœ ์ „๊ฐœ (nnn์ฐจ) โ‡’\Rightarrowโ‡’ ํ–‰๋ ฌ AAA์˜ ํŠน์„ฑ ๋‹คํ•ญ์‹ (characteristic polynomial)
  • ์ด ๋‹คํ•ญ์‹์˜ nnn๊ฐœ ๊ทผ ฮป1,โ€ฆ,ฮปn\lambda_1, \dots, \lambda_nฮป1โ€‹,โ€ฆ,ฮปnโ€‹์ด ํ–‰๋ ฌ AAA์˜ ๊ณ ์œ ๊ฐ’ (ฮปi\lambda_iฮปiโ€‹๋Š” ์„œ๋กœ ๋‹ค๋ฅผ ํ•„์š” ์—†์Œ.)
  • ๊ณ ์œ ๊ฐ’ ฮปi\lambda_iฮปiโ€‹์— ํ•ด๋‹นํ•˜๋Š” ๊ณ ์œ ๋ฒกํ„ฐ๋Š” ์„ ํ˜• ๋ฐฉ์ •์‹ (ฮปiIโˆ’A)x=0(\lambda_i I - A)\mathbf{x} = \mathbf{0}(ฮปiโ€‹Iโˆ’A)x=0์„ ํ’€์–ด ๊ตฌํ•จ.

๊ณ ์œ ๊ฐ’ ๋ฐ ๊ณ ์œ ๋ฒกํ„ฐ์˜ ์†์„ฑ

  • tr(A)=โˆ‘i=1nฮปi\text{tr}(A) = \sum_{i=1}^n \lambda_itr(A)=โˆ‘i=1nโ€‹ฮปiโ€‹
  • โˆฃAโˆฃ=โˆi=1nฮปi|A| = \prod_{i=1}^n \lambda_iโˆฃAโˆฃ=โˆi=1nโ€‹ฮปiโ€‹
  • AAA์˜ ๊ณ„์ˆ˜(rank(A)\text{rank}(A)rank(A))๋Š” 0์ด ์•„๋‹Œ ๊ณ ์œ ๊ฐ’์˜ ์ˆ˜์™€ ๊ฐ™์Œ.
  • ๋Œ€๊ฐ ํ–‰๋ ฌ D=diag(d1,โ€ฆ,dn)D = \text{diag}(d_1, \dots, d_n)D=diag(d1โ€‹,โ€ฆ,dnโ€‹)์˜ ๊ณ ์œ ๊ฐ’์€ ๋Œ€๊ฐ ์›์†Œ d1,โ€ฆ,dnd_1, \dots, d_nd1โ€‹,โ€ฆ,dnโ€‹๊ณผ ๊ฐ™์Œ.

๋Œ€์นญ ํ–‰๋ ฌ (Symmetric Matrices)์˜ ๊ณ ์œ ๊ฐ’๊ณผ ๊ณ ์œ ๋ฒกํ„ฐ

  • ๋จธ์‹ ๋Ÿฌ๋‹์˜ ๋Œ€๋ถ€๋ถ„ ๊ฒฝ์šฐ, ๋Œ€์นญ ์‹ค์ˆ˜ ํ–‰๋ ฌ(symmetric real matrices)์„ ๋‹ค๋ฃจ๋ฉฐ, ์ด ํ–‰๋ ฌ๋“ค์˜ ๊ณ ์œ ๊ฐ’๊ณผ ๊ณ ์œ ๋ฒกํ„ฐ๋Š” ์ฃผ๋ชฉํ•  ๋งŒํ•œ ์†์„ฑ์„ ๊ฐ€์ง (์˜ˆ: ํ–‰๋ ฌ์—์„œ ์–‘๋ฐฉํ–ฅ ๊ทธ๋ž˜ํ”„(bi-directional graph) ํ‘œํ˜„)
  • ์†์„ฑ
    1. AAA์˜ ๋ชจ๋“  ๊ณ ์œ ๊ฐ’ ฮป1,โ€ฆ,ฮปn\lambda_1, \dots, \lambda_nฮป1โ€‹,โ€ฆ,ฮปnโ€‹์€ ์‹ค์ˆ˜
    2. ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ณ ์œ ๋ฒกํ„ฐ ์ง‘ํ•ฉ u1,โ€ฆ,un\mathbf{u}_1, \dots, \mathbf{u}_nu1โ€‹,โ€ฆ,unโ€‹์ด ์กด์žฌ
      • ๋ชจ๋“  iii์— ๋Œ€ํ•ด, ui\mathbf{u}_iuiโ€‹๋Š” ๊ณ ์œ ๊ฐ’ ฮปi\lambda_iฮปiโ€‹์— ํ•ด๋‹นํ•˜๋Š” ๊ณ ์œ ๋ฒกํ„ฐ
      • u1,โ€ฆ,un\mathbf{u}_1, \dots, \mathbf{u}_nu1โ€‹,โ€ฆ,unโ€‹์€ ๋‹จ์œ„ ๋ฒกํ„ฐ(unit vectors)์ด๋ฉฐ ์„œ๋กœ ์ง๊ต(orthogonal)
      • ui\mathbf{u}_iuiโ€‹๋“ค์„ ์—ด ๋ฒกํ„ฐ๋กœ ํฌํ•จํ•˜๋Š” ์ง๊ต ํ–‰๋ ฌ(orthogonal matrix)์„ UUU๋ผ ํ•  ๋•Œ, ฮ›=diag(ฮป1,โ€ฆ,ฮปn)\Lambda = \text{diag}(\lambda_1, \dots, \lambda_n)ฮ›=diag(ฮป1โ€‹,โ€ฆ,ฮปnโ€‹)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ

      A=Uฮ›UTA = U\Lambda U^T A=Uฮ›UT

      • ์ด๋Š” AAA ํ–‰๋ ฌ์˜ ๋Œ€๊ฐํ™” (diagonalization) ๋˜๋Š” ๊ณ ์œ  ๋ถ„ํ•ด (eigendecomposition)๋ผ ๋ถˆ๋ฆผ.

ํŠน์ด๊ฐ’ ๋ถ„ํ•ด (Singular Value Decomposition, SVD)

์ •์˜

  • ํŠน์ด๊ฐ’ ๋ถ„ํ•ด(SVD)๋Š” ํ–‰๋ ฌ์„ ํŠน์ด ๋ฒกํ„ฐ(singular vectors)์™€ ํŠน์ด๊ฐ’(singular values)์œผ๋กœ ๋ถ„ํ•ดํ•˜๋Š” ๋˜ ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•
  • ๊ณ ์œ  ๋ถ„ํ•ด์™€ ์œ ์‚ฌํ•˜์ง€๋งŒ, ๋” ์ผ๋ฐ˜์ ์œผ๋กœ ์ ์šฉ ๊ฐ€๋Šฅ
    • ์ž„์˜์˜ ํ–‰๋ ฌ AโˆˆRmร—nA \in \mathbb{R}^{m \times n}AโˆˆRmร—n์— ๋Œ€ํ•ด ์„ฑ๋ฆฝ

๊ณต์‹

A=UฮฃVT=โˆ‘i=1ruiฯƒiviTA = U\Sigma V^T = \sum_{i=1}^r \mathbf{u}_i \sigma_i \mathbf{v}_i^T A=UฮฃVT=i=1โˆ‘rโ€‹uiโ€‹ฯƒiโ€‹viTโ€‹

  • AโˆˆRmร—nA \in \mathbb{R}^{m \times n}AโˆˆRmร—n: ์‹ค์ˆ˜ ๊ฐ’ ์ง์‚ฌ๊ฐํ˜• ํ–‰๋ ฌ
  • UโˆˆRmร—mU \in \mathbb{R}^{m \times m}UโˆˆRmร—m: ์—ด ๋ฒกํ„ฐ(ui\mathbf{u}_iuiโ€‹)๊ฐ€ AATA A^TAAT์˜ ๊ณ ์œ ๋ฒกํ„ฐ์ธ ์ง๊ต ํ–‰๋ ฌ (์ขŒ์ธก ํŠน์ด ๋ฒกํ„ฐ, left singular vectors)
  • ฮฃโˆˆRmร—n\Sigma \in \mathbb{R}^{m \times n}ฮฃโˆˆRmร—n: ๋Œ€๊ฐ ์›์†Œ(ฯƒi\sigma_iฯƒiโ€‹)๊ฐ€ AATA A^TAAT์™€ ATAA^T AATA์˜ ๊ณ ์œ ๊ฐ’์˜ ์ œ๊ณฑ๊ทผ์ธ ๋Œ€๊ฐ ํ–‰๋ ฌ
    • (ํŠน์ด๊ฐ’, singular values) (ฯƒ1โ‰ฅฯƒ2โ‰ฅโ‹ฏโ‰ฅฯƒnโ‰ฅ0\sigma_1 \ge \sigma_2 \ge \dots \ge \sigma_n \ge 0ฯƒ1โ€‹โ‰ฅฯƒ2โ€‹โ‰ฅโ‹ฏโ‰ฅฯƒnโ€‹โ‰ฅ0)
  • VโˆˆRnร—nV \in \mathbb{R}^{n \times n}VโˆˆRnร—n: ์—ด ๋ฒกํ„ฐ(vi\mathbf{v}_iviโ€‹)๊ฐ€ ATAA^T AATA์˜ ๊ณ ์œ ๋ฒกํ„ฐ์ธ ์ง๊ต ํ–‰๋ ฌ (์šฐ์ธก ํŠน์ด ๋ฒกํ„ฐ, right singular vectors)

SVD ๋ฐ ์‘์šฉ: ๋‚˜์ด๋ธŒ ์›Œ๋“œ ๋ฒกํ„ฐ (Naรฏve Word Vectors)

  • ์œˆ๋„์šฐ ๊ธฐ๋ฐ˜ ๋™์‹œ ๋ฐœ์ƒ ํ–‰๋ ฌ(Window based co-occurrence matrix)์— SVD๋ฅผ ์ ์šฉ
    • ์œˆ๋„์šฐ ๊ธธ์ด: 1 (์ผ๋ฐ˜์ ์œผ๋กœ 5-10)
    • ๋Œ€์นญ (์™ผ์ชฝ ๋˜๋Š” ์˜ค๋ฅธ์ชฝ ๋ฌธ๋งฅ์— ๊ด€๊ณ„์—†์ด)
  • ์ž ์žฌ ์˜๋ฏธ ๋ถ„์„ (Latent Semantic Analysis) ํ‚ค์›Œ๋“œ ์ฐธ๊ณ 
  • ๋™์‹œ ๋ฐœ์ƒ ํ–‰๋ ฌ์„ SVD๋กœ ๋ถ„ํ•ดํ•œ ํ›„, ๊ฐ€์žฅ ํฐ ํŠน์ด๊ฐ’์— ํ•ด๋‹นํ•˜๋Š” ์ขŒ์ธก ํŠน์ด ๋ฒกํ„ฐ UUU์˜ ์—ด๋“ค์„ ์ถ”์ถœํ•˜์—ฌ ๋‹จ์–ด์˜ ์›Œ๋“œ ๋ฒกํ„ฐ(Word Vector)๋กœ ์‚ฌ์šฉ ๊ฐ€๋Šฅ
    • ์˜ˆ: NumPy๋ฅผ ์‚ฌ์šฉํ•œ ํŒŒ์ด์ฌ ์ฝ”๋“œ ์‹คํ–‰ ๊ฒฐ๊ณผ, 2๊ฐœ์˜ ๊ฐ€์žฅ ํฐ ํŠน์ด๊ฐ’์— ํ•ด๋‹นํ•˜๋Š” UUU์˜ ์ฒซ ๋‘ ์—ด์„ ์ถœ๋ ฅํ•˜์—ฌ ๋‹จ์–ด ๋ฒกํ„ฐ๋ฅผ ์–ป์Œ.

ํ–‰๋ ฌ ๋ฏธ์ ๋ถ„ (Matrix Calculus)

๊ธฐ์šธ๊ธฐ (The Gradient)

  • ํ•จ์ˆ˜ f:Rmร—nโ†’Rf:\mathbb{R}^{m \times n} \to \mathbb{R}f:Rmร—nโ†’R์ด mร—nm \times nmร—n ํฌ๊ธฐ์˜ ํ–‰๋ ฌ AAA๋ฅผ ์ž…๋ ฅ์œผ๋กœ ๋ฐ›๊ณ  ์‹ค์ˆ˜ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค๊ณ  ๊ฐ€์ •
  • AโˆˆRmร—nA \in \mathbb{R}^{m \times n}AโˆˆRmร—n์— ๋Œ€ํ•œ fff์˜ ๊ธฐ์šธ๊ธฐ(Gradient) โˆ‡Af(A)\nabla_A f(A)โˆ‡Aโ€‹f(A)๋Š” ํŽธ๋ฏธ๋ถ„ ํ–‰๋ ฌ๋กœ ์ •์˜

โˆ‡Af(A)โˆˆRmร—n=[โˆ‚f(A)โˆ‚A11โ‹ฏโˆ‚f(A)โˆ‚A1nโ‹ฎโ‹ฑโ‹ฎโˆ‚f(A)โˆ‚Am1โ‹ฏโˆ‚f(A)โˆ‚Amn]\nabla_A f(A) \in \mathbb{R}^{m \times n} = \begin{bmatrix} \frac{\partial f(A)}{\partial A_{11}} & \cdots & \frac{\partial f(A)}{\partial A_{1n}} \\ \vdots & \ddots & \vdots \\ \frac{\partial f(A)}{\partial A_{m1}} & \cdots & \frac{\partial f(A)}{\partial A_{mn}} \end{bmatrix} โˆ‡Aโ€‹f(A)โˆˆRmร—n=โ€‹โˆ‚A11โ€‹โˆ‚f(A)โ€‹โ‹ฎโˆ‚Am1โ€‹โˆ‚f(A)โ€‹โ€‹โ‹ฏโ‹ฑโ‹ฏโ€‹โˆ‚A1nโ€‹โˆ‚f(A)โ€‹โ‹ฎโˆ‚Amnโ€‹โˆ‚f(A)โ€‹โ€‹โ€‹

  • ์ฆ‰, โˆ‡Af(A)ij=โˆ‚f(A)โˆ‚Aij\nabla_A f(A)_{ij} = \frac{\partial f(A)}{\partial A_{ij}}โˆ‡Aโ€‹f(A)ijโ€‹=โˆ‚Aijโ€‹โˆ‚f(A)โ€‹์ธ mร—nm \times nmร—n ํ–‰๋ ฌ
  • AAA๊ฐ€ ๋ฒกํ„ฐ xโˆˆRn\mathbf{x} \in \mathbb{R}^nxโˆˆRn์ธ ๊ฒฝ์šฐ, ๊ธฐ์šธ๊ธฐ โˆ‡xf(x)\nabla_{\mathbf{x}} f(\mathbf{x})โˆ‡xโ€‹f(x)๋Š”

โˆ‡xf(x)=[โˆ‚f(x)โˆ‚x1โˆ‚f(x)โˆ‚x2โ‹ฎโˆ‚f(x)โˆ‚xn]\nabla_{\mathbf{x}} f(\mathbf{x}) = \begin{bmatrix} \frac{\partial f(\mathbf{x})}{\partial x_1} \\ \frac{\partial f(\mathbf{x})}{\partial x_2} \\ \vdots \\ \frac{\partial f(\mathbf{x})}{\partial x_n} \end{bmatrix} โˆ‡xโ€‹f(x)=โ€‹โˆ‚x1โ€‹โˆ‚f(x)โ€‹โˆ‚x2โ€‹โˆ‚f(x)โ€‹โ‹ฎโˆ‚xnโ€‹โˆ‚f(x)โ€‹โ€‹โ€‹

  • ์†์„ฑ
    • โˆ‡x(f(x)+g(x))=โˆ‡xf(x)+โˆ‡xg(x)\nabla_{\mathbf{x}} (f(\mathbf{x}) + g(\mathbf{x})) = \nabla_{\mathbf{x}} f(\mathbf{x}) + \nabla_{\mathbf{x}} g(\mathbf{x})โˆ‡xโ€‹(f(x)+g(x))=โˆ‡xโ€‹f(x)+โˆ‡xโ€‹g(x)
    • tโˆˆRt \in \mathbb{R}tโˆˆR, โˆ‡x(tf(x))=tโˆ‡xf(x)\nabla_{\mathbf{x}} (t f(\mathbf{x})) = t \nabla_{\mathbf{x}} f(\mathbf{x})โˆ‡xโ€‹(tf(x))=tโˆ‡xโ€‹f(x)

ํ—ค์‹œ์•ˆ (The Hessian)

  • ํ•จ์ˆ˜ f:Rnโ†’Rf:\mathbb{R}^n \to \mathbb{R}f:Rnโ†’R์ด Rn\mathbb{R}^nRn์˜ ๋ฒกํ„ฐ๋ฅผ ์ž…๋ ฅ์œผ๋กœ ๋ฐ›๊ณ  ์‹ค์ˆ˜ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค๊ณ  ๊ฐ€์ •
  • x\mathbf{x}x์— ๋Œ€ํ•œ ํ—ค์‹œ์•ˆ ํ–‰๋ ฌ(Hessian matrix) HHH ๋˜๋Š” โˆ‡x2f(x)\nabla_{\mathbf{x}}^2 f(\mathbf{x})โˆ‡x2โ€‹f(x)๋Š” nร—nn \times nnร—n ํŽธ๋ฏธ๋ถ„ ํ–‰๋ ฌ

Hij=โˆ‚2f(x)โˆ‚xiโˆ‚xjH_{ij} = \frac{\partial^2 f(\mathbf{x})}{\partial x_i \partial x_j} Hijโ€‹=โˆ‚xiโ€‹โˆ‚xjโ€‹โˆ‚2f(x)โ€‹

  • ํ—ค์‹œ์•ˆ์€ ํ•ญ์ƒ ๋Œ€์นญ
  • ์œ ์ถ” (Analogy)
    • ๊ธฐ์šธ๊ธฐ๋Š” ๋ฒกํ„ฐ ํ•จ์ˆ˜์— ๋Œ€ํ•œ 1์ฐจ ๋„ํ•จ์ˆ˜์˜ ์œ ์ถ”
    • ํ—ค์‹œ์•ˆ์€ 2์ฐจ ๋„ํ•จ์ˆ˜์˜ ์œ ์ถ”

2์ฐจ ๋ฐ ์„ ํ˜• ํ•จ์ˆ˜์˜ ๊ธฐ์šธ๊ธฐ (Gradients of Quadratic and Linear Functions)

  • xโˆˆRn,ย f(x)=bTxย (bโˆˆRn)\mathbf{x} \in \mathbb{R}^n,~f(\mathbf{x}) = \mathbf{b}^T \mathbf{x}~ ( \mathbf{b} \in \mathbb{R}^n )xโˆˆRn,ย f(x)=bTxย (bโˆˆRn)์— ๋Œ€ํ•ด,

    f(x)=โˆ‘i=1nbixi,โˆ‚f(x)โˆ‚xk=โˆ‚โˆ‚xkโˆ‘i=1nbixi=bkf(\mathbf{x}) = \sum_{i=1}^n b_i x_i, \quad \frac{\partial f(\mathbf{x})}{\partial x_k} = \frac{\partial}{\partial x_k} \sum_{i=1}^n b_i x_i = b_k f(x)=i=1โˆ‘nโ€‹biโ€‹xiโ€‹,โˆ‚xkโ€‹โˆ‚f(x)โ€‹=โˆ‚xkโ€‹โˆ‚โ€‹i=1โˆ‘nโ€‹biโ€‹xiโ€‹=bkโ€‹

    • โˆ‡xbTx=b\nabla_{\mathbf{x}} \mathbf{b}^T \mathbf{x} = \mathbf{b}โˆ‡xโ€‹bTx=b
  • 2์ฐจ ํ•จ์ˆ˜ f(x)=xTAxf(\mathbf{x}) = \mathbf{x}^T A \mathbf{x}f(x)=xTAx (AโˆˆSnA \in \mathbb{S}^nAโˆˆSn)์— ๋Œ€ํ•ด,
    • โˆ‡xxTAx=2Ax\nabla_{\mathbf{x}} \mathbf{x}^T A \mathbf{x} = 2A\mathbf{x}โˆ‡xโ€‹xTAx=2Ax

์ตœ์†Œ ์ œ๊ณฑ๋ฒ• (Least Squares)

  • ํ–‰๋ ฌ AโˆˆRmร—nA \in \mathbb{R}^{m \times n}AโˆˆRmร—n์™€ ๋ฒกํ„ฐ bโˆˆRm\mathbf{b} \in \mathbb{R}^mbโˆˆRm์ด ์ฃผ์–ด์ง€๊ณ , bโˆ‰R(A)\mathbf{b} \notin \mathcal{R}(A)bโˆˆ/R(A)์ธ ๊ฒฝ์šฐ,
  • Ax=bA\mathbf{x} = \mathbf{b}Ax=b๋ฅผ ๋งŒ์กฑํ•˜๋Š” ๋ฒกํ„ฐ xโˆˆRn\mathbf{x} \in \mathbb{R}^nxโˆˆRn๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†์Œ.
  • ๋Œ€์‹ , ์œ ํด๋ฆฌ๋“œ norm์˜ ์ œ๊ณฑ โˆฅAxโˆ’bโˆฅ22\Vert A\mathbf{x} - \mathbf{b} \Vert_2^2โˆฅAxโˆ’bโˆฅ22โ€‹์œผ๋กœ ์ธก์ •ํ–ˆ์„ ๋•Œ, AxA\mathbf{x}Ax๊ฐ€ b\mathbf{b}b์— ๊ฐ€๋Šฅํ•œ ํ•œ ๊ฐ€์žฅ ๊ฐ€๊น๋„๋ก ๋งŒ๋“œ๋Š” ๋ฒกํ„ฐ x\mathbf{x}x๋ฅผ ์ฐพ๊ณ ์ž ํ•จ
  • โˆฅxโˆฅ22=xTx\Vert \mathbf{x} \Vert_2^2 = \mathbf{x}^T \mathbf{x}โˆฅxโˆฅ22โ€‹=xTx๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ

โˆฅAxโˆ’bโˆฅ22=(Axโˆ’b)T(Axโˆ’b)=xTATAxโˆ’2bTAx+bTb\Vert A\mathbf{x} - \mathbf{b} \Vert_2^2 = (A\mathbf{x} - \mathbf{b})^T (A\mathbf{x} - \mathbf{b}) = \mathbf{x}^T A^T A\mathbf{x} - 2\mathbf{b}^T A\mathbf{x} + \mathbf{b}^T \mathbf{b} โˆฅAxโˆ’bโˆฅ22โ€‹=(Axโˆ’b)T(Axโˆ’b)=xTATAxโˆ’2bTAx+bTb

  • x\mathbf{x}x์— ๋Œ€ํ•ด ๊ธฐ์šธ๊ธฐ๋ฅผ ์ทจํ•˜๊ณ  0์œผ๋กœ ์„ค์ •

โˆ‡x(xTATAxโˆ’2bTAx+bTb)=โˆ‡xxTATAxโˆ’โˆ‡x2bTAx+โˆ‡xbTb\nabla_{\mathbf{x}} (\mathbf{x}^T A^T A\mathbf{x} - 2\mathbf{b}^T A\mathbf{x} + \mathbf{b}^T \mathbf{b}) = \nabla_{\mathbf{x}} \mathbf{x}^T A^T A\mathbf{x} - \nabla_{\mathbf{x}} 2\mathbf{b}^T A\mathbf{x} + \nabla_{\mathbf{x}} \mathbf{b}^T \mathbf{b} โˆ‡xโ€‹(xTATAxโˆ’2bTAx+bTb)=โˆ‡xโ€‹xTATAxโˆ’โˆ‡xโ€‹2bTAx+โˆ‡xโ€‹bTb

=2ATAxโˆ’2ATb=0= 2A^T A\mathbf{x} - 2A^T \mathbf{b} = \mathbf{0} =2ATAxโˆ’2ATb=0

โˆดx=(ATA)โˆ’1ATb\therefore \mathbf{x} = (A^T A)^{-1} A^T \mathbf{b} โˆดx=(ATA)โˆ’1ATb

Search

๋ฌธ์ œ ํ•ด๊ฒฐ ์—์ด์ „ํŠธ์™€ ํƒ์ƒ‰ (Problem-Solving Agents and Search)

  • ์ธ๊ณต์ง€๋Šฅ (Artificial Intelligence, AI): ๋‹ค์–‘ํ•œ ์ƒˆ๋กœ์šด ์ƒํ™ฉ์—์„œ ํšจ๊ณผ์ ์ด๊ณ  ์•ˆ์ „ํ•˜๊ฒŒ ํ–‰๋™ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๊ณ„์‚ฐํ•  ์ˆ˜ ์žˆ๋Š” ์ง€๋Šฅ์ ์ธ ์—์ด์ „ํŠธ(intelligent agents) ๊ตฌ์ถ•์— ๊ด€์‹ฌ
  • ๋ฌธ์ œ ํ•ด๊ฒฐ ์—์ด์ „ํŠธ (Problem-solving agents)
    • ์ทจํ•ด์•ผ ํ•  ์˜ฌ๋ฐ”๋ฅธ ํ–‰๋™์ด ์ฆ‰์‹œ ๋ช…ํ™•ํ•˜์ง€ ์•Š์„ ๋•Œ, ์—์ด์ „ํŠธ๋Š” ๋ชฉํ‘œ ์ƒํƒœ(goal state)์— ์ด๋ฅด๋Š” ๊ฒฝ๋กœ(path)๋ฅผ ํ˜•์„ฑํ•˜๋Š” ์ผ๋ จ์˜ ํ–‰๋™(sequence of actions)์„ ๊ณ ๋ คํ•˜์—ฌ ๋ฏธ๋ฆฌ ๊ณ„ํš(plan ahead)ํ•  ํ•„์š”๊ฐ€ ์žˆ์Œ.
    • ์ด๋Ÿฌํ•œ ์—์ด์ „ํŠธ๋ฅผ ๋ฌธ์ œ ํ•ด๊ฒฐ ์—์ด์ „ํŠธ, ์—์ด์ „ํŠธ๊ฐ€ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ณ„์‚ฐ ๊ณผ์ •์„ ํƒ์ƒ‰ (search)์ด๋ผ ํ•จ
  • ๊ฐ€์žฅ ๋‹จ์ˆœํ•œ ํ™˜๊ฒฝ ๊ฐ€์ •: ์—ํ”ผ์†Œ๋“œ์ (Episodic), ๋‹จ์ผ ์—์ด์ „ํŠธ(single agent), ์™„์ „ ๊ด€์ฐฐ ๊ฐ€๋Šฅ(fully observable), ๊ฒฐ์ •๋ก ์ (deterministic), ์ •์ (static), ์ด์‚ฐ์ (discrete), ์•Œ๋ ค์ง„(known)
    • ์—ํ”ผ์†Œ๋“œ์  (Episodic): ์—์ด์ „ํŠธ์˜ ๊ฒฝํ—˜์ด ์›์ž์  ์—ํ”ผ์†Œ๋“œ๋กœ ๋‚˜๋‰จ. ๊ฐ ์—ํ”ผ์†Œ๋“œ์—์„œ ์—์ด์ „ํŠธ๋Š” ์ง€๊ฐ(percept)์„ ๋ฐ›๊ณ  ๋‹จ์ผ ํ–‰๋™์„ ์ˆ˜ํ–‰

ํƒ์ƒ‰ ๋ฌธ์ œ์˜ ์ •์˜ (Definition of Search Problems)

  • ํƒ์ƒ‰ ๋ฌธ์ œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ณต์‹์ ์œผ๋กœ ์ •์˜ ๊ฐ€๋Šฅ:
    • ์—์ด์ „ํŠธ (Agent): ํ™˜๊ฒฝ์„ ์ง€๊ฐํ•˜๊ณ  ๊ทธ ํ™˜๊ฒฝ์— ์ž‘์šฉํ•˜๋Š” ๊ฐœ์ฒด(entitiy)
    • ์ƒํƒœ (State): ์—์ด์ „ํŠธ์™€ ํ™˜๊ฒฝ์˜ ๊ตฌ์„ฑ(configuration)
    • ์ดˆ๊ธฐ ์ƒํƒœ (Initial state): ์—์ด์ „ํŠธ๊ฐ€ ์‹œ์ž‘ํ•˜๋Š” ์ƒํƒœ
    • ํ–‰๋™ (Actions): ์ƒํƒœ์—์„œ ์„ ํƒํ•  ์ˆ˜ ์žˆ๋Š” ์„ ํƒ์ง€
      • ACTIONS(s)\text{ACTIONS}(s)ACTIONS(s): ์ƒํƒœ sss์—์„œ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ํ–‰๋™ ์ง‘ํ•ฉ์„ ๋ฐ˜ํ™˜
    • ์ „์ด ๋ชจ๋ธ (Transition model): ๊ฐ ํ–‰๋™์ด ๋ฌด์—‡์„ ํ•˜๋Š”์ง€ ์„ค๋ช…
      • RESULT(s,a)\text{RESULT}(s, a)RESULT(s,a): ์ƒํƒœ sss์—์„œ ํ–‰๋™ aaa๋ฅผ ์ˆ˜ํ–‰ํ•˜์—ฌ ๋ฐœ์ƒํ•˜๋Š” ์ƒํƒœ๋ฅผ ๋ฐ˜ํ™˜
    • ์ƒํƒœ ๊ณต๊ฐ„ (State space): ํ™˜๊ฒฝ์ด ์žˆ์„ ์ˆ˜ ์žˆ๋Š” ๊ฐ€๋Šฅํ•œ ์ƒํƒœ๋“ค์˜ ์ง‘ํ•ฉ
    • ๋ชฉํ‘œ ๊ฒ€์‚ฌ (Goal test): ์ฃผ์–ด์ง„ ์ƒํƒœ๊ฐ€ ๋ชฉํ‘œ ์ƒํƒœ์ธ์ง€ ํŒ๋ณ„ํ•˜๋Š” ๋ฐฉ๋ฒ•
    • ๊ฒฝ๋กœ ๋น„์šฉ (Path cost): ์ฃผ์–ด์ง„ ๊ฒฝ๋กœ์™€ ๊ด€๋ จ๋œ ์ˆ˜์น˜์  ๋น„์šฉ
    • ํ•ด (Solution): ์ดˆ๊ธฐ ์ƒํƒœ์—์„œ ๋ชฉํ‘œ ์ƒํƒœ๋กœ ์ด์–ด์ง€๋Š” ํ–‰๋™๋“ค์˜ ์ˆœ์„œ(sequence)
    • ์ตœ์  ํ•ด (Optimal solution): ๋ชจ๋“  ํ•ด ์ค‘์—์„œ ๊ฐ€์žฅ ๋‚ฎ์€ ๊ฒฝ๋กœ ๋น„์šฉ์„ ๊ฐ–๋Š” ํ•ด
  • ์ด๋Ÿฌํ•œ ๊ฐœ๋…๋“ค์€ ๊ฐ•ํ™” ํ•™์Šต(reinforcement learning)์—์„œ๋„ ๋„๋ฆฌ ์‚ฌ์šฉ

๊ทธ๋ž˜ํ”„ ํƒ์ƒ‰ ๋ฌธ์ œ์— ๋Œ€ํ•œ naiveํ•œ ์ ‘๊ทผ (Naรฏve Approach for Graph Search Problems)

  • ์ดˆ๊ธฐ ์ƒํƒœ๋ฅผ ํฌํ•จํ•˜๋Š” ํ”„๋ก ํ‹ฐ์–ด(frontier)์—์„œ ์‹œ์ž‘
  • ๋ฐ˜๋ณต:
    • ํ”„๋ก ํ‹ฐ์–ด๊ฐ€ ๋น„์–ด ์žˆ์œผ๋ฉด, ํ•ด ์—†์Œ.
    • ํ”„๋ก ํ‹ฐ์–ด์—์„œ ๋…ธ๋“œ๋ฅผ ์ œ๊ฑฐ
    • ๋…ธ๋“œ๊ฐ€ ๋ชฉํ‘œ ์ƒํƒœ๋ฅผ ํฌํ•จํ•˜๋ฉด, ํ•ด ๋ฐ˜ํ™˜
    • ๋…ธ๋“œ๋ฅผ ํ™•์žฅ(expand)ํ•˜๊ณ , ๊ฒฐ๊ณผ ๋…ธ๋“œ๋ฅผ ํ”„๋ก ํ‹ฐ์–ด์— ์ถ”๊ฐ€
  • ๋ฌธ์ œ์ : ๋ฃจํ”„(loops)๊ฐ€ ์žˆ๋Š” ๊ทธ๋ž˜ํ”„์—์„œ ๋ฌดํ•œ ๋ฃจํ”„ ๋ฐœ์ƒ ๊ฐ€๋Šฅ

๊ฐœ์„ ๋œ ์ ‘๊ทผ (Revised Approach)

  • ํ”„๋ก ํ‹ฐ์–ด์— ์ดˆ๊ธฐ ์ƒํƒœ๋ฅผ ์ถ”๊ฐ€
  • ํƒ์ƒ‰ ์™„๋ฃŒ ์ง‘ํ•ฉ(explored set)์„ ๋นˆ ์ƒํƒœ๋กœ ์‹œ์ž‘
  • ๋ฐ˜๋ณต:
    • ํ”„๋ก ํ‹ฐ์–ด๊ฐ€ ๋น„์–ด ์žˆ์œผ๋ฉด, ํ•ด ์—†์Œ.
    • ํ”„๋ก ํ‹ฐ์–ด์—์„œ ๋…ธ๋“œ๋ฅผ ์ œ๊ฑฐ
    • ๋…ธ๋“œ๊ฐ€ ๋ชฉํ‘œ ์ƒํƒœ๋ฅผ ํฌํ•จํ•˜๋ฉด, ํ•ด ๋ฐ˜ํ™˜
    • ๋…ธ๋“œ๋ฅผ ํƒ์ƒ‰ ์™„๋ฃŒ ์ง‘ํ•ฉ์— ์ถ”๊ฐ€
    • ๋…ธ๋“œ๋ฅผ ํ™•์žฅํ•˜๊ณ , ๊ฒฐ๊ณผ ๋…ธ๋“œ๊ฐ€ ์ด๋ฏธ ํ”„๋ก ํ‹ฐ์–ด ๋˜๋Š” ํƒ์ƒ‰ ์™„๋ฃŒ ์ง‘ํ•ฉ์— ์—†์œผ๋ฉด ํ”„๋ก ํ‹ฐ์–ด์— ์ถ”๊ฐ€
  • ํ”„๋ก ํ‹ฐ์–ด์˜ ์ž๋ฃŒ ๊ตฌ์กฐ๋ฅผ ์Šคํƒ (Stack)์œผ๋กœ ์‚ฌ์šฉ โ‡’\Rightarrowโ‡’ ํ›„์ž…์„ ์ถœ (Last-in, First-out, LIFO)

๋ฌด์ •๋ณด ํƒ์ƒ‰ ์ „๋žต (Uninformed Search Stratigies)

  • ๋ฌด์ •๋ณด ํƒ์ƒ‰ ์•Œ๊ณ ๋ฆฌ์ฆ˜ (Uninformed Search Algorithms)
    • ๋ฌธ์ œ์— ํŠน์ •ํ•œ ์ง€์‹(problem-specific knowledge)์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ํƒ์ƒ‰ ์ „๋žต
    • ์ƒํƒœ๊ฐ€ ๋ชฉํ‘œ์— ์–ผ๋งˆ๋‚˜ ๊ฐ€๊นŒ์šด์ง€์— ๋Œ€ํ•œ ๋‹จ์„œ(clue)๊ฐ€ ์—†์Œ.
  • ์˜ˆ:
    • ๊นŠ์ด ์šฐ์„  ํƒ์ƒ‰ (DFS)
    • ๋„ˆ๋น„ ์šฐ์„  ํƒ์ƒ‰ (BFS)
  • ํ•œ๊ณ„์ : BFS๋Š” ์ •๋ณด๊ฐ€ ์—†์Œ. (Has No Information). ๋ชฉํ‘œ์— ๊ฐ€๊นŒ์šด ์ƒํƒœ๋ผ๋„ ์šฐ์„ ์ ์œผ๋กœ ํƒ์ƒ‰ํ•˜์ง€ ๋ชปํ•จ
  • ๊ฐœ์„  ๋ฐฉํ–ฅ: ํƒ์ƒ‰ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋” ์ง€๋Šฅ์ ์œผ๋กœ ๋งŒ๋“ค๊ธฐ โ‡’\Rightarrowโ‡’ ์ •๋ณด ๊ธฐ๋ฐ˜ ํƒ์ƒ‰ (Informed (Heuristic) Search)
์ตœ๊ทผ ์ˆ˜์ •: 25. 11. 6. ์˜คํ›„ 12:07
Contributors: kmbzn
Prev
1. Basics; Linear Algebra
Next
3. Search (2)

BUILT WITH

CloudflareNode.jsGitHubGitVue.jsJavaScriptVSCodenpm

All trademarks and logos are property of their respective owners.
ยฉ 2025 kmbzn ยท MIT License