Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

随机梯度下降 socialmf #125

Closed
murdonson opened this issue Sep 4, 2017 · 8 comments
Closed

随机梯度下降 socialmf #125

murdonson opened this issue Sep 4, 2017 · 8 comments

Comments

@murdonson
Copy link

image
我觉得按照论文公式应该是下面注释的 但是 你的更好 为啥呢?

@Coder-Yu
Copy link
Owner

Coder-Yu commented Sep 4, 2017

应该是注释的那句,可能是我们组的同学编写的时候漏掉了正则项,我修复一下。效果可能有随机性在里面吧,另外一方面也跟正则项的系数有关,你调小一下系数可能会好些。感谢发现了问题

@Coder-Yu
Copy link
Owner

Coder-Yu commented Sep 4, 2017

你可以再其它社会化推荐的数据集上实验一下,filmtrust这个数据集比较小。相关数据集我已经整理到项目主页上

@murdonson
Copy link
Author

murdonson commented Sep 5, 2017

其实 严格按照论文的公式 你们的好像不对 虽然论文的公式我也不知道怎么求导出来 我只会求导成你们的公式。。。。。

image

而且按照你们的写法 socialmf不用logistic函数 而是把分数归一化 filmtrust ciao数据集信任值都是1 我感觉你们的socialmf 就和 soreg里面的average-based方法是一样的 对不(`・ω・´)

@Coder-Yu
Copy link
Owner

Coder-Yu commented Sep 5, 2017

并不是,logistic函数在他论文里就是起个归一化的作用(论文里也有说明),我们为了加速算法运行,去掉了这一步。然后你按随机梯度下降重写他的目标函数,相当于去掉了所有sigma符号,再求导就是我们代码实现中这样了。我个人认为logistic函数用在这里除了让公式更复杂,实际计算量更大,没有什么积极作用。所以我在实现的时候都采用的最大最小值归一化。RecQ里面所有的算法都是基于随机梯度下降实现的。

@murdonson
Copy link
Author

上面划红线公式 后面减兰不大t那一项不知道怎么求导出来。。。。明明是Tu v 为啥变成了Tv u 求答疑ʘᴗʘ

@Coder-Yu
Copy link
Owner

Coder-Yu commented Sep 5, 2017

最后那项是因为u如果也关注了其它用户,那么它也变成了对应的Uv,所以求导成了这样。你用SGD求导,就没有最后那项。你把优化函数里面最后一项拆开成Uu(.....)^2+ Sigma(uer!=Uu)(......)^2就明白了,Uu可能出现在后面这一部分里面。

@murdonson
Copy link
Author

image
弄懂了 撒花✿✿ヽ(°▽°)ノ✿

@Coder-Yu
Copy link
Owner

Coder-Yu commented Sep 6, 2017

就是这样的。欢迎各种提问与建议,有时间我都会回复的

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants