Skip to content

DwarfAmil/chungnam_chatbot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

41 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

chungnam_chatbot

์ถฉ๋‚จ์ธ๋ ฅ๊ฐœ๋ฐœ์› ์ฑ—๋ด‡๊ณผ์ •์—์„œ ๊ต์œก๋ฐ›๋Š” ๋™์•ˆ ์‚ฌ์šฉํ•˜๋Š” ๋ ˆํฌ์ง€ํ† ๋ฆฌ ์ž…๋‹ˆ๋‹ค.


23.09.04


  • torch1 ~ torch6

  • python class
    • ์ƒ์„ฑ์ž (constructor)
      • class์˜ ์ด๋ฆ„๊ณผ ๊ฐ™์€ ์ด๋ฆ„์œผ๋กœ ๋œ ํ•จ์ˆ˜ class๋ฅผ ์ƒ์„ฑํ• ๋•Œ ์‹คํ–‰๋˜๋Š” ํ•จ์ˆ˜
    • ์ƒ์† (inheritance)
      • ๋ถ€๋ชจ ํด๋ž˜์Šค์˜ ๋‚ด์šฉ์„ ์ž์‹ ํด๋ž˜์Šค๊ฐ€ ๋ฌผ๋ ค๋ฐ›๋Š” ๊ฒƒ
    • ์˜ค๋ฒ„๋ผ์ด๋”ฉ (overriding)
      • ๋ถ€๋ชจ ํด๋ž˜์Šค์˜ ๋ฉ”์†Œ๋“œ๋ฅผ ์ž์‹ ํด๋ž˜์Šค์—์„œ ์žฌ์ •์˜ ํ•˜๋Š” ๊ฒƒ
    • ์ŠคํŽ˜์…œ ๋ฉ”์†Œ๋“œ (special method)
      • ํŒŒ์ด์ฌ์˜ ๊ฐ์ฒด๋“ค์ด ๋™์ผํ•˜๊ฒŒ ๊ฐ€์ง€๋Š” ์ธํ„ฐํŽ˜์ด์Šค
  • ๋ฐ์ดํ„ฐ
    • ์Šค์นผ๋ผ (scala)
      • ํ•˜๋‚˜์˜ ์ˆซ์ž๋ฅผ ์˜๋ฏธ
    • ๋ฒกํ„ฐ (vector)
      • ๋ฒกํ„ฐ๋Š” ์ˆซ์ž(์Šค์นผ๋ผ)์˜ ๋ฐฐ์—ด
    • ํ–‰๋ ฌ (Matrix)
      • 2์ฐจ์›์˜ ๋ฐฐ์—ด
    • ํ…์„œ (tensor)
      • 3์ฐจ์› ๋˜๋Š” ๊ทธ ์ด์ƒ์˜ ๋ฐฐ์—ด
  • torch
  • pandas
  • torchvision

23.09.05


  • torch7 ~ torch9

  • pytorch code
    • ๋ฐ์ดํ„ฐ์…‹ ๋ถ„ํฌ
    • ๋ฐ์ดํ„ฐ์…‹ ๋ณ€ํ™˜
    • ๋ฐ์ดํ„ฐ์…‹ ๋ถ„๋ฆฌ
    • ๋ชจ๋ธ ํด๋ž˜์Šค ๊ฐ์ฒด ์ƒ์„ฑ
    • CPU/GPU ์‚ฌ์šฉ ์ง€์ •
    • ๋ชจ๋ธ ํ•™์Šต
    • ๋ชจ๋ธ ์˜ˆ์ธก
    • ๋ชจ๋ธ ์ •ํ™•๋„ ํ™•์ธ
  • ์ง€๋„ ํ•™์Šต
    • ๋ถ„๋ฅ˜์™€ ํšŒ๊ท€์˜ ์ฐจ์ด
      • ๋ถ„๋ฅ˜
        • ๋ฐ์ดํ„ฐ ์œ ํ˜• : ์ด์‚ฐํ˜• ๋ฐ์ดํ„ฐ
        • ๊ฒฐ๊ณผ : ํ›ˆ๋ จ ๋ฐ์ดํ„ฐ์˜ ๋ ˆ์ด๋ธ” ์ค‘ ํ•˜๋‚˜๋ฅผ ์˜ˆ์ธก
        • ์˜ˆ์‹œ : ํ•™์Šต ๋ฐ์ดํ„ฐ๋ฅผ A / B / C ๊ทธ๋ฃน ์ค‘ ํ•˜๋‚˜๋กœ ๋งคํ•‘ ex) ์ŠคํŒธ ๋ฉ”์ผ ํ•„ํ„ฐ๋ง
      • ํšŒ๊ท€
        • ๋ฐ์ดํ„ฐ ์œ ํ˜• : ์—ฐ์†ํ˜• ๋ฐ์ดํ„ฐ
        • ๊ฒฐ๊ณผ : ์—ฐ์†๋œ ๊ฐ’์„ ์˜ˆ์ธก
        • ์˜ˆ์‹œ : ๊ฒฐ๊ด๊ฐ’์ด ์–ด๋–ค ๊ฐ’์ด๋“  ๋‚˜์˜ฌ ์ˆ˜ ์žˆ์Œ ex) ์ฃผ๊ฐ€ ๋ถ„์„ ์˜ˆ์ธก
    • ๋ถ„๋ฅ˜ ํ•™์Šต ๋ชจ๋ธ
      • K - ์ตœ๊ทผ์ ‘ ์ด์›ƒ (K-Nearest Neighbor)
        • ์™œ ์‚ฌ์šฉํ• ๊นŒ?
          • ์ฃผ์–ด์ง„ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ๋ถ„๋ฅ˜
        • ์–ธ์ œ ์‚ฌ์šฉํ•˜๋ฉด ์ข‹์„๊นŒ?
          • K - ์ตœ๊ทผ์ ‘ ์ด์›ƒ์€ ์ง๊ด€์ ์ด๋ฉฐ ์‚ฌ์šฉํ•˜๊ธฐ ์‰ฝ๊ธฐ ๋•Œ๋ฌธ์— ์ดˆ๋ณด์ž๊ฐ€ ์‚ฌ์šฉํ•˜๊ธฐ ์ข‹์Šต๋‹ˆ๋‹ค.
          • ํ›ˆ๋ จ ๋ฐ์ดํ„ฐ๋ฅผ ์ถฉ๋ถ„ํžˆ ํ™•๋ณดํ•  ์ˆ˜ ์žˆ๋Š” ํ™˜๊ฒฝ์—์„œ ์‚ฌ์šฉํ•˜๋ฉด ์ข‹์Šต๋‹ˆ๋‹ค.
  • matplotlib
  • sklearn
  • seaborn

23.09.06


  • torch9 ~ torch16

์ง€๋„ ํ•™์Šต


์„œํฌํŠธ ๋ฒกํ„ฐ ๋จธ์‹  (Support Vector Machine, SVM)

  • ์™œ ์‚ฌ์šฉํ• ๊นŒ?
    • ์ฃผ์–ด์ง„ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ๋ถ„๋ฅ˜
  • ์–ธ์ œ ์‚ฌ์šฉํ•˜๋ฉด ์ข‹์„๊นŒ?
    • ์„œํฌํŠธ ๋ฒกํ„ฐ ๋จธ์‹ ์€ ์ปค๋„๋งŒ ์ ์ ˆํžˆ ์„ ํƒํ•œ๋‹ค๋ฉด์ •ํ™•๋„๊ฐ€ ์ƒ๋‹นํžˆ ์ข‹๊ธฐ ๋•Œ๋ฌธ์— ์ •ํ™•๋„๋ฅผ ์š”๊ตฌํ•˜๋Š” ๋ถ„๋ฅ˜ ๋ฌธ์ œ๋ฅผ ๋‹ค๋ฃฐ ๋•Œ ์‚ฌ์šฉํ•˜๋ฉด ์ข‹์Šต๋‹ˆ๋‹ค.
    • ํ…์ŠคํŠธ๋ฅผ ๋ถ„๋ฅ˜ํ•  ๋•Œ๋„ ๋งŽ์ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
  • ๋ถ„๋ฅ˜ ์ง€์›
    • ์„œํฌํŠธ ๋ฒกํ„ฐ ๋จธ์‹ ์€ ์„ ํ˜• ๋ถ„๋ฅ˜์™€ ๋น„์„ ํ˜• ๋ถ„๋ฅ˜๋ฅผ ์ง€์›
    • ์„ ํ˜•์œผ๋กœ ๋ถ„๋ฅ˜๋  ์ˆ˜ ์—†๋Š” ๋ฐ์ดํ„ฐ๋“ค์— ์˜ํ•ด์„œ ๋ฐœ์ƒ
  • ์„œํฌํŠธ ๋ฒกํ„ฐ ๋จธ์‹ 
    • ๋ถ„๋ฅ˜๋˜์ง€ ์•Š์€ ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ๊ฐ€ ๋‚˜ํƒ€๋‚˜๋ฉด ๊ฒฐ์ • ๊ฒฐ๊ณ„๋ฅผ ๊ธฐ๋ถ„์œผ๋กœ ๊ฒฝ๊ณ„์˜ ์–ด๋Š ์ชฝ์— ์†ํ•˜๋Š”์ง€ ๋ถ„๋ฅ˜ํ•˜๋Š” ๋ชจ๋ธ
  • ์„œํฌํŠธ ๋ฒกํ„ฐ
    • ๊ฒฐ์ • ๊ฒฝ๊ณ„์™€ ๊ฐ€๊นŒ์ด ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋“ค์„ ์˜๋ฏธ
  • ๊ฒฐ์ • ๊ฒฝ๊ณ„
    • ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„๋ฅ˜ํ•˜๊ธฐ ์œ„ํ•œ ๊ธฐ์ค€์„ 
    • ๊ฒฐ์ • ๊ฒฝ๊ณ„๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ๋ถ„๋ฅ˜๋œ ํด๋ž˜์Šค์—์„œ ์ตœ๋Œ€ํ•œ ๋ฉ€๋ฆฌ ๋–จ์–ด์ ธ ์žˆ์„ ๋•Œ ์„ฑ๋Šฅ์ด ๊ฐ€์žฅ ์ข‹๋‹ค.
  • ๋งˆ์ง„
    • ๊ฒฐ์ • ๊ฒฝ๊ณ„์™€ ์„œํฌํŠธ ๋ฒกํ„ฐ ์‚ฌ์ด์˜ ๊ฑฐ๋ฆฌ๋ฅผ ์˜๋ฏธ
    • ํ•˜๋“œ ๋งˆ์ง„
      • ์ด์ƒ์น˜๋ฅผ ํ—ˆ์šฉํ•˜์ง€ ์•Š์Œ
    • ์†Œํ”„ํŠธ ๋งˆ์ง„
      • ์–ด๋Š ์ •๋„์˜ ์ด์ƒ์น˜๋“ค์ด ๋งˆ์ง„ ์•ˆ์— ํฌํ•จ๋˜๋Š” ๊ฒƒ์„ ํ—ˆ์šฉ
  • ์ปค๋„ ํŠธ๋ฆญ
    • ๋น„์„ ํ˜• ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ธ ๋ฐฉ๋ฒ•์€ ์ €์ฐจ์› ๋ฐ์ดํ„ฐ๋ฅผ ๊ณ ์ฐจ์›์œผ๋กœ ๋ณด๋‚ด๋Š” ๊ฒƒ์ธ๋ฐ, ์ด๊ฒƒ์€ ๋งŽ์€ ์ˆ˜ํ•™์  ๊ณ„์‚ฐ์ด ํ•„์š”ํ•˜๊ธฐ์— ์„ฑ๋Šฅ์— ๋ฌธ์ œ๋ฅผ ์ค„ ์ˆ˜ ์žˆ์–ด, ๊ทธ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ณ ์ž ๋„์ž…ํ•œ ๊ฒƒ์ด ์ปค๋„ ํŠธ๋ฆญ์ด๋‹ค.
    • ์„ ํ˜•๋ชจ๋ธ์„ ํœ˜ํ•œ ์ปค๋„
      • ์„ ํ˜• ์ปค๋„
        • ์„ ํ˜•์œผ๋กœ ๋ถ„๋ฅ˜ ๊ฐ€๋Šฅํ•œ ๋ฐ์ดํ„ฐ์— ์ ์šฉ
        • ์„ ํ˜• ์ปค๋„์€ ๊ธฐ๋ณธ ์ปค๋„ ํŠธ๋ฆญ์ด๋ฉฐ, ์ปค๋„ ํŠธ๋ฆญ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ฒ ๋‹ค๋Š” ์˜๋ฏธ์™€ ์ผ๋งฅ์ƒํ†ตํ•จ $$K(a, b) = a^T b$$ $$(a, b : \text{์ž…๋ ฅ ๋ฒกํ„ฐ})$$
    • ๋น„์„ ํ˜•์„ ์œ„ํ•œ ์ปค๋„
      • ๋‹คํ•ญ์‹ ์ปค๋„

        • ์‹ค์ œ๋กœ๋Š” ํŠน์„ฑ์„ ์ถ”๊ฐ€ํ•˜์ง€ ์•Š์ง€๋งŒ, ๋‹คํ•ญ์‹ ํŠน์„ฑ์„ ๋งŽ์ด ์ถ”๊ฐ€ํ•œ ๊ฒƒ๊ณผ ๊ฐ™์€ ๊ฒฐ๊ณผ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•
        • ์‹ค์ œ๋กœ๋Š” ํŠน์„ฑ์„ ์ถ”๊ฐ€ํ•˜์ง€ ์•Š์ง€๋งŒ, ์—„์ฒญ๋‚œ ์ˆ˜์˜ ํŠน์„ฑ ์กฐํ•ฉ์ด ์ƒ๊ธฐ๋Š” ๊ฒƒ๊ณผ ๊ฐ™์€ ํšจ๊ณผ๋ฅผ ์–ป๊ธฐ ๋•Œ๋ฌธ์— ๊ณ ์ฐจ์›์œผ๋กœ ๋ฐ์ดํ„ฐ ๋งคํ•‘์ด ๊ฐ€๋Šฅ $$K(a, b) = (\gamma a^T \cdot b)^d$$ $$a, b : \text{์ž…๋ ฅ ๋ฒกํ„ฐ}$$ $$\gamma : \text{๊ฐ๋งˆ}$$ $$d : \text{์ฐจ์›, ์ด๋•Œ } \gamma d \text{๋Š” ํ•˜์ดํผํŒŒ๋ผ๋ฏธํ„ฐ}$$
      • ๊ฐ€์šฐ์‹œ์•ˆ RBF ์ปค๋„

        • ์ž…๋ ฅ ๋ฒกํ„ฐ๋ฅผ ์ฐจ์›์ด ๋ฌดํ•œํ•œ ๊ณ ์ฐจ์›์œผ๋กœ ๋งคํ•‘ํ•˜๋Š” ๊ฒƒ์œผ๋กœ, ๋ชจ๋“  ์ฐจ์ˆ˜์— ๋ชจ๋“  ๋‹คํ•ญ์‹์„ ๊ณ ๋ ค
        • ๋‹คํ•ญ์‹ ์ปค๋„์€ ์ฐจ์ˆ˜์— ํ•œ๊ณ„๊ฐ€ ์žˆ์ง€๋งŒ ๊ฐ€์šฐ์‹œ์•ˆ RBF๋Š” ์ฐจ์ˆ˜์— ์ œํ•œ ์—†์ด ๋ฌดํ•œํ•œ ํ™•์žฅ์ด ๊ฐ€๋Šฅ $$K(a, b) = \exp\left(-\gamma \cdot |a - b|^2\right)$$ $$(\text{์ด๋•Œ } \gamma \text{๋Š” ํ•˜์ดํผํŒŒ๋ผ๋ฏธํ„ฐ)}$$

