[TIL] 22.11.21

๋ฌธ์ข…ํ˜„ยท2022๋…„ 11์›” 21์ผ
0

TIL

๋ชฉ๋ก ๋ณด๊ธฐ
42/119
post-custom-banner

๐Ÿฆ๐Ÿฆ

๐Ÿ‘‰ ์˜ค๋Š˜ ํ•œ ์ผ

  • K-MOOC(์‹ค์Šต์œผ๋กœ ๋ฐฐ์šฐ๋Š” ๋จธ์‹ ๋Ÿฌ๋‹) ์ˆ˜๊ฐ•

์‹ค์Šต์œผ๋กœ ๋ฐฐ์šฐ๋Š” ๋จธ์‹ ๋Ÿฌ๋‹

์ธ๊ณต์ง€๋Šฅ๊ณผ ๋จธ์‹ ๋Ÿฌ๋‹ ๊ฐœ์š”

๊ณผ๊ฑฐ์˜ AI(Traditional AI) : Knowledge Engineering

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

์ตœ๊ทผ์˜ AI(State of the Art) : ๋จธ์‹ ๋Ÿฌ๋‹, ๋”ฅ๋Ÿฌ๋‹ ๋“ฑ

  • ๋ฐ์ดํ„ฐ๋ฅผ ์ž…๋ ฅ, function์˜ ๊ธฐ๋ณธ ํ˜•ํƒœ๋ฅผ ์ปดํ“จํ„ฐ์— ์•Œ๋ ค์คŒ. ๊ทธ๋Ÿฌ๋ฉด ํŠธ๋ ˆ์ด๋‹ ๊ณผ์ •์„ ํ†ตํ•ด์„œ ์ตœ์ข…์ ์ธ optimal function์„ ์ปดํ“จํ„ฐ ์Šค์Šค๋กœ ํ•™์Šต
  • ์ตœ๊ทผ ํŠธ๋ Œ๋“œ๋Š” ์ธ์ง€ ๋ฌธ์ œ ์ฆ‰, ํŒจํ„ด์„ ์ธ์ง€ํ•˜๋Š” ๋ฌธ์ œ
  • ์™„๋ฒฝํ•œ ๋จธ์‹ ๋Ÿฌ๋‹ ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์—†์Œ

๋จธ์‹ ๋Ÿฌ๋‹์ด ๊ฐ๊ด‘๋ฐ›๋Š” ์ด์œ 

  • ๋น…๋ฐ์ดํ„ฐ ์‹œ๋Œ€์ด๊ธฐ ๋•Œ๋ฌธ
  • ๋ถ„์‚ฐํ™”๋œ ์ปดํ“จํŒ… ์žฅ๋น„(CPU -> GPU)
    • GPU๋Š” graphicalํ•œ ํ”„๋กœ์„ธ์‹ฑ์„ ๋„์™€์คŒ
    • ๋ถ„์‚ฐํ•ด์„œ ๋น ๋ฅด๊ฒŒ ์‰ฌ์šด ๊ณ„์‚ฐ๋“ค์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒŒ ๊ต‰์žฅํžˆ ํฐ ์žฅ์ 
  • ์‹ค์ œ๋กœ ๋งŽ์€ ์‚ฐ์—…์—์„œ ๋จธ์‹ ๋Ÿฌ๋‹์„ ์ด์šฉํ•ด ๊ธฐ์กด์— ์—†์—ˆ๋˜ ๊ฐ€์น˜๋ฅผ ๋งŒ๋“ค์–ด๋ƒ„

๋จธ์‹ ๋Ÿฌ๋‹ ํ•™์Šต ๊ฐœ๋…

Linear Regression ์˜ˆ์ œ

  1. ๋Œ€๋žต์ ์ธ ๋ชจ๋ธ์˜ ๊ตฌ์กฐ๋ฅผ ์„ธ์›€
  2. ๋กœ์Šคํ•จ์ˆ˜(์†์‹คํ•จ์ˆ˜) ์ •์˜
  3. ์‹ค์ œ์™€ ๋ชจ๋ธ์—์„œ ๋‚˜์˜ค๋Š” ๊ฐ’์˜ ์ฐจ์ด๋ฅผ ์ตœ์†Œํ™”

