software engineering/๋น…๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ

[BigData] ๋น…๋ฐ์ดํ„ฐ ๋ถ„์„ ๊ธฐ์ˆ 

jjingle 2024. 1. 9. 14:56

๋น…๋ฐ์ดํ„ฐ ๋ถ„์„ ๊ธฐ์ˆ  ?

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

 

๋น…๋ฐ์ดํ„ฐ ๋ถ„์„ ๊ธฐ์ˆ ์˜ ์ข…๋ฅ˜

  • ๋ถ„๋ฅ˜(Classfication) : ์ผ์ •ํ•œ ์ง‘๋‹จ์—์„œ ํŠน์ •ํ•œ ์ •์˜๋ฅผ ์ด์šฉํ•˜์—ฌ ๋ถ„๋ฅ˜๋ฅผ ์ถ”๋ก ํ•จ
  • ์˜ˆ์ธก(Forecasting) : ๋ฐฉ๋Œ€ํ•œ ์–‘์˜ ๋ฐ์ดํ„ฐ ์ง‘ํ•ฉ์˜ ํŒจํ„ด์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ฏธ๋ž˜๋ฅผ ์˜ˆ์ธก
  • ์‹œ๊ณ„์—ด ๋ถ„์„(Time-Series) : ์‹œ๊ฐ„์˜ ๋ณ€ํ™”์— ๋”ฐ๋ผ ์ผ์ •ํ•œ ๊ฐ„๊ฒฉ์œผ๋กœ ์—ฐ์†์ ์ธ ํ†ต๊ณ„ ์ˆซ์ž๋ฅผ ์ €์žฅํ•œ ์‹œ๊ณ„์—ด ๋ฐ์ดํ„ฐ์— ๋ฐ”ํƒ•์„ ๋‘” ๋ถ„์„ ๋ฐฉ๋ฒ•
  • ํšŒ๊ท€๋ถ„์„(Regression) : ํ•˜๋‚˜ ์ด์ƒ์˜ ๋ณ€์ˆ˜ ๊ฐ„์˜ ์˜ํ–ฅ์ด๋‚˜ ๊ด€๊ณ„๋ฅผ ๋ถ„์„ ๋ฐ ์ถ”์ •ํ•˜๋Š” ๊ธฐ์ˆ 
  • ์š”์•ฝ(Summarization) : ๋ฐ์ดํ„ฐ์˜ ์ผ๋ฐ˜์ ์ธ ํŠน์„ฑ์ด๋‚˜ ํŠน์ง•์˜ ์š”์ ์„ ๊ฐ„๋žตํžˆ ์ •๋ฆฌํ•˜๋Š” ๊ธฐ์ˆ 
  • ๊ตฐ์ง‘ํ™”(Clustering) : ๊ตฌ์ฒด์ ์ธ ํŠน์„ฑ์„ ๊ณต์œ ํ•˜๋Š” ๊ตฐ์ง‘์„ ์ฐพ์Œ. / ๋ฏธ๋ฆฌ ์ •์˜๋œ ํŠน์„ฑ์˜ ์ •๋ณด๊ฐ€ ์—†๋‹ค๋Š” ์ ์—์„œ ๋ถ„๋ฅ˜์™€ ๋‹ค๋ฆ„
  • ์—ฐ๊ด€ ๊ทœ์น™(Association Rule) : ๋™์‹œ์— ๋ฐœ์ƒํ•œ ์‚ฌ๊ฑด ๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ์ •์˜
  • ์—ฐ์†์„ฑ(Sequencing) : ์‹œ๊ฐ„์— ๋”ฐ๋ผ ์ˆœ์ฐจ์ ์œผ๋กœ ๋‚˜ํƒ€๋‚˜๋Š” ์‚ฌ๊ฑด์˜ ์ข…์†์„ฑ์„ ๋งํ•จ

01. ํ…์ŠคํŠธ ๋ฐ์ดํ„ฐ ๋ถ„์„?

๋น„.๋ฐ˜์ •ํ˜• ํ…์ŠคํŠธ ๋ฐ์ดํ„ฐ๋กœ ๊ตฌ์„ฑ๋œ ๋น…๋ฐ์ดํ„ฐ์—์„œ ์ž์—ฐ์–ด ์ฒ˜๋ฆฌ ๊ธฐ์ˆ ์— ๊ธฐ๋ฐ˜ํ•˜์—ฌ ์˜๋ฏธ์žˆ๋Š” ์ •๋ณด๋ฅผ ์ถ”์ถœํ•˜๋Š” ๊ธฐ์ˆ 
  • ๋ฐ์ดํ„ฐ ๋งˆ์ด๋‹ ๋ถ„์„ ๋Œ€์ƒ์€ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค, XML ๋ฌธ์„œ์™€ ๊ฐ™์€ ๊ตฌ์กฐํ™”๋œ ๋ฐ์ดํ„ฐ๋“ค
  • ํ…์ŠคํŠธ ๋งˆ์ด๋‹์˜ ๋ถ„์„ ๋Œ€์ƒ์€ ํ…์ŠคํŠธ ๋ฌธ์„œ, ์ด๋ฉ”์ผ, HTML ํŒŒ์ผ ๋“ฑ๊ณผ ๊ฐ™์€ ๋น„.๋ฐ˜์ •ํ˜•์˜ ํ…์ŠคํŠธ ๋ฐ์ดํ„ฐ

 

