<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>
<channel>
	<title>超群.com的博客 &#187; recommendation system</title>
	<atom:link href="http://www.fuchaoqun.com/tag/recommendation-system/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.fuchaoqun.com</link>
	<description></description>
	<lastBuildDate>Thu, 08 Sep 2011 15:08:19 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>基于关联规则的推荐系统</title>
		<link>http://www.fuchaoqun.com/2010/02/recommendation-system-on-association-rules/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=recommendation-system-on-association-rules</link>
		<comments>http://www.fuchaoqun.com/2010/02/recommendation-system-on-association-rules/#comments</comments>
		<pubDate>Sun, 21 Feb 2010 06:28:17 +0000</pubDate>
		<dc:creator>超群.com</dc:creator>
				<category><![CDATA[Data Mining]]></category>
		<category><![CDATA[association rules]]></category>
		<category><![CDATA[recommendation system]]></category>
		<guid isPermaLink="false">http://www.fuchaoqun.com/?p=305</guid>
		<description><![CDATA[首先，要了解关联规则的几个概念，定义N为总事务数，N(A)、N(B)分别为项集A、项集B出现的次数，N(AB)为项集A、项集B同时出现的次数，A、B为不相交项集A∩B=Ø，规则A→B表示由A推到B： 支持度（Support）： 支持度是一种重要度量，支持度低的规则很可能是偶然现象，对推荐意义不大，另外支持度是数据剪枝的一个重要依据。 置信度（Confidence）： 置信度，字面上的解释就是这个规则到底有多可信，对于给定的规则A→B，置信度越高，B出现在包含A的事务中的概率越高。 提升度（Lift）： Support(A→B)其实就是AB的联合概率P(AB)，Support(A) 、 Support(B)分别为A、B的概率估计P(A)、P(B)，如果A、B相互独立，则P(AB) = P(A) × P(B)，所以只有 Lift &#62; 1 才表示A、B正相关，且越大越好。 为什么要引入提升度的概念呢？还是拿歌曲来做例子，比如歌曲A、歌曲C为小众歌曲，歌曲B为口水歌，共有10万个用户，有200个人听过歌曲A，这200个人里面有60个听过口水歌B，有40个人听过歌曲C，同时听过歌曲C的人数是300，听过口水歌B的人为50000，那么Confidence(A→B) = 0.3，Confidence(A→C) = 0.2，从置信度来看貌似A和B更相关，但是10W人里面有5W听过歌曲B，说明有一半的用户都喜欢歌曲B，但听过歌曲A的人里面只有30%的人喜欢歌曲B，很明显歌曲A和歌曲B负相关，计算Lift(A→B) = 0.6，小于1，负相关，Lift(A→C) = 66.7，远大于1，正相关。 当然，还有一些其他的度量因子，可自行参阅其他文档。 可以进入正题了，我们要实验的是一个文学类的网站数据，数据格式如下： 用户ID 图书ID 表示此用户阅读过该图书，我们首先要解决的问题是：喜欢图书A的用户还喜欢其他哪些图书？（图书之间的相关性） 推荐流程： 数据清理：对用户和图书分别计数，过滤掉一些超不活跃的用户和超冷门的图书 计算两两图书之间的支持度、置信度、提升度，根据最低支持度、最低置信度、最低提升度剪枝，把低于最小值的规则扔掉 对图书A进行推荐：找出图书A的所有规则，按照置信度降序排序，Top-N即为和图书A最相关的前N本图书 非常简单，关键的就是数据清理以及规则剪枝设置，这需要对业务熟悉一些，提升度的话，如果不确认，大于1即可。 结果示例： 古龙:剑毒梅香(中) →古龙:剑毒梅香(上)&#124;古龙:剑毒梅香(下)&#124;武林第一少年:血欲江湖&#124;笑傲江湖之风清扬别传&#124;草根续写:天龙八部续 古龙:剑毒梅香(下) →古龙:剑毒梅香(中)&#124;古龙:剑毒梅香(上)&#124;武林第一少年:血欲江湖&#124;笑傲江湖之风清扬别传&#124;恐怖宿舍惊魂夜:女生寝室&#124;倚天屠龙记之复兴明教&#124;至尊武神:六脉神剑闹武林&#124;草根续写:天龙八部续 温瑞安：四大名捕猿猴月 → 四大名捕会京师:逆水寒&#124;温瑞安：四大名捕铁布衫&#124;四大名捕震关东－亡命&#124;四大名捕破神枪: 惨绿&#124;四大名捕破神枪－妖红&#124;四大名捕震关东－追杀&#124;温瑞安：四大名捕谈亭会&#124;温瑞安：四大名捕开谢花&#124;温瑞安：四大名捕碎梦刀&#124;四大名捕走龙蛇&#124;温瑞安：四大名捕猛鬼庙&#124;温瑞安神州奇侠:人世间 异界玄奇：尸池 → 荒村血鬼洞房:剥皮新娘&#124;真实恐怖:鬼宅小区&#124;丫鬟不好当:王爷,请自重&#124;人鬼恋:我的老婆不是人&#124;灵异事件全曝光:诡异档案&#124;恐怖的盗墓历险:荒村古墓&#124;校园僵尸&#124;古墓惊魂夜:坟岭村笔记&#124;阴阳眼之鬼瞳:荒道门&#124;极度恐怖乱坟头:墓地惊叫&#124;盗墓传说&#124;不解迷:殡仪馆里的化妆师&#124;凶尸宿舍惊魂声:猛鬼校园&#124;惊声尖叫:太平间美丽女尸&#124;生化疯狂撕杀之丧尸异形&#124;僵尸当街:遇上美女天师&#124;生化异族的入侵:吸血传说&#124;凶宅女尸:学院惊魂夜&#124;棺木里的眼球:古井沉尸&#124;校园恐怖女生寝室3:诡铃 变成有钱人并不难: 理财YS → 快速发财: 怎样做无本生意&#124;创业指南:三十六计&#124;成功三宝:习惯、心态、人脉&#124;掌控自己命运:读孙子兵法&#124;改变你一生的30个招术&#124;帮你成高手:口才决定成败&#124;左右逢源的做人心机术&#124;穷人与富人的差别&#124;最快的致富秘诀: 赢在观念&#124;做个聪明的老板: 经商要会说话&#124;把话说得滴水不漏全集&#124;职场:1分钟读懂对方心理&#124;恋人浪漫短信&#124;李嘉诚的谋局与处世&#124;股票入门:股票认知大全&#124;男人了解女人,女人了解男人&#124;教你理财:理财高手&#124;心机&#8211;做人的一种智慧&#124;必修课:这样做女孩最命好&#124;女人的身体·女人的智慧 [...]]]></description>
			<content:encoded><![CDATA[<p>首先，要了解<a href="http://en.wikipedia.org/wiki/Association_rule_learning" target="_blank">关联规则</a>的几个概念，定义<span style="color: #ff0000;">N</span>为总事务数，<span style="color: #ff0000;">N(A)</span>、<span style="color: #ff0000;">N(B)</span>分别为项集A、项集B出现的次数，<span style="color: #ff0000;">N(AB)</span>为项集A、项集B同时出现的次数，A、B为不相交项集A∩B=Ø，规则A→B表示由A推到B：</p>
<p><strong>支持度</strong>（Support）：</p>
<p style="padding-left: 30px;"><img class="alignnone" title="A、B同时出现的次数除以总事务数" src="http://www.fuchaoqun.com/wp-content/uploads/Support.png" alt="Support" width="203" height="38" /></p>
<p>支持度是一种重要度量，支持度低的规则很可能是偶然现象，对推荐意义不大，另外支持度是数据剪枝的一个重要依据。</p>
<p><strong>置信度</strong>（Confidence）：</p>
<p style="padding-left: 30px;"><img class="alignnone" title="A、B同时出现的次数除以A全部出现的次数" src="http://www.fuchaoqun.com/wp-content/uploads/Confidence.png" alt="Confidence" /></p>
<p>置信度，字面上的解释就是这个规则到底有多可信，对于给定的规则A→B，置信度越高，B出现在包含A的事务中的概率越高。</p>
<p><strong>提升度</strong>（Lift）：</p>
<p style="padding-left: 30px;"><img class="alignnone" title="A、B的支持度除以A的支持度和B的支持度" src="http://www.fuchaoqun.com/wp-content/uploads/Lift.png" alt="Lift" /></p>
<p>Support(A→B)其实就是AB的联合概率<em>P(AB)</em>，Support(A) 、 Support(B)分别为A、B的概率估计<em>P(A)</em>、<em>P(B)</em>，如果A、B相互独立，则<em>P(AB)</em> = <em>P(A)</em> × <em>P(B)</em>，所以只有 <span style="color: #ff0000;">Lift &gt; 1</span> 才表示A、B正相关，且越大越好。</p>
<p>为什么要引入提升度的概念呢？还是拿歌曲来做例子，比如歌曲A、歌曲C为小众歌曲，歌曲B为口水歌，共有10万个用户，有200个人听过歌曲A，这200个人里面有60个听过口水歌B，有40个人听过歌曲C，同时听过歌曲C的人数是300，听过口水歌B的人为50000，那么Confidence(A→B) = 0.3，Confidence(A→C) = 0.2，从置信度来看貌似A和B更相关，但是10W人里面有5W听过歌曲B，说明有一半的用户都喜欢歌曲B，但听过歌曲A的人里面只有30%的人喜欢歌曲B，很明显歌曲A和歌曲B负相关，计算Lift(A→B) = 0.6，小于1，负相关，Lift(A→C) = 66.7，远大于1，正相关。</p>
<p>当然，还有一些其他的度量因子，可自行参阅其他文档。</p>
<p>可以进入正题了，我们要实验的是一个文学类的网站数据，数据格式如下：</p>
<p style="padding-left: 30px;">用户ID    图书ID</p>
<p>表示此用户阅读过该图书，我们首先要解决的问题是：<strong>喜欢图书A的用户还喜欢其他哪些图书？</strong>（图书之间的相关性）</p>
<p><strong>推荐流程</strong>：</p>
<ul>
<li>数据清理：对用户和图书分别计数，过滤掉一些超不活跃的用户和超冷门的图书</li>
<li>计算<span style="color: #ff0000;">两两图书</span>之间的支持度、置信度、提升度，根据最低支持度、最低置信度、最低提升度剪枝，把低于最小值的规则扔掉</li>
<li>对图书A进行推荐：找出图书A的所有规则，按照置信度降序排序，Top-N即为和图书A最相关的前N本图书</li>
</ul>
<p>非常简单，关键的就是数据清理以及规则剪枝设置，这需要对业务熟悉一些，提升度的话，如果不确认，大于1即可。</p>
<p>结果示例：</p>
<p style="padding-left: 30px;">古龙:剑毒梅香(中) <span style="color: #ff0000;">→</span>古龙:剑毒梅香(上)|古龙:剑毒梅香(下)|武林第一少年:血欲江湖|笑傲江湖之风清扬别传|草根续写:天龙八部续<br />
古龙:剑毒梅香(下) <span style="color: #ff0000;">→</span>古龙:剑毒梅香(中)|古龙:剑毒梅香(上)|武林第一少年:血欲江湖|笑傲江湖之风清扬别传|恐怖宿舍惊魂夜:女生寝室|倚天屠龙记之复兴明教|至尊武神:六脉神剑闹武林|草根续写:天龙八部续<br />
温瑞安：四大名捕猿猴月 <span style="color: #ff0000;">→</span> 四大名捕会京师:逆水寒|温瑞安：四大名捕铁布衫|四大名捕震关东－亡命|四大名捕破神枪:  惨绿|四大名捕破神枪－妖红|四大名捕震关东－追杀|温瑞安：四大名捕谈亭会|温瑞安：四大名捕开谢花|温瑞安：四大名捕碎梦刀|四大名捕走龙蛇|温瑞安：四大名捕猛鬼庙|温瑞安神州奇侠:人世间<br />
异界玄奇：尸池 <span style="color: #ff0000;">→</span> 荒村血鬼洞房:剥皮新娘|真实恐怖:鬼宅小区|丫鬟不好当:王爷,请自重|人鬼恋:我的老婆不是人|灵异事件全曝光:诡异档案|恐怖的盗墓历险:荒村古墓|校园僵尸|古墓惊魂夜:坟岭村笔记|阴阳眼之鬼瞳:荒道门|极度恐怖乱坟头:墓地惊叫|盗墓传说|不解迷:殡仪馆里的化妆师|凶尸宿舍惊魂声:猛鬼校园|惊声尖叫:太平间美丽女尸|生化疯狂撕杀之丧尸异形|僵尸当街:遇上美女天师|生化异族的入侵:吸血传说|凶宅女尸:学院惊魂夜|棺木里的眼球:古井沉尸|校园恐怖女生寝室3:诡铃<br />
变成有钱人并不难:  理财YS <span style="color: #ff0000;">→</span> 快速发财:  怎样做无本生意|创业指南:三十六计|成功三宝:习惯、心态、人脉|掌控自己命运:读孙子兵法|改变你一生的30个招术|帮你成高手:口才决定成败|左右逢源的做人心机术|穷人与富人的差别|最快的致富秘诀:  赢在观念|做个聪明的老板: 经商要会说话|把话说得滴水不漏全集|职场:1分钟读懂对方心理|恋人浪漫短信|李嘉诚的谋局与处世|股票入门:股票认知大全|男人了解女人,女人了解男人|教你理财:理财高手|心机&#8211;做人的一种智慧|必修课:这样做女孩最命好|女人的身体·女人的智慧<br />
……</p>
<p>不再多举例子了，目测感觉大多比较靠谱。</p>
<p>Simpler could be better.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fuchaoqun.com/2010/02/recommendation-system-on-association-rules/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
	</channel>
</rss>
<!-- WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed! -->
