[์ถ”์ฒœ ์•Œ๊ณ ๋ฆฌ์ฆ˜] ALS ๊ฐœ๋…, Basic ํ•˜๊ฒŒ feat. ์ฝ”๋“œ X

2022. 5. 23. 00:17ใ†๐Ÿงช Data Science/ML, DL

 

Alternating Least Squares

์ถ”์ฒœ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ค‘ ํ•˜๋‚˜๋กœ, ๊ต๋Œ€ ์ตœ์†Œ ์ œ๊ณฑ๋ฒ•์ด๋ผ๊ณ ๋„ ๋ถˆ๋ฆฐ๋‹ค.

์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„  ๊ฐ„๋‹จํ•œ ์ถ”์ฒœ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ฐœ๋…๋“ค์„ ์‚ดํŽด๋ณด๊ณ , ALS์˜ ์žฅ์ ์„ ์•Œ์•„๋ณด์ž.

 

 

 

 

 

์ถ”์ฒœ ์•Œ๊ณ ๋ฆฌ์ฆ˜


: ์‚ฌ์šฉ์ž๊ฐ€ ์„ ํ˜ธํ• ๋งŒํ•œ ์•„์ดํ…œ์„ ์ถ”์ธกํ•จ์œผ๋กœ์จ ์‚ฌ์šฉ์ž์—๊ฒŒ ์ ํ•ฉํ•œ ํŠน์ • ํ•ญ๋ชฉ์„ ์ถ”์ฒœํ•œ๋‹ค.

 

 

์ถ”์ฒœ ์•Œ๊ณ ๋ฆฌ์ฆ˜์—๋Š” ๋‘๊ฐœ์˜ ๊ธฐ๋ณธ ์ถ•์ด ์กด์žฌํ•œ๋‹ค. ํ˜‘์—… ํ•„ํ„ฐ๋ง๊ณผ ์ฝ˜ํ…์ธ  ํ•„ํ„ฐ๋ง์ด๋‹ค.

 

(1) ํ˜‘์—… ํ•„ํ„ฐ๋ง(CF, Collaborative Filtering)

์œ ์ €-์•„์ดํ…œ ์ƒํ˜ธ์ž‘์šฉ ๋ฐ์ดํ„ฐ๋ฅผ ํ™œ์šฉํ•œ๋‹ค. 
"์ด ์Œ์‹์„ ์ข‹๊ฒŒ ํ‰๊ฐ€ํ•œ ์‚ฌ๋žŒ๋“ค์€ ๋˜ ์–ด๋–ค ์Œ์‹์„ ์ข‹์•„ํ• ๊นŒ?"

 

์ฆ‰, ํŠน์ • ์œ ์ €์™€ ์„ฑํ–ฅ์ด ๋น„์Šทํ•œ ์‚ฌ๋žŒ๋“ค์ด ์ข‹๊ฒŒ ํ‰๊ฐ€ํ•œ ๊ฒƒ์„ ์ถ”์ฒœํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋ผ๊ณ  ๋ณด๋ฉด ๋œ๋‹ค.

 

 

(2) ์ฝ˜ํ…์ธ  ํ•„ํ„ฐ๋ง(CB, Contents-Based-Filtering)

์œ ์ € ๋ฐ ์•„์ดํ…œ์˜ ํ…์ŠคํŠธ ๋ฐ ์ด๋ฏธ์ง€ ์ •๋ณด๋ฅผ ํ™œ์šฉํ•ด์„œ ์œ ์‚ฌํ•œ ์ฝ˜ํ…์ธ ๋ฅผ ์ฐพ๋Š” ๊ธฐ์ˆ ์ด๋‹ค. ์ฝ˜ํ…์ธ ๋ฅผ ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ถ„์„ํ•ด์„œ ๋น„์Šทํ•œ ์•„์ดํ…œ๋ผ๋ฆฌ ๊ทธ๋ฃนํ•‘ํ•œ๋‹ค. 

"์•„์ด์œ ์˜ '์—ํ•„๋กœ๊ทธ'๋ฅผ ์ข‹์•„ํ•˜๋Š” ์‚ฌ๋žŒ์€ ์•„์ด๋“ค์˜ 'Tomboy'๋ฅผ ์ข‹์•„ํ•  ๊ฒƒ์ด๋‹ค"

 

์ฆ‰, ์•„์ดํ…œ์˜ ์œ ์‚ฌ์„ฑ์„ ๋ฐ”ํƒ•์œผ๋กœ ํŠน์ • ์•„์ดํ…œ์ด ์ข‹์€ ํ‰์„ ๋ฐ›์•˜๋‹ค๋ฉด, ์œ ์‚ฌํ•œ ์•„์ดํ…œ์„ ์œ ์ €์—๊ฒŒ ์ถ”์ฒœํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค.

 

 