ํ…์ŠคํŠธ ๋ฐ์ดํ„ฐ ๋ถ„์„ ์ ˆ์ฐจ

  1. ์ •๋ณด ์ˆ˜์ง‘ : ๋น„.๋ฐ˜์ •ํ˜•์˜ ํ…์ŠคํŠธ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ง‘ํ•˜๋Š” ๋‹จ๊ณ„
  2. ์ •๋ณด ์ฒ˜๋ฆฌ : ๋Œ€์šฉ๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ์—์„œ ํŠน์ • ํ‚ค์›Œ๋“œ๋‚˜ ์ผ๋ถ€ ์˜๋ฏธ์žˆ๋Š” ์š”์†Œ๋ฅผ ์ถ”์ถœํ•˜๋ ค๊ณ  ์ „์ฒ˜๋ฆฌ๋ฅผ ํ•˜๋Š” ๋‹จ๊ณ„
  3. ์ •๋ณด ์ถ”์ถœ
    • ์ˆ˜ํ•™์ ์ธ ๋ชจ๋ธ์ด๋‚˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ด์šฉํ•˜์—ฌ ์œ ์šฉํ•œ ์ •๋ณด๋ฅผ ์ถ”์ถœํ•ด๋ƒ„
    • ํ…์ŠคํŠธ ๋งˆ์ด๋‹์„ ์œ„ํ•œ ์ •๋ณด ์ถ”์ถœ ๋ฐฉ๋ฒ•์—๋Š” ๋‹ค์–‘ํ•œ ๋ชฉ์ , ์กฐ๊ฑด, ํ™˜๊ฒฝ ๋“ฑ์ด ์žˆ๋Š”๋ฐ, ์ด ์ •๋ณด ์ถ”์ถœ ๋ฐฉ๋ฒ•์€ ํ…์ŠคํŠธ ๋งˆ์ด๋‹์—์„œ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๋ถ€๋ถ„ ์ค‘ ํ•˜๋‚˜
    • ํŠนํžˆ ์ •๋ณด ์ถ”์ถœ ๋ฐฉ๋ฒ•์—๋Š” ์ˆ˜๋งŽ์€ ์ˆ˜ํ•™์  ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ๋ฐฉ๋ฒ•์ด ์žˆ์œผ๋ฉฐ, ๊ทธ ์ค‘ ๊ฐ„๋‹จํ•˜๋ฉด์„œ ๊ฐ€์žฅ ๊ฐ•๋ ฅํ•œ ๋ฐฉ๋ฒ•์ธ TF-IDF (Term Frequency-Inverse Document Frequency) ๋ฐฉ์‹์„ ๋งŽ์ด ์‚ฌ์šฉ
  4. ์ •๋ณด ๋ถ„์„ : ์ตœ์ข… ํ‚ค์›Œ๋“œ๋‚˜ ์˜๋ฏธ ์žˆ๋Š” ์š”์†Œ์˜ ์šฐ์„ ์ˆœ์œ„๋ฅผ ๋„์ถœํ•˜๋Š” ๋‹จ๊ณ„