๋จธ์‹ ๋Ÿฌ๋‹ ํ”„๋กœ์„ธ์Šค ๋ฐ ํ™œ์šฉ

์†์‹คํ•จ์ˆ˜๋ฅผ ์ตœ์†Œํ™”ํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ๋ฐฉ๋ฒ•๋ก 
1. ํœด๋ฆฌ์Šคํ‹ฑ(Heuristic) : ์ •ํ™•ํ•œ ์ˆ˜๋ฆฌ์ ์ธ ์ตœ์ ํ™” ๊ธฐ๋ฒ•์„ ์ ์šฉํ•˜์ง€ ์•Š๊ณ  ๋Œ€๋žต์ ์ธ ์ ‘๊ทผ์„ ํ†ตํ•ด์„œ ์†์‹คํ•จ์ˆ˜๊ฐ€ ์ตœ์†Œํ™”๊ฐ€ ๋˜๊ฒŒ๋” ์œ ๋„ํ•จ

  • K-Nearest Neighbor
  • Decision tree
  1. Numerical optimization : ์ˆ˜๋ฆฌ์ ์œผ๋กœ ๋ชจ๋ธ๊ณผ ๋กœ์Šคํ•จ์ˆ˜๋ฅผ ์ •์˜ํ•˜๊ณ , ์ตœ์ ํ™”ํ•˜๋Š” ์ ˆ์ฐจ๋“ค๋„ ์ •์˜๋จ
  • Linear regression
  • Logistic regression
  • Support vector machine
  • Neural network

๋ชจ๋ธ์˜ ๋ณต์žก๋„๊ฐ€ ์˜ฌ๋ผ๊ฐˆ์ˆ˜๋ก train error๋Š” ์ค„์ง€๋งŒ validation error๋Š” ๊ฐ์†Œํ•˜๋‹ค๊ฐ€ ์–ด๋Š ์‹œ์ ๋ถ€ํ„ฐ๋Š” ์ƒ์Šนํ•จ(overfitting)

  • ๋„ˆ๋ฌด ๋‹จ์ˆœํ•˜๋ฉด underfitting ๋ฐœ์ƒ

model validation
๋ฐฉ๋ฒ• 1. train ๋ฐ์ดํ„ฐ์…‹์œผ๋กœ๋งŒ ๊ฒ€์ฆ(bad)
๋ฐฉ๋ฒ• 2. train, test๋กœ ๋‚˜๋ˆ ์„œ ๊ฒ€์ฆ(ํŒŒ๋ผ๋ฏธํ„ฐ ํŠœ๋‹ ์ดํ›„)
๋ฐฉ๋ฒ• 3. train, validation, test๋กœ ๋‚˜๋ˆ ์„œ ๊ฒ€์ฆ(๊ฐ€์žฅ ๊ถŒ์žฅ)
๋ฐฉ๋ฒ• 4. cross-validation : ๋ฐ์ดํ„ฐ์…‹์„ test, train์œผ๋กœ ๋‚˜๋ˆˆ ๋’ค, train ์•ˆ์—์„œ ์„œ๋กœ ๋ฒˆ๊ฐˆ์•„๊ฐ€๋ฉด์„œ train๊ณผ validation ์ง„ํ–‰

๋จธ์‹ ๋Ÿฌ๋‹ ๋ถ„๋ฅ˜ ๋ชจ๋ธ๋ง

๋ชจ๋ธ์˜ ์˜ค์ฐจ : bias + variance

  • ๋ชจ๋ธ์˜ ๋ณต์žก๋„๊ฐ€ ๋‚ฎ์•„์งˆ์ˆ˜๋ก bias๋Š” ์ฆ๊ฐ€, variance๋Š” ๊ฐ์†Œ
  • ๋ชจ๋ธ์ด ๋ณต์žกํ•ด์งˆ์ˆ˜๋ก bias๋Š” ๊ฐ์†Œ, variance๋Š” ์ฆ๊ฐ€

KNN

KNN(K-Nearest Neighbors)

  • K๋Š” ์ž„์˜์˜ ์ƒ์ˆ˜

  • ๋‘ ๊ด€์ธก์น˜์˜ ๊ฑฐ๋ฆฌ๊ฐ€ ๊ฐ€๊นŒ์šฐ๋ฉด Label๋„ ๋น„์Šทํ•˜๋‹ค

  • test ๋ฐ์ดํ„ฐ์…‹์„ ๊ธฐ์ค€์œผ๋กœ train ๋ฐ์ดํ„ฐ์…‹์˜ K๊ฐœ ์ฃผ๋ณ€ ๊ด€์ธก์น˜์˜ class์— ๋Œ€ํ•œ majority voting

  • lazy learning algorithm์ด๋ผ๊ณ ๋„ ํ•จ

  • ๋ฒ”์ฃผํ˜• ๋ณ€์ˆ˜๋Š” ๋”๋ฏธ๋ณ€์ˆ˜๋กœ ์ฒ˜๋ฆฌํ•ด์„œ ๊ฑฐ๋ฆฌ ๊ณ„์‚ฐ

K๊ฐ€ KNN์˜ ํ•˜์ดํผํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ€ ๋จ

  • K๊ฐ€ ํด์ˆ˜๋ก underfitting ๊ฐ€๋Šฅ์„ฑ ๋†’์Œ, K๊ฐ€ ์ž‘์„์ˆ˜๋ก overfitting ๊ฐ€๋Šฅ์„ฑ ๋†’์Œ
  • validatin ๋ฐ์ดํ„ฐ์…‹์„ ํ™œ์šฉํ•ด ์ตœ์ ์˜ K ์ฐพ๊ธฐ

Logistic Regression

๋‹ค์ค‘์„ ํ˜•ํšŒ๊ท€ : ์„ค๋ช…๋ณ€์ˆ˜ X์™€ ์ข…์†๋ณ€์ˆ˜ y๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ์„ ํ˜•์œผ๋กœ ๊ฐ€์ •, ์ด๋ฅผ ๊ฐ€์žฅ ์ž˜ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ํšŒ๊ท€ ๊ณ„์ˆ˜ ์ถ”์ •

๋กœ์ง€์Šคํ‹ฑ ํšŒ๊ท€ : y๊ฐ€ ๋ฒ”์ฃผํ˜• ๋ณ€์ˆ˜์ž„. ์ผ๋ฐ˜ ํšŒ๊ท€๋ถ„์„๊ณผ๋Š” ๋‹ค๋ฅด๊ฒŒ ์ ‘๊ทผ

y๊ฐ€ ์ด์ง„ ๋ณ€์ˆ˜์ผ ๋•Œ, ํ™•๋ฅ ๊ฐ’์„ ์„ ํ˜•ํšŒ๊ท€๋ถ„์„์˜ ์ข…์†๋ณ€์ˆ˜๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ํƒ€๋‹นํ•œ๊ฐ€?

  • ์„ ํ˜•ํšŒ๊ท€์˜ ์šฐ๋ณ€์€ ๋ฒ”์œ„์— ์ œํ•œ์ด ์—†๊ธฐ ๋•Œ๋ฌธ์— ์šฐ๋ณ€๊ณผ ์ขŒ๋ณ€์˜ ๋ฒ”์œ„๊ฐ€ ๋‹ค๋ฅธ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒ
  • ๋ถ„๋ฅ˜ ํŒจํ„ด์˜ ๋ฌธ์ œ์—๋Š” ์„ ํ˜• ํ•จ์ˆ˜๊ฐ€ ์ ํ•ฉํ•˜์ง€ ์•Š์Œ
  • y์— ๋Œ€ํ•œ ๋กœ์ง“ํ•จ์ˆ˜(sigmoid function)๋ฅผ ํšŒ๊ท€์‹์˜ ์ข…์†๋ณ€์ˆ˜๋กœ ์‚ฌ์šฉ

๋กœ์ง€์Šคํ‹ฑ ํšŒ๊ท€์˜ ๋ชฉ์  : ์ด์ง„ํ˜•ํƒœ์˜ ์ข…์†๋ณ€์ˆ˜์— ๋Œ€ํ•ด ํšŒ๊ท€์‹ ํ˜•ํƒœ๋กœ ๋ชจ๋ธ์„ ์ถ”์ •ํ•˜๋Š” ๊ฒƒ

๐Ÿค”์™œ ํšŒ๊ท€์‹์ธ๊ฐ€?

  • ๋ณ€์ˆ˜์˜ ํ†ต๊ณ„์  ์œ ์˜์„ฑ ๋ถ„์„ ๋ฐ ์ข…์†๋ณ€์ˆ˜์— ๋ฏธ์น˜๋Š” ์˜ํ–ฅ๋ ฅ ๋“ฑ์„ ์•Œ์•„๋ณผ ์ˆ˜ ์žˆ์Œ

๋กœ์ง€์Šคํ‹ฑ ํšŒ๊ท€์— ๋Œ€ํ•œ ์†์‹คํ•จ์ˆ˜ : cross entropy

๊ฒฝ์‚ฌํ•˜๊ฐ•๋ฒ•

๊ทผ์‚ฌ์ ์œผ๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” 2์ฐจ๋‹คํ•ญ์‹ ์œ ๋„ -> ๊ทธ 2์ฐจํ•จ์ˆ˜์—์„œ ๊ธฐ์šธ๊ธฐ๊ฐ€ ์ตœ์†Œํ™”๋˜๋Š” ์ง€์  ์ฐพ๊ธฐ

๐Ÿ’กlearning rate

  • ๊ฒฝ์‚ฌ ํ•˜๊ฐ•๋ฒ• ์ตœ์ ํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•˜์—ฌ ํ›ˆ๋ จํ•˜๋Š”๋ฐ์„œ ๋‚˜์˜จ ํŒŒ๋ผ๋ฏธํ„ฐ

  • ๋ชจ๋ธ์˜ weight๊ฐ€ ์—…๋ฐ์ดํŠธ ๋  ๋•Œ๋งˆ๋‹ค ์˜ˆ์ƒ ์˜ค๋ฅ˜์— ๋Œ€ํ•œ ์‘๋‹ต์œผ๋กœ ๋ชจ๋ธ์„ ์กฐ์ •ํ•˜๊ณ  ์ œ์–ดํ•˜๋ฉด์„œ ๋ชจ๋ธ ํ•™์Šต์— ์˜ํ–ฅ์„ ์ฃผ๋Š” ํ•˜์ดํผ ํŒŒ๋ผ๋ฏธํ„ฐ

  • Gradient descent algorithm์„ ์‚ฌ์šฉํ•  ๋•Œ cost ๊ฐ’์˜ ๋ฏธ๋ถ„ํ•œ ๊ฐ’ ์•ž์— ์•ŒํŒŒ๋ผ๋Š” ๊ฐ’์ด ์˜ค๊ฒŒ ๋˜๋Š”๋ฐ ์ด ๊ฐ’์ด Learning rate์ž„. Learning rate์€ ์–ด๋Š ์ •๋„์˜ ํฌ๊ธฐ๋กœ ๊ธฐ์šธ๊ธฐ๊ฐ€ ์ค„์–ด๋“œ๋Š” ์ง€์ ์œผ๋กœ ์ด๋™ํ•˜๊ฒ ๋Š”๊ฐ€๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์ง€ํ‘œ

  • ํ™•๋ฅ ์  ๊ฒฝ์‚ฌ ํ•˜๊ฐ•๋ฒ•(SGD : Stochastic Gradient Descent) : ๋ฐ์ดํ„ฐ์…‹์˜ ์ผ๋ถ€๋ฅผ ์ด์šฉํ•ด ๋ฐฐ์น˜ ๋ฐฉ์‹์œผ๋กœ ๊ธฐ์šธ๊ธฐ๋ฅผ ์ถ”์ •. ๊ทน๋‹จ์ ์œผ๋กœ ๋ฐ์ดํ„ฐ ํ•˜๋‚˜๋งŒ์„ ์ด์šฉํ•ด์„œ ํ•  ์ˆ˜๋„ ์žˆ์Œ

๊ฒฝ์‚ฌํ•˜๊ฐ•๋ฒ•(gradient descent) ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ย ํ•™์Šต๋ฅ (Learning rate, Learning step)์œผ๋กœ ์•Œ๋ ค์ง„ ์Šค์นผ๋ผ๋ฅผ ๊ณฑํ•ด์„œ ๋‹ค์Œ ์ ์„ ๊ฒฐ์ •. ์˜ˆ๋ฅผ ๋“ค์–ด ๊ฒฝ์‚ฌ ํฌ๊ธฐ๊ฐ€ 2.5์ด๊ณ  ํ•™์Šต๋ฅ ์ด 0.01์ด๋ฉด ๊ฒฝ์‚ฌํ•˜๊ฐ•๋ฒ• ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์ด์ „ ์ง€์ ์—์„œ 0.025 ๋–จ์–ด์ง„ ์ง€์ ์—์„œ ๋‹ค์Œ ์ง€์ ์„ ์„ ํƒ.

๐Ÿ’ก๋ชจ๋ฉ˜ํ…€
local minimum์„ ๋น ์ ธ๋‚˜๊ฐ€๊ธฐ ์œ„ํ•ด ์ ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•๋ก . local minimum์„ ์ถ”์ •ํ•  ๋•Œ์˜ ๊ด€์„ฑ์„ local minimum์— ๋„๋‹ฌํ–ˆ์„ ๋•Œ ๋”ํ•ด์ค˜์„œ ๋” ์ข‹์€ local minimum ํ˜น์€ global minimum์„ ํƒ์ƒ‰ํ•˜๊ณ ์ž ํ•จ

  • SGD + Momentum์ด ๋”ฅ๋Ÿฌ๋‹์—์„œ ๊ฐ€์žฅ ๋งŽ์ด ์“ฐ์ž„

SVM(Support Vector Machine)

SVM(Support Vector Machine) : ์„ ํ˜• ๋ถ„๋ฅ˜, ๋น„์„ ํ˜• ๋ถ„๋ฅ˜, ํšŒ๊ท€, ์ด์ƒ์น˜ ํƒ์ƒ‰์—๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋จธ์‹ ๋Ÿฌ๋‹ ๋ฐฉ๋ฒ•๋ก 

  • ๋”ฅ๋Ÿฌ๋‹ ์ด์ „ ์‹œ๋Œ€๊นŒ์ง€ ๋„๋ฆฌ ์‚ฌ์šฉ๋จ

  • ๋ณต์žกํ•œ ๋ถ„๋ฅ˜ ๋ฌธ์ œ๋ฅผ ์ž˜ ํ•ด๊ฒฐ, ์ž‘๊ฑฐ๋‚˜ ์ค‘๊ฐ„ ํฌ๊ธฐ๋ฅผ ๊ฐ€์ง„ ๋ฐ์ดํ„ฐ์— ์ ํ•ฉ

  • ๋‘ ํด๋ž˜์Šค ์‚ฌ์ด์—์„œ ๊ฐ€์žฅ ๋„“์€ ๋ถ„๋ฅ˜ ๊ฒฝ๊ณ„์„ ์„ ์ฐพ์Œ(margin์ด ๊ฐ€์žฅ ํฐ ๊ฒƒ)

  • ์Šค์ผ€์ผ์— ๋ฏผ๊ฐํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ณ€์ˆ˜๋“ค ๊ฐ„์˜ ์Šค์ผ€์ผ์„ ์ž˜ ๋งž์ถฐ์ฃผ๋Š” ๊ฒƒ์ด ์ค‘์š”(sklearn.StandardScaler())

