์ ๋ฒ ํฌ์คํ ์์๋ ์ปจํ ์ธ ๊ธฐ๋ฐ ์ถ์ฒ์ธ CB(Content-based Recommendation)์ ๋ํด ๊ณต๋ถํด๋ดค๋๋ฐ์!
์ด๋ฒ์๋ ๋ง์ด ์ฐ์ด๋ ํ์ ํํฐ๋ง(CF)์ ๋ํด ์ ์ด๋ณด๋ ค๊ณ ํฉ๋๋ค!!

# ํ์ ํํฐ๋ง?
: CF(Collaborative Filtering)
=> ์ ์ A์ ๋น์ทํ ์ฑํฅ์ ๊ฐ๋ ์ ์ ๋ค์ด ์ ํธํ๋ ์์ดํ ์ ์ถ์ฒํ๋ค.
=> ์์ดํ ์ด ๊ฐ์ง ์์ฑ์ ์ฌ์ฉํ์ง ์์ผ๋ฉด์๋ ๋์ ์ฑ๋ฅ์ ๋ณด์!
# 1) User-based Collaborative Filtering
: ๋ ์ ์ ๊ฐ ์ผ๋ง๋ ์ ์ฌํ ์์ดํ ์ ์ ํธํ๋๊ฐ?
์ ์ ๊ฐ์ ์ ์ฌ๋๋ฅผ ๊ตฌํ๋ค, ๋์ ์ ์ฌ๋๊ฐ ๋์ ์ ์ ๋ค์ด ์ ํธํ๋ ์์ดํ ์ ์ถ์ฒํจ!
์์ )
User B๊ฐ ์คํ์์ฆ์ ๋งค๊ธด ํ์ ์ ์์ธกํ๊ณ ์ถ์ ์ํฉ์์
User A,B๊ฐ ๊ฐ ์ํ์ ๋งค๊ธด ํ์ ์ ๋น๊ตํด๋ณด๋ฉด ๋ ์ ์ ๊ฐ ๋น์ทํ ์ทจํฅ์ ๊ฐ์ก์์ ์์ธกํ ์ ์๋ค.
๋ฐ๋ผ์ User B์ ์คํ์์ฆ์ ๋ํ ์ ํธ๋๋ ๋์ ๊ฒ์ผ๋ก ์์ธก๋๋ค!
์ด๋ป๊ฒ ํ์ ์ ์ ํํ๊ฒ ์์ธกํ ์ ์์๊น?
โ Average
: ๋ค๋ฅธ ์ ์ ๋ค์ ์คํ์์ฆ์ ๋ํ rating์ ๋ชจ๋ ์ฌ์ฉํ์ฌ ํ๊ท ์ ๋.
User B์ ์ฅ์์ ๋ชจ๋ ํ์ ์ ๋์ผํ๊ฒ ๋ฐ์ํจ!
โก Weighted Average
- ์ ์ ๊ฐ์ ์ฝ์ฌ์ธ ์ ์ฌ๋๊ฐ์ weight(๊ฐ์ค์น)๋ก ์ฌ์ฉํ์ฌ ํ์ ์ ํ๊ท ์ ๋!
- User B ์ ์ฅ์์ ๋ณผ ๋, ์ฝ์ฌ์ธ ์ ์ฌ๋๊ฐ ๋์ User A์ ํ์ ์ ๋ง์ด ๋ฐ์๋๊ณ User C์ ํ์ ์ ์ ๊ฒ ๋ฐ์๋์ด ์์ธก ํ์ ์ด ๊ตฌํด์ง๋ค!
ํ์ง๋ง, ๋ด๊ฐ ํ์ ์ ๋ด๋ฆฌ๋ ๊ธฐ์ค์ ๋ค๋ฅธ ์ ์ ์ ๋ค๋ฅด๋ค!
์ ์ฌ๋๊ฐ ๋น์ทํ๋๋ผ๋?
์ด๋ค ์ ์ ๋ ์ ์ฒด์ ์ผ๋ก ๋์ ํ์ ์ ์ค ๊ฒ์ผ์๋ ์๊ณ ,
๋ฐ๋๋ก ์ ์ฒด์ ์ผ๋ก ๋ฎ๊ฒ์ค ๊ฒ์ผ ์๋ ์๋ค.
โข Weighted Average with deviation
: Deviation์ ์ฌ์ฉํ์!
์ ๋ ํ์ ์ ์ฌ์ฉํ๋ ๊ฒ์ด ์๋
๊ฐ๊ฐ ์ ์ ์ ํ๊ท ํ์ ์์ ์ผ๋ง๋ ๋์์ง ํน์ ๋ฎ์์ง, ๊ทธ ํธ์ฐจ๋ฅผ ์ฌ์ฉํ๋ค.
์์ )
์ด๋ค ์ ์ ์ ํ๊ท ์ด 2.5์ ์ธ๋ฐ, 5์ ์ ์คฌ๋ค๋ฉด ํธ์ฐจ๊ฐ ํฌ๊ธฐ ๋๋ฌธ์ ์์ฃผ ๋๊ฒ ํ๊ฐํ ๊ฒ
๋ฐ๋ฉด ๋ชจ๋ ์์ดํ ์ ํ์ ์ 5์ ์ผ๋ก ์ค ์ ์ ๋ ํธ์ฐจ๊ฐ ์๊ธฐ๋๋ฌธ์ ์์ดํ ๋ผ๋ฆฌ์ ๋น๊ต๊ฐ ์ด๋ ต๊ฒ๋๋ค.
* ์ต์ข predict rating=๊ฐ๊ฐ์ ์ ์ ํ๊ท rating + predicted deviation
=> ์ ๋ํ์ ์ ํ์ฉํ๋ ๊ฒ ๋ณด๋ค ๋ ์ฑ๋ฅ์ด ์ข๋ค
* ์ถ๊ฐ์ ์ผ๋ก ์์ ๋์๊ฒ..!
โฃ K Nearest Neighbors Collaborative Filtering
: ์ฌ์ฉ์๊ฐ ๋ง๋ค๋ฉด? ๊ณ์ฐํด์ผ๋ ์ ์ฌ๋๋ ๋ง์์ง๊ณ ์ฑ๋ฅ์ ๋จ์ด์ง๊ฒ๋จ.. ใ ใ
์ด๋, ์ ์ u์ ๊ฐ์ฅ ์ ์ฌํ K๋ช ์ ์ ์ ๋ฅผ ์ด์ฉํด ํ์ ์ ์์ธกํ๋ค
๋จ K=๊ฐ์ ์ง์ ํ๋ํด์ผํ๋ ํ์ดํผ ํ๋ผ๋ฏธํฐ๊ฐ
# 2) Item-based Collaborative Filtering
: ์์ดํ ์ธก๋ฉด์์ ์ ์ ๋ฅผ ์์ธก(?) / User-based์ ๋ฐ๋๋ผ๊ณ ์๊ฐํ์.
- ๋ ์์ดํ ์ด ์ ์ ๋ก๋ถํฐ ์ผ๋ง๋ ์ ์ฌํ ํ๊ฐ๋ฅผ ๋ฐ์๋๊ฐ?
- ์์ดํ ์ ํธ๋๋ฅผ ๋ฐํ์ผ๋ก ์ฐ๊ด์ฑ์ด ๋์ ๋ค๋ฅธ ์์ดํ ์ ์ถ์ฒ, ์์ดํ ๊ฐ์ ์ ์ฌ๋๋ฅผ ๊ตฌํ๋ค.
User B์ ์คํ์์ฆ์ ๋ํ ํ์ ์ด ์๊ณ ์ถ์ ๋,
์คํ์์ฆ๋ ์์ด์ธ๋งจ, ํํฌ์ ์ ์ฌ๋๊ฐ ๋๋ค. ๋ฐ๋ฉด ๋นํฌ์ ๋ผ์ด์ฆ์ ๋ ธํ ํ์ ์ ์ฌ๋๊ฐ ๋ฎ์ ๊ฒ์ ํ์ธํ ์ ์๋ค.
=> ๋ฐ๋ผ์ User B์ ์คํ์์ฆ์ ๋ํ ํ์ ์ ์์ด์ธ๋งจ, ํํฌ์ ๋น์ทํ๊ฒ ๋์ ๊ฒ์ด๋ผ๊ณ ์์ธกํด๋ณผ ์ ์์!
โ Average
User-based์ ์ ํํ ๋ฐ๋ ๋ฐฉ๋ฒ์ผ๋ก ๊ตฌํจ!
User(i)๊ฐ ํ๊ฐํ ๋ค๋ฅธ ์์ดํ ๋ค์ ํ๊ท ์ผ๋ก ๊ตฌํด์ง๋ฉฐ ๋ค์๊ณผ ๊ฐ๋ค.
โก Weighted Average
๋ค๋ฅธ ์ํ์์ ์ฝ์ฌ์ธ ์ ์ฌ๋๋ฅผ ๊ตฌํ ํ์ ์ฝ์ฌ์ธ ์ ์ฌ๋๋ฅผ ๊ฐ์ค์น๋ก ๊ณ์ฐํ์ฌ ํ๋ ๊ฒ์ผ๋ก
์๋ฅผ๋ค์ด k=2์ผ๋,
์คํ์์ฆ์ ์์ด์ธ๋งจ์ ์ ์ฌ๋(0.7)
์คํ์์ฆ์ ํํฌ์ ์ ์ฌ๋(0.9)๋ผ๊ณ ํ๋ฉด
User B์ ์คํ์์ฆ์ ๋ํ ์์ธก ํ์ ์
๋ค์๊ณผ ๊ฐ์ด ๊ณ์ฐ๋๋ค.
* ์ถ๊ฐ์ ์ผ๋ก ์์ ๋์๊ฒ..!
Item-based ๋ฐฉ๋ฒ ์ญ์ k๋ฅผ ์ง์ ํ์ฌ ๊ณ์ฐ์ ์ค์ด๊ณ ์ฑ๋ฅ์ ๋์ผ ์ ์๋ค!
# User-based VS Item-based
- ๋จ, ์ ์ ๊ฐ ๋ง๊ณ ์์ดํ ์ ์ ๋ค๋ ์ํฉ์ ๊ฐ์
- ํญ์ ๋ง๋๊ฒ์ ์๋๋ ์ฐธ๊ณ ๋ง ํ ๊ฒ!
ํน์ง | User-based | Item-based |
1 | ๊ตฌํ์ด ์ฝ๊ณ , ์ ์ฌํ K์ ์๊ฐ ๋์ด๋ ์๋ก ์ฑ๋ฅ์ด ๋์์ง | ๋ณดํต User-based๋ณด๋ค ๋์ ์ฑ๋ฅ์ ๋ |
2 | Item-based๋ณด๋ค ๋ ๋ค์ํ ์ถ์ฒ ๊ฒฐ๊ณผ ์ ๊ณต | ์์ดํ ๊ฐ์ ์ ์ฌ๋๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ๋ ์ข๋ค |
3 | Cold start์ ์ทจ์ฝ(์ฌ์ฉ์ ๋ฐ์ดํฐ๊ฐ ๋ณ๋ก ์์) | ์ถ์ฒ์ ๋ํ ์ด์ ๋ฅผ ์ค๋ช
ํ๊ธฐ ์ฌ์ ์ ) ๋๊ฐ ์ ์ ์์ด์ธ๋งจ์ ์ข๊ฒ๋ดค์ผ๋๊น ๋น์ทํ ์คํ์์ฆ๋ฅผ ์ถ์ฒํ๊ฒ ์ด~ |
4 | ํผ์ด์จ ์ ์ฌ๋๋ฅผ ์ฌ์ฉํ ๋ ์ฑ๋ฅ ๋์ | ์ฝ์ฌ์ธ ์ ์ฌ๋๋ฅผ ์ฌ์ฉํ ๋ ์ฑ๋ฅ ๋์ |
# CF (Collaborative Filtering์ ํ๊ณ)
1. Cold Start ๋ฌธ์
: CB(Content-based Recommendation)์ ๊ฐํ์ง๋ง, CF(Collaborative Filtering)๋ ์ฝํจ
๋ฐ์ดํฐ๊ฐ ์ถฉ๋ถํ์ง ์๋ค๋ฉด ์ถ์ฒ ์ฑ๋ฅ์ด ๋จ์ด์ง
๋ฐ์ดํฐ๊ฐ ์ ํ ์๋ ์ ๊ท ์ ์ , ์์ดํ ์ ๊ฒฝ์ฐ ์ถ์ฒ์ด ๋ถ๊ฐ๋ฅ ํ๋ค๋ ๋ฌธ์
2. ๊ณ์ฐ ํจ์จ
: ์ ์ ์ ์์ดํ ์ด ๋์ด๋ ์๋ก ์ ์ฌ๋ ๊ณ์ฐ์ด ๋์ด๋จ
์ ์ , ์์ดํ ์ด ๋ง์์ผ ์ ํํ ์์ธก์ ํ์ง๋ง ๋ฐ๋๋ก ์๊ฐ์ด ์ค๋๊ฑธ๋ฆฐ๋ค๋ ๋ฌธ์ ์ .
3. Long-tail ์ถ์ฒ์ ํ๊ณ
: ๋ง์ ์ ์ ๋ค์ด ์ ํธํ๋ ์์์ ์์ดํ ์ด ๋ณดํต CF ์ถ์ฒ ๊ฒฐ๊ณผ๋ก ๋ํ๋๊ฒ ๋๋ค.๋กฑํ ์ผ์ ์ด๋ฃจ๋ ํ๋ง๋๋ก ๋ณ๋ก ์ ๋ช ํ์ง ์์?์์ดํ ์ ๋ํด์๋ ์ถ์ฒ๋๊ธฐ ์ด๋ ค์!
-> TopK์ถ์ฒ์ ์๋์ง๋ง ์ด๋์ ๋ ์ ์ ๊ฐ ์๋นํด์ผ ๋ฐ์ดํฐ๊ฐ ์์ด๊ณ ์ถ์ฒ์ด ๋๊ธฐ ๋๋ฌธ์
Long-tail ์ถ์ฒ์ ํ๊ณ๊ฐ ๋ฐ์ํ๋ ๊ฒ
์ค๋์ CF(Collaborative Filtering)์ ์ด๋ชจ์ ๋ชจ์ ๋ํด ๊ธ์ ์จ๋ณด์๋๋ฐ์!
๊ธ์ ์ ๋ฆฌํ๋ฉด์๋ ์ดํด๊ฐ ๋์ง ์๋ ๋ถ๋ถ์ด ์์ด..
๋ค์ํ๋ฒ ๋ณด๋ฉด์ ๊ณต๋ถํด๋ณด๋ ค๊ณ ํฉ๋๋ค!
๋ง์ ๋์์ด ๋์ จ๊ธธ ๋ฐ๋ผ๋ฉฐ
๊ทธ๋ผ ์ค๋๋ ์ข์ํ๋ฃจ ๋ณด๋ด์ธ์:)
๋!

+ ์ดํด๋ฅผ ๋๊ธฐ ์ํ ๊ทธ๋ฆผ..