๊ฒฐ์ • ํŠธ๋ฆฌ (decision tree)

  • ์™œ ์‚ฌ์šฉํ• ๊นŒ?
    • ์ฃผ์–ด์ง„ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ๋ถ„๋ฅ˜
  • ์–ธ์ œ ์‚ฌ์šฉํ•˜๋ฉด ์ข‹์„๊นŒ?
    • ๊ฒฐ์ • ํŠธ๋ฆฌ๋Š” ์ด์ƒ์น˜๊ฐ€ ๋งŽ์€ ๊ฐ’์œผ๋กœ ๊ตฌ์„ฑ๋œ ๋ฐ์ดํ„ฐ์…‹์„ ๋‹ค๋ฃฐ ๋Œ€ ์‚ฌ์šฉํ•˜๋ฉด ์ข‹์Šต๋‹ˆ๋‹ค.
    • ๊ฒฐ์ • ๊ณผ์ •์ด ์‹œ๊ฐ์ ์œผ๋กœ ํ‘œํ˜„๋˜๊ธฐ ๋•Œ๋ฌธ์— ๋จธ์‹  ๋Ÿฌ๋‹์ด ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ ์˜์‚ฌ ๊ฒฐ์ •์„ ํ•˜๋Š”์ง€ ์•Œ๊ณ  ์‹ถ์„ ๋•Œ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • ๊ฒฐ์ • ํŠธ๋ฆฌ
    • ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„ํœดํ•˜๊ฑฐ๋‚˜ ๊ฒฐ๊ด๊ฐ’์„ ์˜ˆ์ธกํ•˜๋Š” ๋ถ„์„ ๋ฐฉ๋ฒ•
    • ํŠธ๋ฆฌ ๊ตฌ์กฐ๋กœ ๋˜์–ด์žˆ๊ธฐ์— ๊ฒฐ์ • ํŠธ๋ฆฌ๋ผ๊ณ  ํ•œ๋‹ค.
    • ๊ฒฐ์ •ํŠธ๋ฆฌ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ 1์ฐจ๋กœ ๋ถ„๋ฅ˜ํ•œ ํ›„ ๊ฐ ์˜์—ญ์˜ ์ˆœ๋„๋Š” ์ฆ๊ฐ€ํ•˜๊ณ , ๋ถˆ์ˆœ๋„์™€ ๋ถˆํ™•์‹ค์„ฑ์€ ๊ฐ์†Œํ•˜๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ํ•™์Šต์„ ์ง„ํ–‰ํ•œ๋‹ค.
  • ์ •๋ณด ํš๋“
    • ์ˆœ๋„๊ฐ€ ์ฆ๊ฐ€ํ•˜๊ณ  ๋ถˆํ™•์‹ค์„ฑ์ด ๊ฐ์†Œํ•˜๋Š” ๊ฒƒ
  • ์ˆœ๋„ ๊ณ„์‚ฐ ๋ฐฉ๋ฒ•
    • ์—”ํŠธ๋กœํ”ผ
      • ํ™•๋ฅ  ๋ณ€์ˆ˜์˜ ๋ถˆํ™•์‹ค์„ฑ์„ ์ˆ˜์น˜๋กœ ๋‚˜ํƒ€๋‚ธ ๊ฒƒ
      • ์—”ํŠธ๋กœํ”ผ๊ฐ€ ๋†’์„์ˆ˜๋ก ๋ถˆํ™•์‹ค์„ฑ์ด ๋†’๋‹ค๋Š” ์˜๋ฏธ $$\text{Entropy}(A) = -\sum_{k=1}^{m} P_k \cdot \log_2(P_k)$$ $$P_k = A : \text{์˜์—ญ์— ์†ํ•˜๋Š” ๋ฐ์ดํ„ฐ ๊ฐ€์šด๋ฐ }k\text{ ๋ฒ”์ฃผ์— ์†ํ•˜๋Š” ๋ฐ์ดํ„ฐ ๋น„์œจ}$$
    • ์ง€๋‹ˆ ๊ณ„์ˆ˜
      • ๋ถˆ์ˆœ๋„๋ฅผ ์ธก์ •ํ•˜๋Š” ์ง€ํ‘œ๋กœ, ๋ฐ์ดํ„ฐ์˜ ํ†ต๊ณ„์  ๋ถ„์‚ฐ ์ •๋„๋ฅผ ์ •๋Ÿ‰ํ™”ํ•ด์„œ ํ‘œํ˜„ํ•œ ๊ฐ’
      • ์ง€๋‹ˆ ๊ณ„์ˆ˜๋Š” ์›์†Œ n๊ฐœ ์ค‘์—์„œ ์ž„์˜๋กœ ๋‘๊ฐœ๋ฅผ ์ถ”์ถœํ–ˆ์„ ๋•Œ, ์ถ”์ถœ๋œ ๋‘ ๊ฐœ๊ฐ€ ์„œ๋กœ ๋‹ค๋ฅธ ๊ทธ๋ฃน์— ์†ํ•ด ์žˆ์„ ํ™•๋ฅ ์„ ์˜๋ฏธ $$Gini(S) = 1 - \sum_{i=1}^{c} p_i^2$$ $$S : \text{์ด๋ฏธ ๋ฐœ์ƒํ•œ ์‚ฌ๊ฑด์˜ ๋ชจ์Œ}$$ $$c : \text{์‚ฌ๊ฑด ๊ฐœ์ˆ˜}$$

ํšŒ๊ท€

  • ํšŒ๊ท€
    • ๋ณ€์ˆ˜๊ฐ€ ๋‘ ๊ฐœ ์ฃผ์–ด์กŒ์„ ๋•Œ ํ•œ ๋ณ€์ˆ˜์—์„œ ๋‹ค๋ฅธ ๋ณ€์ˆ˜๋ฅผ ์˜ˆ์ธกํ•˜๊ฑฐ๋‚˜ ๋‘ ๋ณ€์ˆ˜์˜ ๊ด€๊ณ„๋ฅผ ๊ทœ๋ช…ํ•˜๋Š”๋ฐ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•
  • ๋ณ€์ˆ˜ ์œ ํ˜•
    • ๋…๋ฆฝ ๋ณ€์ˆ˜ (์˜ˆ์ธก ๋ณ€์ˆ˜)
      • ์˜ํ–ฅ์„ ๋ฏธ์น  ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒ๋˜๋Š” ๋ณ€์ˆ˜
    • ์ข…์† ๋ณ€์ˆ˜ (๊ธฐ์ค€ ๋ณ€์ˆ˜)
      • ์˜ํ–ฅ์„ ๋ฐ›์„ ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒ๋˜๋Š” ๋ณ€์ˆ˜
    • ๋ณ€์ˆ˜์˜ ์„ค์ •
      • ๋‘ ๋ณ€์ˆ˜ ๊ฐ„ ๊ด€๊ณ„์—์„œ ๋…๋ฆฝ ๋ณ€์ˆ˜์™€ ์ข…์† ๋ณ€์ˆ˜์˜ ์„ค์ •์€ ๋…ผ๋ฆฌ์ ์ธ ํƒ€๋‹น์„ฑ์ด ์žˆ์–ด์•ผ ํ•จ

๋กœ์ง€์Šคํ‹ฑ ํšŒ๊ท€

  • ์™œ ์‚ฌ์šฉํ• ๊นŒ?
    • ์ฃผ์–ด์ง„ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ๋ถ„๋ฅ˜
  • ์–ธ์ œ ์‚ฌ์šฉํ•˜๋ฉด ์ข‹์„๊นŒ?
    • ๋กœ์ง€์Šคํ‹ฑ ํšŒ๊ท€ ๋ถ„์„์€ ์ฃผ์–ด์ง„ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ํ™•์‹ ์ด ์—†๊ฑฐ๋‚˜(์˜ˆ๋ฅผ ๋“ค์–ด ๋ถ„๋ฅ˜ ๊ฒฐ๊ณผ์— ๋Œ€ํ•ด ํ™•์‹ ์ด ์—†์„ ๋•Œ) ํ–ฅํ›„ ์ฃผ๊ธฐ์ ์œผ๋กœ ํ›ˆ๋ จ ๋ฐ์ดํ„ฐ์…‹์„ ์ˆ˜์ง‘ํ•˜์—ฌ ๋ชจ๋ธ์„ ํ›ˆ๋ จ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋Š” ํ™˜๊ฒฝ์—์„œ ์‚ฌ์šฉํ•˜๋ฉด ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • ๋กœ์ง€์Šคํ‹ฑ ํšŒ๊ท€
    • ๋ถ„์„ํ•˜๊ณ ์ž ํ•˜๋Š” ๋Œ€์ƒ๋“ค์ด ๋‘ ์ง‘๋‹จ ํ˜น์€ ๊ทธ ์ด์ƒ์˜ ์ง‘๋‹จ์œผ๋กœ ๋‚˜๋ˆ„์–ด์ง„ ๊ฒฝ์šฐ, ๊ฐœ๋ณ„ ๊ด€์ธก์น˜๋“ค์ด ์–ด๋Š ์ง‘๋‹จ์œผ๋กœ ๋ถ„๋ฅ˜๋  ์ˆ˜ ์žˆ๋Š”์ง€ ๋ถ„์„ํ•˜๊ณ  ์ด๋ฅผ ์˜ˆ์ธกํ•˜๋Š” ๋ชจํ˜•์„ ๊ฐœ๋ฐœํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ํ†ต๊ณ„ ๊ธฐ๋ฒ•์ž…๋‹ˆ๋‹ค.

๊ตฌ๋ถ„ ์ผ๋ฐ˜์ ์ธ ํšŒ๊ท€ ๋ถ„์„ ๋กœ์ง€์Šคํ‹ฑ ํšŒ๊ท€ ๋ถ„์„
์ข…์† ๋ณ€์ˆ˜ ์—ฐ์†ํ˜• ๋ณ€์ˆ˜ ์ด์‚ฐํ˜• ๋ณ€์ˆ˜
๋ชจํ˜• ํƒ์ƒ‰ ๋ฐฉ๋ฒ• ์ตœ์†Œ์ œ๊ณฑ๋ฒ• ์ตœ๋Œ€์šฐ๋„๋ฒ•
๋ชจํ˜• ๊ฒ€์ • F-ํ…Œ์ŠคํŠธ, t-ํ…Œ์ŠคํŠธ $X^2$ ํ…Œ์ŠคํŠธ
  • ๋ถ„์„ ์ฒ ์ฐจ
    • ๊ฐ ์ง‘๋‹จ์— ์†ํ•˜๋Š” ํ™•๋ฅ ์˜ ์ถ”์ •์น˜๋ฅผ ์˜ˆ์ธก
      • ์ถ”์ •์น˜๋Š” ์ด์ง„ ๋ถ„๋ฅ˜์˜ ๊ฒฝ์šฐ ์ง‘๋‹จ 1์— ์†ํ•˜๋Š” ํ™•๋ฅ  $P(Y=1)$๋กœ ๊ตฌํ•จ
    • ๋ถ„๋ฅ˜ ๊ธฐ์ค€ ๊ฐ’(cut-off)์„ ์„ค์ •ํ•œ ํ›„ ํŠน์ • ๋ฒ”์ฃผ๋กœ ๋ถ„๋ฅ˜ํ•จ
      • $P(Y=1) \geq 0.5$ -> ์ง‘๋‹จ 1๋กœ ๋ถ„๋ฅ˜
      • $P(Y=1) < 0.5$ -> ์ง‘๋‹จ 0๋กœ ๋ถ„๋ฅ˜

์„ ํ˜• ํšŒ๊ท€

  • ์™œ ์‚ฌ์šฉํ• ๊นŒ?
    • ์ฃผ์–ด์ง„ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ๋ถ„๋ฅ˜
  • ์–ธ์ œ ์‚ฌ์šฉํ•˜๋ฉด ์ข‹์„๊นŒ?
    • ์„ ํ˜• ํšŒ๊ท€๋Š” ์ฃผ์–ด์ง„ ๋ฐ์ดํ„ฐ์—์„œ ๋…๋ฆฝ ๋ณ€์ˆ˜(x)์™€ ์ข…์† ๋ณ€์ˆ˜(y)๊ฐ€ ์„ ํ˜• ๊ด€๊ณ„๋ฅผ ๊ฐ€์งˆ ๋•Œ ์‚ฌ์šฉํ•˜๋ฉด ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.
    • ๋ณต์žกํ•œ ์—ฐ์‚ฐ ๊ณผ์ •์ด ์—†๊ธฐ ๋•Œ๋ฌธ์— ์ปดํ“จํŒ… ์„ฑ๋Šฅ์ด ๋‚ฎ์€ ํ™˜๊ฒฝ(CPU/GPU ํ˜น์€ ๋ฉ”๋ชจ๋ฆฌ ์„ฑ๋Šฅ์ด ์ข‹์ง€ ์•Š์„ ๋•Œ)์—์„œ ์‚ฌ์šฉํ•˜๋ฉด ์ข‹์Šต๋‹ˆ๋‹ค.
  • ์„ ํ˜• ํšŒ๊ท€
    • ์ข…์† ๋ณ€์ˆ˜์™€ ๋…๋ฆฝ ๋ณ€์ˆ˜ ์‚ฌ์ด์˜ ๊ด€๊ณ„๋ฅผ ์„ค์ •ํ•˜๋Š”๋ฐ ์‚ฌ์šฉ๋จ
    • ๋…๋ฆฝ ๋ณ€์ˆ˜ x๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ข…์† ๋ณ€์ˆ˜ y์„ ์›€์ง์ž„์„ ์˜ˆ์ธกํ•˜๊ณ  ์„ค๋ช…ํ•˜๋Š”๋ฐ ์‚ฌ์šฉ๋จ
      • ๋…๋ฆฝ ๋ณ€์ˆ˜ x๋Š” ํ•˜๋‚˜์ผ ์ˆ˜๋„ ์žˆ๊ณ , x1, x2, x3์ฒ˜๋Ÿผ ์—ฌ๋Ÿฌ ๊ฐœ์ผ ์ˆ˜๋„ ์žˆ๋‹ค.
    • ๋‹จ์ˆœ ์„ ํ˜• ํšŒ๊ท€
      • ํ•˜๋‚˜์˜ x ๊ฐ’์œผ๋กœ y ๊ฐ’์„ ์„ค๋ช…ํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด ๋‹จ์ˆœ ์„ ํ˜• ํšŒ๊ท€๋ผ๊ณ  ํ•œ๋‹ค.
    • ๋‹ค์ค‘ ์„ ํ˜• ํšŒ๊ท€
      • x ๊ฐ’์ด ์—ฌ๋Ÿฌ ๊ฐœ๋ผ๋ฉด ๋‹ค์ค‘ ์„ ํ˜• ํšŒ๊ท€๋ผ๊ณ  ํ•œ๋‹ค.

๋น„์ง€๋„ ํ•™์Šต


  • ๋น„์ง€๋„ ํ•™์Šต
    • ๋น„์ง€๋„ ํ•™์Šต์€ ๋ ˆ์ด๋ธ”์ด ํ•„์š”ํ•˜์ง€ ์•Š์œผ๋ฉฐ ์ •๋‹ต์ด ์—†๋Š” ์ƒํƒœ์—์„œ ํ›ˆ๋ จ์‹œํ‚ค๋Š” ๋ฐฉ์‹์ด๋‹ค.
    • ๋น„์ง€๋„ ํ•™์Šต์—๋Š” ๊ตฐ์ง‘๊ณผ ์ฐจ์› ์ถ•์†Œ๊ฐ€ ์žˆ๋‹ค.
  • ๊ตฐ์ง‘
    • ๊ฐ ๋ฐ์ดํ„ฐ์˜ ์œ ์‚ฌ์„ฑ(๊ฑฐ๋ฆฌ)๋ฅผ ์ธก์ •ํ•œ ํ›„ ์œ ์‚ฌ์„ฑ์ด ๋†’์€(๊ฑฐ๋ฆฌ๊ฐ€ ์งง์€) ๋ฐ์ดํ„ฐ๋ผ๋ฆฌ ์ง‘๋‹จ์œผ๋กœ ๋ถ„๋ฅ˜ํ•˜๋Š” ๊ฒƒ
  • ์ฐจ์› ์ถ•์†Œ
    • ์ฐจ์›์„ ๋‚˜ํƒ€๋‚ด๋Š” ํŠน์„ฑ์„ ์ค„์—ฌ์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ค„์ด๋Š” ๋ฐฉ์‹

๊ตฌ๋ถ„ ๊ตฐ์ง‘ ์ฐจ์› ์ถ•์†Œ
๋ชฉํ‘œ ๋ฐ์ดํ„ฐ ๊ทธ๋ฃนํ™” ๋ฐ์ดํ„ฐ ๊ฐ„์†Œํ™”
์ฃผ์š” ์•Œ๊ณ ๋ฆฌ์ฆ˜ K-ํ‰๊ท  ๊ตฐ์ง‘ํ™”(K-Means) ์ฃผ์„ฑ๋ถ„ ๋ถ„์„(PCA)
์˜ˆ์‹œ ์‚ฌ์šฉ์ž์˜ ๊ด€์‹ฌ์‚ฌ์— ๋”ฐ๋ผ
๊ทธ๋ฃนํ™” ํ•˜์—ฌ ๋งˆ์ผ€ํŒ…์— ํ™œ์šฉ
- ๋ฐ์ดํ„ฐ ์••์ถ•
- ์ค‘์š”ํ•œ ์†์„ฑ ๋„์ถœ

