[ํ˜ผ๊ณต๋จธ์‹ ] 04. ์ •๋ฆฌ

2022. 6. 21. 09:00

โ–ท ํ‚ค์›Œ๋“œ ํ•ต์‹ฌ ํฌ์ธํŠธ

๋กœ์ง€์Šคํ‹ฑ ํšŒ๊ท€ : ์„ ํ˜• ๋ฐฉ์ •์‹์„ ์‚ฌ์šฉํ•œ ๋ถ„๋ฅ˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜

                          ์„ ํ˜• ํšŒ๊ท€์™€ ๋‹ฌ๋ฆฌ ์‹œ๊ทธ๋ชจ์ด๋“œ ํ•จ์ˆ˜๋‚˜ ์†Œํ”„ํŠธ๋งฅ์Šค ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํด๋ž˜์Šค ํ™•๋ฅ  ์ถœ๋ ฅ ๊ฐ€๋Šฅ

๋‹ค์ค‘ ๋ถ„๋ฅ˜ : ํƒ€๊นƒ ํด๋ž˜์Šค๊ฐ€ 2๊ฐœ ์ด์ƒ์ธ ๋ถ„๋ฅ˜ ๋ฌธ์ œ

                   ๋กœ์ง€์Šคํ‹ฑ ํšŒ๊ท€๋Š” ๋‹ค์ค‘ ๋ถ„๋ฅ˜๋ฅผ ์œ„ํ•ด ์†Œํ”„ํŠธ ๋งฅ์Šค ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํด๋ž˜์Šค ์˜ˆ์ธก

์‹œ๊ทธ๋ชจ์ด๋“œ ํ•จ์ˆ˜ : ์„ ํ˜• ๋ฐฉ์ •์‹์˜ ์ถœ๋ ฅ์„ 0๊ณผ 1 ์‚ฌ์ด์˜ ๊ฐ’์œผ๋กœ ์••์ถ•ํ•˜๋ฉฐ ์ด์ง„ ๋ถ„๋ฅ˜๋ฅผ ์œ„ํ•ด ์‚ฌ์šฉ

์†Œํ”„ํŠธ๋งฅ์Šค ํ•จ์ˆ˜ : ๋‹ค์ค‘ ๋ถ„๋ฅ˜์—์„œ ์—ฌ๋Ÿฌ ์„ ํ˜• ๋ฐฉ์ •์‹์˜ ์ถœ๋ ฅ ๊ฒฐ๊ณผ๋ฅผ ์ •๊ทœํ™”ํ•˜์—ฌ ํ•ฉ์ด 1์ด ๋˜๋„๋ก ๋งŒ๋“ฆ

 

ํ™•๋ฅ ์  ๊ฒฝ์‚ฌ ํ•˜๊ฐ•๋ฒ• : ํ›ˆ๋ จ ์„ธํŠธ์—์„œ ์ƒ˜ํ”Œ ํ•˜๋‚˜์”ฉ ๊บผ๋‚ด ์†์‹ค ํ•จ์ˆ˜์˜ ๊ฒฝ์‚ฌ๋ฅผ ๋”ฐ๋ผ ์ตœ์ ์˜ ๋ชจ๋ธ์„ ์ฐพ๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜

์ƒ˜ํ”Œ์„ ํ•˜๋‚˜์”ฉ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ์—ฌ๋Ÿฌ ๊ฐœ๋ฅผ ์‚ฌ์šฉ : ๋ฏธ๋‹ˆ๋ฐฐ์น˜ ๊ฒฝ์‚ฌ ํ•˜๊ฐ•๋ฒ•

ํ•œ ๋ฒˆ์— ์ „์ฒด ์ƒ˜ํ”Œ์„ ์‚ฌ์šฉ : ๋ฐฐ์น˜ ๊ฒฝ์‚ฌ ํ•˜๊ฐ•๋ฒ•

์†์‹ค ํ•จ์ˆ˜ : ํ™•๋ฅ ์  ๊ฒฝ์‚ฌ ํ•˜๊ฐ•๋ฒ•์ด ์ตœ์ ํ™”ํ•  ๋Œ€์ƒ

                   ์ด์ง„ ๋ถ„๋ฅ˜ - ๋กœ์ง€์Šคํ‹ฑ ํšŒ๊ท€ ์†์‹ค ํ•จ์ˆ˜

                   ๋‹ค์ค‘ ๋ถ„๋ฅ˜ - ํฌ๋กœ์Šค์—”ํŠธ๋กœํ”ผ ์†์‹ค ํ•จ์ˆ˜

                   ํšŒ๊ท€ ๋ฌธ์ œ - ํ‰๊ท  ์ œ๊ณฑ ์˜ค์ฐจ ์†์‹ค ํ•จ์ˆ˜

