k k LݸͷજࡏҼࢠΛ࣋ͭͭͷߦྻͷੵʹ ΑΓɺݩͷධՁߦྻͷʹۙͮ͘Α͏ ͳA AͷΈ߹ΘͤΛ୳͢͜ͱ 0 B B @ ? ? ? ? ? ? ? ? 1 C C A ✓ ? ? ? ? ? ? ◆ = 0 B B @ 10 13 8 12 17 10 10 6 6 10 13 8 1 C C A ٻΊΒΕ֤ͨߦྻɺݩͷಛΛ·ͱΊͨߦྻͱΈͳ ͢͜ͱ͕Ͱ͖Δ w 6TFSͷಛΛL࣍ݩʹ·ͱΊͨߦྻ w *UFNͷಛΛL࣍ݩʹ·ͱΊͨߦྻ
k k LݸͷજࡏҼࢠΛ࣋ͭͭͷߦྻͷੵʹ ΑΓɺݩͷධՁߦྻͷʹۙͮ͘Α͏ ͳA AͷΈ߹ΘͤΛ୳͢͜ͱ 0 B B @ ? ? ? ? ? ? ? ? 1 C C A ✓ ? ? ? ? ? ? ◆ = 0 B B @ 10 13 8 12 17 10 10 6 6 10 13 8 1 C C A ˠ ϥϯμϜͳA AͷΈ߹Θ͔ͤΒٻΊ ͨͱɺਖ਼ղͷͷޡࠩΛখͯ͘͞͠ ͍͚Α͍ ˠޯ߱Լ๏
array_avg(i_rank) as Qi, avg(u_bias) as Bu, avg(i_bias) as Bi, min(mu) as mu FROM ( SELECT train_mf_sgd(account_id, creator_id, rating, '- factor 20 -iter 50 -update_mu') AS (idx, u_rank, i_rank, u_bias, i_bias, mu) FROM training ) t GROUP BY idx;
array_avg(i_rank) as Qi, avg(u_bias) as Bu, avg(i_bias) as Bi, min(mu) as mu FROM ( SELECT train_mf_sgd(account_id, creator_id, rating, '- factor 20 -iter 50 -update_mu') AS (idx, u_rank, i_rank, u_bias, i_bias, mu) FROM training ) t GROUP BY idx; ޙఔͰධՁͷฏۉΛ͏͕ɺ5SFBTVSF%BUB্ Ͱม͕͑ͳ͍ͷͰʢશͯಉ͡ʹͳΔ͕ʣ VQEBUFNVΦϓγϣϯΛͬͯɺ͜͜ͰٻΊ͓ͯ͘ ཧߏͱͯ͠ߦྻ͕ͩJEYڞ௨Խ͞Ε͓ͯΓ ͻͱͭͷςʔϒϧʹ֨ೲ͞ΕΔ 1V 2JͦΕͧΕϢʔβʔɺΞΠςϜʢ࡞Ոʣ͋ͨ ΓͷLݸͷજࡏҼࢠΛྻͱͯ࣋ͭ͠ USBJO@NG@THEʹΑΓ֬తޯ߱Լ๏ʹΑΔ .BUSJY'BDUPSJ[BUJPO͕ߦΘΕΔɻ ଞʹ"EB(SBE࠷దԽΛ͏USBJO@NG@BEBHSBE ͏͜ͱ͕Ͱ͖Δ
FROM ( SELECT t2.actual, mf_predict(if(size(t2.Pu)=0, null, t2.Pu), if(size(p2.Qi)=0, null, Qi), t2.Bu, p2.Bi, t2.mu) as predicted FROM ( SELECT t1.account_id, t1.creator_id, t1.rating as actual, p1.Pu, p1.Bu, p1.mu FROM testing t1 LEFT OUTER JOIN sgd_model p1 ON (t1.account_id = p1.idx) WHERE p1.Bu IS NOT NULL AND p1.mu IS NOT NULL ) t2 LEFT OUTER JOIN sgd_model p2 ON (t2.creator_id = p2.idx) ) t3; ֶशࡁΈϞσϧΛͬͯςετσʔλʹର͢Δ ."& 3.4&ΛٻΊΔʢখ͍͞΄ͲΑ͍ʣ
FROM ( SELECT ROW_NUMBER() OVER(PARTITION BY t1.account_id ORDER BY t1.predicted DESC) AS rank, t1.account_id, t1.creator_id, t1.predicted FROM ( SELECT accounts_creators.account_id, accounts_creators.creator_id, mf_predict(if(size(accounts.Pu)=0, null, accounts.Pu), if(size(creators.Qi)=0, null, creators.Qi), accounts.Bu, creators.Bi, accounts.mu) AS predicted FROM -- prediction for all accounts and creators ) t1 ) t2 WHERE t2.rank <= 100; ֤ΞΧϯτͷ༧ଌϨʔςΟϯά͕ߴ͍ͷΛ݅ NG@QSFEJDUʹΑΓֶशࡁΈͷϞσϧ͔Β֤ΞΠςϜʹର͢Δ ༧ଌϨʔςΟϯάΛٻΊΔ ΞΧϯτ͝ͱͷ༧ଌϨʔςΟϯάͰฒͼସ͑