K-ํ‰๊ท  ๊ตฐ์ง‘ํ™”

  • ์™œ ์‚ฌ์šฉํ• ๊นŒ?
    • ์ฃผ์–ด์ง„ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ๊ตฐ์ง‘ํ™”
  • ์–ธ์ œ ์‚ฌ์šฉํ•˜๋ฉด ์ข‹์„๊นŒ?
    • ์ฃผ์–ด์ง„ ๋ฐ์ดํ„ฐ์…‹์„ ์ด์šฉํ•˜์—ฌ ๋ช‡ ๊ฐœ์˜ ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๊ตฌ์„ฑํ• ์ง€ ์‚ฌ์ „์— ์•Œ ์ˆ˜ ์žˆ์„ ๋•Œ ์‚ฌ์šฉํ•˜๋ฉด ์œ ์šฉํ•˜๋‹ค.
  • K-ํ‰๊ท  ๊ตฐ์ง‘ํ™”
    • ๋ฐ์ดํ„ฐ๋ฅผ ์ž…๋ ฅ๋ฐ›์•„ ์†Œ์ˆ˜์˜ ๊ทธ๋ฃน์œผ๋กœ ๋ฌถ๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜
  • ํ•™์Šต ๊ณผ์ •
    • ์ค‘์‹ฌ์  ์„ ํƒ
      • ๋žœ๋คํ•˜๊ฒŒ ์ดˆ๊ธฐ ์ค‘์‹ฌ์ ์„ ์„ ํƒ
    • ํด๋Ÿฌ์Šคํ„ฐ ํ• ๋‹น
      • K๊ฐœ์˜ ์ค‘์‹ฌ์ ๊ณผ ๊ฐ๊ฐ์˜ ๊ฐœ๋ณ„ ๋ฐ์ดํ„ฐ ๊ฐ„์˜ ๊ฑฐ๋ฆฌ๋ฅผ ์ธก์ •ํ•œ ํ›„, ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ์ค‘์‹ฌ์ ์„ ๊ธฐ์ค€์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ํ• ๋‹น, ์ด ๊ณผ์ •์„ ํ†ตํ•ด ํด๋Ÿฌ์Šคํ„ฐ๊ฐ€ ๊ตฌ์„ฑ
      • ํด๋Ÿฌ์Šคํ„ฐ๋ง์€ ๋ฐ์ดํ„ฐ๋ฅผ ํ•˜๋‚˜ ํ˜น์€ ๋‘˜ ์ด์ƒ์˜ ๋ฉ์–ด๋ฆฌ๋กœ ๋ฌถ๋Š” ๊ณผ์ •
      • ํด๋Ÿฌ์Šคํ„ฐ๋Š” ๋ฉ์–ด๋ฆฌ ์ž์ฒด๋ฅผ ์˜๋ฏธ
    • ์ƒˆ๋กœ์šด ์ค‘์‹ฌ์  ์„ ํƒ
      • ํด๋Ÿฌ์Šคํ„ฐ๋งˆ๋‹ค ์ƒˆ๋กœ์šด ์คŒ์‹ฌ์ ์„ ๊ณ„์‚ฐ
    • ๋ฒ”์œ„ ํ™•์ธ
      • ์„ ํƒ๋œ ์ค‘์‹ฌ์ ์— ๋” ์ด์ƒ์˜ ๋ณ€ํ™”๊ฐ€ ์—†๋‹ค๋ฉด ์ง„ํ–‰์„ ๋ฉˆ์ถค
      • ๋งŒ์•ฝ ๊ณ„์† ๋ณ€ํ™”๊ฐ€ ์žˆ๋‹ค๋ฉด ํด๋Ÿฌ์Šคํ„ฐ ํ• ๋‹น ํ›„ ์ƒˆ๋กœ์šด ์ค‘์‹ฌ์ ์„ ์„ ํƒํ•˜๋Š” ๊ณผ์ •์„ ๋ฐ˜๋ณต
  • ๊ฑฐ๋ฆฌ ์ œ๊ณฑ์˜ ํ•ฉ
    • $x, y$ ๋‘ ๋ฐ์ดํ„ฐ์˜ ์ฐจ๋ฅผ ๊ตฌํ•ด์„œ ์ œ๊ณฑํ•œ ๊ฐ’์„ ๋ชจ๋‘ ๋”ํ•œ ํ›„ ์œ ์‚ฌ์„ฑ์„ ์ธก์ •ํ•˜๋Š”๋ฐ ์‚ฌ์šฉ๋จ
    • ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ํด๋Ÿฌ์Šคํ„ฐ ์ค‘์‹ฌ๊นŒ์ง€ ๊ฑฐ๋ฆฌ๋ฅผ ์ œ๊ณฑํ•œ ๊ฐ’์— ํ•ฉ์„ ๊ตฌํ•  ๋•Œ ์‚ฌ์šฉ $$ \text{SSD} = \sum_{i=1}^{n} (x_i - y_i)^2 $$ $$ \left{ \begin{aligned} &n : \text{๋ฐ์ดํ„ฐ ์ง‘ํ•ฉ ๋‚ด ๋ฐ์ดํ„ฐ ํฌ์ธํŠธ(์š”์†Œ)์˜ ์ˆ˜๋ฅผ ๋‚˜ํƒ€๋ƒ„} \ &x_i : \text{ํ•˜๋‚˜์˜ ๋ฐ์ดํ„ฐ ์ง‘ํ•ฉ์—์„œ i๋ฒˆ์งธ ์š”์†Œ ๊ฐ’์„ ๋‚˜ํƒ€๋ƒ„} \ &y_i : \text{๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ ์ง‘ํ•ฉ์—์„œ i๋ฒˆ์งธ ์š”์†Œ ๊ฐ’์„ ๋‚˜ํƒ€๋ƒ„} \end{aligned} \right} $$
    • $K$๊ฐ€ ์ฆ๊ฐ€ํ•˜๋ฉด ๊ฑฐ๋ฆฌ ์ œ๊ณฑ์˜ ํ•ฉ์€ 0์ด ๋˜๋Š” ๊ฒฝํ–ฅ์ด ์žˆ์Œ
      • $K$๋ฅผ ์ตœ๋Œ“๊ฐ’ $n$(์—ฌ๊ธฐ์—์„œ $n$์€ ์ƒ˜ํ”Œ ์ˆ˜)์œผ๋กœ ์„ค์ •ํ•˜๋ฉด ๊ฐ ์ƒ˜ํ”Œ์ด ์ž์ฒด ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ํ˜•์„ฑํ•˜์—ฌ ๊ฑฐ๋ฆฌ ์ œ๊ณฑ ํ•ฉ์ด 0๊ณผ ๊ฐ™์•„์ง€๊ธฐ ๋•Œ๋ฌธ

๋ฐ€๋„ ๊ธฐ๋ฐ˜ ๊ตฐ์ง‘ ๋ถ„์„ (DBSCAN)

  • ์™œ ์‚ฌ์šฉํ• ๊นŒ?
    • ์ฃผ์–ด์ง„ ๋ฐ์–ดํ„ฐ์— ๋Œ€ํ•œ ๊ตฐ์ง‘ํ™”
  • ์–ธ์ œ ์‚ฌ์šฉํ•˜๋ฉด ์ข‹์„๊นŒ?
    • K-ํ‰๊ท  ๊ตฐ์ง‘ํ™”์™€๋Š” ๋‹ค๋ฅด๊ฒŒ ์‚ฌ์ „์— ํด๋Ÿฌ์Šคํ„ฐ์˜ ์ˆซ์ž๋ฅผ ์•Œ์ง€ ๋ชปํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋ฉด ์œ ์šฉํ•˜๋‹ค.
    • ์ฃผ์–ด์ง„ ๋ฐ์ดํ„ฐ์— ์ด์ƒ์น˜๊ฐ€ ๋งŽ์ด ํฌํ•จ๋˜์—ˆ์„ ๋•Œ ์‚ฌ์šฉํ•˜๋ฉด ์ข‹๋‹ค.
  • ๋ฐ€๋„ ๊ธฐ๋ฐ˜ ๊ตฐ์ง‘ ๋ถ„์„ (DBSCAN)
    • ์ผ์ • ๋ฐ€๋„ ์ด์ƒ์„ ๊ฐ€์ง„ ๋ฐ์ดํ„ฐ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๊ตฐ์ง‘์„ ํ˜•์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•
    • ๋…ธ์ด์ฆˆ์— ์˜ํ–ฅ์„ ๋ฐ›์ง€ ์•Š๊ณ , K-ํ‰๊ท  ๊ตฐ์ง‘ํ™”์— ๋น„ํ•ด ์—ฐ์‚ฐ๋Ÿ‰์€ ๋งŽ์ง€๋งŒ K-ํ‰๊ท  ๊ตฐ์ง‘ํ™”๊ฐ€ ์ž˜ ์ฒ˜๋ฆฌํ•˜์ง€ ๋ชปํ•˜๋Š” ์˜ค๋ชฉํ•˜๊ฑฐ๋‚˜ ๋ณผ๋กํ•œ ๋ถ€๋ถ„์„ ์ฒ˜๋ฆฌํ•˜๋Š”๋ฐ ์œ ์šฉํ•จ
  • ๋ฐ€๋„ ๊ธฐ๋ฐ˜ ๊ตฐ์ง‘ ์ ˆ์ฐจ
    • ์•ฑ์‹ค๋ก  ๋‚ด ์  ๊ฐœ์ˆ˜ ํ™•์ธ ๋ฐ ์ค‘์‹ฌ์  ๊ฒฐ์ •
    • ๊ตฐ์ง‘ ํ™•์žฅ
    • 1 ~ 2๋‹จ๊ณ„ ๋ฐ˜๋ณต
    • ๋…ธ์ด์ฆˆ ์ •์˜

์ฃผ์„ฑ๋ถ„ ๋ถ„์„ (PCA)

  • ์™œ ์‚ฌ์šฉํ• ๊นŒ?
    • ์ฃผ์–ด์ง„ ๋ฐ์ดํ„ฐ์˜ ๊ฐ„์†Œํ™”
  • ์–ธ์ œ ์‚ฌ์šฉํ•˜๋ฉด ์ข‹์„๊นŒ?
    • ํ˜„์žฌ ๋ฐ์ดํ„ฐ์˜ ํŠน์„ฑ(๋ณ€์ˆ˜)์ด ๋„ˆ๋ฌด ๋งŽ์„ ๊ฒฝ์šฐ์—๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ํ•˜๋‚˜์˜ ํ”Œ๋กฏ(plot)์— ์‹œ๊ฐํ™”ํ•ด์„œ ์‚ดํŽด๋ณด๋Š” ๊ฒƒ์ด ์–ด๋ ต๋‹ค.
    • ํŠน์„ฑ p๊ฐœ๋ฅผ ๋‘์„ธ ๊ฐœ ์ •๋„๋กœ ์••์ถ•ํ•ด์„œ ํ…Œ์ดํ„ฐ๋ฅผ ์‹œ๊ฐํ™”ํ•˜์—ฌ ์‚ดํŽด๋ณด๊ณ  ์‹ถ์„ ๋•Œ ์œ ์šฉํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค.
  • PCA (Principal Component Analysis)
    • ๊ณ ์ฐจ์› ๋ฐ์ดํ„ฐ๋ฅผ ์ €์ฐจ์›(์ฐจ์› ์ถ•์†Œ) ๋ฐ์ดํ„ฐ๋กœ ์ถ•์†Œ์‹œํ‚ค๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜
  • ์ฐจ์› ์ถ•์†Œ ๋ฐฉ๋ฒ•
    • ๋ฐ์ดํ„ฐ๋“ค์˜ ๋ถ„ํฌ ํŠน์„ฑ์„ ์ž˜ ์„ค๋ช…ํ•˜๋Š” ๋ฒกํ„ฐ๋ฅผ ๋‘ ๊ฐœ ์„ ํƒ
    • ๋ฒกํ„ฐ ๋‘ ๊ฐœ๋ฅผ ์œ„ํ•œ ์ ์ •ํ•œ ๊ฐ€์ค‘์น˜๋ฅผ ์ฐพ์„ ๋•Œ๊นŒ์ง€ ํ•™์Šต์„ ์ง„ํ–‰

  • pandas
    • DataFrame

23.09.07


  • torch17 ~ torch19

  • ๋”ฅ๋Ÿฌ๋‹

    • ํผ์…‰ํŠธ๋ก 
      • ์ธ๊ณต ์‹ ๊ฒฝ๋ง์—์„œ ์ด์šฉํ•˜๋Š” ๊ตฌ์กฐ(์ž…๋ ฅ์ธต, ์ถœ๋ ฅ์ธต, ๊ฐ€์ค‘์น˜๋กœ ๊ตฌ์„ฑ๋œ ๊ตฌ์กฐ)๋กœ ์ด๋ฃจ์–ด์ง„ ์„ ํ˜• ๋ถ„๋ฅ˜๊ธฐ
      • ๋‹ค์ˆ˜์˜ ์‹ ํ˜ธ(ํ๋ฆ„์ด ์žˆ๋Š”)๋ฅผ ์ž…๋ ฅ์œผ๋กœ ๋ฐ›์•„ ํ•˜๋‚˜์˜ ์‹ ํ˜ธ๋ฅผ ์ถœ๋ ฅ, ์ด ์‹ ํ˜ธ๋ฅผ ์ž…๋ ฅ์œผ๋กœ ๋ฐ›์•„ 'ํ๋ฅธ๋‹ค/์•ˆ ํ๋ฅธ๋‹ค(1 or 0)'๋Š” ์ •๋ณด๋ฅผ ์•ž์œผ๋กœ ์ „๋‹ฌํ•˜๋Š” ์›๋ฆฌ์ด๋‹ค.

    ๊ตฌ๋ถ„ ๊ตฌ์„ฑ ์š”์†Œ ์„ค๋ช…
    ์ธต ์ž…๋ ฅ์ธต (input layer) ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์•„๋“ค์ด๋Š” ์ธต
    ์ธต ์€๋‹‰์ธต (hidden layer) ๋ชจ๋“  ์ž…๋ ฅ ๋…ธ๋“œ๋ถ€ํ„ฐ ์ž…๋ ฅ ๊ฐ’์„ ๋ฐ›์•„ ๊ฐ€์ค‘ํ•ฉ์„ ๊ณ„์‚ฐํ•˜๊ณ ,
    ์ด ๊ฐ’์„ ํ™œ์„ฑํ™” ํ•จ์ˆ˜์— ์ ์šฉํ•˜์—ฌ ์ถœ๋ ฅ์ธต์— ์ „๋‹ฌํ•˜๋Š” ์ธต
    ์ธต ์ถœ๋ ฅ์ธต (output layer) ์‹ ๊ฒฝ๋ง์˜ ์ตœ์ข… ๊ฒฐ๊ด๊ฐ’์ด ํฌํ•จ๋œ ์ธต
    ๊ฐ€์ค‘์น˜ (weight) ๊ฐ€์ค‘์น˜ (weight) ๋…ธ๋“œ์™€ ๋…ธ๋“œ ๊ฐ„ ์—ฐ๊ฒฐ ๊ฐ•๋„
    ๋ฐ”์ด์–ด์Šค (bias) ๋ฐ”์ด์–ด์Šค (bias) ๊ฐ€์ค‘ํ•ฉ์— ๋”ํ•ด ์ฃผ๋Š” ์ƒ์ˆ˜๋กœ, ํ•˜๋‚˜์˜ ๋‰ด๋Ÿฐ์—์„œ
    ํ™œ์„ฑํ™” ํ•จ์ˆ˜๋ฅผ ๊ฑฐ์ณ ์ตœ์ข…์ ์œผ๋กœ ์ถœ๋ ฅ๋˜๋Š” ๊ฐ’์„
    ์กฐ์ ˆํ•˜๋Š” ์—ญํ• ์„ ํ•จ
    ๊ฐ€์ค‘ํ•ฉ (weighted sum)
    / ์ „๋‹ฌํ•จ์ˆ˜
    ๊ฐ€์ค‘ํ•ฉ (weighted sum)
    / ์ „๋‹ฌํ•จ์ˆ˜
    ๊ฐ€์ค‘์น˜์™€ ์‹ ํ˜ธ์˜ ๊ณฑ์„ ํ•ฉํ•œ ๊ฒƒ
    ํ•จ์ˆ˜ ํ™œ์„ฑํ™” ํ•จ์ˆ˜ (activation function) ์‹ ํ˜ธ๋ฅผ ์ž…๋ ฅ๋ฐ›์•„ ์ด๋ฅผ ์ ์ ˆํžˆ ์ฒ˜๋ฆฌํ•˜์—ฌ ์ถœ๋ ฅํ•ด ์ฃผ๋Š” ํ•จ์ˆ˜
    ํ•จ์ˆ˜ ์†์‹ค ํ•จ์ˆ˜ (loss function) ๊ฐ€์ค‘์น˜ ํ•™์Šต์„ ์œ„ํ•ด ์ถœ๋ ฅ ํ•จ์ˆ˜์˜ ๊ฒฐ๊ณผ์™€ ์‹ค์ œ ๊ฐ’ ๊ฐ„์˜ ์˜ค์ฐจ๋ฅผ ์ธก์ •ํ•˜๋Š” ํ•จ์ˆ˜