๋‘˜์€ ์ƒํ˜ธ๋ณด์™„์ ์ด๋‹ค.

์•„์ดํ…œ์— ๋Œ€ํ•œ ํ‰๊ฐ€๊ฐ€ ์ ์„ ๋•Œ(์œ ์ €-์•„์ดํ…œ ์ƒํ˜ธ์ž‘์šฉ ๋น„ํ™œ์„ฑ)๋Š” ์ฝ˜ํ…์ธ  ํ•„ํ„ฐ๋ง์„ ์“ฐ๋Š” ๊ฒƒ์ด ์ ํ•ฉํ•˜๋‹ค. ํ•˜์ง€๋งŒ ์œ ์ €๊ฐ€ ๋งŽ์•„์ง€๊ณ  ์œ ์ €-์•„์ดํ…œ ์ƒํ˜ธ์ž‘์šฉ์ด ์ปค์กŒ์„ ๋• CF๋ฅผ ๋งŽ์ด ์‚ฌ์šฉํ•œ๋‹ค.

 

 

 

์ถ”์ฒœ ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ์“ฐ์ด๋Š” ๋ฐ์ดํ„ฐ๋Š” (1) Explicit FeedBack  (2) Implicit FeedBack ๊ฐ€ ์žˆ๋‹ค. ์ฒซ ๋ฒˆ์งธ๋Š” ์œ ์ €๋“ค์ด ์ง์ ‘์ ์œผ๋กœ ์•„์ดํ…œ์— ๋Œ€ํ•ด ํ‰๊ฐ€๋ฅผ ๋‚ด๋ฆฐ ๋ฐ์ดํ„ฐ๋‹ค. ๋‘ ๋ฒˆ์งธ ์•„์ดํ…œ ํด๋ฆญ ์ˆ˜ ๋“ฑ ์ง์ ‘์ ์ธ ์„ ํ˜ธ๋„๋Š” ์—†๋Š” ๋ฐ์ดํ„ฐ๋‹ค. ๋ณดํ†ต ์ถ”์ฒœ ์•Œ๊ณ ๋ฆฌ์ฆ˜๋“ค์€ Explicit FeedBack ๋ฐ์ดํ„ฐ๋ฅผ ์ด์šฉํ•˜์ง€๋งŒ, ALS๋Š” Implicit FeedBack ๋ฐ์ดํ„ฐ๋„ ์‚ฌ์šฉํ•ด์„œ ์ถ”์ฒœํ•  ์ˆ˜ ์žˆ๋‹ค. 

 

 

 

 

ALS, ๊ต๋Œ€ ์ตœ์†Œ ์ œ๊ณฑ๋ฒ•


ALS๋Š” ํ˜‘์—… ํ•„ํ„ฐ๋ง ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ค‘ ํ•˜๋‚˜์ด๋‹ค. 

ํ˜‘์—… ํ•„ํ„ฐ๋ง ์•Œ๊ณ ๋ฆฌ์ฆ˜๋„ ๋ฐฉ์‹์— ๋”ฐ๋ผ ๋‘ ๊ฐ€์ง€๋กœ ๋‚˜๋‰˜๋Š”๋ฐ, (1) ๋ฉ”๋ชจ๋ฆฌ ๊ธฐ๋ฐ˜ ์ ‘๊ทผ ๋ฐฉ์‹ (2) ๋ชจ๋ธ ๊ธฐ๋ฐ˜ ์ ‘๊ทผ ๋ฐฉ์‹์ด ๊ทธ๊ฒƒ์ด๋‹ค. ๋ฉ”๋ชจ๋ฆฌ ๊ธฐ๋ฐ˜ ์ ‘๊ทผ ๋ฐฉ์‹์€ ์œ ์ € ์„ฑํ–ฅ ๋ฐ ์œ ์‚ฌ๋„๋ฅผ ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅํ•œ ํ›„, ํŠน์ • ์œ ์ €์—๊ฒŒ ์ถ”์ฒœํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค. ํ•˜์ง€๋งŒ ALS๋Š” ๋ชจ๋ธ ๊ธฐ๋ฐ˜ ์ ‘๊ทผ ๋ฐฉ์‹์ด๋‹ค. 

 

 

๋ชจ๋ธ ๊ธฐ๋ฐ˜ ์ ‘๊ทผ ๋ฐฉ์‹์€ ๋˜ ๋‘ ๊ฐ€์ง€๋กœ ๋‚˜๋‰œ๋‹ค.

(1) Latent Factor ๋ฐฉ์‹ : Matrix Factorization, ํ–‰๋ ฌ ๋ถ„ํ•ด๋ฅผ ์‚ฌ์šฉ