์—ํฌํฌ : ์ „์ฒด ์ƒ˜ํ”Œ์„ ๋ชจ๋‘ ์‚ฌ์šฉํ•˜๋Š” ํ•œ ๋ฒˆ ๋ฐ˜๋ณต

 

 

 

โ–ท ํ•ต์‹ฌ ํŒจํ‚ค์ง€, ํ•จ์ˆ˜

< scikit-learn > 

* LogisticRegression : ์„ ํ˜• ๋ถ„๋ฅ˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ธ ๋กœ์ง€์Šคํ‹ฑ ํšŒ๊ท€๋ฅผ ์œ„ํ•œ ํด๋ž˜์Šค

solver : ์‚ฌ์šฉํ•  ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์„ ํƒ  (๊ธฐ๋ณธ๊ฐ’ 'lbfgs')

penalty : L2 ๊ทœ์ œ(๋ฆฟ์ง€ ๋ฐฉ์‹)์™€ L1 ๊ทœ์ œ(๋ผ์˜ ๋ฐฉ์‹) ์„ ํƒ (๊ธฐ๋ณธ๊ฐ’ L2 ๊ทœ์ œ๋ฅผ ์˜๋ฏธํ•˜๋Š” 'l2')

C : ๊ทœ์ œ์˜ ๊ฐ•๋„ ์ œ์–ด (๊ธฐ๋ณธ๊ฐ’ 1.0)  ๊ฐ’์ด ์ž‘์„์ˆ˜๋ก ๊ทœ์ œ๊ฐ€ ๊ฐ•ํ•ด์ง

 

* predict_proba() : ์˜ˆ์ธก ํ™•๋ฅ  ๋ฐ˜ํ™˜

์ด์ง„ ๋ถ„๋ฅ˜ - ์ƒ˜ํ”Œ๋งˆ๋‹ค ์Œ์„ฑ ํด๋ž˜์Šค์™€ ์–‘์„ฑ ํด๋ž˜์Šค์— ๋Œ€ํ•œ ํ™•๋ฅ  ๋ฐ˜ํ™˜

๋‹ค์ค‘ ๋ถ„๋ฅ˜ - ์ƒ˜ํ”Œ๋งˆ๋‹ค ๋ชจ๋“  ํด๋ž˜์Šค์— ๋Œ€ํ•œ ํ™•๋ฅ  ๋ฐ˜ํ™˜

 

* decision_function() : ๋ชจ๋ธ์ด ํ•™์Šตํ•œ ์„ ํ˜• ๋ฐฉ์ •์‹์˜ ์ถœ๋ ฅ์„ ๋ฐ˜ํ™˜

์ด์ง„ ๋ถ„๋ฅ˜ -  ์–‘์„ฑ ํด๋ž˜์Šค์˜ ํ™•๋ฅ  ๋ฐ˜ํ™˜.

                   ์ด ๊ฐ’์ด 0๋ณด๋‹ค ํฌ๋ฉด ์–‘์„ฑ ํด๋ž˜์Šค, ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์œผ๋ฉด ์Œ์„ฑ ํด๋ž˜์Šค๋กœ ์˜ˆ์ธก

๋‹ค์ค‘ ๋ถ„๋ฅ˜ - ๊ฐ ํด๋ž˜์Šค๋งˆ๋‹ค ์„ ํ˜• ๋ฐฉ์ •์‹ ๊ณ„์‚ฐ

                  ๊ฐ€์žฅ ํฐ ๊ฐ’์˜ ํด๋ž˜์Šค๊ฐ€ ์˜ˆ์ธก ํด๋ž˜์Šค๊ฐ€ ๋จ

 

* SGDClassifier : ํ™•๋ฅ ์  ๊ฒฝ์‚ฌ ํ•˜๊ฐ•๋ฒ•์„ ์‚ฌ์šฉํ•œ ๋ถ„๋ฅ˜ ๋ชจ๋ธ์„ ๋งŒ๋“ ๋‹ค

loss : ์ตœ์ ํ™”ํ•  ์†์‹ค ํ•จ์ˆ˜  (๊ธฐ๋ณธ๊ฐ’ ์„œํฌํŠธ๋ฒกํ„ฐ ๋จธ์‹  - 'hinge')  

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