23.09.11


  • torch19 ~ torch20

  • ์ „์ด ํ•™์Šต

    • ์‚ฌ์ „ ํ›ˆ๋ จ๋œ ๋ชจ๋ธ์˜ ํŒŒ๋ผ๋ฏธํ„ฐ ํ•™์Šต ์œ ๋ฌด ์ง€์ •

      • ํ•ฉ์„ฑ๊ณฑ์ธต์„ ์‚ฌ์šฉํ•˜๋˜ ํŒŒ๋ผ๋ฏธํ„ฐ์— ๋Œ€ํ•ด์„œ๋Š” ํ•™์Šต์„ ํ•˜์ง€ ์•Š๋„๋ก ๊ณ ์ •
      def set_parameter_requires_grad(model, feature_extracting = True):
      if feature_extracting:
          for param in model.parameters():
              param.requires_grad = False
      
      set_parameter_requires_grad(resnet18)
      • ์—ญ์ „ํŒŒ ์ค‘ ํŒŒ๋ผ๋ฏธํ„ฐ๋“ค์— ๋Œ€ํ•œ ๋ณ€ํ™”๋ฅผ ๊ณ„์‚ฐํ•  ํ•„์š”๊ฐ€ ์—†์Œ
      • ๋ชจ๋ธ์— ์ผ๋ถ€๋ฅผ ์ •ํ•˜๊ณ  ๋‚˜๋จธ์ง€๋ฅผ ํ•™์Šตํ•˜๊ณ ์ž ํ•  ๋•Œ requires_grad = False๋กœ ์„ค์ •
        • ๋ชจ๋ธ์˜ ์ผ๋ถ€๋Š” ํ•ฉ์„ฑ๊ณฑ์ธต(convolutional layer)๊ฐ€ ํ’€๋ง(pooling)์ธต์„ ์˜๋ฏธ
  • ํ…์„œ ํ•จ์ˆ˜ ๋น„๊ต

    ๊ตฌ๋ถ„ ๋ฉ”๋ชจ๋ฆฌ ๊ณ„์‚ฐ ๊ทธ๋ž˜ํ”„ ์ƒ์ฃผ ์œ ๋ฌด
    tensor.clone() ์ƒˆ๋กญ๊ฒŒ ํ• ๋‹น ๊ณ„์‚ฐ ๊ทธ๋ž˜ํ”„์— ๊ณ„์† ์ƒ์ฃผ
    tensor.datach() ๊ณต์œ ํ•ด์„œ ์‚ฌ์šฉ ๊ณ„์‚ฐ ๊ทธ๋ž˜ํ”„์— ์ƒ์ฃผํ•˜์ง€ ์•Š์Œ
    tensor.clone().detach() ์ƒˆ๋กญ๊ฒŒ ํ• ๋‹น ๊ณ„์‚ฐ ๊ทธ๋ž˜ํ”„์— ์ƒ์ฃผํ•˜์ง€ ์•Š์Œ
  • add_subplot

    • matplotlib ๋ผ์ด๋ธŒ๋Ÿฌ๋‹ˆ์— ์žˆ๋Š” ํ•จ์ˆ˜์ค‘ ํ•˜๋‚˜๋กœ ํ•œ ํ™”๋ฉด์— ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ด๋ฏธ์ง€๋ฅผ ๋‹ด๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ

23.09.12


  • torch21 ~ torch22

  • os.path.join

    • ๊ฒฝ๋กœ(ํŒจ์Šค)๋ช… ์กฐ์ž‘์— ๊ด€ํ•œ ์ฒ˜๋ฆฌ๋ฅผ ๋ชจ์•„๋‘” ๋ชจ๋“ˆ๋กœ์จ ๊ตฌํ˜„๋˜์–ด ์žˆ๋Š” ํ•จ์ˆ˜์˜ ํ•˜๋‚˜
    • ์ธ์ˆ˜์— ์ „๋‹ฌ๋œ 2๊ฐœ์˜ ๋ฌธ์ž์—ด์„ ๊ฒฐํ•ฉํ•˜์—ฌ, 1๊ฐœ์˜ ๊ฒฝ๋กœ๋กœ ํ•  ์ˆ˜ ์žˆ์Œ
  • transform class

    • ์ด๋ฏธ์ง€์˜ ๋ฐ์ดํ„ฐ์…‹์„ ์ „์ฒ˜๋ฆฌ ํ•ด์ฃผ๋Š” ํด๋ž˜์Šค
    class ImageTransform():
        def __init__(self, resize, mean, std):
            self.data_transfrom = {
                "train" : transforms.Compose([
                    transforms.RandomResizedCrop(resize, scale=(0.5, 1.0)),
                    transforms.RandomHorizontalFlip(),
                    transforms.ToTensor(),
                    transforms.Normalize(mean, std)
                ]),
                "val" : transforms.Compose([
                    transforms.Resize(256),
                    transforms.CenterCrop(resize),
                    transforms.ToTensor(),
                    transforms.Normalize(mean, std)
                ])
            }
        
        def __call__(self, img, phase):
            return self.data_transfrom[phase](img)
  • tqdm

    • ์–ด๋–ค ์ž‘์—…์„ ์ˆ˜ํ–‰์ค‘ ์ผ ๋•Œ ์–ด๋””๊นŒ์ง€ ์‹คํ–‰๋˜์—ˆ๊ณ  ์–ผ๋งˆ๋‚˜ ๋‚จ์•˜๋Š”์ง€ ๋“ฑ์˜ ์ง„ํ–‰๋ฅ ์„ ํ™•์ธํ•  ๋•Œ ์‚ฌ์šฉ
    • ๋ฐ˜๋ณต๋ฌธ์—์„œ ํ”„๋กœ์„ธ์Šค๋ฐ”๋ฅผ ํ†ตํ•ด ์ง„ํ–‰๋ฅ ๊ณผ ๋‚จ์€ ์‹œ๊ฐ„์„ ์•Œ๋ ค์ฃผ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํ•จ์ˆ˜
  • torch.summary

    • ํ…์„œํ”Œ๋กœ์— model.summary()์™€ ๊ฐ™์ด ๋ชจ๋ธ์˜ ๊ตฌ์กฐ๋„ ์š”์•ฝ์„ ํ™•์ธํ•˜๋Š” ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
    • ๋ชจ๋ธ์˜ ๊ตฌ์กฐ๋„์— ๋Œ€ํ•œ ์š”์•ฝ, ํŒŒ๋ผ๋ฏธํ„ฐ์˜ ๊ฐœ์ˆ˜, ๋ฉ”๋ชจ๋ฆฌ ๋“ฑ ํ™•์ธ ๊ฐ€๋Šฅ
  • ํ•ฉ์„ฑ๊ณฑ ์‹ ๊ฒฝ๋ง

    • LeNet-5
      • ํ•ฉ์„ฑ๊ณฑ ์‹ ๊ฒฝ๋ง์ด๋ผ๋Š” ๊ฐœ๋…์„ ์ตœ์ดˆ๋กœ ์–€ ๋ฅด์ฟค์ด ๊ฐœ๋ฐœํ•œ ๊ตฌ์กฐ
      • ํ•ฉ์„ฑ๊ณฑ๊ณผ ๋‹ค์šด ์ƒ˜ํ”Œ๋ง(ํ˜น์€ ํ’€๋ง)์„ ๋ฐ˜๋ณต์ ์œผ๋กœ ๊ฑฐ์น˜๋ฉด์„œ ๋งˆ์ง€๋ง‰์— ์™„์ „์—ฐ๊ฒฐ์ธต์—์„œ ๋ถ„๋ฅ˜๋ฅผ ์ˆ˜ํ–‰

23.09.13


  • flaskbook/apps/minimalapp

  • ํŒŒ์ด์ฌ ์›น ํ”„๋ ˆ์ž„์›Œํฌ

    • ์žฅ๊ณ  (django)
      • ํŠน์ง•
        • ํŒŒ์ด์ฌ ์›น ํ”„๋ ˆ์ž„์›Œํฌ ์ค‘์—์„œ๋„ ๊ฐ€์žฅ ์œ ๋ช…ํ•จ
        • ์ค‘๊ทœ๋ชจ ์ด์ƒ ์›น์„ ๊ตฌ์ถ•์‹œ์— ์ž์ฃผ ์‚ฌ์šฉ
        • ๊ฐœ๋ฐœ์— ํ•„์š”ํ•œ ๋งŽ์€ ๊ธฐ๋Šฅ์ด ๊ตฌํ˜„๋˜์–ด ์žˆ์–ด ํ’€์Šคํƒ ํ”„๋ ˆ์ž„์›Œํฌ๋กœ ๋ถˆ๋ฆผ
        • Django REST Framework(DRF)๋ฅผ ์ถ”๊ฐ€ ์„ค์น˜ํ•จ์œผ๋กœ์„œ ์›น ์•ฑ๋ฟ๋งŒ ์•„๋‹Œ REST API๋ฅผ ๊ฐ„๋‹จํžˆ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Œ
    • ํ”Œ๋ผ์Šคํฌ (flask)
      • ํŠน์ง•
        • ๋งˆ์ดํฌ๋กœ ์›น ํ”„๋ ˆ์ž„์›Œํฌ์ด๋‹ค.
        • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ธฐ๋Šฅ์ด ํฌํ•จ๋˜์–ด ์žˆ์ง€ ์•Š๋Š” ๋“ฑ ์ตœ์†Œํ•œ์˜ ๊ธฐ๋Šฅ๋งŒ ์ œ๊ณต
        • ์ตœ์†Œํ•œ์˜ ๊ทœ์•ฝ๋งŒ ์žˆ์–ด ์•ฑ ๊ตฌ์„ฑ ์ž์œ ๋กญ๊ฒŒ ๊ฒฐ์ • ๊ฐ€๋Šฅ
        • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ธฐ๋Šฅ ๋“ฑ ํ™•์žฅ ๊ธฐ๋Šฅ์„ ๋งŽ์ด ์ง€์›
    • ๋ณดํ‹€ (bottle)
      • ํŠน์ง•
        • ์›น ์•ฑ์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•œ ํ”„๋ ˆ์ž„์›Œํฌ ์ค‘์—๋Š” ๊ฐ€์žฅ ๋‹จ์ˆœํ•จ
        • bottle.py๋ผ๋Š” ํ•˜๋‚˜์˜ ํŒŒ์ผ๋กœ๋งŒ ๊ตฌ์„ฑ๋˜์–ด์žˆ์Œ
        • ํŒŒ์ด์ฌ ํ‘œ์ค€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ด์™ธ์— ์˜์กด ๊ด€๊ณ„ ์—†์Œ
        • ๋งˆ์ดํฌ๋กœ ์›น ํ”„๋ ˆ์ž„์›Œํฌ ์ค‘ ํ•˜๋‚˜๋กœ ํ”Œ๋ผ์Šคํฌ๋ณด๋‹ค ๋‹จ์ˆœํ•˜๊ณ  ๋น ๋ฅด๊ณ  ๊ฐ€๋ฒผ์›€
    • FastAPI
      • ํŠน์ง•
        • ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ๊ฐ€ ์šฉ์ดํ•˜๋„๋ก ๋งŒ๋“ค์–ด์ง„ ํŒŒ์ด์ฌ ์›น ํ”„๋ ˆ์ž„์›Œํฌ
        • ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ์†๋„ ๋งค์šฐ ๋น ๋ฆ„

    ํ”„๋ ˆ์ž„์›Œํฌ ๊ณต์‹ ์‚ฌ์ดํŠธ ๋ผ์ด์„ ์Šค ์ดˆ๊ธฐ ๊ฐœ๋ฐœ์ž ์ตœ์ดˆ ๋ฆด๋ฆฌ์Šค ํ…œํ”Œ๋ฆฟ ์—”์ง„ O/R ๋งคํผ
    ์žฅ๊ณ  www.djangoproject.com BSD License Adrian
    Holovaty,
    Simon Willison
    2005๋…„ Django
    Template
    Django
    O/R ๋งคํผ
    ํ”Œ๋ผ์Šคํฌ palletsproject.com/p/flask BSD License Armin
    Ronacher
    2010๋…„ Jinja2 ์—†์Œ
    ๋ณดํ‹€ bottlepy.org/docs/dev MIT License Marcel
    HEllkamp
    2009๋…„ Simple
    Template
    Engine
    ์—†์Œ
    FastAPI fastapi.tiangolo.com MIT License Sebastian
    Ramirez
    2018๋…„ Jinja2 ์—†์Œ
  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ดˆ๊ธฐํ™” ๋ฐ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜

    • flask db init
      • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ดˆ๊ธฐํ™”ํ•˜๋Š” ๋ช…๋ น
      (venv) $ flask db init
      
      • ๋ช…๋ น์„ ์‹คํ–‰ํ•œ ํด๋” ๋ฐ”๋กœ ์•„๋ž˜ migraions ๋””๋ ‰ํ„ฐ๋ฆฌ๊ฐ€ ์ƒ์„ฑ๋จ
      • tip
        • migrations ๋””๋ ‰ํ„ฐ๋ฆฌ์˜ ์œ„์น˜๋ฅผ ๋ฐ”๊พธ๊ณ  ์‹ถ๋‹ค๋ฉด -d ์˜ต์…˜์„ ํ†ตํ•ด ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ์ง€์ •
        (venv) $ flask db init -d apps/migrations
        
    • flask db migrate
      • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๋Š” ๋ช…๋ น
      (venv) $ flask db migrate
      
      • ๋ชจ๋ธ ์ •์˜๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ migrations/versions ์•„๋ž˜์— ํŒŒ์ด์ฌ ํŒŒ์ผ๋กœ ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค์— ์ ์šฉํ•˜๊ธฐ ์ „ ์ •๋ณด๊ฐ€ ์ƒ์„ฑ๋จ
    • flask db upgrade
      • ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ์ •๋ณด๋ฅผ ์‹ค์ œ๋กœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋ฐ˜์˜ํ•˜๊ธฐ ์œ„ํ•œ ๋ช…๋ น
      (venv) $ flask db upgrade
      
      • users ํ…Œ์ด๋ธ”์ด ์ƒ์„ฑ๋จ

  • python-dotenv
    • ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ .env ํŒŒ์ผ๋กœ๋ถ€ํ„ฐ ์ฝ์–ด ๋“ค์ž„
  • email-validator
    • ์ด๋ฉ”์ผ ์ฃผ์†Œ ํ˜•์‹์„ ์ฒดํฌ
  • flask-debugtoolbar
    • ํ”Œ๋ผ์Šคํฌ ์•ฑ ๊ฐœ๋ฐœ ๋ณด์กฐ ๋„๊ตฌ
  • flask-mail
    • ์ด๋ฉ”์ผ ์†ก์‹ 

23.09.14


  • flaskbook/apps/crud

  • flask-sqlalchemy

    • ํ”Œ๋ผ์Šคํฌ์—์„œ SQLAlchemy๋ฅผ ์ด์šฉํ•˜๋Š” ํ™•์žฅ
  • flask-migrate

    • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๋งˆ์ด๊ทธ๋ ˆ์ดํŠธํ•˜๋Š” ํ™•์žฅ
      • migrate - ์˜ฎ๊ธฐ๋‹ค / ์ด๋™ํ•˜๋‹ค
  • flask-wtf

    • ํ”Œ๋ผ์Šคํฌ์—์„œ ์œ ํšจ์„ฑ ๊ฒ€์ฆ์ด๋‚˜ CSRF์— ๋Œ€์ฒ˜ํ•˜๊ธฐ ์œ„ํ•œ ํผ์„ ์ž‘์„ฑํ•˜๋Š” ํ™•์žฅ

    • ์œ ํšจ์„ฑ ๊ฒ€์ฆ
      • ๊ตฌ์ฒด์ ์ธ ์˜๋„๋ฅผ ๊ฐ€์ง„ ์‚ฌ์šฉ(๋ชฉ์ )์„ ์œ„ํ•˜์—ฌ ํŠน์ • ์š”๊ตฌ์‚ฌํ•ญ์ด ์ถฉ์กฑ๋˜์—ˆ๋‹ค๋Š” ๊ฐ๊ด€์ ์ธ ์ฆ๊ฑฐ๋ฅผ ์ œ๊ณตํ•˜๊ณ  ์‹คํ—˜์— ์˜ํ•ด ํ™•์ธํ•˜๋Š” ๊ณผ์ •
    • CSRF (Cross Site Request Forgery)
      • ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ทจ์•ฝ์  ์ค‘ ํ•˜๋‚˜๋กœ ์ธํ„ฐ๋„ท ์‚ฌ์šฉ์ž(ํฌ์ƒ์ž)๊ฐ€ ์ž์‹ ์˜ ์˜์ง€์™€๋Š” ๋ฌด๊ด€ํ•˜๊ฒŒ ๊ณต๊ฒฉ์ž๊ฐ€ ์˜๋„ํ•œ ํ–‰์œ„(์ˆ˜์ •, ์‚ญ์ œ, ๋“ฑ๋ก ๋“ฑ)๋ฅผ ํŠน์ • ์›น์‚ฌ์ดํŠธ์— ์š”์ฒญํ•˜๊ฒŒ ๋งŒ๋“œ๋Š” ๊ณต๊ฒฉ