02. ์˜คํ”ผ๋‹ˆ์–ธ ๋ถ„์„ ๊ธฐ์ˆ 

  • ๋น…๋ฐ์ดํ„ฐ์— ํฌํ•จ๋œ ์–ด๋–ค ์‚ฌ์•ˆ์ด๋‚˜ ์ธ๋ฌผ, ์ด์Šˆ, ์ด๋ฒคํŠธ์—์„œ ์‚ฌ๋žŒ๋“ค์˜ ์˜๊ฒฌ์ด๋‚˜ ํ‰๊ฐ€ ๋“ฑ์„ ๋ถ„์„ํ•˜๋Š” ๊ฒƒ
  • ์˜คํ”ผ๋‹ˆ์–ธ ๋งˆ์ด๋‹์˜ 3๋‹จ๊ณ„
    1. ํŠน์ง• ์ถ”์ถœ : ์˜๋ฏธ ์žˆ๋Š” ์š”์†Œ, ํŠน์ง•์„ ์ถ”์ถœํ•˜๋Š” ๋‹จ๊ณ„
    2. ์˜๊ฒฌ ๋ถ„๋ฅ˜ : ์–ด๋–ค ์˜๋ฏธ๋กœ ์‚ฌ์šฉ๋˜์—ˆ๋Š”์ง€ ๋ถ„์„ํ•˜๊ณ  ๋ถ„๋ฅ˜ํ•˜๋Š” ๋‹จ๊ณ„
    3. ์š”์•ฝ ๋ฐ ์ „๋‹ฌ : ์„ ํ˜ธ๋„๊ฐ€ ๋ฐํ˜€์ง„ ์˜คํ”ผ๋‹ˆ์–ธ ์ •๋ณด๋ฅผ ์š”์•ฝํ•˜๊ณ  ์‚ฌ์šฉ์ž์—๊ฒŒ ์ „๋‹ฌํ•˜๋Š” ๋‹จ๊ณ„
  • ์˜คํ”ผ๋‹ˆ์–ธ ๋ถ„์„ ๊ธฐ์ˆ  ์ ˆ์ฐจ
    1. ๊ธ์ • ๋ฐ ๋ถ€์ •์„ ํ‘œํ˜„ํ•˜๋Š” ๋‹จ์–ด ์ •๋ณด ์ถ”์ถœ
    2. ์„ธ๋ถ€ ํ‰๊ฐ€ ์š”์†Œ์™€ ๊ทธ๊ฒƒ์ด ๊ฐ€๋ฆฌํ‚ค๋Š” ์˜คํ”ผ๋‹ˆ์–ธ์˜ ์—ฐ๊ฒฐ ๊ด€๊ณ„๋ฅผ ํฌํ•จํ•œ ๋ฌธ์žฅ ์ธ์‹
    3. ๊ธ์ •/๋ถ€์ • ํ‘œํ˜„์˜ ์ˆ˜ ๋ฐ ์œ ์šฉํ•œ ๋ฌธ์žฅ์„ ์ถ”์ถœํ•˜์—ฌ ๋ฆฌ๋ทฐ ์š”์•ฝ ์ƒ์„ฑ

03. ๊ตฐ์ง‘ํ™” ?

๋ฐ์ดํ„ฐ ๋งˆ์ด๋‹ ๊ธฐ์ˆ ์˜ ํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ, ์ฃผ์–ด์ง„ ๋น…๋ฐ์ดํ„ฐ์—์„œ ๋ฐ์ดํ„ฐ๋“ค์˜ ํŠน์„ฑ์„ ๊ณ ๋ คํ•˜์—ฌ ๊ตฐ์ง‘์„ ์ •์˜ํ•˜๊ณ 
๊ตฐ์ง‘์„ ๋Œ€ํ‘œํ•  ์ˆ˜ ์žˆ๋Š” ๋Œ€ํ‘œ์ ์„ ์ฐพ๋Š” ๊ฒƒ

 

 

๊ณ„ํ†ต๋„๋ฅผ ํ†ตํ•œ ๊ตฐ์ง‘๋“ค์˜ ์œ ์‚ฌ์„ฑ ํ™•์ธ

  • ํก์ˆ˜ ๊ณผ์ •(Agglomerative) : ์•„๋ž˜์—์„œ ์œ„๋กœ ์ฒ˜๋ฆฌํ•˜์—ฌ ๊ตฐ์ง‘์„ ํก์ˆ˜, n๊ฐœ์˜ ๊ฐ ๊ตฐ์ง‘๊ณผ ์ˆ˜์—ด์˜ ํ˜•ํƒœ๊ฐ€ ์—ฐ์†์ ์ธ ํก์ˆ˜ ๊ตฐ์ง‘ํ™” ๊ณผ์ •์œผ๋กœ ์ฒ˜๋ฆฌ๋จ
  • ๋ถ„๋ฆฌ ๊ณผ์ •(Divisive) : ์œ„์—์„œ ์•„๋ž˜๋กœ ๋ถ„๋ฅ˜ํ•˜๋Š” ๊ณผ์ •์œผ๋กœ, ํ•˜๋‚˜์˜ ๊ตฐ์ง‘์— n๊ฐœ์˜ ์ƒ˜ํ”Œ์ด ์žˆ์œผ๋ฉฐ ์—ฐ์†์ ์ธ ๋ถ„๋ฆฌ ๊ณผ์ •์œผ๋กœ ์ˆ˜ํ–‰

 

๋ถ„ํ• ์  ๊ตฐ์ง‘ํ™” ๊ธฐ์ˆ 

  • k๊ฐœ์˜ ๋ถ„ํ•  ์˜์—ญ์„ ๊ฒฐ์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•
  • ์œ ํด๋ฆฌ๋””์•ˆ ๊ฑฐ๋ฆฌ(Euclidean Distance) ๊ณ„์‚ฐ๋ฒ•์— ๊ธฐ๋ฐ˜
  • K-means ์•Œ๊ณ ๋ฆฌ์ฆ˜ : ์‚ฌ์ „์— ์ •ํ•œ k๊ฐœ์˜ ๊ตฐ์ง‘์œผ๋กœ ์ฃผ์–ด์ง„ ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„๋ฅ˜ํ•˜๋Š” ๋ฐฉ๋ฒ•

 