(2) ๋ถ„๋ฅ˜/ํšŒ๊ท€ ๋ฐ ๋”ฅ๋Ÿฌ๋‹ ๋ฐฉ์‹ : ์‹ ๊ฒฝ๋ง ๋“ฑ ๋จธ์‹ /๋”ฅ๋Ÿฌ๋‹ ์‚ฌ์šฉ

 

 

 

ALS์˜ ์žฅ์ ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

 

(1) ๋ถ„์‚ฐ์ฒ˜๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค.

(2) ํ•™์Šต ์†๋„๊ฐ€ ๋งค์šฐ ๋น ๋ฅด๋‹ค.

(3) Sparse ํ•œ ๋ฐ์ดํ„ฐ์—๋„ ๊ฐ•ํ•˜๋‹ค.

(4) Implicit ๋ฐ์ดํ„ฐ๊ฐ€ Explicit ๋ฐ์ดํ„ฐ๋ณด๋‹ค Sparseํ•œ ์„ฑํ–ฅ์ด ๊ฐ•ํ•˜๋‹ค. ๋”ฐ๋ผ์„œ Implicit ๋ฐ์ดํ„ฐ๋ฅผ ํ™œ์šฉํ•œ ์ถ”์ฒœ ๋ชจ๋ธ์„ ๊ตฌ์ถ•ํ•˜๊ณ ์ž ํ•œ๋‹ค๋ฉด ALS๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์œ ๋ฆฌํ•˜๋‹ค.

 

 

 

ALS์˜ ๊ฐœ๋…๊ณผ ์žฅ์ ๋“ค์„ ๊ฐ„๋‹จํ•˜๊ฒŒ ์•Œ์•„๋ณด์•˜๋‹ค. 

์ˆ˜์‹ ๋ฐ ์ž์„ธํ•œ ์›๋ฆฌ๋Š” ๋„˜์–ด๊ฐ€๊ณ  ์ฝ”๋“œ ํ™œ์šฉ์„ ๋จผ์ € ํ•ด๋ณด์ž. 

ALS๋Š” Spark MLlib์—์„œ ์ง€์›ํ•˜๊ณ  ์žˆ์–ด์„œ, Spark๋ฅผ ํ†ตํ•ด ์‹ค์Šต์„ ํ•ด๋ณด์ž. 

 

 

 

[์‹ค์Šต]

 

https://mengu.tistory.com/61

 

[SparkML] ALS, ์ถ”์ฒœ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ํ™œ์šฉํ•˜๊ธฐ

ALS, Alternating Least Squares SparkML์€ ์ถ”์ฒœ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ธ ALS๋ฅผ ์ง€์›ํ•œ๋‹ค. ์˜ํ™” ํ‰์  ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์™€์„œ ์ง์ ‘ ALS ๋ชจ๋ธ์„ Spark์—์„œ ์‚ฌ์šฉํ•ด๋ณด์ž. [ALS ๊ฐœ๋…] https://mengu.tistory.com/60 [์ถ”์ฒœ ์•Œ๊ณ ๋ฆฌ์ฆ˜] AL..

mengu.tistory.com

 

 

 

** ๊ณ ๋ฏผ **
๋จธ์‹ /๋”ฅ๋Ÿฌ๋‹ ๋ชจ๋ธ๋“ค์„ ๊ณต๋ถ€ํ•˜๋ฉด์„œ ์ƒˆ๋กœ์šด ์ˆ˜์‹๊ณผ ์›๋ฆฌ๋ฅผ ๋งˆ์ฃผํ•  ๋•Œ๊ฐ€ ์žˆ๋‹ค. ์ฒ˜์Œ์—” ๋ชจ๋‘ ์ดํ•ดํ•˜๋ ค ํ–ˆ์ง€๋งŒ, ๊ฐˆ์ˆ˜๋ก ํž˜์ด ๋ถ€์นœ๋‹ค. ์• ์ดˆ์— ์ˆ˜ํ•™์„ ๊ณต๋ถ€ํ•˜์ง€ ์•Š์•„์„œ ๊นŠ์ด ํŒŒ๊ณ ๋“ค๊ธฐ ์–ด๋ ต๋‹ค๋Š” ํ•œ๊ณ„๊ฐ€ ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ ๊ฐ„๋‹จํ•œ ๊ฐœ๋…๋งŒ ์ดํ•ดํ•˜๊ณ , ์ฝ”๋“œ๋ฅผ ๋จผ์ € ์‚ดํ”ผ๊ณ , ๋‚˜์ค‘์— ์‹ฌํ™”ํ•˜๊ณ  ์‹ถ์„ ๋•Œ ์ˆ˜์‹/์›๋ฆฌ๋ฅผ ๋” ๊ณต๋ถ€ํ•ด๋ณด๊ธฐ๋กœ ํ–ˆ๋‹ค.