23.09.18


  • flaskbook/apps/auth | flaskbook/apps/detector | flaskbook/app/static

  • flask-login

    • Flask ํ”„๋ ˆ์ž„์›Œํฌ๋กœ ๊ฐœ๋ฐœํ•œ ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ์„ ์‰ฝ๊ฒŒ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ฃผ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
    • UserMixin
    ํ”„๋กœํผํ‹ฐ/๋ฉ”์„œ๋“œ ์„ค๋ช…
    is_authenticated ๋กœ๊ทธ์ธ ์‹œ๋Š” true๋ฅผ ๋ฐ˜ํ™˜ํ•˜๊ณ  ๋ฏธ๋กœ๊ทธ์ธ์‹œ๋Š” false๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜
    is_active ์‚ฌ์šฉ์ž ๊ณ„์ •์ด ํ™œ์„ฑ ์ƒํƒœ์ผ ๋•Œ๋Š” true๋ฅผ ๋ฐ˜ํ™˜ํ•˜๊ณ  ๋น„ํ™œ์„ฑ ์ƒํƒœ์ผ ๋•Œ๋Š” false๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜
    is_anonymous ๋กœ๊ทธ์ธ ์‚ฌ์šฉ์ž๋Š” false๋ฅผ ๋ฐ˜ํ™˜ํ•˜๊ณ  ์ต๋ช… ์‚ฌ์šฉ์ž๋Š” true๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜
    get_id ๋กœ๊ทธ์ธ ์‚ฌ์šฉ์ž์˜ ์œ ๋‹ˆํฌ ID๋ฅผ ์ทจ๋“ํ•˜๋Š” ํ”„๋กœํผํ‹ฐ
    • @login_required
      • ๋ฐ์ฝ”๋ ˆ์ดํ„ฐ๋ฅผ ๋ถ™์ด๋ฉด ํ•ด๋‹น์˜ ์—”๋“œํฌ์ธํŠธ๋Š” ๋กœ๊ทธ์ธํ•˜์ง€ ์•Š์œผ๋ฉด ์ ‘๊ทผ ๋ถˆ๊ฐ€

  • SQLAlchemy

    • ๋ฆด๋ ˆ์ด์…˜์‹ญ

      ์˜ต์…˜๋ช… ์„ค๋ช…
      backref ๋‹ค๋ฅธ ๋ชจ๋ธ์— ๋Œ€ํ•ด์„œ ์–‘๋ฐฉํ–ฅ์œผ๋กœ ๋ฆด๋ ˆ์ด์…˜ํ•จ
      lazy ๊ด€๋ จํ•œ ๊ฐ์ฒด๋ฅผ ์ง€์—ฐํ•˜์—ฌ ์ทจ๋“ํ•˜๋Š” ์˜ต์…˜
      ๋””ํฐํŠธ๋Š” select์ด๋ฉฐ ๋‹ค๋ฅธ ์˜ต์…˜์—๋Š” immediate, joined, subquery,
      noload, dynamic ๋“ฑ์ด ์žˆ์Œ
      order_by ์ •๋ ฌํ•  ์ปฌ๋Ÿผ์„ ์ง€์ •ํ•จ

23.09.19


  • flaskbook/apps | flaskbook/apps/detector

  • detector/index.html
<div class="dt-image-username">{{ user_image.User.username }}</div>
<div class="dt-image-username">{{ user_image.UserImage.user_image_name }}</div>

์œ„์™€ ๊ฐ™์ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์•ˆ์— ์žˆ๋Š” ์ •๋ณด๋ฅผ ๋ถˆ๋Ÿฌ์˜ค๋ ค๋ฉด ๋ถˆ๋Ÿฌ์˜ฌ ์ •๋ณด ์•ž์— ํด๋ž˜์Šค ์ด๋ฆ„์„ ๋ถ™์–ด์•ผ ํ•จ

23.09.20


  • torch23 ~ torch26

  • ์‹œ๊ณ„์—ด ๋ถ„์„
    • ๋…๋ฆฝ ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ข…์† ๋ณ€์ˆ˜๋ฅผ ์˜ˆ์ธกํ•˜๋Š” ์ผ๋ฐ˜์ ์ธ ๋จธ์‹  ๋Ÿฌ๋‹์—์„œ ์‹œ๊ฐ„์„ ๋…๋ฆฝ ๋ณ€์ˆ˜๋กœ ์‚ฌ์šฉํ•จ
  • ARIMA ๋ชจ๋ธ (AutoRegressive Integrated Moving Average)
    • ์ž๊ธฐ ํšŒ๊ท€์™€ ์ด๋™ ํ‰๊ท ์„ ๋‘˜ ๋‹ค ๊ณ ๋ คํ•˜๋Š” ๋ชจํ˜•
    • ARMA์™€ ๋‹ฌ๋ฆฌ ๊ณผ๊ฑฐ ๋ฐ์ดํ„ฐ์˜ ์„ ํ˜• ๊ด€๊ณ„๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์ถ”์„ธ๊นŒ์ง€ ๊ณ ๋ คํ•œ ๋ชจ๋ธ
    • ์ ˆ์ฐจ
      • ARIMA() ํ•จ์ˆ˜ ํ˜ธ์ถœํ•˜์—ฌ ์‚ฌ์šฉ, ARIMA(p, d, q) ํ•จ์ˆ˜์—์„œ ์“ฐ๋Š” ํŒŒ๋ผ๋ฏธํ„ฐ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Œ
        • p: ์ž๊ธฐ ํšŒ๊ท€ ์ฐจ์ˆ˜
        • d: ์ฐจ๋ถ„ ์ฐจ์ˆ˜
        • q: ์ด๋™ ํ‰๊ท  ์ฐจ์ˆ˜
      • fit() ๋ฉ”์„œ๋“œ ํ˜ธ์ถœ ๋ชจ๋ธ์— ๋ฐ์ดํ„ฐ ์ ์šฉ ๋ฐ ํ›ˆ๋ จ
      • predict() ๋ฉ”์„œํŠธ ํ˜ธ์ถœ ๋ฏธ๋ž˜ ์ถ”์„ธ ๋ฐ ๋™ํ–ฅ ์˜ˆ์ธก

์ˆœํ™˜ ์‹ ๊ฒฝ๋ง (RNN | Recurrent Neural Network)

  • ์‹œ๊ฐ„์ ์œผ๋กœ ์—ฐ์†์„ฑ์ด ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋ ค๊ณ  ๊ณ ์•ˆ๋œ ์ธ๊ณต ์‹ ๊ฒฝ๋ง

    • RNN์˜ Recurrent(๋ฐ˜๋ณต๋˜๋Š”)๋Š” ์ด์ „ ์€๋‹‰์ธต์ด ํ˜„์žฌ ์€๋‹‰์ธต์˜ ์ž…๋ ฅ์ด ๋˜๋ฉด์„œ ๋ฐ˜๋ณต๋˜๋Š” ์ˆœํ™˜ ๊ตฌ์กฐ๋ฅผ ๊ฐ–๋Š”๋‹ค๋Š” ์˜๋ฏธ
    • ๊ธฐ์กด ๋„คํŠธ์›Œํฌ์™€์˜ ์ฐจ์ด์ ์€ ๊ธฐ์–ต(memory)์„ ๊ฐ–๋Š”๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.
  • RNN์˜ ์…€ ์œ ํ˜•

    • nn.RNNCell
      • SimpleRNN ๊ณ„์ธต์— ๋Œ€์‘๋˜๋Š” RNN ์…€
    • nn.GRUCell
      • GRU ๊ณ„์ธต์— ๋Œ€์‘๋˜๋Š” GRU ์…€
    • nn.LSTMCell
      • LSTM ๊ณ„์ธต์— ๋Œ€์‘๋˜๋Š” LSTM ์…€
  • RNN ๊ณ„์‚ฐ

    • ์€๋‹‰์ธต ๊ณ„์‚ฐ
      • ๊ณ„์‚ฐ์„ ์œ„ํ•ด $x_t$์™€ $h_t-1$์ด ํ•„์š”
        ์ฆ‰, (์ด์ „ ์€๋‹‰์ธก * ์€๋‹‰์ธต -> ์€๋‹‰์ธต ๊ฐ€์ค‘์น˜ + ์ž…๋ ฅ์ธต -> ์€๋‹‰์ธต ๊ฐ€์ค‘์น˜ * (ํ˜„์žฌ) ์ž…๋ ฅ๊ฐ’)์œผ๋กœ ๊ณ„์‚ฐ ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, RNN์—์„œ ์€๋‹‰์ธต์€ ์ผ๋ฐ˜์ ์œผ๋กœ ํ•˜์ดํผ๋ณผ๋ฆญ ํƒ„์  ํŠธ ํ™œ์„ฑํ™” ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉ

$$h_t = tanh(W_{hh} \cdot h_{t-1} + W_{hx} \cdot x_t)$$

  • ์ถœ๋ ฅ์ธต ๊ณ„์‚ฐ
    • ์‹ฌ์ธต ์‹ ๊ฒฝ๋ง๊ณผ ๊ณ„์‚ฐ ๋ฐฉ๋ฒ•์ด ๋™์ผ
      ์ฆ‰, (์€๋‹‰์ธต -> ์ถœ๋ ฅ์ธต ๊ฐ€์ค‘์น˜ * ํ˜„์žฌ ์€๋‹‰์ธต)์— ์†Œํ”„ํŠธ๋งฅ์Šค ํ•จ์ˆ˜๋ฅผ ์ ์šฉ

$$yฬ‚โ‚œ = softmax(W_{oh}h_t)$$

  • ์˜ค์ฐจ (E)
    • ์‹ฌ์ธต ์‹ ๊ฒฝ๋ง์—์„œ ์ „๋ฐฉํ–ฅ ํ•™์Šต๊ณผ ๋‹ฌ๋ฆฌ ๊ฐ ๋‹จ๊ณ„($t$)๋งˆ๋‹ค ์˜ค์ฐจ๋ฅผ ์ธก์ •
      ์ฆ‰, ๊ฐ ๋‹จ๊ณ„๋งˆ๋‹ค ์‹ค์ œ ๊ฐ’($y_t$)๊ณผ ์˜ˆ์ธก ๊ฐ’($yฬ‚โ‚œ$)์œผ๋กœ ์˜ค์ฐจ(ํ‰๊ท  ์ œ๊ณฑ ์˜ค์ฐจ ์ ์šฉ)๋ฅผ ์ด์šฉํ•˜์—ฌ ์ธก์ •
  • ์—ญ์ „ํŒŒ
    • BPTT(BackPropagation Through Time)๋ฅผ ์ด์šฉํ•˜์—ฌ ๋ชจ๋“  ๋‹จ๊ณ„๋งˆ๋‹ค ์ฒ˜์Œ๋ถ€ํ„ฐ ๋๊นŒ์ง€ ์—ญ์ „ํŒŒํ•จ
      • ์˜ค์ฐจ๋Š” ๊ฐ ๋‹จ๊ณ„($t$)๋งˆ๋‹ค ์˜ค์ฐจ๋ฅผ ์ธก์ •ํ•˜๊ณ  ์ด์ „ ๋‹จ๊ณ„๋กœ ์ „๋‹ฌ, ์ด๊ฒƒ์„ BPTT๋ผ๊ณ  ํ•จ
    • ์ฆ‰, ๊ตฌํ•œ ์˜ค์ฐจ๋ฅผ ์ด์šฉํ•˜์—ฌ $W_{{x}h}, W_{{h}h}, W_{{h}y}$ ๋ฐ ๋ฐ”์ด์–ด์Šค(bias)๋ฅผ ์—…๋ฐ์ดํŠธํ•จ
      ์ด๋•Œ BPTT๋Š” ์˜ค์ฐจ๊ฐ€ ๋ฉ€๋ฆฌ ์ „ํŒŒ๋  ๋•Œ(์™ผ์ชฝ์œผ๋กœ ์ „ํŒŒ) ๊ณ„์‚ฐ๋Ÿ‰์ด ๋งŽ์•„์ง€๊ณ  ์ „ํŒŒ๋˜๋Š” ์–‘์ด ์ ์ฐจ ์ ์–ด์ง€๋Š” ๋ฌธ์ œ์ (๊ธฐ์šธ๊ธฐ ์†Œ๋ฉธ ๋ฌธ์ œ)์ด ๋ฐœ์ƒํ•จ
    • ๊ธฐ์šธ๊ธฐ ์†Œ๋ฉธ ๋ฌธ์ œ๋ฅผ ๋ณด์•ˆํ•˜๊ธฐ ์œ„ํ•ด ์˜ค์ฐจ๋ฅผ ๋ช‡ ๋‹จ๊ณ„๊นŒ์ง€๋งŒ ์ „ํŒŒ์‹œํ‚ค๋Š” ์ƒ๋žต๋œ-BPTT(truncated BPTT)๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ๊ณ , ๊ทผ๋ณธ์ ์œผ๋กœ๋Š” LSTM ๋ฐ GRU๋ฅผ ๋งŽ์ด ์‚ฌ์šฉ ๊ณ„์‚ฐ๋Ÿ‰์„ ์ค„์ด๊ธฐ ์œ„ํ•ด ํ˜„์žฌ ๋‹จ๊ณ„์—์„œ ์ผ์ • ์‹œ์ ๊นŒ์ง€๋งŒ(๋ณดํ†ต 5๋‹จ๊ณ„ ์ด์ „๊นŒ์ง€๋งŒ) ์˜ค๋ฅ˜๋ฅผ ์—ญ์ „ํŒŒํ•จ, ์ด๊ฒƒ์„ ์ƒ๋žต๋œ-BPTT๋ผ๊ณ  ํ•จ

