#1 - 2010-3-27 11:00
‌aligo
Tomodachi #1介绍
该算法名字叫Mio(自K-ON)
目前算法是采集用户评分数据,对用户打分较一致的项目(不论高低)给予较高的关联度
Mio算法决定采用关联度只由用户打分决定,和Tag、收视情况、评论情况、吐槽情况无关的关系
主要用以反映用户口味倾向来作为推荐支持

测试数据:
Bangumi的subject_interests表
生成日期:2010 年 03 月 26 日 21:57
打分数据:140,766条,6.8 MB
有效项目:3,531条

测试条件:
CentOS 32bit
Xeon 3.06GHz * 1
256MB RAM
MySQL 5.1.41
PHP 5.3.1,使用PDO_SQL方式连接,使用foreach遍历数据

测试结果:
学习计算复杂度:每项目0.2~1.5s*3,531条,共花费约21分钟完成记忆库学习
学习空间复杂度:为一个{mediumint,mediumint,float,smallint}的双索引记忆库,共2,879,974条,86.2 MB
推荐计算复杂度:一次查询,时间在0.001s以下
#2 - 2010-3-27 11:13
结果举例:
A.在过滤掉冷数据(共同评分用户较少)之后,与id=1424:K-ON关联前十的为:
id=1880:零之使魔 第一季
id=491:灼眼的夏娜 第二季
id=1014:魔法禁书目录
id=889:南家三姐妹:欢迎回来
id=866:噬魂师
id=1377:海猫鸣泣之时
id=902:神薙
id=490:灼眼的夏娜
id=1952:迦南
id=1010:机动战士高达OO第二季
#3 - 2010-3-27 11:17
B.在过滤掉冷数据(共同评分用户较少)之后,与id=3477:空之音关联前十的为:
id=1377:海猫鸣泣之时
id=3444:神隐之狼
id=3241:吸血鬼同盟
id=236:超时空要塞 Frontier
id=1606:凉宫春日的忧郁 2009
id=2567:学生会的一己之见
id=1952:迦南
id=3326:笨蛋,测验,召唤兽
id=1424:K-ON
id=2790:好想告诉你
#4 - 2010-3-27 11:33
C.在过滤掉冷数据(共同评分用户较少)之后,与id=2667:机动战士Z高达关联前十的为:
id=928:现视研
id=1010:机动战士高达OO第二季
id=300:俗 再见绝望先生
id=1729:GA 艺术科美术设计班
id=2097:秀逗魔导士
id=1510:美少女战士
id=1219:现视研2
id=593:聖闘士星矢: 冥王ハーデス十二宮編
id=1822:加奈日记
id=974:深渊传说
#5 - 2010-3-27 11:41
在列举结果中选择了热门的次新作品、次热门的最新作品、和不热门的老旧作品(热门和不热门是基于Bangumi收集到数据的而言,不代表真实世界之状况)
基于用户打分定义口味做法不需要较多数据支持,也能给出数据
但是可能的推荐结果不会优先给出那些内容有关联的项目(例如同系列的作品),但另外一种层面上来说有助于用户结实新作?

目前的主要杯具在于记忆库的空间复杂度上,因为采取n对n关联(优化后可为n(n-1)/2关联)的方式,所以记忆库条目数是以几何级数增加
但是学习计算复杂度和推荐计算复杂度并不算高

另外一点杯具来自于增量更新较困难(但并不是完全没有可能),也可说成是推荐支持得出的结论并不是实时的
#6 - 2010-3-27 11:43
(Awesome!)
仅靠打分算出来的果然不怎么靠谱,高达算出来的关联竟然只有一部是高达
#7 - 2010-3-27 11:48
于是我想使用昨天说的那种NERV的决策支持电脑Magi采用的那种三位一体或者多位一体的方式

另外想问问:interest_subject_type、interest_type、interest_ep_status是干嘛的。虽然能拆个大概,但是值对应是什么不清楚
#8 - 2010-3-27 14:13
(BGMのTrinitas<=>婊冈妈<=>补冈妈<=>拜冈妈 三位一体 ...)
呐尼口类?
#9 - 2010-3-27 14:54
Tomodachi #1 - Mio Techpreview2

此版本目的,算法不变,压缩数据
推荐结果理论上和前一个版本一致
所以测试条件均为之前相同,下面是有变化的部分

学习计算复杂度:每项目0.3~0.9s*3,531条,共花费约14分钟完成记忆库学习
学习空间复杂度:为一个{mediumint,mediumint,float,smallint}的双索引记忆库,共1,439,987条,45.7 MB
#10 - 2010-3-27 15:59
(BGMのTrinitas<=>婊冈妈<=>补冈妈<=>拜冈妈 三位一体 ...)
数据挖掘么?
#11 - 2010-3-27 16:02
(greetings from the ocean)
neural network吧~ 教会半谷米自己决定~
#12 - 2010-3-27 16:03
(BGMのTrinitas<=>婊冈妈<=>补冈妈<=>拜冈妈 三位一体 ...)
回头翻翻我的模糊控制课本