K-means ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ˆ˜ํ–‰ ๊ณผ์ •

  1. ๊ตฐ์ง‘์˜ ๊ฐœ์ˆ˜์ธ k๋ฅผ ๊ฒฐ์ •ํ•˜๊ณ  ๊ฐ ๊ตฐ์ง‘์— ์ดˆ๊ธฐ๊ฐ’์œผ๋กœ ์ค‘์‹ฌ ํ•œ ๊ฐœ์”ฉ์„ ํ• ๋‹นํ•˜์—ฌ ์œ„์น˜๋ฅผ ์„ค์ •
  2. ๊ฐ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ์–ด์ง„ ์ค‘์‹ฌ์ ์„ ๊ธฐ์ค€์œผ๋กœ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ๊ตฐ์ง‘์— ํ• ๋‹น. ์ค‘์‹ฌ์ ๊ณผ์˜ ๊ฑฐ๋ฆฌ๋Š” ์œ ํด๋ฆฌ๋””์•ˆ ๊ฑฐ๋ฆฌ ๊ณ„์‚ฐ ๋ฐฉ๋ฒ•์„ ๋”ฐ๋ฆ„
  3. ํ• ๋‹น๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์ค‘์‹ฌ์œผ๋กœ ๊ฐ ๊ตฐ์ง‘์€ ์ƒˆ๋กœ์šด ์ค‘์‹ฌ์ ์„ ๊ณ„์‚ฐ
  4. ์ƒˆ๋กœ์šด ์ค‘์‹ฌ์ ์ด ๊ธฐ์กด์˜ ์ค‘์‹ฌ์ ๊ณผ ์ฐจ์ด๊ฐ€ ์—†์œผ๋ฉด 2๋กœ ๋˜๋Œ์•„๊ฐ€ ๋ฐ˜๋ณต. ์ƒˆ๋กœ์šด ์ค‘์‹ฌ์ ์ด ๊ธฐ์กด์˜ ์ค‘์‹ฌ์ ๊ณผ ์ฐจ์ด๊ฐ€ ์—†์œผ๋ฉด ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์ข…๋ฃŒ

04. ๊ทธ๋ž˜ํ”„ ๋ถ„์„ ๊ธฐ์ˆ ?

- ํŽ˜์ด์Šค๋ถ์ด๋‚˜ ํŠธ์œ„ํ„ฐ์™€ ๊ฐ™์€ ์†Œ์…œ ๋ฏธ๋””์–ด์˜ ๋ฐ์ดํ„ฐ๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•
- ๊ทธ๋ž˜ํ”„์—์„œ ๋ถ„์„ ๊ธฐ์ˆ ์„ ์ ์šฉํ•˜๋Š” ๊ธฐ์ˆ , ๊ทธ๋ž˜ํ”ผ ๋ถ„์„ ๊ธฐ์ˆ ์€ ์ผ์ • ๋นˆ๋„์ˆ˜ ์ด์ƒ์˜ ํŠน์ • ํŒจํ„ด์„ ๋ชจ๋‘ ์ฐพ์•„๋‚ด๋Š” ๋ฐฉ๋ฒ•

 

 

๋นˆ๋ฐœ ๋ถ€๋ถ„ ๊ทธ๋ž˜ํ”„ ๋ถ„์„ ๊ธฐ๋ฒ•

  • ์ „์ฒด ๊ทธ๋ž˜ํ”„์—์„œ ์ž์ฃผ ๋ฐœ์ƒํ•˜๋Š” ๋ถ€๋ถ„  ๊ทธ๋ž˜ํ”„๋ฅผ ๋ฐœ๊ฒฌํ•จ
  • ๊ทธ๋ž˜ํ”„ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ๋ชจ๋“  ๋นˆ๋ฐœ ๋ถ€๋ถ„ ๊ทธ๋ž˜ํ”„๋ฅผ ์ฐพ๋Š” ๊ธฐ๋ฒ•
  • ํ–‰๋™ ์Šต๊ด€, ๊ตฌ๋งค ํŒจํ„ด, ์ธ๊ฐ„๊ด€๊ณ„ ์œ ์ง€ ํŒจํ„ด ๋“ฑ์„ ์œ ์ถ”ํ•˜์—ฌ ์ค‘์š”ํ•œ ๋‹จ์„œ๋ฅผ ์ฐพ์•„๋‚ผ ์ˆ˜ ์žˆ์Œ