23.09.22


  • torch26 ~ torch31

  • LSTM
    • ์ˆœ์ „ํŒŒ
      • ๊ธฐ์šธ๊ธฐ ์†Œ๋ฉธ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋ง๊ฐ, ์ž…๋ ฅ, ์ถœ๋ ฅ ๊ฒŒ์ดํŠธ๋ผ๋Š” ์ƒˆ๋กœ์šด ์š”์†Œ๋ฅผ ์€๋‹‰์ธต์˜ ๊ฐ ๋‰ด๋Ÿฐ์˜ ์ถ”๊ฐ€ํ•จ
      • ๋ง๊ฐ ๊ฒŒ์ดํŠธ
        • ๊ณผ๊ฑฐ ์ •๋ณด๋ฅผ ์–ด๋Š ์ •๋„ ๊ธฐ์–ตํ• ์ง€ ๊ฒฐ์ •
        • ๊ณผ๊ฑฐ ์ •๋ณด์™€ ํ˜„์žฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ž…๋ ฅ๋ฐ›์•„ ์‹œ๊ทธ๋ชจ์ด๋“œ๋ฅผ ์ทจํ•œ ํ›„ ๊ทธ ๊ฐ’์„ ๊ณผ๊ฑฐ ์ •๋ณด์— ๊ณฑํ•จ
        • ์‹œ๊ทธ๋ชจ์ด๋“œ์˜ ์ถœ๋ ฅ์ด 0์ด๋ฉด ๊ณผ๊ฑฐ ์ •๋ณด๋ฅผ ๋ฒ„๋ฆฌ๊ณ , 1์ด๋ฉด ๊ณผ๊ฑฐ ์ •๋ณด๋Š” ์˜จ์ „ํžˆ ๋ณด์กด $$f_t = ฯƒ(W_f * [h_{t-1}, x_t])$$ $$c_t = f_t \cdot c_{t-1}$$
      • ์ž…๋ ฅ ๊ฒŒ์ดํŠธ
        • ๊ณผ๊ฑฐ ์ •๋ณด์™€ ํ˜„์žฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ž…๋ ฅ๋ฐ›์•„ ์‹œ๊ทธ๋ชจ์ด๋“œ์™€ ํ•˜์ดํผ๋ณผ๋ฆญ ํƒ„์  ํŠธ ํ•จ์ˆ˜๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ˜„์žฌ ์ •๋ณด์— ๋Œ€ํ•œ ๋ณด์กด๋Ÿ‰์„ ๊ฒฐ์ •
        • ํ˜„์žฌ ๋ฉ”๋ชจ๋ฆฌ์— ์ƒˆ๋กœ์šด ์ •๋ณด๋ฅผ ๋ฐ˜์˜ํ• ์ง€ ๊ฒฐ์ •ํ•˜๋Š” ์—ญํ• ์„ ํ•จ $$i_t = ฯƒ(W_i * [h_{t-1}, x_t])$$ $$\tilde{c}t = tanh(w_c[h{t-1}, x_t])$$ $$c_t = c_{t-1} + i_t * \tilde{c}_t$$
      • ์…€
        • ๊ฐ ๋‹จ๊ณ„์— ๋Œ€ํ•œ ์€๋‹‰ ๋…ธ๋“œ(hidden node)๋ฅผ ๋ฉ”๋ชจ๋ฆฌ ์…€์ด๋ผ ํ•จ
        • ์ดํ•ฉ(sum)์„ ์‚ฌ์šฉํ•˜์—ฌ ์…€ ๊ฐ’์„ ๋ฐ˜์˜, ์ด๊ฒƒ์œผ๋กœ ๊ธฐ์šธ๊ธฐ ์†Œ๋ฉด ๋ฌธ์ œ ํ•ด๊ฒฐ
        • ์…€ ์—…๋ฐ์ดํŠธ
          • ๋ง๊ฐ ๊ฒŒ์ดํŠธ์™€ ์ž…๋ ฅ ๊ฒŒ์ดํŠธ์˜ ์ด์ „ ๋‹จ๊ณ„ ์…€ ์ •๋ณด๋ฅผ ๊ณ„์‚ฐ, ํ˜„์žฌ ๋‹จ๊ณ„์˜ ์…€ ์ƒํƒœ๋ฅผ ์—…๋ฐ์ดํŠธ $$i_t = ฯƒ(W_i * [h_{t-1}, x_t])$$ $$c_t = c_{t-1} + i_t * \tilde{c}_t$$
      • ์ถœ๋ ฅ ๊ฒŒ์ดํŠธ
        • ๊ณผ๊ฑฐ ์ •๋ณด์™€ ํ˜•์žฌ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‰ด๋Ÿฐ์˜ ์ถœ๋ ฅ์„ ๊ฒฐ์ •
        • ์ด์ „ ์€๋‹‰ ์ƒํƒœ(hidden state)์™€ $t$๋ฒˆ์งธ ์ž…๋ ฅ์„ ๊ณ ๋ คํ•ด์„œ ๋‹ค์Œ ์€๋‹‰ ์ƒํƒœ๋ฅผ ๊ณ„์‚ฐ, ๊ทธ๋ฆฌ๊ณ  LSTM์—์„œ๋Š” ์ด ์€๋‹‰ ์ƒํƒœ๊ฐ€ ๊ทธ ์‹œ์ ์—์„œ์˜ ์ถœ๋ ฅ์ด ๋จ $$o_t = ฯƒ(W_o ยท [h_{t-1}, x_t])$$ $$h_t = o_t * tanh(c_{t-1})$$
    • ์—ญ์ „ํŒŒ
      • LSTM์€ ์…€์„ ํ†ตํ•ด ์—ญ์ „ํŒŒ๋ฅผ ์ˆ˜ํ–‰ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ค‘๋‹จ์—†๋Š” ๊ธฐ์šธ๊ธฐ(uninterrupted gradient flow)๋ผ๊ณ ๋„ ํ•จ
      • ์ตœ์ข… ์˜ค์ฐจ๋Š” ๋ชจ๋“  ๋…ธ๋“œ์— ์ „ํŒŒ, ์ด๋•Œ ์…€์„ ํ†ตํ•ด ์ค‘๋‹จ ์—†์ด ์ „ํŒŒ
  • GRU
    • LSTM์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๋ง๊ฐ ๊ฒŒ์ดํŠธ์™€ ์ž…๋ ฅ ๊ฒŒ์ดํŠธ๋ฅผ ํ•˜๋‚˜๋กœ ํ•ฉ์นœ ๊ฒƒ
    • ๋ณ„๋„์˜ ์—…๋ฐ์ดํŠธ ๊ฒŒ์ดํŠธ๋กœ ๊ตฌ์„ฑ
    • ๋ง๊ฐ ๊ฒŒ์ดํŠธ
      • ๊ณผ๊ฑฐ ์ •๋ณด๋ฅผ ์ ๋‹นํžˆ ์ดˆ๊ธฐํ™” ์‹œํ‚ค๋ ค๋Š” ๋ชฉ์ ์œผ๋กœ ์‹œ๊ทธ๋ชจ์ด๋“œ ํ•จ์ˆ˜๋ฅผ ์ถœ๋ ฅ์œผ๋กœ ์ด์˜น, (0, 1) ๊ฐ’์„ ์ด์ „ ์€๋‹‰์ธต์— ๊ณฑํ•จ
      • ์ด์ „ ์‹œ์ ์˜ ์€๋‹‰์ธต ๊ฐ’์— ํ˜„์‹œ์ ์— ์ •๋ณด์— ๋Œ€ํ•œ ๊ฐ€์ค‘์น˜๋ฅผ ๊ณฑํ•œ ๊ฒƒ $$r_t = ฯƒ(W_r * [h_{t-1},x_t])$$
    • ์—…๋ฐ์ดํŠธ ๊ฒŒ์ดํŠธ
      • ๊ณผ๊ฑฐ์™€ ํ˜„์žฌ ์ •๋ณด์˜ ์ตœ์‹ ํ™” ๋น„์œจ์„ ๊ฒฐ์ •ํ•˜๋Š” ์—ญํ• 
      • ์‹œ๊ทธ๋ชจ์ด๋“œ๋กœ ์ถœ๋ ฅ๋œ ๊ฒฐ๊ณผ($z_t$)๋Š” ํ˜„์‹œ์ ์˜ ์ •๋ณด๋Ÿ‰์„ ๊ฒฐ์ •ํ•˜๊ณ  1์—์„œ ๋บ€ ๊ฐ’($1-z_t$)์„ ์ง์ „ ์‹œ์ ์˜ ์€๋‹‰์ธต ์ •๋ณด์™€ ๊ณฑํ•จ $$z_t = ฯƒ(W_z * [h_{t-1},x_t])$$
    • ํ›„๋ณด๊ตฐ
      • ํ˜„์‹œ์ ์˜ ์ •๋ณด์— ๋Œ€ํ•œ ํ›„๋ณด๊ตฐ์„ ๊ณ„์‚ฐ
      • ๊ณผ๊ฑฐ ์€๋‹‰์ธต์˜ ์ •๋ณด๋ฅผ ๊ทธ๋Œ€๋กœ ์ด์šฉํ•˜์ง€ ์•Š๊ณ  ๋ง๊ฐ ๊ฒŒ์ดํŠธ์˜ ๊ฒฐ๊ณผ๋ฅผ ์ด์šฉํ•˜์—ฌ ํ›„๋ณด๊ตฐ์„ ๊ณ„์‚ฐ $$\tilde{h}t = tanh(W * [r_t * h{t-1}, x_t])$$
    • ์€๋‹‰์ธต ๊ณ„์‚ฐ
      • ๋งˆ์ง€๋ง‰์œผ๋กœ ์—…๋ฐ์ดํŠธ ๊ฒŒ์ดํŠธ ๊ฒฐ๊ณผ์™€ ํ›„๋ณด๊ตฐ ๊ฒฐ๊ณผ๋ฅผ ๊ฒฐํ•ฉํ•˜์—ฌ ํ˜„์‹œ์ ์˜ ์€๋‹‰์ธต์„ ๊ณ„์‚ฐ
      • ์‹œ๊ทธ๋ชจ์ด๋“œ ํ•จ์ˆ˜์˜ ๊ฒฐ๊ณผ๋Š” ํ˜„์‹œ์ ์—์„œ ๊ฒฐ๊ณผ์— ๋Œ€ํ•œ ์ •๋ณด๋Ÿ‰์„ ๊ฒฐ์ •, 1-์‹œ๊ทธ๋ชจ์ด๋“œ ํ•จ์ˆ˜์˜ ๊ฒฐ๊ณผ๋Š” ๊ณผ๊ฑฐ์˜ ์ •๋ณด๋Ÿ‰์„ ๊ฒฐ์ •ํ•จ $$h_t = (1 - z_t) * h_{t-1} + z_t * \tilde{h}_t$$
  • ์–‘๋ฐฉํ–ฅ RNN / ์–‘๋ฐฉํ–ฅ LSTM
    • ํ•˜๋‚˜์˜ ์ถœ๋ ฅ ๊ฐ’์„ ์˜ˆ์ธกํ•˜๋Š” ๋ฐ ๋ฉ”๋ชจ๋ฆฌ ์…€ ๋‘ ๊ฐœ๋ฅผ ์‚ฌ์šฉ
    • ์ฒซ ๋ฒˆ์งธ ๋ฉ”๋ชจ๋ฆฌ ์…€์€ ์ด์ „ ์‹œ์ ์˜ ์€๋‹‰ ์ƒํƒœ(forward state)๋ฅผ ์ „๋‹ฌ๋ฐ›์•„ ํ˜„์žฌ์˜ ์€๋‹‰ ์ƒํƒœ๋ฅผ ๊ณ„์‚ฐ
    • ๋‘ ๋ฒˆ์งธ ๋ฉ”๋ชจ๋ฆฌ ์…€์€ ๋‹ค์Œ ์‹œ์ ์˜ ์€๋‹‰ ์ƒํƒœ(backward state)๋ฅผ ์ „๋‹ฌ๋ฐ›์•„ ํ˜„์žฌ์˜ ์€๋‹‰ ์ƒํƒœ๋ฅผ ๊ณ„์‚ฐ
    • ๊ฐ’ ๋‘ ๊ฐœ๋ฅผ ๋ชจ๋‘ ์ถœ๋ ฅ์ธต์—์„œ ์ถœ๋ ฅ ๊ฐ’์„ ์˜ˆ์ธกํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ

23.09.25


  • torch31 ~ torch34

  • ์„ฑ๋Šฅ ์ตœ์ ํ™”

    • ์กฐ๊ธฐ ์ข…๋ฃŒ๋ฅผ ์ด์šฉํ•œ ์„ฑ๋Šฅ ์ตœ์ ํ™”
      • ์กฐ๊ธฐ ์ข…๋ฃŒ(early stopping)๋Š” ๋‰ด๋Ÿด ๋„คํŠธ์›Œํฌ๊ฐ€ ๊ณผ์ ํ•ฉ์„ ํšŒํ”ผํ•˜๋Š” ๊ทœ์ œ ๊ธฐ๋ฒ•
      • ํ›ˆ๋ จ ๋ฐ์ดํ„ฐ์™€ ๋ณ„๋„๋กœ ๊ฒ€์ฆ ๋ฐ์ดํ„ฐ๋ฅผ ์ค€๋น„, ๋งค ์—ํฌํฌ๋งˆ๋‹ค ๊ฒ€์ฆ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ์˜ค์ฐจ(validation loss)๋ฅผ ์ธก์ •ํ•˜์—ฌ ๋ชจ๋ธ์˜ ์ข…๋ฃŒ ์‹œ์  ์ œ์–ด
      • ๊ณผ์ ํ•ฉ์ด ๋ฐœ์ƒํ•˜๊ธฐ ์ „๊นŒ์ง€ ํ•™์Šต์— ๋Œ€ํ•œ ์˜ค์ฐจ(training loss)์™€ ๊ฒ€์ฆ์— ๋Œ€ํ•œ ์˜ค์ฐจ ๋ชจ๋‘ ๊ฐ์†Œํ•˜์ง€๋งŒ, ๊ณผ์ ํ•ฉ์ด ๋ฐœ์ƒํ•˜๋ฉด ํ›ˆ๋ จ ๋ฐ์ดํ„ฐ์…‹์— ๋Œ€ํ•œ ์˜ค์ฐจ๋Š” ๊ฐ์†Œํ•˜๋Š” ๋ฐ˜๋ฉด ๊ฒ€์ฆ ๋ฐ์ดํ„ฐ์…‹์— ๋Œ€ํ•œ ์˜ค์ฐจ๋Š” ์ฆ๊ฐ€, ๋”ฐ๋ผ์„œ ์กฐ๊ธฐ ์ข…๋ฃŒ๋Š” ๊ฒ€์ฆ ๋ฐ์ดํ„ฐ์…‹์— ๋Œ€ํ•œ ์˜ค์ฐจ๊ฐ€ ์ฆ๊ฐ€ํ•˜๋Š” ์‹œ์ ์—์„œ ํ•™์Šต์„ ์ข…๋ฃŒํ•˜๋„๋ก ์กฐ์ •
  • ์ž์—ฐ์–ด ์ฒ˜๋ฆฌ

    • ์šฐ๋ฆฌ๊ฐ€ ์ผ์ƒ์ƒํ™œ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์–ธ์–ด ์˜๋ฏธ๋ฅผ ๋ถ„์„ํ•˜์—ฌ ์ปดํ“จํ„ฐ๊ฐ€ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๊ณผ์ •

    • ์ธ๊ฐ„ ์–ธ์–ด์— ๋Œ€ํ•œ ์ดํ•ด๋„ ํ•„์š”ํ•˜๋ฉฐ, ์–ธ์–ด ์ข…๋ฅ˜๊ฐ€ ๋‹ค๋ฅด๊ณ  ๊ทธ ํ˜•ํƒœ๊ฐ€ ๋‹ค์–‘ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ฒ˜๋ฆฌ๊ฐ€ ๋งค์šฐ ์–ด๋ ต๋‹ค.

      • ์˜์–ด๋Š” ๋ช…ํ™•ํ•œ ๋„์–ด์“ฐ๊ธฐ๊ฐ€ ์žˆ์ง€๋งŒ, ์ค‘๊ตญ์–ด๋Š” ๋„์–ด์“ฐ๊ธฐ๊ฐ€ ์—†๊ธฐ์— ๋‹จ์–ด ๋‹จ์œ„์˜ ์ž„๋ฒ ๋”ฉ์ด ์–ด๋ ค์›€
    • ์ž์—ฐ์–ด ์ฒ˜๋ฆฌ ์šฉ์–ด

      • ๋ง๋ญ‰์น˜ (corpus(์ฝ”ํผ์Šค))
        • ์ž์—ฐ์–ด ์ฒ˜๋ฆฌ์—์„œ ๋ชจ๋ธ์„ ํ•™์Šต์‹œํ‚ค๊ธฐ ์œ„ํ•œ ๋ฐ์ดํ„ฐ
        • ์ž์—ฐ์–ด ์—ฐ๊ตฌ๋ฅผ ์œ„ํ•ด ํŠน์ •ํ•œ ๋ชฉ์ ์—์„œ ํ‘œ๋ณธ์„ ์ถ”์ถœํ•œ ์ง‘ํ•ฉ
      • ํ† ํฐ (token)
        • ์ž์—ฐ์–ด ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•œ ๋ฌธ์„œ๋Š” ์ž‘์€ ๋‹จ์œ„๋กœ ๋‚˜๋ˆ„์–ด์•ผ ํ•˜๋Š”๋ฐ, ์ด๋•Œ ๋ฌธ์„œ๋ฅผ ๋‚˜๋ˆ„๋Š” ๋‹จ์œ„๊ฐ€ ํ† ํฐ
        • ๋ฌธ์ž์—ด์„ ํ† ํฐ์œผ๋กœ ๋‚˜๋ˆ„๋Š” ์ž‘์—…์„ ํ† ํฐ ์ƒ์„ฑ(tokenizing)์ด๋ผ๊ณ  ํ•˜๋ฉฐ, ๋ฌธ์ž์—ด์„ ํ† ํฐ์œผ๋กœ ๋ถ„๋ฆฌํ•˜๋Š” ํ•จ์ˆ˜๋ฅผ ํ† ํฐ ์ƒ์„ฑ ํ•จ์ˆ˜๋ผ๊ณ  ํ•จ
      • ํ† ํฐํ™” (tokenization)
        • ํ…์ŠคํŠธ๋ฅผ ๋ฌธ์žฅ์ด๋‚˜ ๋‹จ์–ด๋กœ ๋ถ„๋ฆฌํ•˜๋Š” ๊ฒƒ
        • ํ† ํฐํ™” ๋‹จ๊ณ„๋ฅผ ๋งˆ์น˜๋ฉด ํ…์ŠคํŠธ๊ฐ€ ๋‹จ์–ด ๋‹จ์œ„๋กœ ๋ถ„๋ฆฌ๋จ
      • ๋ถˆ์šฉ์–ด (stop words)
        • ๋ฌธ์žฅ ๋‚ด์—์„œ ๋งŽ์ด ๋“ฑ์žฅํ•˜๋Š” ๋‹จ์–ด
        • ๋ถ„์„๊ณผ ๊ด€๊ณ„์—†์œผ๋ฉฐ, ์ž์ฃผ ๋“ฑ์žฅํ•˜๋Š” ๋นˆ๋„ ๋•Œ๋ฌธ์— ์„ฑ๋Šฅ์— ์˜ํ–ฅ์„ ๋ฏธ์น˜๋ฏ€๋กœ ์‚ฌ์ „์— ์ œ๊ฑฐ
          • ๋ถˆ์šฉ์–ด ์˜ˆ๋กœ a, the, she, he ๋“ฑ์ด ์žˆ์Œ
      • ์–ด๊ฐ„ ์ถ”์ถœ (stemming)
        • ๋‹จ์–ด๋ฅผ ๊ธฐ๋ณธ ํ˜•ํƒœ๋กœ ๋งŒ๋“œ๋Š” ์ž‘์—…
          • ์˜ˆ๋ฅผ ๋“ค์–ด consign, consigned, consigning, consignment๊ฐ€ ์žˆ์„ ๊ฒฝ์šฐ ๊ธฐ๋ณธ ๋‹จ์–ด์ธ consign์œผ๋กœ ํ†ต์ผํ•˜๋Š” ๊ฒƒ
      • ํ’ˆ์‚ฌ ํƒœ๊น… (part-of-speech tagging)
        • ์ฃผ์–ด์ง„ ๋ฌธ์žฅ์—์„œ ํ’ˆ์‚ฌ๋ฅผ ์‹๋ณ„ํ•˜๊ธฐ ์œ„ํ•ด์„œ ๋ถ™์—ฌ ์ฃผ๋Š” ํƒœ๊ทธ(์‹๋ณ„ ์ •๋ณด)๋ฅผ ์˜๋ฏธ
    • ์ž์—ฐ์–ด ์ฒ˜๋ฆฌ ๊ณผ์ •

      • ์ธ๊ฐ„ ์–ธ์–ด์ธ ์ž์—ฐ์–ด๊ฐ€ ์ž…๋ ฅ ํ…์ŠคํŠธ๋กœ ๋“ค์–ด์˜ด
        • ์ธ๊ฐ„ ์–ธ์–ด๊ฐ€ ๋‹ค์–‘ํ•˜๋“ฏ ์ฒ˜๋ฆฌ ๋ฐฉ์‹์ด ์กฐ๊ธˆ์”ฉ ๋‹ค๋ฅด๋ฉฐ, ํ˜„์žฌ๋Š” ์˜์–ด์— ๋Œ€ํ•œ ์ฒ˜๋ฆฌ ๋ฐฉ๋ฒ•๋“ค์ด ์ž˜ ์•Œ๋ ค์ง
      • ์ž…๋ ฅ๋œ ํ…์ŠคํŠธ์— ๋Œ€ํ•œ ์ „์ฒ˜๋ฆฌ ๊ณผ์ •
      • ์ „์ฒ˜๋ฆฌ๊ฐ€ ๋๋‚œ ๋‹จ์–ด๋“ค์„ ์ž„๋ฒ ๋”ฉ
        • ๋‹จ์–ด๋ฅผ ๋ฒกํ„ฐ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ฒƒ
      • ์ปดํ“จํ„ฐ๊ฐ€ ์ดํ•ด ๊ฐ€๋Šฅํ•œ ๋ฐ์ดํ„ฐ๊ฐ€ ์™„์„ฑ๋˜์—ˆ๊ธฐ์— ๋ชจ๋ธ/๋ชจํ˜•(ex)๊ฒฐ์ •ํŠธ๋ฆฌ)์„ ์ด์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ๋ถ„๋ฅ˜ ๋ฐ ์˜ˆ์ธก ์ˆ˜ํ–‰
        • ๋ฐ์ดํ„ฐ ์œ ํ˜•์— ๋”ฐ๋ผ ๋ถ„๋ฅ˜์™€ ์˜ˆ์ธก์— ๋Œ€ํ•œ ๊ฒฐ๊ณผ๊ฐ€ ๋‹ฌ๋ผ์ง

