SPR_Project.pdf

‫ﺑﺴﻤﻪ ﺗﻌﺎﻟﻲ‬
‫اﻟﮕﻮﺷﻨﺎﺳﻲ آﻣﺎري ‪) 40-725‬ﮔﺮوه ‪(2‬‬
‫ﻧﻴﻤﺴﺎل دوم ‪91-92‬‬
‫ﭘﺮوژه ﭘﺎﻳﺎﻧﻲ‪ :‬ﺳﻴﺴﺘﻢﻫﺎي اراﺋﻪ ﭘﻴﺸﻨﻬﺎد )‪(Recommender Systems‬‬
‫ﻣﺪرس‪ :‬ﺳﻠﻴﻤﺎﻧﻲ‬
‫ﺗﻮﺿﻴﺤﺎت ‪:‬‬
‫‪‬‬
‫ﺗﻤﺎﻣﻲ ﻛﺪﻫﺎ ﺑﺎﻳﺪ ﺑﻪ زﺑﺎن ‪ Matlab‬ﻧﻮﺷﺘﻪ ﺷﻮﻧﺪ‪.‬‬
‫‪‬‬
‫ﺑﺮاي ﻫﺮ ﻓﺎز ﺑﺎﻳﺪ ﮔﺰارش ﻛﺎﻣﻞ ﺑﻪ ﻫﻤﺮاه ﻛﺪ ﺿﻤﻴﻤﻪ ﮔﺮدد‪.‬‬
‫‪‬‬
‫ﻛﺪ ﺷﻤﺎ ﺑﺮاي ﻧﻤﺮهدﻫﻲ ﻣﻄﺎﻟﻌﻪ ﺧﻮاﻫﺪ ﺷﺪ‪ .‬ﺑﻨﺎﺑﺮاﻳﻦ ﺑﺎﻳﺪ ﺗﻮﺿﻴﺤﺎت ﻛﺎﻣﻞ در ﻣﻮرد ﺷﻴﻮه ﭘﻴﺎدهﺳﺎزي در ﮔﺰارش آورده ﺷﻮد‬
‫ﻳﺎ ﻛﺪ داراي ﺗﻮﺿﻴﺢﮔﺬاري ﻣﻨﺎﺳﺐ ﺑﺎﺷﺪ‪.‬‬
‫‪‬‬
‫ﻛﺪ و ﮔﺰارش ﺑﺎﻳﺪ در ﻳﻚ ﻓﺎﻳﻞ ‪ ZIP‬ﺑﺎ ﻧﺎم ‪ ) SPR_P#N_#SN‬ﺑﻪ ﺟﺎي ‪ #N‬ﺷﻤﺎره ﻓﺎز و ﺑﻪ ﺟﺎي ‪ #SN‬ﺷﻤﺎره داﻧﺸﺠﻮﻳﻲ‬
‫ﺟﺎﻳﮕﺰﻳﻦ ﻧﻤﺎﻳﻴﺪ‪ (.‬ﺑﻪ آدرس ‪ [email protected]‬ارﺳﺎل ﮔﺮدد‪.‬‬
‫ﺳﻴﺴﺘﻢ اراﺋﻪ ﭘﻴﺸﻨﻬﺎد‪ :1‬روﻳﻜﺮد آﻣﺎري‬
‫ﺑﻴﺎن ﻣﺴﺌﻠﻪ‪:‬‬
‫ﻓﺮض ﻛﻨﻴﺪ ﺗﻌﺪادي آﻳﺘﻢ ) ﻣﺜﻞ ﻓﻴﻠﻢ‪ ،‬ﻛﺘﺎب‪ (... ،‬در ﻳﻚ ﺑﺎزار ﺧﺮﻳﺪ آﻧﻼﻳﻦ ﻣﻮﺟﻮد اﺳﺖ‪ .‬ﻫﺪف ﻣﺎ ﻃﺮاﺣﻲ ﺳﻴﺴﺘﻤﻲ ﺧﻮدﻛﺎر ﺑﺮاي‬
‫ﭘﻴﺸﻨﻬﺎد دادن آﻳﺘﻢﻫﺎي ﻣﻨﺎﺳﺐ ﺑﻪ ﻫﺮ ﻛﺎرﺑﺮ اﺳﺖ‪ .‬ﻛﺎرﺑﺮ در ﺳﻴﺴﺘﻢ ﺧﺮﻳﺪ آﻧﻼﻳﻦ ﺑﻪ ﺗﻌﺪادي از ﻛﺎﻻﻫﺎ رﺗﺒﻪ داده اﺳﺖ‪ .‬در روﻳﻜﺮد ﻓﻴﻠﺘﺮ‬
‫اﺷﺘﺮاﻛﻲ‪ 2‬ﺑﺮاي اراﺋﻪ آﻳﺘﻢﻫﺎي ﻣﻨﺎﺳﺐ ﺑﻪ ﻳﻚ ﻛﺎرﺑﺮ ﻣﻲﺗﻮاﻧﻴﻢ از رﺗﺒﻪﺑﻨﺪي ﺑﻘﻴﻪي ﻛﺎرﺑﺮﻫﺎ و رﺗﺒﻪﻫﺎﻳﻲ ﻛﻪ ﺧﻮد ﻛﺎرﺑﺮ ﺑﻪ ﻛﺎﻻﻫﺎي‬
‫ﻣﺨﺘﻠﻒ داده اﺳﺖ‪ ،‬اﺳﺘﻔﺎده ﻛﻨﻴﻢ ﺗﺎ ﻣﻴﺰان راي ﻛﺎرﺑﺮ ﺑﻪ آﻳﺘﻢﻫﺎي ﻣﺨﺘﻠﻒ را ﭘﻴﺶﺑﻴﻨﻲ ﻧﻤﻮده و در ﻧﺘﻴﺠﻪ ﭘﻴﺸﻨﻬﺎدﻫﺎي ﻣﻮﺛﺮﺗﺮي ﺑﻪ ﻛﺎرﺑﺮ‬
‫داﺷﺘﻪ ﺑﺎﺷﻴﻢ‪ .‬ﺗﺎﻛﻨﻮن روشﻫﺎي ﻣﺘﻌﺪدي ﺑﺮاي ﺣﻞ ﻣﺴﺎﻟﻪي ﭘﻴﺶﺑﻴﻨﻲ ﻣﻴﺰان راي ﻳﻚ ﺷﺨﺺ ﺑﻪ ﻛﺎﻻﻫﺎ اراﺋﻪ ﺷﺪه اﺳﺖ‪.‬‬
‫در ﻓﺎز اول اﻳﻦ ﭘﺮوژه اﺑﺘﺪا از روشﻫﺎي ﺳﺎده ﻣﺒﺘﻨﻲ ﺑﺮ ﻫﻤﺴﺎﻳﮕﻲ ﺑﺮاي ﺳﻴﺴﺘﻢ اراﺋﻪي ﭘﻴﺸﻨﻬﺎد ﻛﺎر را ﺷﺮوع ﻛﺮده و ﺳﭙﺲ ﺑﺎ ﻣﻌﺮﻓﻲ‬
‫ﻓﻀﺎي ﻧﻬﺎن‪ 3‬ﺳﻌﻲ در ﭘﻴﺪا ﻛﺮدن ﻓﻀﺎﻳﻲ دارﻳﻢ ﻛﻪ ﻛﺎرﺑﺮﻫﺎ و آﻳﺘﻢﻫﺎ ﻣﻲﺗﻮاﻧﻨﺪ در اﻳﻦ ﻓﻀﺎي ﻣﺸﺘﺮك واﻗﻊ ﺷﻮﻧﺪ و ﺑﺎ اﺳﺘﻔﺎده از‬
‫ﺑﺮدارﻫﺎي ﻛﺎرﺑﺮ و آﻳﺘﻢ ﻣﻘﺪار راي ﭘﻴﺶﺑﻴﻨﻲ ﺷﻮد‪ .‬ﺳﭙﺲ در ﻓﺎز دوم ﻳﻚ روش ﻣﺒﺘﻨﻲ ﺑﺮ ﻣﺪل آﻣﺎري را ﻣﻮرد ﻣﻄﺎﻟﻌﻪ ﻗﺮار داده و‬
‫ﻋﻤﻞﻛﺮد آن را ﺑﺮ روي ﻣﺴﺎﻟﻪي ﻣﺮﺑﻮﻃﻪ ﺑﺮرﺳﻲ ﻣﻲﻧﻤﺎﻳﻴﻢ‪.‬‬
‫ﻣﺠﻤﻮﻋﻪ داده‪:‬‬
‫ﻣﺠﻤﻮﻋﻪ دادهي ﻣﻮردﻧﻈﺮ ﺑﺮاي اﻳﻦ ﭘﺮوژه‪ ،‬ﭘﺎﻳﮕﺎه داده ‪ 4MovieLens‬اﺳﺖ ﻛﻪ ﺷﺎﻣﻞ راي ﻫﺰار ﻛﺎرﺑﺮ ﺑﻪ ﻫﺰار و ﻫﻔﺘﺼﺪ ﻓﻴﻠﻢ ﻣﻲﺑﺎﺷﺪ‪.‬‬
‫در اﻳﻦ ﭘﺎﻳﮕﺎه داده ﻫﺮ راي ﻳﻚ ﻋﺪد ﺻﺤﻴﺢ در ﺑﺎزه ]‪ [1-5‬اﺳﺖ‪ .‬ﻋﻼوه ﺑﺮ ﻣﻴﺰان راي ﻛﺎرﺑﺮ ﺑﻪ آﻳﺘﻢ‪ ،‬زﻣﺎن ﺛﺒﺖ راي ﻧﻴﺰ ﻣﻮﺟﻮد اﺳﺖ‪.‬‬
‫‪1‬‬
‫‪recommender system‬‬
‫‪collaborative filter‬‬
‫‪3‬‬
‫‪latent space‬‬
‫‪4‬‬
‫‪http://www.grouplens.org/node/12‬‬
‫‪2‬‬
‫ﻓﺎز اول ﭘﺮوژه‪:‬‬
‫زﻣﺎن ﺗﺤﻮﻳﻞ‪ 13 :‬ﺧﺮداد‬
‫ﻧﻤﺮه ‪ 55 :‬درﺻﺪ‬
‫ﻫﺪف ‪ :‬ﺑﺮرﺳﻲ روﻳﻜﺮد ﺗﺠﺰﻳﻪ ﻣﺎﺗﺮﻳﺲ رايﻫﺎ و ﻣﻘﺎﻳﺴﻪ آن ﺑﺎ روش ﺳﺎده ﻣﺒﺘﻨﻲ ﺑﺮ ﻫﻤﺴﺎﻳﮕﻲ‬
‫اﺑﺘﺪا ﻗﺼﺪ دارﻳﻢ اﻟﮕﻮرﻳﺘﻢ ‪ k‬ﻧﺰدﻳﻜﺘﺮﻳﻦ ﻫﻤﺴﺎﻳﻪ را ﺑﻪ ﻋﻨﻮان ﻳﻚ روش ﺳﺎدهي ﻣﺒﺘﻨﻲ ﺑﺮ ﺣﺎﻓﻈﻪ‪ 5‬ﺑﺮاي ﻣﺴﺎﻟﻪي ﭘﻴﺶﺑﻴﻨﻲ ﻣﻴﺰان راي‬
‫ﺑﺮرﺳﻲ ﻛﻨﻴﻢ‪ .‬ﺑﺮاي اﻳﻦ ﻣﻨﻈﻮر ﭘﻴﺎدهﺳﺎزي را در دو ﺣﺎﻟﺖ زﻳﺮ اﻧﺠﺎم دﻫﻴﺪ‪:‬‬
‫– ﻣﺒﺘﻨﻲ ﺑﺮ آﻳﺘﻢ‪ :6‬ﺑﺮاي ﺗﺨﻤﻴﻦ راي ﻳﻚ ﻛﺎرﺑﺮ ﺑﻪ ﻳﻚ آﻳﺘﻢ‪ ،‬از راي ﻛﺎرﺑﺮ ﺑﻪ آﻳﺘﻢﻫﺎي ﻣﺸﺎﺑﻪ اﺳﺘﻔﺎده ﺷﻮد‪ .‬ﻫﻤﭽﻨﻴﻦ ﺑﺮاي ﺗﻌﻴﻴﻦ‬
‫ﻣﻴﺰان ﺷﺒﺎﻫﺖ آﻳﺘﻢﻫﺎ ﻣﻌﻴﺎرﻫﺎي ﺿﺮﻳﺐ ﻫﻤﺒﺴﺘﮕﻲ ‪ Pearson‬و ﺷﺒﺎﻫﺖ ﻛﺴﻴﻨﻮﺳﻲ ﺗﻨﻈﻴﻢ ﺷﺪه‪ 7‬ﻣﻮرد ﺑﺮرﺳﻲ ﻗﺮار ﮔﻴﺮد‪.‬‬
‫ﻣﺒﺘﻨﻲ ﺑﺮ ﻛﺎرﺑﺮ‪ :8‬ﺑﺮاي ﺗﺨﻤﻴﻦ راي ﻳﻚ ﻛﺎرﺑﺮ ﺑﻪ ﻳﻚ آﻳﺘﻢ‪ ،‬از راي ﻛﺎرﺑﺮان ﻣﺸﺎﺑﻪ ﺑﻪ آن آﻳﺘﻢ اﺳﺘﻔﺎده ﺷﻮد‪ .‬ﻣﺸﺎﺑﻪ ﺣﺎﻟﺖ ﻗﺒﻞ‬
‫–‬
‫ﺑﺮاي ﺗﻌﻴﻴﻦ ﻣﻴﺰان ﺷﺒﺎﻫﺖ ﻛﺎرﺑﺮﻫﺎ ﻣﻌﻴﺎرﻫﺎي ﺿﺮﻳﺐ ﻫﻤﺒﺴﺘﮕﻲ ‪ Pearson‬و ﺷﺒﺎﻫﺖ ﻛﺴﻴﻨﻮﺳﻲ ﺗﻨﻈﻴﻢ ﺷﺪه ﻣﻮرد ﺑﺮرﺳﻲ ﻗﺮار‬
‫ﮔﻴﺮد‪.‬‬
‫)ﺑﺮاي آﺷﻨﺎﻳﻲ ﺑﻴﺸﺘﺮ ﺑﺎ ﻣﻌﻴﺎرﻫﺎي ﺷﺒﺎﻫﺖ ﺑﺎﻻ ﻣﻲﺗﻮاﻧﻴﺪ ﻣﺮﺟﻊ ]‪ [1‬را ﻣﻄﺎﻟﻌﻪ ﻧﻤﺎﻳﻴﺪ(‬
‫ﻳﻚ اﻳﺪهي ﺟﺪﻳﺪﺗﺮ و ﻛﺎراﺗﺮ اﻳﻦ اﺳﺖ ﻛﻪ ﺑﻪ ﺟﺎي ﻣﺤﺎﺳﺒﻪي ﺷﺒﺎﻫﺖﻫﺎي آﻣﺎري )ﻧﻈﻴﺮ ﺿﺮﻳﺐ ﻫﻤﺒﺴﺘﮕﻲ( ﺑﻴﻦ ﻛﺎرﺑﺮﻫﺎ ﻳﺎ ﺑﻴﻦ آﻳﺘﻢﻫﺎ‬
‫ﺑﻪ ﺻﻮرﺗﻲ ﻛﻪ در ﺑﺎﻻ ذﻛﺮ ﺷﺪ‪ ،‬از ﻃﺮﻳﻖ ﻣﺎﺗﺮﻳﺲ رايﻫﺎ‪ ،‬ﻓﻀﺎي ﻓﺎﻛﺘﻮرﻫﺎي ﻧﻬﺎن )ﻣﻌﻤﻮﻻً ﺑﺎ اﺑﻌﺎد ﻛﻢ( را ﭘﻴﺪا ﻛﻨﻴﻢ‪ .‬ﻛﺎرﺑﺮان و آﻳﺘﻢﻫﺎ‬
‫در اﻳﻦ ﻓﻀﺎ واﻗﻊ ﻣﻲﺷﻮﻧﺪ و راي ﻛﺎرﺑﺮ ﺑﻪ آﻳﺘﻢ ﻣﻲﺗﻮاﻧﺪ از ﻃﺮﻳﻖ ﺿﺮب داﺧﻠﻲ ﺑﺮدار وﻳﮋﮔﻲ ﻛﺎرﺑﺮ و آﻳﺘﻢ )در اﻳﻦ ﻓﻀﺎ( ﺗﺎﺣﺪ ﺧﻮﺑﻲ‬
‫ﺗﺨﻤﻴﻦ زده ﺷﻮد‪ .‬در واﻗﻊ ﻓﺎﻛﺘﻮرﻫﺎي ﻧﻬﺎن )ﻳﺎ ﭘﺎﻳﻪﻫﺎي ﻓﻀﺎي ﻧﻬﺎن( در اﻳﻦ ﻣﺴﺎﻟﻪ ﻣﻲﺗﻮاﻧﻨﺪ ﻣﻔﺎﻫﻴﻤﻲ ﻧﻈﻴﺮ ژاﻧﺮ ﻓﻴﻠﻢ‪ ،‬ﻣﻮﺿﻮع ﻓﻴﻠﻢ ﻳﺎ‬
‫ﺷﺎﻣﻞ راي‬
‫‪ ...‬ﺑﺎﺷﻨﺪ‪ .‬ﺑﻪ ﻋﺒﺎرت دﻳﮕﺮ اﮔﺮ ﻣﺎﺗﺮﻳﺲ‬
‫ﻣﻲدﻫﺪ(‪ ،‬ﻗﺼﺪ دارﻳﻢ ﻣﺎﺗﺮﻳﺲﻫﺎي‬
‫و‬
‫ﻛﺎرﺑﺮ ﺑﻪ‬
‫آﻳﺘﻢ را در ﻧﻈﺮ ﺑﮕﻴﺮﻳﻢ )‬
‫راي ﻛﺎرﺑﺮ ‪ i‬ﺑﻪ آﻳﺘﻢ ‪ j‬را ﻧﺸﺎن‬
‫را ﻛﻪ ﺑﻪ ﺗﺮﺗﻴﺐ ﺑﺮدارﻫﺎي وﻳﮋﮔﻲ ﻛﺎرﺑﺮان و آﻳﺘﻢﻫﺎ را ﺷﺎﻣﻞ ﻣﻲﺷﻮﻧﺪ ﺑﻪﻧﺤﻮي ﭘﻴﺪا ﻛﻨﻴﻢ‬
‫ﻛﻪ ﻣﻘﺪار ﺗﺎﺑﻊ ﻫﺰﻳﻨﻪي زﻳﺮ ﺣﺪاﻗﻞ ﺷﻮد‪:‬‬
‫=) ‪( ,‬‬
‫‪,‬‬
‫)‪(1‬‬
‫ﺗﺎﺑﻊ ‪ loss‬در ﻋﺒﺎرت ﺑﺎﻻ ﻣﻲﺗﻮاﻧﺪ ﺗﺎﺑﻌﻲ ﻧﻈﻴﺮ ﻣﺠﺬور ﺧﻄﺎ ﺑﺎﺷﺪ‪.‬‬
‫‪ 9SVD‬ﻳﻚ روش ﺷﻨﺎﺧﺘﻪ ﺷﺪه ﺑﺮاي ﺗﺠﺰﻳﻪي ﻣﺎﺗﺮﻳﺲ ﺑﻪ ﻓﺎﻛﺘﻮرﻫﺎ اﺳﺖ‪ .‬در اﻳﻦ روش ﺑﺮاي ﻣﺎﺗﺮﻳﺲ‬
‫‪unitary‬‬
‫‪10‬‬
‫و‬
‫ﺑﻪ ﺗﺮﺗﻴﺐ ﺑﺎ اﺑﻌﺎد‬
‫= ‪ .‬ﻋﻨﺎﺻﺮ روي ﻗﻄﺮ ﻣﺎﺗﺮﻳﺲ‬
‫×‬
‫و‬
‫× و ﻫﻤﭽﻨﻴﻦ ﻣﺎﺗﺮﻳﺲ ﻗﻄﺮي‬
‫ﺑﺎ اﺑﻌﺎد × ‪ ،‬ﻣﺎﺗﺮﻳﺲﻫﺎي‬
‫ﺑﺎ اﺑﻌﺎد × ﺑﻪﮔﻮﻧﻪاي ﭘﻴﺪا ﻣﻲﺷﻮﻧﺪ ﻛﻪ‬
‫ﻳﺎ ﻫﻤﺎن ﻣﻘﺎدﻳﺮ ﺗﻜﻴﻨﻪ‪ ،‬ﺟﺬر ﻣﻘﺎدﻳﺮ وﻳﮋهي ﻧﺎﺻﻔﺮ ﻣﺎﺗﺮﻳﺲ‬
‫ﻫﺴﺘﻨﺪ و ﺑﻪ ﻫﻤﻴﻦ ﺗﺮﺗﻴﺐ‬
‫‪5‬‬
‫‪Memory-based‬‬
‫‪Item-based‬‬
‫‪7‬‬
‫‪Adjusted cosine similarity‬‬
‫‪8‬‬
‫‪User-based‬‬
‫‪9‬‬
‫)‪Singular Value Decomposition (SVD‬‬
‫‪6‬‬
‫‪ :Unitary 10‬ﻣﺎﺗﺮﻳﺲﻫﺎﻳﻲ ﻛﻪ ﺳﺘﻮنﻫﺎﻳﺸﺎن ﻣﺠﻤﻮﻋﻪاي از ﺑﺮدارﻫﺎي ‪ orthonormal‬اﺳﺖ‬
‫ﺳﺘﻮنﻫﺎي ﻣﺎﺗﺮﻳﺲ‬
‫ﻣﺎﺗﺮﻳﺲ‬
‫را ﺑﺮدارﻫﺎي وﻳﮋهي ﻣﺎﺗﺮﻳﺲ‬
‫را ﺑﺮدارﻫﺎي وﻳﮋهي‬
‫)ﻣﺘﻨﺎﻇﺮ ﺑﺎ ﻣﻘﺎدﻳﺮ وﻳﮋهي ﻧﺎﺻﻔﺮ( و ﺳﺘﻮنﻫﺎي ﻣﺎﺗﺮﻳﺲ‬
‫)ﻣﺘﻨﺎﻇﺮ ﺑﺎ ﻣﻘﺎدﻳﺮ وﻳﮋهي ﻧﺎﺻﻔﺮ( ﺗﺸﻜﻴﻞ ﻣﻲدﻫﻨﺪ‪.‬‬
‫ﻣﻲﺗﻮان ﻧﺸﺎن داد اﮔﺮ از ﺑﻴﻦ ﻣﻘﺎدﻳﺮ وﻳﮋه‬
‫ﺗﻨﻬﺎ‬
‫ﺑﺎ اﺳﺘﻔﺎده از ﺑﺮدارﻫﺎي وﻳﮋهي ﻣﺘﻨﺎﻇﺮ ﺑﺎ‬
‫ﻣﻘﺪار ﺑﺰرﮔﺘﺮ در ﻣﺎﺗﺮﻳﺲ‬
‫ﻟﺤﺎظ ﺷﻮﻧﺪ و ﺑﻪ ﻃﻮر ﻣﺘﻨﺎﻇﺮ ﻣﺎﺗﺮﻳﺲﻫﺎي‬
‫ﻣﻘﺎدﻳﺮ وﻳﮋهي ﺑﺰرﮔﺘﺮ ﭘﻴﺪا ﺷﻮﻧﺪ‪ ،‬ﻣﺎﺗﺮﻳﺲ‬
‫ﻛﻤﺘﺮﻳﻦ ﻓﺎﺻﻠﻪ )ﻧﺮم ‪ (Frobenious‬را ﺑﺎ ﻣﺎﺗﺮﻳﺲ‬
‫ﺧﻮاﻫﺪ داﺷﺖ )‪′‬‬
‫و‬
‫= ‪ ′‬از ﺑﻴﻦ ﻣﺎﺗﺮﻳﺲﻫﺎي ﺑﺎ رﺗﺒﻪ ‪k‬‬
‫ﺟﻮاب ﻣﺴﺎﻟﻪي ‖ ‪‖ −‬‬
‫) (‬
‫‪,‬‬
‫‪ min‬اﺳﺖ(‪ .‬ﺑﻪ اﻳﻦ‬
‫ﺣﺎﻟﺖ ﺗﺠﺰﻳﻪ ‪ truncated-SVD‬ﮔﻔﺘﻪ ﻣﻲﺷﻮد ) < (‪.‬‬
‫ﻧﺸﺎن دﻫﻴﺪ در ﺣﺎﻟﺘﻲﻛﻪ ﺗﺎﺑﻊ ‪ loss‬ﻣﺠﺬور ﺧﻄﺎ ﺑﺎﺷﺪ‪ ،‬ﻣﺎﺗﺮﻳﺲﻫﺎي‬
‫‪/‬‬
‫=‬
‫و‬
‫‪/‬‬
‫=‬
‫و‬
‫در راﺑﻄﻪي )‪ (1‬ﻣﻲﺗﻮاﻧﻨﺪ ﺑﻪ راﺣﺘﻲ ﺑﻪ ﺻﻮرت‬
‫ﻣﺤﺎﺳﺒﻪ ﺷﻮﻧﺪ‪ .‬ﺑﻪ اﻳﻦ ﺗﺮﺗﻴﺐ ﻣﻲﺗﻮان ﺑﻪﻃﻮر ﻫﻤﺰﻣﺎن ﻛﺎرﺑﺮان و آﻳﺘﻢﻫﺎ را در ﻳﻚ ﻓﻀﺎي ﻧﻬﺎن ‪-‬‬
‫ﺑﻌﺪي ﻧﻤﺎﻳﺶ داد‪.‬‬
‫ﻳﻚ ﻣﺸﻜﻞ در اﻳﻦ روش آن اﺳﺖ ﻛﻪ ﻣﺎﺗﺮﻳﺲ اوﻟﻴﻪاي ﻛﻪ ﻗﺮار اﺳﺖ ﺗﺠﺰﻳﻪ ﺷﻮد ﺑﺎﻳﺪ ﻫﻤﻪي دراﻳﻪﻫﺎﻳﺶ ﻣﻌﻠﻮم ﺑﺎﺷﻨﺪ‪ ،‬در ﺣﺎﻟﻲﻛﻪ در‬
‫ﺑﻴﺶﺗﺮ دراﻳﻪﻫﺎي ﻣﺎﺗﺮﻳﺲ راي‬
‫ﻧﺎﻣﺸﺨﺺ ﻫﺴﺘﻨﺪ‪ .‬ﻳﻚ روش اﺑﺘﺪاﻳﻲ ﺑﺮاي ﺣﻞ اﻳﻦ ﻣﺸﻜﻞ آن اﺳﺖ ﻛﻪ ﻣﻘﺎدﻳﺮ ﻧﺎﻣﺸﺨﺺ در‬
‫ﻣﺎﺗﺮﻳﺲ‪ ،‬اول ﺑﺎ ﺻﻔﺮ ﭘﺮ ﺷﻮﻧﺪ و ﺳﭙﺲ ‪ SVD‬اﻋﻤﺎل ﺷﻮد‪ .‬اﺑﺘﺪا اﻳﻦ روش ﺳﺎده را ﭘﻴﺎدهﺳﺎزي ﻛﻨﻴﺪ )ﭘﺎراﻣﺘﺮ ﻣﻨﺎﺳﺐ ﺑﺎﻳﺪ ﭘﻴﺪا ﺷﻮد(‪.‬‬
‫ﺳﭙﺲ ﺗﺎﺑﻊ ﻫﺪف ﻣﻨﺎﺳﺐﺗﺮ زﻳﺮ را در ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ‪:‬‬
‫‪,‬‬
‫=) ‪( ,‬‬
‫×‬
‫)‪(2‬‬
‫در ﺻﻮرﺗﻲﻛﻪ ﻛﺎرﺑﺮ ﺑﻪ آﻳﺘﻢ راي داده ﺑﺎﺷﺪ ﻣﻘﺪار ‪ 1‬وﮔﺮﻧﻪ ﻣﻘﺪار ﺻﻔﺮ دارد‪ .‬اﻣﺎ ﺑﻬﻴﻨﻪﺳﺎزي در اﻳﻦ ﺣﺎﻟﺖ ﺣﺘﻲ اﮔﺮ‬
‫ﻛﻪ ﻣﻘﺎدﻳﺮ‬
‫ﺗﺎﺑﻊ ‪ loss‬ﻣﺠﺬور ﺧﻄﺎ درﻧﻈﺮ ﮔﺮﻓﺘﻪ ﺷﻮد ﻧﻤﻲﺗﻮاﻧﺪ ﻣﺸﺎﺑﻪ ﺣﺎﻟﺖ ﻗﺒﻞ ﺑﻪ راﺣﺘﻲ اﻧﺠﺎم ﺷﻮد‪.‬‬
‫ﻧﺸﺎن دﻫﻴﺪ ﻛﻪ در ﺣﺎﻟﺘﻲﻛﻪ ﺗﺎﺑﻊ ‪ loss‬ﻣﺠﺬور ﺧﻄﺎ ﺑﺎﺷﺪ‪ ،‬ﺑﺮاي ﻛﻤﻴﻨﻪ ﻛﺮدن ﺗﺎﺑﻊ ﻫﺰﻳﻨﻪ )‪ (2‬ﺑﺎ ﺛﺎﺑﺖ ﻧﮕﻪداﺷﺘﻦ ﻫﺮ ﻳﻚ از ﻣﺎﺗﺮﻳﺲﻫﺎي‬
‫و‬
‫ﻣﻲﺗﻮان راﺑﻄﻪي ﻣﺮﺑﻮط ﺑﻪ ﻣﺎﺗﺮﻳﺲ دﻳﮕﺮ را ﭘﻴﺪا ﻛﺮد‪ .‬ﺳﭙﺲ روش ﺑﻬﻴﻨﻪﺳﺎزي را ﭘﻴﺎدهﺳﺎزي ﻧﻤﺎﻳﻴﺪ ﻛﻪ ﺑﺎ اﺳﺘﻔﺎده از ﻳﻚ‬
‫روﻳﻜﺮد ﺗﻜﺮاري )ﺗﺎ رﺳﻴﺪن ﺑﻪ ﻫﻤﮕﺮاﻳﻲ( در ﻫﺮ دور اﺑﺘﺪا‬
‫داﺷﺘﻪ و‬
‫را ﭘﻴﺪا ﻛﻨﺪ(‪ ،‬ﺗﺎ در ﻧﻬﺎﻳﺖ ﻣﺎﺗﺮﻳﺲﻫﺎي‬
‫و‬
‫را ﺛﺎﺑﺖ ﻧﮕﻪ دارد و‬
‫را ﺑﻬﻴﻨﻪ ﻛﻨﺪ و ﺳﭙﺲ ﺑﺎﻟﻌﻜﺲ ) را ﺛﺎﺑﺖ ﻧﮕﻪ‬
‫ﺣﺎﺻﻞ را ﭘﻴﺪا ﻛﻨﺪ‪.‬‬
‫در ﻗﺴﻤﺖ ﺑﻌﺪ ﺑﺮاي ﺟﻠﻮﮔﻴﺮي از ﺑﻴﺶﺑﺮازش‪ 11‬ﺑﻪ ﺗﺎﺑﻊ ﻫﺰﻳﻨﻪي ﻣﻮﺟﻮد در راﺑﻄﻪي )‪ (2‬ﺟﻤﻼت ﻣﻨﻈﻢﺳﺎزي‪ 12‬را ﺑﻪ ﺻﻮرت زﻳﺮ‬
‫اﺿﺎﻓﻪ ﻧﻤﺎﻳﻴﺪ‪:‬‬
‫‖ ‖‬
‫‪‖ ‖ +‬‬
‫‪+‬‬
‫‪,‬‬
‫×‬
‫=) ‪( ,‬‬
‫)‪(3‬‬
‫و رواﺑﻂ ﺑﻪروزرﺳﺎﻧﻲ ﻣﺮﺑﻮط در ﻫﺮ دور ﺗﻜﺮار اﻟﮕﻮرﻳﺘﻢ را ﻣﺸﺎﺑﻪ ﺑﺎﻻ ﺑﺮاي ﺣﺎﻟﺘﻲﻛﻪ ﺗﺎﺑﻊ ‪ loss‬ﻣﺠﺬور ﺧﻄﺎ ﺑﺎﺷﺪ‪ ،‬ﭘﻴﺪا ﻛﻨﻴﺪ‪ .‬ﺳﭙﺲ‬
‫اﻳﻦ اﻟﮕﻮرﻳﺘﻢ را ﻧﻴﺰ ﭘﻴﺎدهﺳﺎزي ﻧﻤﺎﻳﻴﺪ‪.‬‬
‫‪ovefitting‬‬
‫‪regularization‬‬
‫‪11‬‬
‫‪12‬‬
‫ﻣﻌﻴﺎر و ﻧﺤﻮهي ارزﻳﺎﺑﻲ‬
‫– ﻣﻌﻴﺎر ارزﻳﺎﺑﻲ ‪ 13RMSE‬در ﻧﻈﺮ ﮔﺮﻓﺘﻪ ﺷﻮد‪.‬‬
‫– ﺑﺮاي اﻧﺘﺨﺎب ﭘﺎراﻣﺘﺮﻫﺎي ﻫﺮﻳﻚ از روشﻫﺎ از ‪ 10-fold cross validation‬اﺳﺘﻔﺎده ﻧﻤﺎﻳﻴﺪ‪.‬‬
‫– ‪ RMSE‬روي ﻣﺠﻤﻮﻋﻪ آزﻣﻮن را ﺑﻪ ازاي روشﻫﺎي ﺣﺎﺻﻞ )ﺑﺎ ﭘﺎراﻣﺘﺮﻫﺎي اﻧﺘﺨﺎب ﺷﺪه( ﻣﺸﺨﺺ ﻧﻤﺎﻳﻴﺪ و ﻧﺘﺎﻳﺞ ﺑﻪ دﺳﺖ‬
‫آﻣﺪه ﺑﺮاي روشﻫﺎ را ﻣﻘﺎﻳﺴﻪ و ﺗﺤﻠﻴﻞ ﻧﻤﺎﻳﻴﺪ‪.‬‬
‫– در ﺑﺨﺶ ﻧﺘﺎﻳﺞ اراﺋﻪ ﻧﻤﻮدارﻫﺎﻳﻲ ﻛﻪ ﻣﺘﻨﺎﻇﺮ ﺑﺎ اﻧﺘﺨﺎب ﭘﺎراﻣﺘﺮﻫﺎ ﺑﺎ اﺳﺘﻔﺎده از ‪ ،cross-validation‬ﺗﻐﻴﻴﺮات ﻋﻤﻠﻜﺮد را ﺑﻪ ازاي‬
‫ﻣﻘﺎدﻳﺮ ﻣﺨﺘﻠﻒ ﭘﺎراﻣﺘﺮﻫﺎ ﻧﺸﺎن دﻫﻨﺪ‪ ،‬ﻻزم اﺳﺖ‪.‬‬
‫ﺑﺮاي اﻳﻦﻛﻪ در ﮔﺰارش ارﺟﺎع ﺑﻪ روشﻫﺎﻳﻲ ﻛﻪ ﭘﻴﺎدهﺳﺎزي ﻛﺮدﻳﺪ‪ ،‬ﻳﻜﻨﻮاﺧﺖ ﺑﺎﺷﺪ‪ ،‬ﻧﺎمﮔﺬاري روشﻫﺎي ﭘﻴﺎدهﺳﺎزي ﺷﺪه ﺑﻪ‬
‫ﺗﺮﺗﻴﺐ ﻣﻌﺮﻓﻲ در ﻣﺘﻦ ﺑﺎﻻ ﺑﻪ ﺻﻮرت زﻳﺮ ﺑﺎﺷﺪ‪Matrix- ،Matrix-Fact-AO ،Matrix-Fact-Zero ،kNN-User ،kNN-Item :‬‬
‫‪Fact-AO-Regul‬‬
‫ﻓﺎز دوم ‪ :‬ﭘﻴﺎده ﺳﺎزي ﻳﻚ روش آﻣﺎري ﻣﺒﺘﻨﻲ ﺑﺮ ﻣﺪل‬
‫زﻣﺎن ﺗﺤﻮﻳﻞ‪ 11 :‬ﺗﻴﺮ‬
‫ﻧﻤﺮه ‪ 45 :‬درﺻﺪ‬
‫ﻫﺪف ‪ :‬ﺑﻪﻛﺎرﮔﻴﺮي ﻳﻚ ﻣﺪل اﺣﺘﻤﺎﻟﻲ‬
‫در اﻳﻦ ﻓﺎز ﻗﺼﺪ دارﻳﻢ ﻳﻚ ﻣﺪل اﺣﺘﻤﺎﻟﻲ ﺑﺮاي ﭘﻴﺪا ﻛﺮدن ﻓﻀﺎي ﻧﻬﺎن )ﻛﻪ در ﻓﺎز ﻗﺒﻞ در ﻣﻮرد آن ﺑﺤﺚ ﺷﺪ( اﺳﺘﻔﺎده ﻧﻤﺎﻳﻴﻢ‪ .‬ﻳﻜﻲ از‬
‫روشﻫﺎي ﻣﻄﺮح ﺑﺮاي ﺳﻴﺴﺘﻢﻫﺎي اراﺋﻪي ﭘﻴﺸﻨﻬﺎد‪ ،‬ﻣﺪل ﻛﺮدن رايدﻫﻲ ﺑﻪ ﺻﻮرت اﺣﺘﻤﺎﻟﻲ اﺳﺖ‪ .‬از ﻣﺪلﻫﺎي ﭘﺎﻳﻪاي ﻛﻪ ﺑﺮاي اﻳﻦ‬
‫ﻣﻨﻈﻮر اراﺋﻪ ﺷﺪه ﻣﻲﺗﻮان ﻣﺪل ﺗﺤﻠﻴﻞ ﻣﻌﻨﺎﻳﻲ ﻧﻬﺎن اﺣﺘﻤﺎﻟﻲ‪ 14‬را ﻧﺎم ﺑﺮد ]‪ .[2‬ﻓﺮض اﺻﻠﻲ اﻳﻦ ﻣﺪل ﺑﺮﻗﺮاري ارﺗﺒﺎط ﻛﺎرﺑﺮ و آﻳﺘﻢ ﺑﺎ‬
‫اﺳﺘﻔﺎده از ﻣﺘﻐﻴﺮ واﺳﻄﻲ اﺳﺖ ﻛﻪ ﻧﻬﺎن ﻣﻲﺑﺎﺷﺪ )در اداﻣﻪ ﺣﺎﻟﺖ ‪ forced prediction‬ﻣﻌﺮﻓﻲ ﺷﺪه در ﻣﻘﺎﻟﻪ ]‪ [2‬ﻣﻮرد ﺑﺮرﺳﻲ ﻗﺮار‬
‫ﻣﻲﮔﻴﺮد(‪.‬‬
‫ﻓﺮض ﻛﻨﻴﺪ ﻛﺎرﺑﺮ‪ ،‬آﻳﺘﻢ و راي را ﺑﻪ ﺗﺮﺗﻴﺐ ﺑﺎ ‪ ،‬و‬
‫ﻣﻮﺟﻮد ﻫﺴﺘﻨﺪ‪ ،‬ﺑﻪ ازاي ﭘﺎراﻣﺘﺮﻫﺎي‬
‫ﻧﺸﺎن دﻫﻴﻢ‪ .‬ﻣﻘﺪار ﻟﮕﺎرﻳﺘﻢ درﺳﺖﻧﻤﺎﻳﻲ‪ 15‬روي دراﻳﻪﻫﺎﻳﻲ از ﻣﺎﺗﺮﻳﺲ‬
‫ﻛﻪ‬
‫ﺑﻪ ﺻﻮرت زﻳﺮ ﻣﺤﺎﺳﺒﻪ ﻣﻲﺷﻮد‪:‬‬
‫) ; ‪| ,‬‬
‫= ( ‪log‬‬
‫)‪(4‬‬
‫‪,‬‬
‫ﻣﺎﺗﺮﻳﺲ‬
‫وﺟﻮد دارد ﻳﻚ و ﺑﻪ ازاي ﺑﻘﻴﻪ ﺻﻔﺮ اﺳﺖ‪.‬‬
‫ﺑﻪ ازاي زوج ﻛﺎرﺑﺮ و آﻳﺘﻢﻫﺎﻳﻲ ﻛﻪ راي در ﻣﺎﺗﺮﻳﺲ‬
‫دراﻳﻪي از ﻣﺎﺗﺮﻳﺲ‬
‫اﺳﺖ ﻛﻪ راي ﻛﺎرﺑﺮ ﺑﻪ آﻳﺘﻢ را ﻧﺸﺎن ﻣﻲدﻫﺪ‪.‬‬
‫‪16‬‬
‫در روش ﻣﻮرد ﺑﺮرﺳﻲ‪ ،‬اﺣﺘﻤﺎل راي ﻛﺎرﺑﺮ ﺑﻪ آﻳﺘﻢ ﺑﺎ اﺳﺘﻔﺎده از ﻣﺪل ﺗﺮﻛﻴﺒﻲ ﮔﺎوﺳﻲ ﻣﺪل ﻣﻲﺷﻮد ) ﻣﺘﻐﻴﺮ ﻧﻬﺎن(‪:‬‬
‫) | ( ) ‪( |,‬‬
‫ﻛﻪ ﭼﮕﺎﻟﻲ اﺣﺘﻤﺎل ﺷﺮﻃﻲ ) ‪ ( | ,‬ﮔﺎوﺳﻲ ﻓﺮض ﺷﺪه اﺳﺖ )‬
‫=) ‪( | ,‬‬
‫‪,‬‬
‫‪,‬‬
‫‪,‬‬
‫)‪(5‬‬
‫| ( ~) ‪. ( | ,‬‬
‫‪13‬‬
‫‪Root Mean Square Error‬‬
‫‪probabilistic Latent Semantic Analysis‬‬
‫‪15‬‬
‫‪likelihood‬‬
‫‪16‬‬
‫‪Gaussian mixture models‬‬
‫‪14‬‬
‫در واﻗﻊ در اﻳﻦ ﻣﺪل‪ ،‬ﻣﻴﺰان راﻳﻲ ﻛﻪ ﻛﺎرﺑﺮ ﺑﻪ آﻳﺘﻢ ﻣﻲدﻫﺪ واﺑﺴﺘﻪ ﺑﻪ ﻳﻚ ﻋﺎﻣﻞ ﻧﻬﺎن ‪ z‬اﺳﺖ‪ .‬ﺑﺮاي ﻣﺜﺎل اﮔﺮ ﺑﺪاﻧﻴﻢ ﻛﺎرﺑﺮ ﻓﻴﻠﻢﻫﺎي ﻧﻮع‬
‫ﺗﺮﺳﻨﺎك را دوﺳﺖ دارد و ﻓﻴﻠﻢ ‪ i‬ﺗﺮﺳﻨﺎك اﺳﺖ‪ ،‬ﻣﻲﺗﻮاﻧﻴﻢ ﻣﺴﺘﻘﻞ از ﺧﻮد ﺷﺨﺺ ﻛﺎرﺑﺮ ﻣﻴﺰان راي ﻛﺎرﺑﺮ ﺑﻪ اﻳﻦ ﻓﻴﻠﻢ را ﻣﺸﺨﺺ ﻛﻨﻴﻢ‪.‬‬
‫ﺑﻪ اﻳﻦ ﺗﺮﺗﻴﺐ ﻋﺎﻣﻞ ﻧﻬﺎن ﺿﻤﻦ ﻛﺸﻒ ﺗﻮزﻳﻊ راي ﺑﻪ آﻳﺘﻢﻫﺎ ﻣﻲﺗﻮاﻧﺪ ﻣﻴﺰان راي ﺑﻪ آﻳﺘﻢ را از ﻛﺎرﺑﺮ ﻣﺴﺘﻘﻞ ﻧﻤﺎﻳﺪ‪.‬‬
‫ﺑﺮاي ﺑﻴﺸﻴﻨﻪ ﻛﺮدن ﻟﮕﺎرﻳﺘﻢ درﺳﺖﻧﻤﺎﻳﻲ از اﻟﮕﻮرﻳﺘﻢ ﺑﺮآورد‪-‬ﺑﻴﺸﻴﻨﻪﺳﺎزي‪ (EM) 17‬اﺳﺘﻔﺎده ﻣﻲﺷﻮد‪ .‬در اﻳﻦ اﻟﮕﻮرﻳﺘﻢ ﺗﺎرﺳﻴﺪن ﺑﻪ‬
‫ﻫﻤﮕﺮاﻳﻲ در ﻫﺮ دور ﮔﺎمﻫﺎي ﺑﺮآورد )‪ (E-step‬و ﺑﻴﺸﻴﻨﻪﺳﺎزي )‪ (M-step‬ﺗﻜﺮار ﻣﻲﺷﻮﻧﺪ‪ .‬در ﮔﺎم ‪ ،E‬اﺣﺘﻤﺎل ﭘﺴﻴﻦ‪ z 18‬ﺑﻪ ﺻﻮرت زﻳﺮ‬
‫ﻣﺤﺎﺳﺒﻪ ﻣﻲﺷﻮد‪:‬‬
‫; | ( )‬
‫)‬
‫; |‪) ( ′‬‬
‫)‬
‫و ﺳﭙﺲ در ﮔﺎم ‪ M‬ﭘﺎراﻣﺘﺮﻫﺎي‬
‫; ‪( |,‬‬
‫;‪∑ ( | , ′‬‬
‫)‪(6‬‬
‫; ‪( | , ,‬‬
‫=)‬
‫ﺑﻪﮔﻮﻧﻪاي ﻳﺎﻓﺖ ﻣﻲﺷﻮﻧﺪ ﻛﻪ ﺗﺎﺑﻊ زﻳﺮ ﺣﺪاﻛﺜﺮ ﺷﻮد‪:‬‬
‫) ; | ( ‪) log ( | , ; ) + log‬‬
‫; ‪( | , ,‬‬
‫=)‬
‫; (‬
‫)‪(7‬‬
‫‪,‬‬
‫ﭘﺲ از ﻳﺎدﮔﻴﺮي ﭘﺎراﻣﺘﺮﻫﺎ از ﻃﺮﻳﻖ اﻟﮕﻮرﻳﺘﻢ ‪ EM‬ﺑﺮآورد راي ﻛﺎرﺑﺮ‬
‫ﺑﻪ آﻳﺘﻢ ﻣﻲﺗﻮاﻧﺪ ﺑﻪ ﺻﻮرت‬
‫‪,‬‬
‫) | (‬
‫∑=‬
‫‪| ,‬‬
‫اﻧﺠﺎم ﺷﻮد‪.‬‬
‫در اﻳﻦ ﻓﺎز ﻫﺪف آن اﺳﺖ ﻛﻪ اﺑﺘﺪا ﺑﺎ ﭘﺎﺳﺦﮔﻮﻳﻲ ﺑﻪ ﺳﻮاﻻت ﻧﻈﺮي )ﻋﻤﺪﺗﺎً از ﻃﺮﻳﻖ ﻣﻄﺎﻟﻌﻪي ﻣﺮﺟﻊ ]‪ ([2‬ﺑﻪ ﻣﻔﺎﻫﻴﻢ ﭘﺎﻳﻪي ﻣﻮرد ﻧﻈﺮ‬
‫ﺑﺮاي اﺳﺘﻔﺎده از اﻳﻦ روﻳﻜﺮد آﻣﺎري ﻣﺴﻠﻂ ﺷﻮﻳﺪ و ﺳﭙﺲ ﺑﺨﺶ ﻋﻤﻠﻲ ﻣﺮﺑﻮﻃﻪ را ﭘﻴﺎده ﺳﺎزي ﻧﻤﺎﻳﻴﺪ و ﻣﺴﺎﻟﻪي ﺗﺨﻤﻴﻦ ﻣﻘﺪار راي را‬
‫ﺑﻪ ﺻﻮرت اﺣﺘﻤﺎﻟﻲ ﺣﻞ ﻧﻤﺎﻳﻴﺪ‪.‬‬
‫ﺳﻮاﻻت ﻧﻈﺮي‪:‬‬
‫– ﻣﻔﻬﻮم ﻣﺘﻐﻴﺮ ﻧﻬﺎن در روش ﻣﻄﺮح در ﻣﺮﺟﻊ ]‪ [2‬ﭼﻴﺴﺖ؟ ﻣﺸﺨﺺ ﻛﻨﻴﺪ ﻛﻪ در اﻳﻦ روش اﺳﺘﻔﺎده از ﻣﺘﻐﻴﺮ ﻧﻬﺎن ﻣﻨﺠﺮ ﺑﻪ‬
‫ﺧﻮﺷﻪﺑﻨﺪي ﻛﺎرﺑﺮﻫﺎ ﻣﻲﺷﻮد ﻳﺎ آﻳﺘﻢﻫﺎ؟ ﺗﻮﺿﻴﺢ دﻫﻴﺪ‪.‬‬
‫–‬
‫اﮔﺮ ﺑﻪ ﺟﺎي راﺑﻄﻪي )‪ (5‬ﺑﻪ ﺻﻮرت ) | ( ) ‪( | ,‬‬
‫و ﺳﭙﺲ )‬
‫‪,‬‬
‫‪,‬‬
‫‪,‬‬
‫∑ = ) ‪ ( | ,‬ﻗﺮار ﻣﻲدادﻳﻢ ) | ( ) ‪( | ,‬‬
‫∑=) ‪( | ,‬‬
‫| ( ~) ‪ ( | ,‬ﭼﻪ ﺗﻐﻴﻴﺮي در ﺗﻌﺒﻴﺮ روش اﻳﺠﺎد ﻣﻲﺷﺪ؟‬
‫– رواﺑﻂ ﻣﺮﺑﻮط ﺑﻪ ﮔﺎم ‪ M‬اﻟﮕﻮرﻳﺘﻢ را ﺑﻪ ﺻﻮرت ﻛﺎﻣﻞ ﺑﻨﻮﻳﺴﻴﺪ‪.‬‬
‫– در اﻳﻦ ﻣﻘﺎﻟﻪ ﻫﺪف از ﺑﻪﻛﺎرﮔﻴﺮي ﻧﺮﻣﺎل ﺳﺎزي ﻛﺎرﺑﺮي‪ 19‬ﭼﻪ ﺑﻮده اﺳﺖ؟‬
‫– روشﻫﺎي ﻣﺨﺘﻠﻒ ﺑﺮاي ‪ regularization‬ﻣﺪل را ﺷﺮح دﻫﻴﺪ‪) .‬ﺑﻪ ﺑﺨﺶ ‪ 5.3‬ﻣﻘﺎﻟﻪ و ﻫﻤﭽﻨﻴﻦ ﺑﻪ ﻣﺮﺟﻊ ]‪ [3‬ﻣﺮاﺟﻌﻪ ﺷﻮد‪(.‬‬
‫–‬
‫)ﻧﻤﺮه اﺿﺎﻓﻪ( ﻋﻴﺐﻫﺎي ﻋﻤﺪه ﻣﺪل را ﺑﻴﺎن ﻧﻤﺎﻳﻴﺪ‪ ) .‬ﻣﻲﺗﻮاﻧﻴﺪ ﻣﺮاﺟﻊ ]‪ [6-4‬را ﻣﻄﺎﻟﻌﻪ ﻧﻤﺎﻳﻴﺪ‪(.‬‬
‫ﺳﻮاﻻت ﻋﻤﻠﻲ‬
‫– روش اراﺋﻪ ﺷﺪه در ﻣﻘﺎﻟﻪ را در دو ﺣﺎﻟﺖ ﺑﺪون ﻧﺮﻣﺎلﺳﺎزي ﻛﺎرﺑﺮي و ﺑﺎ ﻧﺮﻣﺎلﺳﺎزي ﻛﺎرﺑﺮي ﭘﻴﺎدهﺳﺎزي ﻧﻤﺎﻳﻴﺪ و ﺑﺎ روش‬
‫ﭘﺎﻳﻪي اراﺋﻪ ﺷﺪه در ﻣﻘﺎﻟﻪ ﻣﻘﺎﻳﺴﻪ ﻧﻤﺎﻳﻴﺪ‪.‬‬
‫–‬
‫)‪ 10‬درﺻﺪ ﻧﻤﺮه اﺿﺎﻓﻪ( اﻟﮕﻮرﻳﺘﻢ اراﺋﻪ ﺷﺪه در ﻣﻘﺎﻟﻪ را ﺑﻬﺒﻮد دﻫﻴﺪ ) از ﻣﺮاﺟﻊ ]‪ [6-4‬اﺳﺘﻔﺎده ﻧﻤﺎﻳﻴﺪ(‬
‫‪17‬‬
‫)‪Expectation Maximization (EM‬‬
‫‪posterior‬‬
‫‪19‬‬
‫‪user normalization‬‬
‫‪18‬‬
‫ﻣﻌﻴﺎر و ﻧﺤﻮهي ارزﻳﺎﺑﻲ‬
.‫ در ﻧﻈﺮ ﮔﺮﻓﺘﻪ ﺷﻮد‬RMSE ‫– ﻣﻌﻴﺎر ارزﻳﺎﺑﻲ‬
‫ ﻧﻤﻮدار ﺗﻐﻴﻴﺮات دﻗﺖ ﺑﻪ‬.‫ اﺳﺘﻔﺎده ﻛﻨﻴﺪ‬10-fold cross validation ‫– ﺑﺮاي ﺗﻌﻴﻴﻦ ﺗﻌﺪاد ﮔﺮوهﻫﺎي )ﺧﻮﺷﻪﻫﺎي( ﻣﻨﺎﺳﺐ از‬
.‫دﺳﺖ آﻣﺪه ﺑﺮاي ﺗﻌﺪاد ﮔﺮوهﻫﺎي ﻣﺨﺘﻠﻒ را رﺳﻢ ﻧﻤﺎﻳﻴﺪ‬
‫ ﻧﺘﺎﻳﺞ ﺑﻪ دﺳﺖ آﻣﺪه را ﺑﺎ ﻧﺘﺎﻳﺠﻲ ﻛﻪ در ﻓﺎز ﻗﺒﻞ‬.‫ روي ﻣﺠﻤﻮﻋﻪ آزﻣﻮن را ﺑﻪ ازاي اﻳﻦ روش ﻣﺸﺨﺺ ﻧﻤﺎﻳﻴﺪ‬RMSE –
.‫ ﻣﻘﺎﻳﺴﻪ ﻧﻤﺎﻳﻴﺪ‬،‫ﺑﻪدﺳﺖ آﻣﺪ‬
‫ اﺳﺘﻔﺎده از رواﺑﻂ اﻋﺘﻤﺎد و ﻋﺪم اﻋﺘﻤﺎد‬: (‫ﻓﺎز ﺳﻮم )اﺧﺘﻴﺎري‬
‫ ﺗﻴﺮ‬11 :‫زﻣﺎن ﺗﺤﻮﻳﻞ ﻓﺎز‬
(‫ درﺻﺪ )اﺿﺎﻓﻪ‬25 : ‫ﻧﻤﺮه‬
‫ ﭘﮋوﻫﺶ و اﺑﺘﻜﺎر‬،‫ ﺗﺤﻘﻴﻖ‬: ‫ﻫﺪف‬
‫ اﻣﻜﺎن رﺗﺒﻪﺑﻨﺪي ﻛﺎرﺑﺮان دﻳﮕﺮ ﻧﻴﺰ ﻓﺮاﻫﻢ‬،‫ ﺑﺮاي ﻛﺎرﺑﺮان ﻋﻼوه ﺑﺮ رﺗﺒﻪﺑﻨﺪي آﻳﺘﻢﻫﺎ‬Epinions20 ‫در ﺑﻌﻀﻲ از ﭘﺎﻳﮕﺎهﻫﺎي دادهاي ﻣﺜﻞ‬
‫ در واﻗﻊ ﻣﻲﺗﻮان رواﺑﻂ ﺑﻴﻦ ﻛﺎرﺑﺮان و آﻳﺘﻢﻫﺎ را ﺑﺎ اﺳﺘﻔﺎده‬.‫ﺷﺪه ﻛﻪ ﺑﻪ رﺗﺒﻪﻫﺎي ﺑﻴﻦ ﻛﺎرﺑﺮان رواﺑﻂ اﻋﺘﻤﺎد و ﻋﺪم اﻋﺘﻤﺎد ﮔﻔﺘﻪ ﻣﻲﺷﻮد‬
‫ ﻣﺪﻟﻲ ﺑﺮاي ﺑﻬﺒﻮد ﭘﻴﺶﺑﻴﻨﻲ‬،‫ ﺑﺎ اﺳﺘﻔﺎده از ﻣﻄﺎﻟﺒﻲ ﻛﻪ در ﻓﺎزﻫﺎي ﻗﺒﻞ ﭘﺮوژه ﻓﺮا ﮔﺮﻓﺘﻴﺪ‬.[7] ‫ ﻣﺪل ﻛﺮد‬21‫از ﻳﻚ ﺷﺒﻜﻪ وزندار ﻧﺎﻫﻤﮕﻮن‬
‫ ﺑﺮاي داﻧﻠﻮد ﭘﺎﻳﮕﺎه داده ﺑﻪ‬.‫راي ﻳﻚ ﻛﺎرﺑﺮ ﺑﻪ ﻳﻚ آﻳﺘﻢ و ﻫﻢﭼﻨﻴﻦ ﭘﻴﺶﺑﻴﻨﻲ راﺑﻄﻪ اﻋﺘﻤﺎد ﺑﻴﻦ دو ﻓﺮد اراﺋﻪ دﻫﻴﺪ‬
‫ ﺑﺮاي ﻣﻄﺎﻟﻌﻪ ﻣﻘﺎﻟﻪﻫﺎﻳﻲ در اﻳﻦ زﻣﻴﻨﻪ ﺑﻪ‬.‫ ﻣﺮاﺟﻌﻪ ﻧﻤﺎﻳﻴﺪ‬http://www.trustlet.org/wiki/Downloaded_Epinions_dataset
.‫ ﻣﺮاﺟﻌﻪ ﻧﻤﺎﻳﻴﺪ‬http://www.trustlet.org/wiki/Epinions_datasets
‫ﻣﺮاﺟﻊ‬
[1] P. Melville, V. Sindhwani, "Recommender Systems", Encyclopedia of Machine Learning, Springer, 2010.
[2] T. Hofmann, "Collaborative filtering via gaussian probabilistic latent semantic analysis", in Proceedings of
the 26th Annual International ACM SIGIR Conference on Research and Development in Information
Retrieval, 2003, pp. 259-266.
[3] T. Hofmann, "Latent semantic models for collaborative filtering", ACM Transactions on Information
Systems (TOIS), vol. 22, pp. 89-115, 2004.
[4] B. Marlin, "Modeling user rating profiles for collaborative filtering", Advances in Neural Information
Processing Systems, vol. 16, 2003.
[5] B. Marlin, "Collaborative filtering: A machine learning perspective", University of Toronto, 2004.
[6] D. M. Blei, A. Y. Ng, and M. I. Jordan, "Latent Dirichlet Allocation", Journal of Machine Learning
Research, vol. 3, pp. 993-1022, 2003.
[7] J. Han, "Mining heterogeneous information networks: the next frontier", in Proceedings of the 18th ACM
SIGKDD International Conference on Knowledge Discovery and Data Mining, 2012, pp. 2-3.
20
21
http://www.trustlet.org/wiki/Epinions_datasets
Heterogeneous