๐Ÿ’กsupport vector

  • ๊ฐ๊ฐ์˜ ํด๋ž˜์Šค์—์„œ ๋ถ„๋ฅ˜ ๊ฒฝ๊ณ„์„ ์„ ์ง€์ง€ํ•˜๋Š”(์„ ๊ณผ ๋งž๋‹ฟ์•„์žˆ๋Š”) ๊ด€์ธก์น˜

๐Ÿ’กHard margin vs soft margin

  • Hard margin : ๋‘ ํด๋ž˜์Šค๊ฐ€ ํ•˜๋‚˜์˜ ์„ ์œผ๋กœ ์™„๋ฒฝํ•˜๊ฒŒ ๋‚˜๋ˆ„์–ด์ง€๋Š” ๊ฒฝ์šฐ ์ ์šฉ ๊ฐ€๋Šฅํ•œ ๋ฐฉ๋ฒ•
  • soft margin : ์ผ๋ถ€ ์ƒ˜ํ”Œ๋“ค์ด ๋ถ„๋ฅ˜ ๊ฒฝ๊ณ„์„ ์˜ ๋ถ„๋ฅ˜ ๊ฒฐ๊ณผ์— ๋งž์ง€ ์•Š๋Š” ๊ฒฝ์šฐ๋ฅผ ์ผ์ • ์ˆ˜์ค€ ํ—ˆ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•
    • C-penalty ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ์กฐ์ •. SVM์˜ ํ•˜์ดํผํŒŒ๋ผ๋ฏธํ„ฐ
    • C ๊ฐ’์ด ์ž‘์•„์งˆ์ˆ˜๋ก ๋งˆ์ง„์€ ์ปค์ง€์ง€๋งŒ ๋ถ„๋ฅ˜ ์ •ํ™•๋„๋Š” ๋–จ์–ด์ง(trade-off)

๐Ÿ’กnonlinear SVM

polynomial kernel

  • ๋‹คํ•ญ์‹์˜ ์ฐจ์ˆ˜๋ฅผ ์กฐ์ ˆํ•  ์ˆ˜ ์žˆ๋Š” ํšจ์œจ์  ๊ณ„์‚ฐ ๋ฐฉ๋ฒ•

gaussian RBF kernel

  • ๋ฌดํ•œ๋Œ€ ์ฐจ์ˆ˜๋ฅผ ๊ฐ–๋Š” ๋‹คํ•ญ์‹์œผ๋กœ ์ฐจ์›์„ ํ™•์žฅ์‹œํ‚ค๋Š” ํšจ๊ณผ
  • gamma : ๊ณ ์ฐจํ•ญ ์ฐจ์ˆ˜์— ๋Œ€ํ•œ ๊ฐ€์ค‘ ์ •๋„

๐Ÿ’กSVM regression
์„ ํ˜• ํšŒ๊ท€์‹์„ ์ค‘์‹ฌ์œผ๋กœ ํ‰ํ–‰ํ•œ ์˜ค์ฐจ ํ•œ๊ณ„์„ ์„ ๊ฐ€์ •. ์˜ค์ฐจํ•œ๊ณ„์„  ๋„ˆ๋น„๊ฐ€ ์ตœ๋Œ€๊ฐ€ ๋˜๋ฉด์„œ ์˜ค์ฐจ ํ•œ๊ณ„์„ ์„ ๋„˜์–ด๊ฐ€๋Š” ๊ด€์ธก์น˜๋“ค์— ํŽ˜๋„ํ‹ฐ๋ฅผ ๋ถ€์—ฌํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์„ ํ˜•ํšŒ๊ท€์‹ ์ถ”์ •

profile
์ž๋ผ๋‚˜๋ผ ์ƒˆ์‹น์ƒˆ์‹น๐ŸŒฑ
post-custom-banner

0๊ฐœ์˜ ๋Œ“๊ธ€