23.09.26


  • torch34 ~ torch37

23.09.27


  • torch37 ~ torch39

  • seq2seq (sequence to sequence)

    • ์ž…๋ ฅ ์‹œํ€€์Šค(input sequence)์— ๋Œ€ํ•œ ์ถœ๋ ฅ ์‹œํ€€์Šค(output sequence)๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•œ ๋ชจ๋ธ
    • ํ’ˆ์‚ฌ ํŒ๋ณ„๊ณผ ๊ฐ™์€ ์‹œํ€€์Šค ๋ ˆ์ด๋ธ”๋ง๊ณผ์˜ ์ฐจ์ด
      • ์‹œํ€€์Šค ๋ ˆ์ด๋ธ”๋ง์ด๋ž€ ์ž…๋ ฅ ๋‹จ์–ด๊ฐ€ $x_1, x_2 ..., x_n$์ด๋ผ๋ฉด ์ถœ๋ ฅ์€$y_1, y_2 ..., y_n$์ด ๋„๋Š” ํ˜•ํƒœ. ์ฆ‰, ์ž…๋ ฅ๊ณผ ์ถœ๋ ฅ์— ๋Œ€ํ•œ ๋ฌธ์ž์—ด(sequence)๊ฐ€ ๊ฐ™์Œ
      • seq2seq๋Š” ํŒ๋ณ„๋ณด๋‹ค ๋ฒˆ์—ญ์— ์ดˆ์ ์„ ๋‘” ๋ชจ๋ธ, ๋ฒˆ์—ญ์€ ์ž…๋ ฅ ์‹œํ€€์Šค์˜ $x_{1:n}$๊ณผ ์˜๋ฏธ๊ฐ€ ๋™์ผํ•œ ์ถœ๋ ฅ ์‹œํ€€์Šค $y_{1:m}$์„ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด๋ฉฐ, $x_i, y_i$๊ฐ„์˜ ๊ด€๊ณ„๋Š” ์ค‘์š”์น˜ ์•Š์Œ
    • ์ธ์ฝ”๋”์™€ ๋””์ฝ”๋” ๋„คํŠธ์›Œํฌ ์‚ฌ์šฉ
    • ์ž…๋ ฅ ๋ฌธ์žฅ์ด ๊ธด ์‹œํ€€์Šค์ผ ๊ฒฝ์šฐ ์ •ํ™•ํ•œ ์ฒ˜๋ฆฌ ์–ด๋ ค์›€ (์ธ์ฝ”๋”์—์„œ ์‚ฌ์šฉํ•˜๋Š” RNN(LSTM, GRU)์˜ ๋งˆ์ง€๋ง‰ ์€๋‹‰ ์ƒํƒœ๋งŒ ๋””์ฝ”๋”๋กœ ์ „๋‹ฌ๋˜๊ธฐ ๋•Œ๋ฌธ)
  • ์–ดํ…์…˜ ๋ฉ”์ปค๋‹ˆ์ฆ˜ (attention mechanism)

    • ์ž…๋ ฅ ๋ฌธ์žฅ์˜ ๋ชจ๋“  ๋‹จ์–ด๋ฅผ ๋™์ผํ•œ ๊ฐ€์ค‘์น˜๋กœ ์ทจ๊ธ‰ํ•˜์ง€ ์•Š๊ณ , ์ถœ๋ ฅ ๋ฌธ์žฅ์—์„œ ํŠน์ •์œ„์น˜์— ๋Œ€์‘ํ•˜๋Š” ์ž…๋ ฅ ๋‹จ์–ด๋“ค์— ๋” ๋งŽ์€ ๊ฐ€์ค‘์น˜๋ฅผ ๋ถ€์—ฌํ•˜์—ฌ ์ž…๋ ฅ๊ณผ ์ถœ๋ ฅ์˜ ๊ธธ์ด๊ฐ€ ๋‹ค๋ฅธ ๋ชจ๋ธ์ด ๋”์šฑ ์ •ํ™•ํ•˜๊ณ  ์œ ์—ฐํ•˜๊ฒŒ ์ž‘๋™ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•จ
    • ๋“ฑ์žฅ ์ด์œ 
      • ํ•˜๋‚˜์˜ ๊ณ ์ •๋œ ํฌ๊ธฐ์˜ ๋ฒกํ„ฐ์— ๋ชจ๋“  ์ •๋ณด๋ฅผ ๋‹ด๋‹ค ๋ณด๋‹ˆ ์ •๋ณด์˜ ์†์‹ค ๋ฐœ์ƒ
      • RNN์—์„œ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ์šธ๊ธฐ ์†Œ๋ฉธ(vanishing gradient) ๋ฌธ์ œ ๋ฐœ์ƒ
  • ๋ฒ„ํŠธ (BERT)

    • ๊ธฐ์กด์˜ ๋‹จ๋ฐฉํ–ฅ ์ž์—ฐ์–ด ์ฒ˜๋ฆฌ ๋ชจ๋ธ๋“ค์˜ ๋‹จ์ ์„ ๋ณด์™„ํ•œ ์–‘๋ฐฉํ–ฅ ์ž์—ฐ์–ด ์ฒ˜๋ฆฌ ๋ชจ๋ธ
    • ๊ฒ€์ƒ‰ ๋ฌธ์žฅ์˜ ๋‹จ์–ด๋ฅผ ์ž…๋ ฅ๋œ ์ˆœ์„œ๋Œ€๋กœ ํ•˜๋‚˜์”ฉ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ ํŠธ๋žœ์Šคํฌ๋จธ๋ฅผ ์ด์šฉํ•˜์—ฌ ๊ตฌํ˜„
  • ํ•œ๊ตญ์–ด ์ž„๋ฒ ๋”ฉ

    • ์˜์–ด ์ž„๋ฒ ๋”ฉ๊ณผ ๋‹ค๋ฅด์ง€ ์•Š์Œ. ์ฆ‰, ์ž์—ฐ์–ด ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•œ ์ž„๋ฒ ๋”ฉ ๋ฐฉ๋ฒ•์„ ์•Œ๊ณ ์žˆ๋‹ค๋ฉด ์–ธ์–ด์™€ ์ƒ๊ด€์—†์ด ๋‹จ์–ด/๋ฌธ์žฅ์— ๋Œ€ํ•œ ์ž„๋ฒ ๋”ฉ์„ ์ง„ํ–‰ํ•˜๋ฉฐ, ๋ชจ๋ธ์„ ์ƒ์„ฑํ•˜๊ณ  ํ›ˆ๋ จ์‹œํ‚จ ํ›„ ์˜ˆ์ธก ๋ฐ ๋ถ„๋ฅ˜ ์ˆ˜ํ–‰ ๊ฐ€๋Šฅ
    • ๋Œ€ํ‘œ์ ์ธ ํ•œ๊ตญ์–ด ์ž„๋ฒ ๋”ฉ ๋ชจ๋ธ
      • ๋‹ค๊ตญ์–ด ๋ฒ„ํŠธ ๋ชจ๋ธ
      • KoBert

23.10.04


  • torch40 ~ torch42 | numpy01 ~ numpy10

  • ํด๋Ÿฌ์Šคํ„ฐ๋ง (clustering)

    • ์–ด๋–ค ๋ฐ์ดํ„ฐ๋“ค์ด ์ฃผ์–ด์กŒ์„ ๋•Œ ํŠน์„ฑ์ด ๋น„์Šทํ•œ ๋ฐ์ดํ„ฐ๋ผ๋ฆฌ ๋ฌถ์–ด ์ฃผ๋Š” ๋จธ์‹  ๋Ÿฌ๋‹ ๊ธฐ๋ฒ•
    • ๋จธ์‹  ๋Ÿฌ๋‹ ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ๋”ฅ๋Ÿฌ๋‹์„ ์ ์šฉํ•œ๋‹ค๋ฉด ์„ฑ๋Šฅ์ด ๋” ํ–ฅ์ƒ๋  ์ˆ˜ ์žˆ์Œ
  • ํด๋Ÿฌ์Šคํ„ฐ๋ง ์•Œ๊ณ ๋ฆฌ์ฆ˜

    • K-ํ‰๊ท  ๊ตฐ์ง‘ํ™”
      • ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์›๋ฆฌ
        • ํด๋Ÿฌ์Šคํ„ฐ ์ค‘์‹ฌ์ธ ์ค‘์‹ฌ์ ์„ ๊ตฌํ•˜๊ธฐ ์œ„ํ•ด ์ž„์˜์˜ ์  K๋ฅผ ์„ ํƒ
        • ๊ฐ ์ค‘์‹ฌ์— ๋Œ€ํ•œ ๊ฑฐ๋ฆฌ๋ฅผ ๊ณ„์‚ฐ, ๊ฐ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ํด๋Ÿฌ์Šคํ„ฐ์— ํ• ๋‹น
        • ํ• ๋‹น๋œ ๋ฐ์ดํ„ฐ ํ‰๊ท ์„ ๊ณ„์‚ฐ, ์ƒˆ๋กœ์šด ํด๋Ÿฌ์Šคํ„ฐ ์ค‘์‹ฌ์„ ๊ฒฐ์ •
        • ํด๋Ÿฌ์Šคํ„ฐ ํ• ๋‹น์ด ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์„ ๋•Œ๊นŒ์ง€ ์œ„์˜ ๊ณผ์ •์„ ๋ฐ˜๋ณต
      • ํด๋Ÿฌ์Šคํ„ฐ ๊ฐœ์ˆ˜๋ฅผ ์ข€ ๋” ํŽธ๋ฆฌํ•˜๊ฒŒ ๊ฒฐ์ •ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์€ ํด๋Ÿฌ์Šคํ„ฐ ๊ฐœ์ˆ˜์™€ WCSS ๊ฐ„ ๊ด€๊ณ„๋ฅผ ๊ทธ๋ž˜ํ”„๋กœ ํ‘œํ˜„ํ•œ ํ›„, WCSS ๋ณ€๊ฒฝ์ด ํ‰ํ‰ํ•˜๊ฒŒ ํ•˜๋ฝํ•˜๋Š” ๊ตฌ๊ฐ„์„ ์„ ํƒํ•˜๋Š” ๊ฒƒ
    • ๊ฐ€์šฐ์‹œ์•ˆ ํ˜ผํ•ฉ ๋ชจ๋ธ (Gaussian Mixture Model, GMM)
      • ์ด๋ฆ„ ๊ทธ๋Œ€๋กœ ๊ฐ€์šฐ์‹œ์•ˆ ๋ถ„ํฌ(gaussian distribution)๊ฐ€ ์—ฌ๋Ÿฌ ๊ฐœ ํ˜ผํ•ฉ๋œ ํด๋Ÿฌ์Šคํ„ฐ๋ง ์•Œ๊ณ ๋ฆฌ์ฆ˜
      • ํ˜„์‹ค์— ์žˆ๋Š” ๋ณต์žกํ•œ ํ˜•ํƒœ์˜ ํ™•๋ฅ  ๋ถ„ํฌ๋ฅผ ๊ฐ€์šฐ์‹œ์•ˆ ๋ถ„ํฌ K๊ฐœ๋ฅผ ํ˜ผํ•ฉํ•˜์—ฌ ํ‘œํ˜„ํ•˜์ž๋Š” ๊ฒƒ์ด ๊ฐ€์šฐ์‹œ์•ˆ ํ˜ผํ•ฉ ๋ถ„ํฌ(gaussian mixture distribution)์ž„
      • K๋Š” ํ•˜์ดํผํŒŒ๋ผ๋ฏธํ„ฐ
    • ์ž๊ธฐ ์กฐ์งํ™” ์ง€๋„ (Self-Organizing Map, SOM)
      • ์‹ ๊ฒฝ ์ƒ๋ฆฌํ•™์  ์‹œ์Šคํ…œ์„ ๋ชจ๋ธ๋งํ•œ ๊ฒƒ์œผ๋กœ ์ž…๋ ฅ ํŒจํ„ด์— ๋Œ€ํ•ด ์ •ํ™•ํ•œ ์ •๋‹ต์„ ์ฃผ์ง€ ์•Š๊ณ  ์Šค์Šค๋กœ ํ•™์Šต์„ ํ•˜์—ฌ ํด๋Ÿฌ์Šคํ„ฐ๋งํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜
      • ์ž๊ธฐ ์กฐ์งํ™” ์ง€๋„์˜ ํ•™์Šต ๋‹จ๊ณ„
        • ์ดˆ๊ธฐํ™” (initialization)
          • ๋ชจ๋“  ์—ฐ๊ฒฐ ๊ฐ€์ค‘์น˜๋Š” ์ž‘์€ ์ž„์˜์˜ ๊ฐ’์œผ๋กœ ์ดˆ๊ธฐํ™”
        • ๊ฒฝ์Ÿ (competition)
          • ๊ฒฝ์Ÿ ํ•™์Šต์„ ์ด์šฉํ•˜์—ฌ ์ž…๋ ฅ์ธต๊ณผ ๊ฒฝ์Ÿ์ธต์„ ์—ฐ๊ฒฐ
          • ์—ฐ๊ฒฐ ๊ฐ•๋„ ๋ฒกํ„ฐ๊ฐ€ ์ž…๋ ฅ ๋ฒกํ„ฐ์™€ ์–ผ๋งˆ๋‚˜ ๊ฐ€๊นŒ์šด์ง€ ๊ณ„์‚ฐํ•˜์—ฌ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ๋‰ด๋Ÿฐ์ด ์Šน๋ฆฌํ•˜๋Š” ์Šน์ž ๋…์ (winner take all)๋ฐฉ์‹์„ ์‚ฌ์šฉ
          • ์—ฐ๊ฒฐ ๊ฐ•๋„ ๋ฒกํ„ฐ์™€ ์ž…๋ ฅ ๋ฒกํ„ฐ๊ฐ€ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ๋‰ด๋Ÿฐ์œผ๋กœ ๊ณ„์‚ฐ๋˜๋ฉด ๊ทธ ๋‰ด๋Ÿฐ์˜ ์ด์›ƒ ๋‰ด๋Ÿฐ๋“ค๋„ ํ•™์Šต์„ ํ•˜๊ฒŒ๋˜๋Š”๋ฐ, ์ด๋•Œ ๋ชจ๋“  ๋‰ด๋Ÿฐ์ด ๋‚˜๋‹Œ ์ œํ•œ๋œ ์ด์›ƒ ๋‰ด๋ จ๋“ค๋งŒ ํ•™์Šต
        • ํ˜‘๋ ฅ (cooperation)
          • ์Šน์ž ๋‰ด๋Ÿฐ์€ ๋„คํŠธ์›Œํฌ์—์„œ ๊ฐ€์žฅ ์ข‹์€ ๊ณต๊ฐ„ ์œ„์น˜๋ฅผ ์ฐจ์ง€ํ•˜๊ฒŒ ๋˜๋ฉฐ, ํ•จ๊ป˜ ํ•™์Šตํ•  ์ด์›ƒ ํฌ๊ธฐ๋ฅผ ์ •์˜
        • ์ ์‘ (adaptation)
          • ์Šน๋ฆฌํ•œ ๋‰ด๋Ÿฐ์˜ ๊ฐ€์ค‘์น˜์™€ ์ด์›ƒ ๋‰ด๋Ÿฐ์„ ์—…๋ฐ์ดํŠธ
        • ์ตœ์ข…์ ์œผ๋กœ ์›ํ•˜๋Š” ํšŸ์ˆ˜๋งŒํผ ๊ฒฝ์Ÿ๊ณผ ํ˜‘๋ ฅ์„ ๋ฐ˜๋ณต
  • WCSS (Within Cluster Sum of Squares)

    • ์˜ฌ๋ฐ”๋ฅธ ํด๋Ÿฌ์Šคํ„ฐ ๊ฐœ์ˆ˜๋ฅผ ์•Œ์•„๋‚ด๋Š” ์ด์ƒ์ ์ธ ๋ฐฉ๋ฒ•์€ WCSS๋ฅผ ๊ณ„์‚ฐํ•˜๋Š” ๊ฒƒ
    • WCSS๋Š” ๋ชจ๋“  ํด๋Ÿฌ์Šคํ„ฐ์— ๊ฐ ๋ฐ์ดํ„ฐ๊ฐ€ ์ค‘์‹ฌ๊นŒ์ง€์˜ ๊ฑฐ๋ฆฌ๋ฅผ ์ œ๊ณฑํ•˜์—ฌ ํ•ฉ์„ ๊ณ„์‚ฐํ•˜๋Š” ๊ฒƒ