penalty : ๊ทœ์ œ์˜ ์ข…๋ฅ˜ ์ง€์ • (๊ธฐ๋ณธ๊ฐ’ L2 ๊ทœ์ œ๋ฅผ ์˜๋ฏธํ•˜๋Š” 'l2')

alpha : ๊ทœ์ œ ๊ฐ•๋„ ์ง€์ • (๊ธฐ๋ณธ๊ฐ’ 0.0001)

max_iter : ์—ํฌํฌ ํšŸ์ˆ˜ (๊ธฐ๋ณธ๊ฐ’ 1000)

tol : ๋ฐ˜๋ณต์„ ๋ฉˆ์ถœ ์กฐ๊ฑด (๊ธฐ๋ณธ๊ฐ’ 0.001)

n_iter_no_change : ์ง€์ •ํ•œ ์—ํฌํฌ ๋™์•ˆ ์†์‹ค์ด tol๋งŒํผ ์ค„์–ด๋“ค์ง€ ์•Š์œผ๋ฉด ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ค‘๋‹จ (๊ธฐ๋ณธ๊ฐ’ 5)

 

* SGDRegressor : ํ™•๋ฅ ์  ๊ฒฝ์‚ฌ ํ•˜๊ฐ•๋ฒ•์„ ์‚ฌ์šฉํ•œ ํšŒ๊ท€ ๋ชจ๋ธ ๋งŒ๋“ฆ

loss : ์†์‹ค ํ•จ์ˆ˜ (๊ธฐ๋ณธ๊ฐ’ ์ œ๊ณฑ ์˜ค์ฐจ 'squared_loss')

์•ž์˜ SGDClassifier์—์„œ ์„ค๋ช…ํ•œ ๋งค๊ฐœ๋ณ€์ˆ˜ ๋ชจ๋‘ ๋™์ผํ•˜๊ฒŒ ์‚ฌ์šฉ

 

 

 

โ–ท ํ™•์ธ๋ฌธ์ œ

1. 2๊ฐœ๋ณด๋‹ค ๋งŽ์€ ํด๋ž˜์Šค๊ฐ€ ์žˆ๋Š” ๋ถ„๋ฅ˜ ๋ฌธ์ œ๋ฅผ ๋ฌด์—‡์ด๋ผ ๋ถ€๋ฅด๋‚˜์š”?

๋‹ค์ค‘ ๋ถ„๋ฅ˜

 

2. ๋กœ์ง€์Šคํ‹ฑ ํšŒ๊ท€๊ฐ€ ์ด์ง„ ๋ถ„๋ฅ˜์—์„œ ํ™•๋ฅ ์„ ์ถœ๋ ฅํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ํ•จ์ˆ˜๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?

์‹œ๊ทธ๋ชจ์ด๋“œ ํ•จ์ˆ˜

 

3. decision_function() ๋ฉ”์„œ๋“œ์˜ ์ถœ๋ ฅ์ด 0์ผ ๋•Œ ์‹œ๊ทธ๋ชจ์ด๋“œ ํ•จ์ˆ˜์˜ ๊ฐ’์€ ์–ผ๋งˆ์ธ๊ฐ€์š”?

0.5

 

4. ํ‘œ์ค€ํ™” ๊ฐ™์€ ๋ฐ์ดํ„ฐ ์ „์ฒ˜๋ฆฌ๋ฅผ ์ˆ˜ํ–‰ํ•˜์ง€ ์•Š์•„๋„ ๋˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๊ตฌํ˜„๋œ ํด๋ž˜์Šค๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?

SGDClassifier

 

5. ๊ฒฝ์‚ฌ ํ•˜๊ฐ•๋ฒ• ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ํ•˜๋‚˜๋กœ ํ›ˆ๋ จ ์„ธํŠธ์—์„œ ๋ช‡ ๊ฐœ์˜ ์ƒ˜ํ”Œ์„ ๋ฝ‘์•„์„œ ํ›ˆ๋ จํ•˜๋Š” ๋ฐฉ์‹์€ ๋ฌด์—‡์ธ๊ฐ€์š”?

ํ™•๋ฅ ์  ๊ฒฝ์‚ฌ ํ•˜๊ฐ•๋ฒ•

 

 

 

 


์ฐธ๊ณ ๋„์„œ : ํ˜ผ์ž๊ณต๋ถ€ํ•˜๋Š” ๋จธ์‹ ๋Ÿฌ๋‹ + ๋”ฅ๋Ÿฌ๋‹, ๋ฐ•ํ•ด์„ , ํ•œ๋น›๋ฏธ๋””์–ด, 2020๋…„

๋ฐ˜์‘ํ˜•

BELATED ARTICLES

more