23.10.05


  • torch43 ~ torch44 | pandas01 ~ pandas08

  • ๊ฐ•ํ™” ํ•™์Šต (reinforcement learning)

    • ๋จธ์‹  ๋Ÿฌ๋‹/๋”ฅ๋Ÿฌ๋‹์˜ ํ•œ ์ข…๋ฅ˜๋กœ, ์–ด๋–ค ํ™˜๊ฒฝ์—์„œ ์–ด๋–ค ํ–‰๋™์„ ํ–ˆ์„ ๋•Œ ๊ทธ๊ฒƒ์ด ์ž˜๋œ ํ–‰๋™์ธ์ง€ ์ž˜๋ชป๋œ ํ–‰๋™์ธ์ง€๋ฅผ ํŒ๋‹จํ•˜๊ณ  ๋ณด์ƒ(๋˜๋Š” ๋ฒŒ์น™)์„ ์ฃผ๋Š” ๊ณผ์ •์„ ๋ฐ˜๋ณตํ•ด์„œ ์Šค์Šค๋กœ ํ•™์Šตํ•˜๊ฒŒ ํ•˜๋Š” ๋ถ„์•ผ
    • ์–ด๋–ค ํ™˜๊ฒฝ์—์„œ ์–ด๋–ค ํ–‰๋™์„ ํ•˜๋Š”์ง€ ์•Œ๊ธฐ ์œ„ํ•ด ํ™˜๊ฒฝ(environment)๊ณผ ์—์ด์ „ํŠธ(agent)๋ผ๋Š” ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ์‚ฌ์šฉ
    • ํ™˜๊ฒฝ
      • ์—์ด์ „ํŠธ๊ฐ€ ๋‹ค์–‘ํ•œ ํ–‰๋™์„ ํ•ด ๋ณด๊ณ , ๊ทธ์— ๋”ฐ๋ฅธ ๊ฒฐ๊ณผ๋ฅผ ๊ด€์ธกํ•  ์ˆ˜ ์žˆ๋Š” ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ
    • ์—์ด์ „ํŠธ
      • ํ™˜๊ฒฝ์—์„œ ํ–‰๋™ํ•˜๋Š” ์ฃผ์ฒด๊ฐ€ ๋จ
    • ex) ๊ฒŒ์ž„์—์„œ๋Š” ๊ฒŒ์ž„๊ธฐ๊ฐ€ ํ™˜๊ฒฝ, ๊ฒŒ์ž„์„ ํ•˜๋Š” ์‚ฌ๋žŒ์ด ์—์ด์ „ํŠธ
  • ๋งˆ๋ฅด์ฝ”ํ”„ ํ”„๋กœ์„ธ์Šค (Markov Process, MP)

    • ์–ด๋–ค ์ƒํƒœ๊ฐ€ ์ผ์ •ํ•œ ๊ฐ„๊ฒฉ์œผ๋กœ ๋ณ€ํ•˜๊ณ , ๋‹ค์Œ ์ƒํƒœ๋Š” ํ˜„์žฌ ์ƒํƒœ์—๋งŒ ์˜์กดํ•˜๋Š” ํ™•๋ฅ ์  ์ƒํƒœ ๋ณ€ํ™”๋ฅผ ์˜๋ฏธ
    • ํ˜„์žฌ ์ƒํƒœ์— ๋Œ€ํ•ด์„œ๋งŒ ๋‹ค์Œ ์ƒํƒœ๊ฐ€ ๊ฒฐ์ • ๋˜๋ฉฐ, ํ˜„์žฌ ์ƒํƒœ๊นŒ์ง€์˜ ๊ณผ์ •์„ ์ „ํ˜€ ๊ณ ๋ คํ•  ํ•„์š”๊ฐ€ ์—†์Œ
    • ์œ„์™€ ๊ฐ™์ด ๋ณ€ํ™” ์ƒํƒœ๋“ค์ด ์ฒด์ธ์ฒ˜๋Ÿผ ์—ฎ์—ฌ ์žˆ๋‹ค๊ณ  ํ•˜์—ฌ ๋งˆ๋ฅด์ฝ”ํ”„ ์ฒด์ธ(Markov chain)์ด๋ผ๊ณ ๋„ ํ•จ
  • ๋งˆ๋ฅด์ฝ”ํ”„ ๋ณด์ƒ ํ”„๋กœ์„ธ์Šค (Markov Reward Process, MRP)

    • ๋งˆ๋ฅด์ฝ”ํ”„ ํ”„๋กœ์„ธ์Šค์—์„œ ๊ฐ ์ƒํƒœ๋งˆ๋‹ค ์ข‹๊ณ  ๋‚˜์จ(reward)์ด ์ถ”๊ฐ€๋œ ํ™•๋ฅ  ๋ชจ๋ธ
    • ์ƒํƒœ $a$์—์„œ $a'$๋กœ ์ด๋™ํ•˜์˜€์„ ๋•Œ ์ด๋™ ๊ฒฐ๊ณผ๊ฐ€ ์ข‹๊ณ  ๋‚˜์จ์— ๋Œ€ํ•ด ๋ณด์ƒ(ํ˜น์€ ๋ฒŒ์น™)์„ ์ฃผ๋Š” ๊ฒƒ
  • ๋งˆ๋ฅด์ฝ”ํ”„ ๊ฒฐ์ • ๊ณผ์ • (Markov Decision Process, MDP)

    • ๊ธฐ์กด ๋งˆ๋ฅด์ฝ”ํ”„ ๋ณด์ƒ ๊ณผ์ •์—์„œ ํ–‰๋™์ด ์ถ”๊ฐ€๋œ ํ™•๋ฅ  ๋ชจ๋ธ
    • ๋ชฉํ‘œ๋Š” ์ •์˜๋œ ๋ฌธ์ œ์— ๋Œ€ํ•ด ๊ฐ ์ƒํƒœ๋งˆ๋‹ค ์ „์ฒด์ ์ธ ๋ณด์ƒ์„ ์ตœ๋Œ€ํ™”ํ•˜๋Š” ํ–‰๋™์ด ๋ฌด์—‡์ธ์ง€ ๊ฒฐ์ •ํ•˜๋Š” ๊ฒƒ
    • MDP์—์„œ ๊ฐ€์น˜ ํ•จ์ˆ˜
      • ์ƒํƒœ-๊ฐ€์น˜ ํ•จ์ˆ˜ (state-value function)
        • ์—์ด์ „ํŠธ๊ฐ€ ๋†“์ธ ์ƒํƒœ ๊ฐ€์น˜๋ฅผ ํ•จ์ˆ˜๋กœ ํ‘œํ˜„ํ•œ ์ƒํƒœ
      • ํ–‰๋™-๊ฐ€์น˜ ํ•จ์ˆ˜ (action-value function)
        • ์—์ด์ „ํŠธ์˜ ํ–‰๋™์— ๋Œ€ํ•œ ๊ฐ€์น˜๋ฅผ ํ•จ์ˆ˜๋กœ ํ‘œํ˜„ํ•œ ์ƒํƒœ
  • ๋ฒจ๋งŒ ๋ฐฉ์ •์‹ (Bellman equation)

    • ์ƒํƒœ-๊ฐ€์น˜ ํ•จ์ˆ˜์™€ ํ–‰๋™-๊ฐ€์น˜ ํ•จ์ˆ˜์˜ ๊ด€๊ณ„๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฐฉ์ •์‹
  • ๋ฒจ๋งŒ ๊ธฐ๋Œ€ ๋ฐฉ์ •์‹ (Bellman expectation equation)

    • ๊ฐ€์น˜ ํ•จ์ˆ˜ $v_\pi(s)$๋Š” ๋‹จ์ˆœํžˆ ์–ด๋–ค ์ƒํ™ฉ์—์„œ ๋ฏธ๋ž˜์˜ ๋ณด์ƒ์„ ํฌํ•จํ•œ ๊ฐ€์น˜๋ฅผ ๋‚˜ํƒ€๋ƒ„
      ๋‹ค์Œ ์ƒํƒœ๋กœ ์ด๋™ํ•˜๋ ค๋ฉด ์–ด๋–ค ์ •์ฑ…(policy)์— ๋”ฐ๋ผ ํ–‰๋™ํ•ด์•ผ ํ•˜๋Š”๋ฐ, ์ด๋•Œ ์ •์ฑ…์„ ๊ณ ๋ คํ•œ ๋‹ค์Œ ์ƒํƒœ๋กœ์˜ ์ด๋™
  • ๋ฒจ๋งŒ ์ตœ์  ๋ฐฉ์ •์‹ (Bellman optimality equation)

    • ๊ฐ•ํ™” ํ•™์Šต์—์„œ ์ถ”๊ตฌํ•˜๊ณ ์ž ํ•˜๋Š” ๋ชฉํ‘œ๋Š” ์ตœ์ ์˜ ๊ฐ€์น˜ ํ•จ์ˆ˜ ๊ฐ’์„ ์ฐพ๋Š” ๊ฒƒ์ด ์•„๋‹Œ ์ตœ๋Œ€์˜ ๋ณด์ƒ์„ ์–ป๋Š” ์ •์ฑ…์„ ์ฐพ๋Š” ๊ฒƒ
      ์ฆ‰, ์ตœ๋Œ€์˜ ๋ณด์ƒ์„ ์–ป๊ธฐ ์œ„ํ•œ ์ •์ฑ…์„ ์ฐพ๊ธฐ ์œ„ํ•ด ๊ฐ€์น˜ ํ•จ์ˆ˜ ๊ฐ’์ด ๊ฐ€์žฅ ํฐ ๊ฐ’์„ ์ฐพ์Œ
      ๋˜ํ•œ, ๊ฐ•ํ™” ํ•™์Šต์—์„œ ์–ด๋–ค ๋ชฉํ‘œ๋ฅผ ์ด๋ฃจ์—ˆ์„ ๋•Œ ์ตœ์ (optimal)์˜ ์ƒํƒœ, ์ฆ‰ ์–ด๋–ค ๋ชฉ์ ์ด ๋‹ฌ์ •๋œ ์ƒํƒœ๋ผ๊ณ  ํ•จ
    • ์œ„์™€ ๊ฐ™์€ ์ตœ์ ํ™”๋œ ์ •์ฑ…์„ ๋”ฐ๋ฅด๋Š” ๋ฒจ๋งŒ ๋ฐฉ์ •์‹์„ ๋ฒจ๋งŒ ์ตœ์  ๋ฐฉ์ •์‹(Bellman optimality equation)์ด๋ผ ํ•จ
    • ์ตœ์ ์˜ ๊ฐ€์น˜ ํ•จ์ˆ˜
      • ์ตœ๋Œ€์˜ ๋ณด์ƒ์„ ๊ฐ–๋Š” ๊ฐ€์น˜ ํ•จ์ˆ˜
      • ์ƒํƒœ-๊ฐ€์น˜ ํ•จ์ˆ˜๋Š” ์–ด๋–ค ์ƒํƒœ๊ฐ€ ๋” ๋งŽ์€ ๋ณด์ƒ์„ ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š”์ง€ ์•Œ๋ ค ์ฃผ๋ฉฐ, ํ–‰๋™-๊ฐ€์น˜ ํ•จ์ˆ˜๋Š” ์–ด๋–ค ์ƒํƒœ์—์„œ ์–ด๋–ค ํ–‰๋™์„ ์ทจํ•ด์•ผ ๋” ๋งŽ์€ ๋ณด์ƒ์„ ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š”์ง€ ์•Œ๋ ค์คŒ
    • ์ตœ์ ์˜ ์ƒํƒœ-๊ฐ€์น˜ ํ•จ์ˆ˜
      • ์ตœ์ ์˜ ์ƒํƒœ-๊ฐ€์น˜ ํ•จ์ˆ˜$(v_*(s))$๋Š” ์ฃผ์–ด์ง„ ๋ชจ๋“  ์ •์ฑ…์— ๋Œ€ํ•œ ์ƒํƒœ-๊ฐ€์น˜ ํ•จ์ˆ˜์˜ ์ตœ๋Œ“๊ฐ’
    • ์ตœ์ ์˜ ํ–‰๋™-๊ฐ€์น˜ ํ•จ์ˆ˜
      • ์ตœ์ ์˜ ํ–‰๋™-๊ฐ€์น˜ ํ•จ์ˆ˜$(q_*(s,a))$๋Š” ์ฃผ์–ด์ง„ ๋ชจ๋“  ์ •์ฑ…์— ๋Œ€ํ•ด ํ–‰๋™-๊ฐ€์น˜ ํ•จ์ˆ˜์˜ ์ตœ๋Œ“๊ฐ’

23.10.10


  • torch45 ~ torch47

  • ์ƒ์„ฑ ๋ชจ๋ธ
    • ์˜คํ† ์ธ์ฝ”๋”
    • GAN

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published