<?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>Information Retrieval Blog &#187; machine learning</title>
	<atom:link href="http://blog.zye.me/tag/machine-learning/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.zye.me</link>
	<description>REAL TIME DATA PROCESSING, DISTRIBUTED COMPUTING, PATTERN DISCOVERY</description>
	<lastBuildDate>Wed, 08 Feb 2012 17:33:32 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>垂直搜索简单调研</title>
		<link>http://blog.zye.me/2011/07/20952.html</link>
		<comments>http://blog.zye.me/2011/07/20952.html#comments</comments>
		<pubDate>Fri, 22 Jul 2011 02:27:28 +0000</pubDate>
		<dc:creator>yezheng</dc:creator>
				<category><![CDATA[MISC]]></category>
		<category><![CDATA[machine learning]]></category>
		<category><![CDATA[信息检索]]></category>
		<category><![CDATA[垂直搜索]]></category>

		<guid isPermaLink="false">http://www.5yiso.cn/2008/03/20952.html</guid>
		<description><![CDATA[垂直搜索 1、&#160; 为什么需要垂直搜索 &#160;&#160; 随着Web信息地迅猛增长以及互联网用户群地扩大，通用搜索引擎越来越难满足用户的信息需求。近些年，垂直搜索引擎凭借着其更新块、领域信息量大、搜索结果更准确等特点，越来越受欢迎。【4】 2、&#160; 垂直搜索的分类 目前垂直搜索引擎主要分为： 1、网页级垂直搜索 Page Level Vertical Search (如：Google Scholar)； &#160;&#160; 即类似于某一个行业的google或百度，除了爬虫技术外，其他技术跟通用搜索引擎差不多。 2、对象级垂直搜索 Object Level Vertical Search (如：MSRA Libra) 【7】 &#160;&#160;&#160;&#160;&#160; 把网页中的数据对象(如物品的价格)做为检索的单元，其有点是查询功能更强大，可直接回答用户查询，并能汇总查询结果，能实现象传统数据库一样的效果。 &#160;&#160;&#160;&#160;&#160; 由于当领域的数据相对更加结构化和统一，所以比较容易定义和抽取数据对象(有用的领域数据)。此类垂直搜索引擎技术相对较复杂。 3、&#160; 对象级垂直搜索用到的主要技术【7】（） 爬虫技术 focused spider 针对特定领域的信息抽取 Web Object Extraction 信息整合 Object Integration 排序&#160; Object Ranking &#160; 文献【1】中介绍一种内容和链接分析相结合的指定主题的爬行算法。 文献【2】中概述了垂直搜索引擎所要用到的技术，一般有两种方法建立垂直搜索引擎，一种是自己搜集领域数据并建立索引和提供查询（crawling before query time ，crawling at query time）；另一种，是借助其他搜索引擎的索引数据提供服务（Metasearching specialized <a href='http://blog.zye.me/2011/07/20952.html'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p><font face="Verdana"></font><font size="2"><br />
</font><font face="Verdana"></font><font size="2">垂直搜索</font>
<div>
<div>
<p><font face="Verdana"></font><font size="2"></font><font face="Times New Roman"></font><font size="3">1、</font>&nbsp;<br />
<font face="Verdana"></font><font size="2"></font><font size="3">为什么需要垂直搜索</font></p>
<p><font face="Verdana"></font><font size="2"></font><font size="3"></font><font face="Times New Roman">&nbsp;&nbsp;<br />
</font>随着<font face="Times New Roman">Web</font>信息地迅猛增长以及互联网用户群地扩大，通用搜索引擎越来越难满足用户的信息需求。近些年，垂直搜索引擎凭借着其更新块、领域信息量大、搜索结果更准确等特点，越来越受欢迎。【<font face="Times New Roman">4</font>】</p>
<p><font face="Verdana"></font><font size="2"></font><font face="Times New Roman"></font><font size="3">2、</font>&nbsp;<br />
<font face="Verdana"></font><font size="2"></font><font size="3">垂直搜索的分类</font></p>
<p align="left"><font face="Verdana"></font><font size="2"></font><font size="3">目前垂直搜索引擎主要分为：</font></p>
<p align="left"><font face="Verdana"></font><font size="2"></font><font size="3"></font><font face="Times New Roman">1</font>、网页级垂直搜索<font face="Times New Roman"> Page Level Vertical Search<br />
(</font>如：<font face="Times New Roman">Google Scholar)</font>；</p>
<p align="left"><font face="Verdana"></font><font size="2"></font><font size="3"></font><font face="Times New Roman">&nbsp;&nbsp; </font>即类似于某一个行业的<font face="Times New Roman">google</font>或百度，除了爬虫技术外，其他技术跟通用搜索引擎差不多。</p>
<p align="left"><font face="Verdana"></font><font size="2"></font><font size="3"></font><font face="Times New Roman">2</font>、对象级垂直搜索<font face="Times New Roman"> Object Level Vertical Search<br />
(</font>如：<font face="Times New Roman">MSRA Libra)</font><br />
【7】</p>
<p align="left"><font face="Verdana"></font><font size="2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font><font face="Verdana"></font><font size="2">把网页中的数据对象</font><font face="Verdana"></font><font size="2">(</font><font face="Verdana"></font><font size="2">如物品的价格</font><font face="Verdana"></font><font size="2">)</font><font face="Verdana"></font><font size="2">做为检索的单元，其有点是查询功能更强大，可直接回答用户查询，并能汇总查询结果，能实现象传统数据库一样的效果。</font></p>
<p align="left"><font face="Verdana"></font><font size="2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font><font face="Verdana"></font><font size="2">由于当领域的数据相对更加结构化和统一，所以比较容易定义和抽取数据对象</font><font face="Verdana"></font><font size="2">(</font><font face="Verdana"></font><font size="2">有用的领域数据</font><font face="Verdana"></font><font size="2">)</font><font face="Verdana"></font><font size="2">。此类垂直搜索引擎技术相对较复杂。</font></p>
<p><font face="Verdana"></font><font size="2"></font><font face="Times New Roman"></font><font size="3">3、</font>&nbsp;<br />
<font face="Verdana"></font><font size="2"></font><font size="3">对象级垂直搜索用到的主要技术【</font><font face="Times New Roman">7</font>】（）</p>
<p><font face="Verdana"></font><font size="2"></font><font size="3">爬虫技术</font><font face="Times New Roman"> focused spider<br />
</font></p>
<p align="left"><font face="Verdana"></font><font size="2"></font><font size="3">针对特定领域的信息抽取</font><font face="Times New Roman"> Web Object<br />
Extraction</font></p>
<p align="left"><font face="Verdana"></font><font size="2"></font><font size="3">信息整合</font><font face="Times New Roman"> Object<br />
Integration</font></p>
<p align="left"><font face="Verdana"></font><font size="2"></font><font size="3">排序</font><font face="Times New Roman">&nbsp;<br />
Object Ranking</font></p>
<p align="left"><font face="Verdana"></font><font size="2"></font><font face="Times New Roman" size="3">&nbsp;</font></p>
<p align="left"><font face="Verdana"></font><font size="2"></font><font size="3">文献【</font><font face="Times New Roman">1</font>】中介绍一种内容和链接分析相结合的指定主题的爬行算法。</p>
<p align="left"><font face="Verdana"></font><font size="2"></font><font size="3">文献【</font><font face="Times New Roman">2</font>】中概述了垂直搜索引擎所要用到的技术，一般有两种方法建立垂直搜索引擎，一种是自己搜集领域数据并建立索引和提供查询（<font face="Times New Roman">crawling before query time<br />
</font>，<font face="Times New Roman">crawling at query<br />
time</font>）；另一种，是借助其他搜索引擎的索引数据提供服务（<font face="Times New Roman">Metasearching specialized<br />
databases</font>）。并且该文指出了垂直搜索引擎的不足，一般用户都希望通过一个通用的界面查询到某个领域的垂直搜索引擎才能查询到的信息，并给出了弥补该不足的建议。</p>
<p align="left"><font face="Verdana"></font><font size="2"></font><font size="3">文献【</font><font face="Times New Roman">4</font>】中报告了作者在构建垂直搜索引擎中的经验，并对其实现纳米技术领域垂直搜索引擎的两种方法做了详细比较。一种是基于服务器端的垂直搜索引擎，另一种是基于客户端的搜索引擎。</p>
<p><font face="Verdana"></font><font size="2"></font><font size="3">由于领域众多且各有其特点，所以垂直搜索引擎难于建立和维护。文献【</font><font face="Times New Roman">6</font>】中针对此种情况，讨论了机器学习的方法在构建和维护垂直搜索引擎中的应用。</p>
<p><font face="Verdana"></font><font size="2"></font><font face="Times New Roman" size="3">&nbsp;</font></p>
<p align="left"><font face="Verdana"></font><font size="2"></font><font face="Times New Roman"><b><font size="3">1.</font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</b><b><font size="3">Combining Text and Link Analysis for Focused<br />
Crawling</font></b></font></p>
<p align="left"><font face="Verdana"></font><font size="2"></font><font face="Times New Roman"><b><font size="3">2.</font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</b><b><font size="3">2R. Steele, &#8220;Techniques for Specialized Search Engines&#8221;, in Proc Internet<br />
Computing, &nbsp;Las&nbsp; Vegas,<br />
2001</font></b></font></p>
<p align="left"><font face="Verdana"></font><font size="2"></font><font face="Times New Roman"><b><font size="3">3.</font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</b><b><font size="3">SpidersRUs: Automated Development of Vertical Search Engines in Different<br />
Domains and Languages</font></b></font></p>
<p align="left"><font face="Verdana"></font><font size="2"></font><font face="Times New Roman"><b><font size="3">4.</font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</b><b><font size="3">Comparison of Two Approaches to Building a Vertical Search Tool: A Case<br />
Study in the Nanotechnology Domain Michael<br />
Chau</font></b></font></p>
<p align="left"><font face="Verdana"></font><font size="2"></font><font face="Times New Roman"><b><font size="3">5.</font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</b><b><font size="3">A Machine Learning Approach to Building Domain-Specic Search Engines&nbsp; Andrew<br />
McCallumzy</font></b></font></p>
<p align="left"><font face="Verdana"></font><font size="2"></font><font face="Times New Roman"><b><font size="3">6.</font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</b><b><font size="3">Object-Level Vertical Search</font></b></font><font size="3"><b>（报告）</b><b><font face="Times New Roman">&nbsp; Zaiqing<br />
Nie&nbsp; Microsoft Research<br />
Asia</font></b></font></p>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.zye.me/2011/07/20952.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What is Latent Class Analysis?</title>
		<link>http://blog.zye.me/2011/07/37440.html</link>
		<comments>http://blog.zye.me/2011/07/37440.html#comments</comments>
		<pubDate>Tue, 19 Jul 2011 14:28:03 +0000</pubDate>
		<dc:creator>yezheng</dc:creator>
				<category><![CDATA[machine learning]]></category>
		<category><![CDATA[LCA]]></category>
		<category><![CDATA[LCM]]></category>

		<guid isPermaLink="false">http://www.5yiso.cn/2008/07/37440.html</guid>
		<description><![CDATA[Some valuable links for LCA. http://ourworld.compuserve.com/homepages/jsuebersax/faq.htm http://en.wikipedia.org/wiki/Latent_class_model http://en.wikipedia.org/wiki/Latent_variable_model]]></description>
			<content:encoded><![CDATA[<p>Some valuable links for LCA.</p>
<p><a href="http://ourworld.compuserve.com/homepages/jsuebersax/faq.htm" target="_blank">http://ourworld.compuserve.com/homepages/jsuebersax/faq.htm</a></p>
<p><a href="http://en.wikipedia.org/wiki/Latent_class_model" target="_blank">http://en.wikipedia.org/wiki/Latent_class_model</a></p>
<p><a href="http://en.wikipedia.org/wiki/Latent_variable_model" target="_blank">http://en.wikipedia.org/wiki/Latent_variable_model</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.zye.me/2011/07/37440.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What is SVM?</title>
		<link>http://blog.zye.me/2011/07/32156.html</link>
		<comments>http://blog.zye.me/2011/07/32156.html#comments</comments>
		<pubDate>Wed, 06 Jul 2011 14:28:16 +0000</pubDate>
		<dc:creator>yezheng</dc:creator>
				<category><![CDATA[machine learning]]></category>
		<category><![CDATA[SVM]]></category>

		<guid isPermaLink="false">http://www.5yiso.cn/2008/05/32156.html</guid>
		<description><![CDATA[The Support Vector (SV) learning algorithm (Boser, Guyon, Vapnik, 1992; Cortes, Vapnik, 1995; Vapnik, 1995) provides a general method for solving Pattern Recognition, Regression Estimation and Operator Inversion problems. The method is based on results in the theory of learning with finite sample sizes. The last few years have witnessed an increasing interest in SV <a href='http://blog.zye.me/2011/07/32156.html'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p><strong>The Support Vector (SV) learning algorithm (Boser, Guyon, Vapnik, 1992;<br />
Cortes, Vapnik, 1995; Vapnik, 1995) provides a general method for solving<br />
Pattern Recognition, Regression Estimation and Operator Inversion problems.<br />
The method is based on results in the theory of learning with finite sample sizes.<br />
The last few years have witnessed an increasing interest in SV machines, due<br />
largely to excellent results in pattern recognition, regression estimation and<br />
time series prediction experiments.</strong></p>
<p><em>References</em><br />
Cristianini, N., Shawe-Taylor, J., <em><strong><a href="http://www.support-vector.net/" target="_blank">An Introduction to Support Vector Machines</a></strong></em>, Cambridge University Press, (2000).<br />
Schölkopf, S., Burges, C. J. C., Smola, A. J.,<strong><em><a href="http://kernel-machines.org/nips97/book.html" target="_blank"> Advances in Kernel Methods: Support Vector Learning</a></em></strong>, MIT Press, Cambridge, MA, (1999).<br />
Vapnik, V. <em>Statistical Learning Theory.</em> Wiley-Interscience, New York, (1998).<br />
Publication list at <em><a href="http://kernel-machines.org/publications.html" target="_blank">kernel-machines.org </a></em><br />
References in<em> <a href="http://www.support-vector.net/references.html" target="_blank">An Introduction to Support Vector Machines. </a></em></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.zye.me/2011/07/32156.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bayesian inference到NLP方面的研究讨论（水木社区）</title>
		<link>http://blog.zye.me/2011/06/3348.html</link>
		<comments>http://blog.zye.me/2011/06/3348.html#comments</comments>
		<pubDate>Tue, 28 Jun 2011 02:28:02 +0000</pubDate>
		<dc:creator>yezheng</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[bayesian]]></category>
		<category><![CDATA[bayesian inference]]></category>
		<category><![CDATA[machine learning]]></category>
		<category><![CDATA[ML]]></category>
		<category><![CDATA[NLP]]></category>
		<category><![CDATA[信息检索]]></category>

		<guid isPermaLink="false">http://jeffye.yo2.cn/articles/bayesian-inference%e5%88%b0nlp%e6%96%b9%e9%9d%a2%e7%9a%84%e7%a0%94%e7%a9%b6%e8%ae%a8%e8%ae%ba%ef%bc%88%e6%b0%b4%e6%9c%a8%e7%a4%be%e5%8c%ba%ef%bc%89.html</guid>
		<description><![CDATA[http://www.newsmth.net/bbstcon.php?board=NLP&#038;gid=1852 发信人: mirror (mirror), 信区: NLP 标 题: 请问用应用Bayesian inference到NLP方面的研究多么 发信站: 水木社区 (Sat Sep 8 21:26:58 2007), 站内 例如到分词，文本分类啥的……。 &#8211; ※ 来源:·水木社区 newsmth.net·[FROM: 202.127.16.*] [本篇全文] [本篇作者：zhjin] [进入讨论区] [返回顶部] 2 发信人: zhjin (sweptAway), 信区: NLP 标 题: Re: 请问用应用Bayesian inference到NLP方面的研究多么 发信站: 水木社区 (Mon Sep 10 17:27:21 2007), 站内 原来的不算太多， 不过这两年有一个 mm 叫 Sharon Goldwater, 一个牛人 Mark <a href='http://blog.zye.me/2011/06/3348.html'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p>http://www.newsmth.net/bbstcon.php?board=NLP&#038;gid=1852</p>
<p id="art1852" class="article">发信人: mirror (mirror), 信区: NLP<br />
标 题: 请问用应用Bayesian inference到NLP方面的研究多么<br />
发信站: 水木社区 (Sat Sep 8 21:26:58 2007), 站内</p>
<p>例如到分词，文本分类啥的……。</p>
<p>&#8211;</p>
<p>※ 来源:·水木社区 newsmth.net·[FROM: 202.127.16.*]
</p>
<p class="tconPager smaller left">[<a href="http://ir.dlut.edu.cn:88/hbcms/php/r.php?url=http%3A%2F%2Fwww.newsmth.net%2Fbbscon.php%3Fbid%3D1018%26amp%3Bid%3D1860">本篇全文</a>] [本篇作者：<a href="http://ir.dlut.edu.cn:88/hbcms/php/r.php?url=http%3A%2F%2Fwww.newsmth.net%2Fbbsqry.php%3Fuserid%3Dzhjin">zhjin</a>] [<a href="http://ir.dlut.edu.cn:88/hbcms/php/r.php?url=http%3A%2F%2Fwww.newsmth.net%2Fbbsdoc.php%3Fboard%3DNLP">进入讨论区</a>] [<a href="http://ir.dlut.edu.cn:88/hbcms/php/r.php?url=http%3A%2F%2Fwww.newsmth.net%2Fbbstcon.php%3Fboard%3DNLP%26amp%3Bgid%3D1852%23top">返回顶部</a>]</p>
<p class="tnum">2</p>
<p>发信人: zhjin (sweptAway), 信区: NLP<br />
标 题: Re: 请问用应用Bayesian inference到NLP方面的研究多么<br />
发信站: 水木社区 (Mon Sep 10 17:27:21 2007), 站内</p>
<p>原来的不算太多， 不过这两年有一个 mm 叫 Sharon Goldwater,<br />
一个牛人 Mark Johnson 的学生，博士论文做的就是 贝叶斯模型在分词中的应用。<br />
使用的是 dirichlet process, 在 machine learning 领域其实已经很多研究了，<br />
不过这两年被应用到 NLP 领域了。</p>
<p>Sharaon goldwater 这两年发了不少基于贝叶斯模型的paper, 读她的论文需要相当<br />
的统计学功底， 反正我是读的头昏脑胀。 不过我导师的评价是她把这些方法引到<br />
NLP 领域， 在未来的5年里估计会流行起来。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.zye.me/2011/06/3348.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Papers Written by Googlers</title>
		<link>http://blog.zye.me/2011/06/27952.html</link>
		<comments>http://blog.zye.me/2011/06/27952.html#comments</comments>
		<pubDate>Sat, 25 Jun 2011 14:27:47 +0000</pubDate>
		<dc:creator>yezheng</dc:creator>
				<category><![CDATA[Research]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[information Retrieval]]></category>
		<category><![CDATA[machine learning]]></category>
		<category><![CDATA[papers]]></category>

		<guid isPermaLink="false">http://www.5yiso.cn/2008/04/27952.html</guid>
		<description><![CDATA[Google公布了很多他们研究的papers，感觉很多非常不错。下面是链接 Below is a partial list of publications by people after joining Google, organized by category. There is also a list  organized by year , and an atom feed is also available. Categories Algorithms and Theory (151) Artificial Intelligence and Data Mining (72) Audio, Video, and Image Processing (79) Distributed Systems and Parallel Computing (117) <a href='http://blog.zye.me/2011/06/27952.html'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p>Google公布了很多他们研究的papers，感觉很多非常不错。下面是链接</p>
<p>Below is a partial list of publications by people after joining Google,<br />
 organized by category. There is also a list  <a href="http://research.google.com/pubs/papers.html">organized by year</a> , and an <a href="atom.xml">atom<br />
 feed <img src="http://video.google.com/images/feed.gif" border="0" alt="Atom Feed" width="16" height="15" /></a> is also<br />
 available.</p>
<p><br class="spacer_" /></p>
<h3>Categories</h3>
<div>
<ul>
<li>Algorithms and Theory (151)</li>
<li>Artificial Intelligence and Data Mining (72)</li>
<li>Audio, Video, and Image Processing (79)</li>
<li>Distributed Systems and Parallel Computing (117)</li>
<li>Education (5)</li>
<li>General Science (22)</li>
<li>Human-Computer Interaction and Visualization (69)</li>
</ul>
<ul>
<li>Hypertext and the Web (26)</li>
<li>Information Retrieval (59)</li>
<li>Machine Learning (122)</li>
<li>Natural Language Processing (110)</li>
<li>Security, Cryptography, and Privacy (85)</li>
<li>Software Engineering (33)</li>
<li>Systems (10)</li>
</ul>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.zye.me/2011/06/27952.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lucene 2.3: 索引性能500%提升，一个有关机器学习的项目Mahout 将启动</title>
		<link>http://blog.zye.me/2011/05/3993.html</link>
		<comments>http://blog.zye.me/2011/05/3993.html#comments</comments>
		<pubDate>Fri, 27 May 2011 02:28:20 +0000</pubDate>
		<dc:creator>yezheng</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Hadoop]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[lucene]]></category>
		<category><![CDATA[machine learning]]></category>
		<category><![CDATA[ML]]></category>
		<category><![CDATA[信息检索]]></category>

		<guid isPermaLink="false">http://www.5yiso.cn/articles/lucene-23-%e7%b4%a2%e5%bc%95%e6%80%a7%e8%83%bd500%e6%8f%90%e5%8d%87%ef%bc%8c%e4%b8%80%e4%b8%aa%e6%9c%89%e5%85%b3%e6%9c%ba%e5%99%a8%e5%ad%a6%e4%b9%a0%e7%9a%84%e9%a1%b9%e7%9b%aemahout-%e5%b0%86.html</guid>
		<description><![CDATA[Good news，值得期待，这个有关机器学习的项目是建立在Hadoop平台上，大规模的处理成为可能。 下面这篇文章来源于InfoQ, 后面的翻译也来自于InfoQ http://www.infoq.com/news/2008/01/lucene-23-mahout Posted by Ryan Slobojan on Jan 24, 2008 10:00 PM Lucene 2.3: Large indexing performance improvements, new machine-learning project Community Java Topics Search, Open Source The Apache Lucene project, a high-performance full-featured text search engine library written entirely in Java, released version 2.3 today. InfoQ spoke with committer and Project <a href='http://blog.zye.me/2011/05/3993.html'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p style="TEXT-ALIGN: justify">Good news，值得期待，这个有关机器学习的项目是建立在Hadoop平台上，大规模的处理成为可能。</p>
<p style="TEXT-ALIGN: justify">下面这篇文章来源于InfoQ, 后面的翻译也来自于InfoQ</p>
<p><a href="http://www.infoq.com/news/2008/01/lucene-23-mahout" target="_blank" title="http://www.infoq.com/news/2008/01/lucene-23-mahout">http://www.infoq.com/news/2008/01/lucene-23-mahout</a></p>
<p class="info">Posted by <strong>Ryan Slobojan</strong> on Jan 24, 2008 10:00 PM</p>
<dl class="tags2">
<dt class="community">Lucene 2.3: Large indexing performance improvements, new machine-learning project</dt>
<dt class="community">Community</dt>
<dd><a title="java" href="http://www.infoq.com/java;jsessionid=0BC6E7567CAAB374CD0285558145890B" id="1" onclick="try {CategoryPopup.showPopup(this);} catch(e) {}; return false;" name="java">Java</a></dd>
<dt class="topics">Topics</dt>
<dd><a title="search" href="http://www.infoq.com/search;jsessionid=0BC6E7567CAAB374CD0285558145890B" id="228" onclick="try {CategoryPopup.showPopup(this);} catch(e) {}; return false;" name="search">Search</a>,</dd>
<dd><a title="opensource" href="http://www.infoq.com/opensource;jsessionid=0BC6E7567CAAB374CD0285558145890B" id="221" onclick="try {CategoryPopup.showPopup(this);} catch(e) {}; return false;" name="opensource">Open Source</a></dd>
</dl>
<p>The <a href="http://lucene.apache.org/">Apache Lucene</a> project, a high-performance full-featured text search engine library written entirely in Java, released <a href="http://lucene.apache.org/java/docs/index.html#24+January+2008+-+Lucene+Java+2.3.0+available">version 2.3</a> today. InfoQ spoke with committer and <a href="http://lucene.apache.org/who.html">Project Management Committee (PMC) member</a> <a href="http://www.grantingersoll.com/">Grant Ingersoll</a> to learn more about this release and the future plans for Lucene.</p>
<p>Ingersoll indicated that the largest change in this release is a new indexing algorithm, which uses new in-memory models to achieve large speed improvements. According to Ingersoll, simply switching the existing Lucene 2.2 JAR for a Lucene 2.3 JAR resulted in speed-ups of 500% in indexing performance in several tests which were performed. Other changes include:</p>
<ul>
<li><strong>Improved index management</strong> &#8211; long pauses which were occasionally seen during indexing due to merging of internal index files have been eliminated, and other approaches to managing the indexing process are now easy to implement</li>
<li><strong>Object pooling</strong> &#8211; <code>Document</code>, <code>Field</code> and <code>Token</code> instances can now be reused during indexing analysis, which both speeds up analysis and reduces the number of allocations during indexing</li>
<li><strong>IndexReader reopening</strong> &#8211; Reopening an IndexReader to capture the latest changes in an index is now much faster with the new reopen() method, which loads in only those index segments which have changed rather than reloading the entire index</li>
<li><strong>Easier IndexWriter tuning</strong> &#8211; The <code>setMaxBufferedDocs</code> method has been supplanted by the more intuitive <code>setRAMBufferSizeMB</code> method</li>
</ul>
<p>In addition, 2.3 is intended to be a drop-in replacement for 2.2, with no recompilation required. A <a href="http://svn.apache.org/repos/asf/lucene/java/tags/lucene_2_3_0/CHANGES.txt">comprehensive changelog</a> is also available.</p>
<p>Ingersoll also discussed the future plans for Lucene, saying that the next release would be 2.9. The 2.9 release will be a relatively minor, with items being marked as deprecated and other clean-up being performed in preparation for Lucene 3.0. The 3.0 version will be a major release which will involve moving the codebase to JDK 5 as the minimum supported codebase &#8211; the other major features of 3.0 are yet to be determined.</p>
<p>The Lucene community as a whole was also discussed, with Ingersoll indicating that Lucene and <a href="http://lucene.apache.org/solr/">Solr</a> have a strong integration, and that <a href="http://lucene.apache.org/nutch/">Nutch</a>, <a href="http://incubator.apache.org/tika/">Tika</a> and <a href="http://lucene.apache.org/hadoop/">Hadoop</a> also enjoyed a fair amount of intercommunication. Ingersoll also described a new project named <a href="http://ml-site.grantingersoll.com/index.php?title=Main_Page">Mahout</a> which he is in the process of launching:</p>
<blockquote><p>That will be a separate project, but may be beneficial to Lucene users. There are currently some patches in JIRA for Lucene that implement ML algorithms. The goal of this project is to provide commercial quality, large scale <span style="PADDING-RIGHT: 0pt; DISPLAY: inline; PADDING-LEFT: 0pt; PADDING-BOTTOM: 0pt; COLOR: black; PADDING-TOP: 0pt; BACKGROUND-COLOR: yellow" id="__firefox-findbar-search-id">machine</span> learning (ML) algorithms built on Hadoop under an Apache license. I have seen a fair amount of interest already, and hope to have this project underway in the coming month.</p>
</blockquote>
<p><a href="http://lucene.grantingersoll.com/2007/12/26/the-two-flavors-of-google-nice-article-on-hadoop/">Ingersoll said</a> that, by creating Mahout, he hoped to &#8220;further unlock the mysteries of Google and companies like it to provide these capabilities to the masses and spur on new innovation in the space&#8221; &#8212; for those with an interest in this new project, there are both a <a href="http://ml-site.grantingersoll.com/index.php?title=Project_Plan">project plan</a> and an <a href="http://ml-site.grantingersoll.com/index.php?title=Incubator_proposal">incubator proposal</a> available.</p>
<p><a href="http://lucene.apache.org/">Apache Lucene</a>项目是一个完全用Java编写的高性能、全功能的文本搜索引擎库，今天它发布了<a href="http://lucene.apache.org/java/docs/index.html#24+January+2008+-+Lucene+Java+2.3.0+available">2.3版</a>。InfoQ采访了<a href="http://lucene.apache.org/who.html">项目管理委员会（PMC）成员</a>以及提交者，<a href="http://www.grantingersoll.com/">Grant Ingersoll</a>，以深入了解这次发布的版本以及Lucene未来的计划。</p>
<p>Ingersoll认为这次的版本中最大的变化是新的索引算法，它使用了新的in-memory模型来达到大幅的速度提升。据Ingersoll 说，单单是把Lucene 2.2 JAR换成Lucene 2.3 JAR就能在某些测试中把索引性能提速500%。其他改变还包括：</p>
<ul>
<li><strong>改进的索引管理</strong>&#8211;以前在索引过程中，当合并内部索引文件时偶尔会出现长时间的停顿，现在已经消灭了这种现象。另外现在也更容易实现其他途径去管理索引过程。</li>
<li><strong>对象池</strong>&#8211;<code>Document</code>、<code>Field</code>和<code>Token</code>的实例现在可在索引分析中重用，因此不但提升了分析的速度，还减少了索引过程中的内存分配次数。</li>
<li><strong>重新打开IndexReader</strong> &#8211;重新打开一个IndexReader去捕捉索引中最新的变化，这个操作的速度现在也更快了，新的reopen()方法只会加载那些变更过的索引片断，而不是重新加载完整的索引。</li>
<li><strong>更简易的IndexWriter微调</strong>&#8211;<code>setMaxBufferedDocs</code>已被更直观的<code>setRAMBufferSizeMB</code>所取代。</li>
</ul>
<p>另外，2.3的目标是只需通过文件替换就能换下2.2，完全不需要重新编译。这里是<a href="http://svn.apache.org/repos/asf/lucene/java/tags/lucene_2_3_0/CHANGES.txt">完整的更新说明</a>。</p>
<p>Ingersoll还谈论了Lucene未来的计划，他说下一版将会是2.9。2.9版是相对改动较小的版本，有些部分会被标为废弃，还会为了给 Lucene 3.0做准备而进行一些清理。3.0版是一个重大的版本，包括把代码库迁移到JDK5，以之作为最低要求。3.0的其他主要特性还有待决定。</p>
<p>采访中还讨论了Lucene社区的总体情况。Ingersoll表示Lucene和<a href="http://lucene.apache.org/solr/">Solr</a>结合得很紧密，</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.zye.me/2011/05/3993.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>机器学习介绍</title>
		<link>http://blog.zye.me/2011/04/3362.html</link>
		<comments>http://blog.zye.me/2011/04/3362.html#comments</comments>
		<pubDate>Sat, 30 Apr 2011 02:29:30 +0000</pubDate>
		<dc:creator>yezheng</dc:creator>
				<category><![CDATA[machine learning]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[信息检索]]></category>

		<guid isPermaLink="false">http://jeffye.yo2.cn/articles/%e6%9c%ba%e5%99%a8%e5%ad%a6%e4%b9%a0%e4%bb%8b%e7%bb%8d.html</guid>
		<description><![CDATA[  机器学习(Machine Learning)是研究计算机怎样模拟或实现人类的学习行为，以获取新的知识或技能，重新组织已有的知识结构使之不断改善自身的性能。它是人工智能的核 心，是使计算机具有智能的根本途径，其应用遍及人工智能的各个领域，它主要使用归纳、综合而不是演译。      机器学习是关于理解与研究学习的内在机制、建立能够通过学习自动提高自身水平的计算机程序的理论方法的学科。近年来机器学习理论在诸多应用领域得到成功的 应用与发展，已成为计算机科学的基础及热点之一。采用机器学习方法的计算机程序被成功用于机器人下棋程序、语音识别、信用卡欺诈监测、自主车辆驾驶、智能 机器人等应用领域，除此之外机器学习的理论方法还被用于大数据集的数据挖掘这一领域。实际上，在任何有经验可以积累的地方，机器学习方法均可发挥作用。       学习能力是智能行为的一个非常重要的特征，但至今对学习的机理尚不清楚。人们曾对机器学习给出各种定义。H.A.Simon认为，学习是系统所作的适应性 变化，使得系统在下一次完成同样或类似的任务时更为有效。R.s.Michalski认为，学习是构造或修改对于所经历事物的表示。从事专家系统研制的人 们则认为学习是知识的获取。这些观点各有侧重，第一种观点强调学习的外部行为效果，第二种则强调学习的内部过程，而第三种主要是从知识工程的实用性角度出 发的。       机器学习在人工智能的研究中具有十分重要的地位。一个不具有学习能力的智能系统难以称得上是一个真正的智能系统，但是以往的智能系统都普遍缺少学习的能 力。例如，它们遇到错误时不能自我校正；不会通过经验改善自身的性能；不会自动获取和发现所需要的知识。它们的推理仅限于演绎而缺少归纳，因此至多只能够 证明已存在事实、定理，而不能发现新的定理、定律和规则等。随着人工智能的深入发展，这些局限性表现得愈加突出。正是在这种情形下，机器学习逐渐成为人工 智能研究的核心之一。它的应用已遍及人工智能的各个分支，如专家系统、自动推理、自然语言理解、模式识别、计算机视觉、智能机器人等领域。其中尤其典型的 是专家系统中的知识获取瓶颈问题，人们一直在努力试图采用机器学习的方法加以克服。       机器学习的研究是根据生理学、认知科学等对人类学习机理的了解，建立人类学习过程的计算模型或认识模型，发展各种学习理论和学习方法，研究通用的学习算法并进行理论上的分析，建立面向任务的具有特定应用的学习系统。这些研究目标相互影响相互促进。       机器学习已经有了十分广泛的应用例如搜索引擎、医学诊断、检测信用卡欺诈、证券市场分析、DNA序列测序、语音和手写识别、战略游戏和机器人运用。       自从1980年在卡内基-梅隆大学召开第一届机器学术研讨会以来，机器学习的研究工作发展很快，已成为中心课题之一。       目前，机器学习领域的研究工作主要围绕以下三个方面进行：       （1）面向任务的研究 研究和分析改进一组预定任务的执行性能的学习系统。 （2）认知模型 研究人类学习过程并进行计算机模拟。 （3）理论分析 从理论上探索各种可能的学习方法和独立于应用领域的算法。     机器学习是继专家系统之后人工智能应用的又一重要研究领域，也是人工智能和神经计算的核心研究课题之一。现有的计算机系统和人工智能系统没有什么学习能 力，至多也只有非常有限的学习能力，因而不能满足科技和生产提出的新要求。本章将首先介绍机器学习的定义、意义和简史，然后讨论机器学习的主要策略和基本 结构，最后逐一研究各种机器学习的方法与技术，包括机械学习、基于解释的学习、基于事例的学习、基于概念的学习、类比学习和基于训练神经网络的学习等。对 机器学习的讨论和机器学习研究的进展，必将促使人工智能和整个科学技术的进一步发展 。一、 机器学习的定义和研究意义     学习是人类具有的一种重要智能行为，但究竟什么是学习，长期以来却众说纷纭。社会学家、逻辑学家和心理学家都各有其不同的看法。按照人工智能大师西蒙的观 点，学习就是系统在不断重复的工作中对本身能力的增强或者改进，使得系统在下一次执行同样任务或类似任务时，会比现在做得更好或效率更高。西蒙对学习给出 的定义本身，就说明了学习的重要作用。 　　机器能否象人类一样能具有学习能力呢？1959年美国的塞缪尔(Samuel)设计了一个下棋程 序，这个程序具有学习能力，它可以在不断的对奕中改善自己的棋艺。4年后，这个程序战胜了设计者本人。又过了3年，这个程序战胜了美国一个保持8年之久的 常胜不败的冠军。这个程序向人们展示了机器学习的能力，提出了许多令人深思的社会问题与哲学问题。     机器的能力是否能超过人的，很多持否定意见的人的一个主要论据是：机器是人造的，其性能和动作完全是由设计者规定的，因此无论如何其能力也不会超过设计者 本人。这种意见对不具备学习能力的机器来说的确是对的，可是对具备学习能力的机器就值得考虑了，因为这种机器的能力在应用中不断地提高，过一段时间之后， 设计者本人也不知它的能力到了何种水平。 　 　 什么叫做机器学习(machine learning)？至今，还没有统一的“机器学习”定义，而且也很难给出一个公认的和准确的定义。为了便于进行讨论和估计学科的进展，有必要对机器学习 <a href='http://blog.zye.me/2011/04/3362.html'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p><font face="Verdana">  机器学习(Machine Learning)是研究计算机怎样模拟或实现人类的学习行为，以获取新的知识或技能，重新组织已有的知识结构使之不断改善自身的性能。它是人工智能的核 心，是使计算机具有智能的根本途径，其应用遍及人工智能的各个领域，它主要使用归纳、综合而不是演译。</font><font face="Verdana">      机器学习是关于理解与研究学习的内在机制、建立能够通过学习自动提高自身水平的计算机程序的理论方法的学科。近年来机器学习理论在诸多应用领域得到成功的 应用与发展，已成为计算机科学的基础及热点之一。采用机器学习方法的计算机程序被成功用于机器人下棋程序、语音识别、信用卡欺诈监测、自主车辆驾驶、智能 机器人等应用领域，除此之外机器学习的理论方法还被用于大数据集的数据挖掘这一领域。实际上，在任何有经验可以积累的地方，机器学习方法均可发挥作用。</font></p>
<p><font face="Verdana">      学习能力是智能行为的一个非常重要的特征，但至今对学习的机理尚不清楚。人们曾对机器学习给出各种定义。H.A.Simon认为，学习是系统所作的适应性 变化，使得系统在下一次完成同样或类似的任务时更为有效。R.s.Michalski认为，学习是构造或修改对于所经历事物的表示。从事专家系统研制的人 们则认为学习是知识的获取。这些观点各有侧重，第一种观点强调学习的外部行为效果，第二种则强调学习的内部过程，而第三种主要是从知识工程的实用性角度出 发的。</font></p>
<p><font face="Verdana">      机器学习在人工智能的研究中具有十分重要的地位。一个不具有学习能力的智能系统难以称得上是一个真正的智能系统，但是以往的智能系统都普遍缺少学习的能 力。例如，它们遇到错误时不能自我校正；不会通过经验改善自身的性能；不会自动获取和发现所需要的知识。它们的推理仅限于演绎而缺少归纳，因此至多只能够 证明已存在事实、定理，而不能发现新的定理、定律和规则等。随着人工智能的深入发展，这些局限性表现得愈加突出。正是在这种情形下，机器学习逐渐成为人工 智能研究的核心之一。它的应用已遍及人工智能的各个分支，如专家系统、自动推理、自然语言理解、模式识别、计算机视觉、智能机器人等领域。其中尤其典型的 是专家系统中的知识获取瓶颈问题，人们一直在努力试图采用机器学习的方法加以克服。 </font></p>
<p><font face="Verdana">      机器学习的研究是根据生理学、认知科学等对人类学习机理的了解，建立人类学习过程的计算模型或认识模型，发展各种学习理论和学习方法，研究通用的学习算法并进行理论上的分析，建立面向任务的具有特定应用的学习系统。这些研究目标相互影响相互促进。</font></p>
<p><font face="Verdana">      机器学习已经有了十分广泛的应用例如搜索引擎、医学诊断、检测信用卡欺诈、证券市场分析、DNA序列测序、语音和手写识别、战略游戏和机器人运用。</font></p>
<p><font face="Verdana">      自从1980年在卡内基-梅隆大学召开第一届机器学术研讨会以来，机器学习的研究工作发展很快，已成为中心课题之一。</font></p>
<p><font face="Verdana">      目前，机器学习领域的研究工作主要围绕以下三个方面进行：</font></p>
<p><font face="Verdana">      （1）面向任务的研究 研究和分析改进一组预定任务的执行性能的学习系统。<br />
（2）认知模型 研究人类学习过程并进行计算机模拟。<br />
（3）理论分析 从理论上探索各种可能的学习方法和独立于应用领域的算法。</font></p>
<p><font face="Verdana">    机器学习是继专家系统之后人工智能应用的又一重要研究领域，也是人工智能和神经计算的核心研究课题之一。现有的计算机系统和人工智能系统没有什么学习能 力，至多也只有非常有限的学习能力，因而不能满足科技和生产提出的新要求。本章将首先介绍机器学习的定义、意义和简史，然后讨论机器学习的主要策略和基本 结构，最后逐一研究各种机器学习的方法与技术，包括机械学习、基于解释的学习、基于事例的学习、基于概念的学习、类比学习和基于训练神经网络的学习等。对 机器学习的讨论和机器学习研究的进展，必将促使人工智能和整个科学技术的进一步发展 。</font><font face="Verdana"><strong>一、 机器学习的定义和研究意义</strong></p>
<p></font><font face="Verdana">    学习是人类具有的一种重要智能行为，但究竟什么是学习，长期以来却众说纷纭。社会学家、逻辑学家和心理学家都各有其不同的看法。按照人工智能大师西蒙的观 点，学习就是系统在不断重复的工作中对本身能力的增强或者改进，使得系统在下一次执行同样任务或类似任务时，会比现在做得更好或效率更高。西蒙对学习给出 的定义本身，就说明了学习的重要作用。</font></p>
<p><font face="Verdana">　　机器能否象人类一样能具有学习能力呢？1959年美国的塞缪尔(Samuel)设计了一个下棋程 序，这个程序具有学习能力，它可以在不断的对奕中改善自己的棋艺。4年后，这个程序战胜了设计者本人。又过了3年，这个程序战胜了美国一个保持8年之久的 常胜不败的冠军。这个程序向人们展示了机器学习的能力，提出了许多令人深思的社会问题与哲学问题。</font></p>
<p><font face="Verdana">    机器的能力是否能超过人的，很多持否定意见的人的一个主要论据是：机器是人造的，其性能和动作完全是由设计者规定的，因此无论如何其能力也不会超过设计者 本人。这种意见对不具备学习能力的机器来说的确是对的，可是对具备学习能力的机器就值得考虑了，因为这种机器的能力在应用中不断地提高，过一段时间之后， 设计者本人也不知它的能力到了何种水平。 　</font></p>
<p><font face="Verdana">　 什么叫做机器学习(machine learning)？至今，还没有统一的“机器学习”定义，而且也很难给出一个公认的和准确的定义。为了便于进行讨论和估计学科的进展，有必要对机器学习 给出定义，即使这种定义是不完全的和不充分的。顾名思义， 机器学习是研究如何使用机器来模拟人类学习活动的一门学科。稍为严格的提法是：机器学习是一门研究机器获取新知识和新技能，并识别现有知识的学问。这里所 说的“机器”，指的就是计算机；现在是电子计算机，以后还可能是中子计算机、光子计算机或神经计算机等等</font></p>
<p><font face="Verdana"><strong>二、 机器学习的发展史</strong></font></p>
<p><font face="Verdana">　　机器学习是人工智能研究较为年轻的分支，它的发展过程大体上可分为4个时期。<br />
第一阶段是在50年代中叶到60年代中叶，属于热烈时期。…&gt;<br />
第二阶段是在60年代中叶至70年代中叶，被称为机器学习的冷静时期。<br />
第三阶段是从70年代中叶至80年代中叶，称为复兴时期。 </font></p>
<p><font face="Verdana">　　 机器学习的最新阶段始于1986年。 </font></p>
<p><font face="Verdana">　　 机器学习进入新阶段的重要表现在下列诸方面： </font></p>
<p><font face="Verdana">　　 (1) 机器学习已成为新的边缘学科并在高校形成一门课程。它综合应用心理学、生物学和神经生理学以及数学、自动化和计算机科学形成机器学习理论基础。 </font></p>
<p><font face="Verdana">　　 (2) 结合各种学习方法，取长补短的多种形式的集成学习系统研究正在兴起。特别是连接学习符号学习的耦合可以更好地解决连续性信号处理中知识与技能的获取与求精问题而受到重视。 </font></p>
<p><font face="Verdana">　　 (3) 机器学习与人工智能各种基础问题的统一性观点正在形成。例如学习与问题求解结合进行、知识表达便于学习的观点产生了通用智能系统SOAR的组块学习。类比学习与问题求解结合的基于案例方法已成为经验学习的重要方向。 </font></p>
<p><font face="Verdana">　　 (4) 各种学习方法的应用范围不断扩大，一部分已形成商品。归纳学习的知识获取工具已在诊断分类型专家系统中广泛使用。连接学习在声图文识别中占优势。分析学习 已用于设计综合型专家系统。遗传算法与强化学习在工程控制中有较好的应用前景。与符号系统耦合的神经网络连接学习将在企业的智能管理与智能机器人运动规划 中发挥作用。 </font></p>
<p><font face="Verdana">　　 (5) 与机器学习有关的学术活动空前活跃。国际上除每年一次的机器学习研讨会外，还有计算机学习理论会议以及遗传算法会议。 </font></p>
<p><font face="Verdana"><strong>三、 机器学习的主要策略</strong></font></p>
<p><font face="Verdana">　　学习是一项复杂的智能活动，学习过程与推理过程是紧密相连的，按照学习中使用推理的多少，机器学习所采用的策略大体上可分为4种——机械学习、通过传授学习、类比学习和通过事例学习。学习中所用的推理越多，系统的能力越强。 </font></p>
<p><font face="Verdana"><strong>四、机器学习系统的基本结构</strong></font></p>
<p><font face="Verdana"><img width="358" src="http://www.deshiva.com/image/st52_1.gif" height="55" /> 　　　　　　  </font></p>
<p><font face="Verdana">　　上图表示学习系统的基本结构。环境向系统的学习部分提供某些信息，学习部分利用这些信息修改知识 库，以增进系统执行部分完成任务的效能，执行部分根据知识库完成任务，同时把获得的信息反馈给学习部分。在具体的应用中，环境，知识库和执行部分决定了具 体的工作内容，学习部分所需要解决的问题完全由上述3部分确定。下面我们分别叙述这3部分对设计学习系统的影响。 </font></p>
<p><font face="Verdana">　　影响学习系统设计的最重要的因素是环境向系统提供的信息。或者更具体地说是信息的质量。知识库里存 放的是指导执行部分动作的一般原则，但环境向学习系统提供的信息却是各种各样的。如果信息的质量比较高，与一般原则的差别比较小，则学习部分比较容易处 理。如果向学习系统提供的是杂乱无章的指导执行具体动作的具体信息，则学习系统需要在获得足够数据之后，删除不必要的细节，进行总结推广，形成指导动作的 一般原则，放入知识库，这样学习部分的任务就比较繁重，设计起来也较为困难。 </font></p>
<p><font face="Verdana">　　因为学习系统获得的信息往往是不完全的，所以学习系统所进行的推理并不完全是可靠的，它总结出来的规则可能正确，也可能不正确。这要通过执行效果加以检验。正确的规则能使系统的效能提高，应予保留；不正确的规则应予修改或从数据库中删除。 </font></p>
<p><font face="Verdana">　　知识库是影响学习系统设计的第二个因素。知识的表示有多种形式，比如特征向量、一阶逻辑语句、产生式规则、语义网络和框架等等。这些表示方式各有其特点，在选择表示方式时要兼顾以下4个方面： </font></p>
<p><font face="Verdana">　　(1)表达能力强。(2)易于推理。(3)容易修改知识库。(4)知识表示易于扩展。 </font></p>
<p><font face="Verdana">　　对于知识库最后需要说明的一个问题是学习系统不能在全然没有任何知识的情况下凭空获取知识，每一个学习系统都要求具有某些知识理解环境提供的信息，分析比较，做出假设，检验并修改这些假设。因此，更确切地说，学习系统是对现有知识的扩展和改进。 </font></p>
<p><font face="Verdana">　　执行部分是整个学习系统的核心，因为执行部分的动作就是学习部分力求改进的动作。同执行部分有关的问题有3个：复杂性、反馈和透明性。</font></p>
<p><font face="Verdana"><font face="Verdana"><strong>五、机器学习分类</strong> </font></font></p>
<p><font face="Verdana"><font face="Verdana"><strong>1、基于学习策略的分类</strong></font></font></p>
<p><font face="Verdana"><font face="Verdana">      学习策略是指学习过程中系统所采用的推理策略。一个学习系统总是由学习和环境两部分组成。由环境（如书本或教师）提供信息，学习部分则实现信息转换，用能 够理解的形式记忆下来，并从中获取有用的信息。在学习过程中，学生（学习部分）使用的推理越少，他对教师（环境）的依赖就越大，教师的负担也就越重。学习 策略的分类标准就是根据学生实现信息转换所需的推理多少和难易程度来分类的，依从简单到复杂，从少到多的次序分为以下五种基本类型：</font></font></p>
<p><font face="Verdana"><font face="Verdana">      １）机械学习(Rote learning)<br />
学习者无需任何推理或其它的知识转换，直接吸取环境所提供的信息。如塞缪尔的跳棋程序，纽厄尔和西蒙的LT系统。这类学习系统主要考虑的是如何索引存贮的 知识并加以利用。系统的学习方法是直接通过事先编好、构造好的程序来学习，学习者不作任何工作，或者是通过直接接收既定的事实和数据进行学习，对输入信息 不作任何的推理。</font></font></p>
<p><font face="Verdana"><font face="Verdana">      ２）示教学习(Learning from instruction或Learning by being told)。<br />
学生从环境（教师或其它信息源如教科书等）获取信息，把知识转换成内部可使用的表示形式，并将新的知识和原有知识有机地结合为一体。所以要求学生有一定程 度的推理能力，但环境仍要做大量的工作。教师以某种形式提出和组织知识，以使学生拥有的知识可以不断地增加。这种学习方法和人类社会的学校教学方式相似， 学习的任务就是建立一个系统，使它能接受教导和建议，并有效地存贮和应用学到的知识。目前，不少专家系统在建立知识库时使用这种方法去实现知识获取。示教 学习的一个典型应用例是FOO程序。</font></font></p>
<p><font face="Verdana"><font face="Verdana">      3）演绎学习(Learning by deduction)。<br />
学生所用的推理形式为演译推理。推理从公理出发，经过逻辑变换推导出结论。这种推理是&#8221;保真&#8221;变换和特化(specialization)的过程，使学生 在推理过程中可以获取有用的知识。这种学习方法包含宏操作(macro-operation)学习、知识编辑和组块(Chunking)技术。演绎推理的 逆过程是归纳推理。</font></font></p>
<p><font face="Verdana"><font face="Verdana">      4）类比学习(Learning by analogy)。<br />
利用二个不同领域（源域、目标域）中的知识相似性，可以通过类比，从源域的知识（包括相似的特征和其它性质）推导出目标域的相应知识，从而实现学习。类比 学习系统可以使一个已有的计算机应用系统转变为适应于新的领域，来完成原先没有设计的相类似的功能。类比学习需要比上述三种学习方式更多的推理。它一般要 求先从知识源（源域）中检索出可用的知识，再将其转换成新的形式，用到新的状况（目标域）中去。类比学习在人类科学技术发展史上起着重要作用，许多科学发 现就是通过类比得到的。例如著名的卢瑟福类比就是通过将原子结构（目标域）同太阳系（源域）作类比，揭示了原子结构的奥秘。</font></font></p>
<p><font face="Verdana"><font face="Verdana">      ５）基于解释的学习(Explanation-based learning, EBL)。<br />
学生根据教师提供的目标概念、该概念的一个例子、领域理论及可操作准则，首先构造一个解释来说明为什该例子满足目标概念，然后将解释推广为目标概念的一个 满足可操作准则的充分条件。EBL已被广泛应用于知识库求精和改善系统的性能。著名的EBL系统有迪乔恩（G.DeJong）的GENESIS, 米切尔（T.Mitchell）的LEXII和LEAP, 以及明顿（S.Minton）等的PRODIGY。</font></font></p>
<p><font face="Verdana"><font face="Verdana">      ６）归纳学习(Learning from induction)。<br />
归纳学习是由教师或环境提供某概念的一些实例或反例，让学生通过归纳推理得出该概念的一般描述。这种学习的推理工作量远多于示教学习和演绎学习，因为环境 并不提供一般性概念描述（如公理）。从某种程度上说，归纳学习的推理量也比类比学习大，因为没有一个类似的概念可以作为&#8221;源概念&#8221;加以取用。归纳学习是最 基本的，发展也较为成熟的学习方法，在人工智能领域中已经得到广泛的研究和应用。</font></font></p>
<p><font face="Verdana"><font face="Verdana"><strong>2、基于所获取知识的表示形式分类</strong></font></font></p>
<p><font face="Verdana"><font face="Verdana">      学习系统获取的知识可能有：行为规则、物理对象的描述、问题求解策略、各种分类及其它用于任务实现的知识类型。</font></font></p>
<p><font face="Verdana"><font face="Verdana">      对于学习中获取的知识，主要有以下一些表示形式：<br />
1）代数表达式参数：学习的目标是调节一个固定函数形式的代数表达式参数或系数来达到一个理想的性能。<br />
２）决策树：用决策树来划分物体的类属，树中每一内部节点对应一个物体属性，而每一边对应于这些属性的可选值，树的叶节点则对应于物体的每个基本分类。<br />
３）形式文法：在识别一个特定语言的学习中，通过对该语言的一系列表达式进行归纳，形成该语言的形式文法。<br />
４）产生式规则：产生式规则表示为条件—动作对，已被极为广泛地使用。学习系统中的学习行为主要是：生成、泛化、特化（Specialization）或合成产生式规则。<br />
５）形式逻辑表达式：形式逻辑表达式的基本成分是命题、谓词、变量、约束变量范围的语句，及嵌入的逻辑表达式。<br />
６）图和网络：有的系统采用图匹配和图转换方案来有效地比较和索引知识。<br />
７）框架和模式（schema）：每个框架包含一组槽，用于描述事物（概念和个体）的各个方面。<br />
８）计算机程序和其它的过程编码：获取这种形式的知识，目的在于取得一种能实现特定过程的能力，而不是为了推断该过程的内部结构。<br />
９）神经网络：这主要用在联接学习中。学习所获取的知识，最后归纳为一个神经网络。<br />
１０）多种表示形式的组合：有时一个学习系统中获取的知识需要综合应用上述几种知识表示形式。</font></font></p>
<p><font face="Verdana"><font face="Verdana">　　根据表示的精细程度，可将知识表示形式分为两大类：泛 化程度高的粗粒度符号表示、??泛化程度低的精粒度亚符号(sub-symbolic)表示。像决策树、形式文法、产生式规则、形式逻辑表达式、框架和模 式等属于符号表示类；而代数表达式参数、图和网络、神经网络等则属亚符号表示类。</font></font></p>
<p><font face="Verdana"><font face="Verdana"><strong>3、按应用领域分类</strong></font></font></p>
<p><font face="Verdana"><font face="Verdana">      目前最主要的应用领域有: 专家系统、认知模拟、规划和问题求解、数据挖掘、网络信息服务、图象识别、故障诊断、自然语言理解、机器人和博弈等领域。</font></font></p>
<p><font face="Verdana"><font face="Verdana">      从机器学习的执行部分所反映的任务类型上看，目前大部分的应用研究领域基本上集中于以下两个范畴：分类和问题求解。<br />
（1）分类任务要求系统依据已知的分类知识对输入的未知模式（该模式的描述）作分析，以确定输入模式的类属。相应的学习目标就是学习用于分类的准则（如分类规则）。<br />
（2）问题求解任务要求对于给定的目标状态,??寻找一个将当前状态转换为目标状态的动作序列；机器学习在这一领域的研究工作大部分集中于通过学习来获取能提高问题求解效率的知识（如搜索控制知识，启发式知识等）。</font></font></p>
<p><font face="Verdana"><font face="Verdana"><strong>4、综合分类</strong></font></font></p>
<p><font face="Verdana"><font face="Verdana">      综合考虑各种学习方法出现的历史渊源、知识表示、推理策略、结果评估的相似性、研究人员交流的相对集中性以及应用领域等诸因素。将机器学习方法区分为以下六类：</font></font></p>
<p><font face="Verdana"><font face="Verdana">      １）经验性归纳学习(empirical inductive learning)。<br />
经验性归纳学习采用一些数据密集的经验方法（如版本空间法、ID3法，定律发现方法）对例子进行归纳学习。其例子和学习结果一般都采用属性、谓词、关系等符号表示。它相当于基于学习策略分类中的归纳学习，但扣除联接学习、遗传算法、加强学习的部分。　</font></font></p>
<p><font face="Verdana"><font face="Verdana">      ２）分析学习（analytic??learning）。<br />
分析学习方法是从一个或少数几个实例出发，运用领域知识进行分析。其主要特征为：<br />
·推理策略主要是演绎，而非归纳；<br />
·使用过去的问题求解经验（实例）指导新的问题求解，或产生能更有效地运用领域知识的搜索控制规则。<br />
分析学习的目标是改善系统的性能，而不是新的概念描述。分析学习包括应用解释学习、演绎学习、多级结构组块以及宏操作学习等技术。</font></font></p>
<p><font face="Verdana"><font face="Verdana">      ３）类比学习。<br />
它相当于基于学习策略分类中的类比学习。目前，在这一类型的学习中比较引人注目的研究是通过与过去经历的具体事例作类比来学习，称为基于范例的学习(case_based learning)，或简称范例学习。</font></font></p>
<p><font face="Verdana"><font face="Verdana">      ４）遗传算法（genetic??algorithm）。<br />
遗传算法模拟生物繁殖的突变、交换和达尔文的自然选择（在每一生态环境中适者生存）。它把问题可能的解编码为一个向量，称为个体，向量的每一个元素称为基 因，并利用目标函数（相应于自然选择标准）对群体（个体的集合）中的每一个个体进行评价，根据评价值（适应度）对个体进行选择、交换、变异等遗传操作，从 而得到新的群体。遗传算法适用于非常复杂和困难的环境，比如，带有大量噪声和无关数据、事物不断更新、问题目标不能明显和精确地定义，以及通过很长的执行 过程才能确定当前行为的价值等。同神经网络一样，遗传算法的研究已经发展为人工智能的一个独立分支，其代表人物为霍勒德（J.H.Holland）。</font></font></p>
<p><font face="Verdana"><font face="Verdana">      ５）联接学习。<br />
典型的联接模型实现为人工神经网络，其由称为神经元的一些简单计算单元以及单元间的加权联接组成。</font></font></p>
<p><font face="Verdana"><font face="Verdana">      6）加强学习（reinforcement learning）。<br />
加强学习的特点是通过与环境的试探性（trial and error）交互来确定和优化动作的选择，以实现所谓的序列决策任务。在这种任务中，学习机制通过选择并执行动作，导致系统状态的变化，并有可能得到某种 强化信号（立即回报），从而实现与环境的交互。强化信号就是对系统行为的一种标量化的奖惩。系统学习的目标是寻找一个合适的动作选择策略，即在任一给定的 状态下选择哪种动作的方法，使产生的动作序列可获得某种最优的结果（如累计立即回报最大）。</font></font></p>
<p><font face="Verdana"><font face="Verdana">      在综合分类中,经验归纳学习、遗传算法、联接学习和加强学习均属于归纳学习,其中经验归纳学习采用符号表示方式，而遗传算法、联接学习和加强学习则采用亚符号表示方式；分析学习属于演绎学习。</font></font></p>
<p><font face="Verdana"><font face="Verdana">      实际上，类比策略可看成是归纳和演绎策略的综合。因而最基本的学习策略只有归纳和演绎。</font></font></p>
<p><font face="Verdana"><font face="Verdana">       从学习内容的角度看，采用归纳策略的学习由于是对输入进行归纳，所学习的知识显然超过原有系统知识库所能蕴涵的范围,所学结果改变了系统的知识演绎闭包, 因而这种类型的学习又可称为知识级学习;而采用演绎策略的学习尽管所学的知识能提高系统的效率，但仍能被原有系统的知识库所蕴涵,即所学的知识未能改变系 统的演绎闭包,因而这种类型的学习又被称为符号级学习。 </font></font></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.zye.me/2011/04/3362.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>【转载】Weka入门教程</title>
		<link>http://blog.zye.me/2009/04/51335.html</link>
		<comments>http://blog.zye.me/2009/04/51335.html#comments</comments>
		<pubDate>Fri, 24 Apr 2009 23:18:04 +0000</pubDate>
		<dc:creator>yezheng</dc:creator>
				<category><![CDATA[machine learning]]></category>
		<category><![CDATA[tool]]></category>
		<category><![CDATA[weka]]></category>

		<guid isPermaLink="false">http://blog.so8848.com/?p=51335</guid>
		<description><![CDATA[Source: http://forum.wekacn.org/viewtopic.php?f=2&#38;t=9&#38;sid=3e11f64d53cf134215bd69450412cdb9 1. 简介 WEKA的全名是怀卡托智能分析环境（Waikato Environment for Knowledge Analysis），它的源代码可通过http://www.cs.waikato.ac.nz/ml/weka得到。同时weka也是新西兰的一种鸟名，而WEKA的主要开发者来自新西兰。 详见 http://www.china-pub.com/computers/common/info.asp?id=29304 2. 数据格式 跟很多电子表格或数据分析软件一样，WEKA所处理的数据集是图1那样的一个二维的表格。 图1 新窗口打开 这里我们要介绍一下WEKA中的术语。表格里的一个横行称作一个实例（Instance），相当于统计学中的一个样本，或者数据库中的一条记录。 竖行称作一个属性（Attrbute），相当于统计学中的一个变量，或者数据库中的一个字段。这样一个表格，或者叫数据集，在WEKA看来，呈现了属性之 间的一种关系(Relation)。图1中一共有14个实例，5个属性，关系名称为“weather”。 WEKA存储数据的格式是ARFF（Attribute-Relation File Format）文件，这是一种ASCII文本文件。图1所示的二维表格存储在如下的ARFF文件中。这也就是WEKA自带的“weather.arff” 文件，在WEKA安装目录的“data”子目录下可以找到。 代码: % ARFF file for the weather data with some numric features % @relation weather @attribute outlook {sunny, overcast, rainy} @attribute temperature real @attribute humidity real @attribute windy {TRUE, FALSE} @attribute play <a href='http://blog.zye.me/2009/04/51335.html'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p>Source: <a tabindex="-1" href="http://forum.wekacn.org/viewtopic.php?f=2&amp;t=9&amp;sid=3e11f64d53cf134215bd69450412cdb9">http://forum.wekacn.org/viewtopic.php?f=2&amp;t=9&amp;sid=3e11f64d53cf134215bd69450412cdb9</a></p>
<p><span style="font-weight: bold;">1. 简介</span></p>
<p>WEKA的全名是怀卡托智能分析环境（Waikato Environment for Knowledge Analysis），它的源代码可通过<a href="http://www.cs.waikato.ac.nz/ml/weka">http://www.cs.waikato.ac.nz/ml/weka</a>得到。同时weka也是新西兰的一种鸟名，而WEKA的主要开发者来自新西兰。</p>
<p>详见 <a href="http://www.china-pub.com/computers/common/info.asp?id=29304">http://www.china-pub.com/computers/common/info.asp?id=29304</a><br />
<span style="font-weight: bold;"><br />
2. 数据格式</span></p>
<p>跟很多电子表格或数据分析软件一样，WEKA所处理的数据集是图1那样的一个二维的表格。<br />
<img src="http://www.wekacn.org/bbs-img/p1/f1.jpg" alt="图片" /><br />
图1 <a href="http://wekacn.b.lunqun.com/up/m145/45/78/45789//Mon_0609/5953_1300_678021321d6fe25.jpg">新窗口打开</a><br />
这里我们要介绍一下WEKA中的术语。表格里的一个横行称作一个实例（Instance），相当于统计学中的一个样本，或者数据库中的一条记录。 竖行称作一个属性（Attrbute），相当于统计学中的一个变量，或者数据库中的一个字段。这样一个表格，或者叫数据集，在WEKA看来，呈现了属性之 间的一种关系(Relation)。图1中一共有14个实例，5个属性，关系名称为“weather”。</p>
<p>WEKA存储数据的格式是ARFF（Attribute-Relation File Format）文件，这是一种ASCII文本文件。图1所示的二维表格存储在如下的ARFF文件中。这也就是WEKA自带的“weather.arff” 文件，在WEKA安装目录的“data”子目录下可以找到。</p>
<div><strong>代码:</strong></div>
<div>% ARFF file for the weather data with some numric features<br />
%<br />
@relation weather</p>
<p>@attribute outlook {sunny, overcast, rainy}<br />
@attribute temperature real<br />
@attribute humidity real<br />
@attribute windy {TRUE, FALSE}<br />
@attribute play {yes, no}</p>
<p>@data<br />
%<br />
% 14 instances<br />
%<br />
sunny,85,85,FALSE,no<br />
sunny,80,90,TRUE,no<br />
overcast,83,86,FALSE,yes<br />
rainy,70,96,FALSE,yes<br />
rainy,68,80,FALSE,yes<br />
rainy,65,70,TRUE,no<br />
overcast,64,65,TRUE,yes<br />
sunny,72,95,FALSE,no<br />
sunny,69,70,FALSE,yes<br />
rainy,75,80,FALSE,yes<br />
sunny,75,70,TRUE,yes<br />
overcast,72,90,TRUE,yes<br />
overcast,81,75,FALSE,yes<br />
rainy,71,91,TRUE,no</p></div>
<p>需要注意的是，在Windows记事本打开这个文件时，可能会因为回车符定义不一致而导致分行不正常。推荐使用UltraEdit这样的字符编辑软件察看ARFF文件的内容。</p>
<p>下面我们来对这个文件的内容进行说明。<br />
识别ARFF文件的重要依据是分行，因此不能在这种文件里随意的断行。空行（或全是空格的行）将被忽略。<br />
以“%”开始的行是注释，WEKA将忽略这些行。如果你看到的“weather.arff”文件多了或少了些“%”开始的行，是没有影响的。<br />
除去注释后，整个ARFF文件可以分为两个部分。第一部分给出了头信息（Head information），包括了对关系的声明和对属性的声明。第二部分给出了数据信息（Data information），即数据集中给出的数据。从“@data”标记开始，后面的就是数据信息了。</p>
<p><span style="color: blue;">关系声明</span><br />
关系名称在ARFF文件的第一个有效行来定义，格式为<br />
<span style="color: green;">@relation &lt;relation-name&gt;</span><br />
&lt;relation-name&gt;是一个字符串。如果这个字符串包含空格，它必须加上引号（指英文标点的单引号或双引号）。</p>
<p><span style="color: blue;">属性声明</span><br />
属性声明用一列以“@attribute”开头的语句表示。数据集中的每一个属性都有它对应的“@attribute”语句，来定义它的属性名称和数据类型。<br />
这些声明语句的顺序很重要。首先它表明了该项属性在数据部分的位置。例如，“humidity”是第三个被声明的属性，这说明数据部分那些被逗号 分开的列中，第三列数据 85 90 86 96 &#8230; 是相应的“humidity”值。其次，最后一个声明的属性被称作class属性，在分类或<span class="__mozilla-findbar-search" style="padding: 0pt; background-color: yellow; color: black; display: inline; font-size: inherit;">回归</span>任务中，它是默认的目标变量。<br />
属性声明的格式为<br />
<span style="color: green;">@attribute &lt;attribute-name&gt; &lt;datatype&gt;</span><br />
其中&lt;attribute-name&gt;是必须以字母开头的字符串。和关系名称一样，如果这个字符串包含空格，它必须加上引号。<br />
WEKA支持的&lt;datatype&gt;有四种，分别是<br />
numeric&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-数值型<br />
&lt;nominal-specification&gt;&#8212;&#8211;分类（nominal）型<br />
string&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-字符串型<br />
date [&lt;date-format&gt;]&#8212;&#8212;&#8211;日期和时间型<br />
其中&lt;nominal-specification&gt; 和&lt;date-format&gt; 将在下面说明。还可以使用两个类型“integer”和“real”，但是WEKA把它们都当作“numeric”看待。注意 “integer”，“real”，“numeric”，“date”，“string”这些关键字是区分大小写的，而 “relation”“attribute ”和“date”则不区分。</p>
<p><span style="color: blue;">数值属性</span><br />
数值型属性可以是整数或者实数，但WEKA把它们都当作实数看待。</p>
<p><span style="color: blue;">分类属性</span><br />
分类属性由&lt;nominal-specification&gt;列出一系列可能的类别名称并放在花括号中：{&lt;nominal- name1&gt;, &lt;nominal-name2&gt;, &lt;nominal-name3&gt;, &#8230;} 。数据集中该属性的值只能是其中一种类别。<br />
例如如下的属性声明说明“outlook”属性有三种类别：“sunny”，“ overcast”和“rainy”。而数据集中每个实例对应的“outlook”值必是这三者之一。<br />
<span style="color: green;">@attribute outlook {sunny, overcast, rainy}</span><br />
如果类别名称带有空格，仍需要将之放入引号中。</p>
<p><span style="color: blue;">字符串属性</span><br />
字符串属性中可以包含任意的文本。这种类型的属性在文本挖掘中非常有用。<br />
示例：<br />
<span style="color: green;">@ATTRIBUTE LCC    string</span></p>
<p><span style="color: blue;">日期和时间属性</span><br />
日期和时间属性统一用“date”类型表示，它的格式是<br />
<span style="color: green;">@attribute &lt;name&gt; date [&lt;date-format&gt;]</span><br />
其中&lt;name&gt;是这个属性的名称，&lt;date-format&gt;是一个字符串，来规定该怎样解析和显示日期或时间的格式，默认的字符串是ISO-8601所给的日期时间组合格式“<span style="font-style: italic;">yyyy-MM-dd</span>T<span style="font-style: italic;">HH:mm:ss</span>”。<br />
数据信息部分表达日期的字符串必须符合声明中规定的格式要求（下文有例子）。</p>
<p><span style="color: blue;">数据信息</span><br />
数据信息中“@data”标记独占一行，剩下的是各个实例的数据。</p>
<p>每个实例占一行。实例的各属性值用逗号“,”隔开。如果某个属性的值是缺失值（missing value），用问号“?”表示，且这个问号不能省略。例如：<br />
<span style="color: green;">@data<br />
sunny,85,85,FALSE,no<br />
?,78,90,?,yes<br />
</span></p>
<p>字符串属性和分类属性的值是区分大小写的。若值中含有空格，必须被引号括起来。例如：<br />
<span style="color: green;"> @relation LCCvsLCSH<br />
@attribute LCC string<br />
@attribute LCSH string<br />
@data<br />
AG5,   &#8216;Encyclopedias and dictionaries.;Twentieth century.&#8217;<br />
AS262, &#8216;Science &#8212; Soviet Union &#8212; History.&#8217;<br />
</span></p>
<p>日期属性的值必须与属性声明中给定的相一致。例如：<br />
<span style="color: green;"> @RELATION Timestamps<br />
@ATTRIBUTE timestamp DATE &#8220;yyyy-MM-dd HH:mm:ss&#8221;<br />
@DATA<br />
&#8220;2001-04-03 12:12:12&#8243;<br />
&#8220;2001-05-03 12:59:55&#8243;</span></p>
<p><span style="color: blue;">稀疏数据</span><br />
有的时候数据集中含有大量的0值（比如购物篮分析），这个时候用稀疏格式的数据存贮更加省空间。<br />
稀疏格式是针对数据信息中某个实例的表示而言，不需要修改ARFF文件的其它部分。看如下的数据：<br />
<span style="color: green;"> @data<br />
0, X, 0, Y, &#8220;class A&#8221;<br />
0, 0, W, 0, &#8220;class B&#8221;</span><br />
用稀疏格式表达的话就是<br />
<span style="color: green;"> @data<br />
{1 X, 3 Y, 4 &#8220;class A&#8221;}<br />
{2 W, 4 &#8220;class B&#8221;}</span><br />
每个实例用花括号括起来。实例中每一个非0的属性值用&lt;index&gt; &lt;空格&gt; &lt;value&gt;表示。&lt;index&gt;是属性的序号，从0开始计；&lt;value&gt;是属性值。属性值之间仍用逗号隔开。 这里每个实例的数值必须按属性的顺序来写，如<span style="color: green;"> {1 X, 3 Y, 4 &#8220;class A&#8221;}</span>，不能写成<span style="color: green;">{3 Y, 1 X, 4 &#8220;class A&#8221;}</span>。<br />
注意在稀疏格式中没有注明的属性值不是缺失值，而是0值。若要表示缺失值必须显式的用问号表示出来。</p>
<p><span style="color: blue;">Relational型属性</span><br />
在WEKA 3.5版中增加了一种属性类型叫做Relational，有了这种类型我们可以像关系型数据库那样处理多个维度了。但是这种类型目前还不见广泛应用，暂不作介绍。</p>
<p>&#8211;整理自<a href="http://www.cs.waikato.ac.nz/%7Eml/weka/arff.html">http://www.cs.waikato.ac.nz/~ml/weka/arff.html</a> 和<a href="http://weka.sourceforge.net/wekadoc/index.php/en:ARFF_%283.5.3%29">http://weka.sourceforge.net/wekadoc/index.php/en:ARFF_%283.5.3%29</a></p>
<div><span style="font-weight: bold;">3.数据准备</span></p>
<p>使用WEKA作数据挖掘，面临的第一个问题往往是我们的数据不是ARFF格式的。幸好，WEKA还提供了对CSV文件的支持，而这种格式是被很多其他软件所支持的。此外，WEKA还提供了通过JDBC访问数据库的功能。<br />
在这一节里，我们先以Excel和Matlab为例，说明如何获得CSV文件。然后我们将知道CSV文件如何转化成ARFF文件，毕竟后者才是WEKA支持得最好的文件格式。面对一个ARFF文件，我们仍有一些预处理要做，才能进行挖掘任务。</p>
<p><span style="color: blue;">.* -&gt; .csv</span><br />
我们给出一个CSV文件的例子（<a href="http://maya.cs.depaul.edu/%7Eclasses/ect584/WEKA/data/bank-data.csv">bank-data.csv</a>）。用UltraEdit打开它可以看到，这种格式也是一种逗号分割数据的文本文件,储存了一个二维表格。</p>
<p>Excel的XLS文件可以让多个二维表格放到不同的工作表（Sheet）中，我们只能把每个工作表存成不同的CSV文件。打开一个XLS文件并切换到需要转换的工作表，另存为CSV类型，点“确定”、“是”忽略提示即可完成操作。</p>
<p>在Matlab中的二维表格是一个矩阵，我们通过这条命令把一个矩阵存成CSV格式。<br />
<span style="color: green;">csvwrite(&#8216;filename&#8217;,matrixname)</span><br />
需要注意的是，Matllab给出的CSV文件往往没有属性名（Excel给出的也有可能没有）。而WEKA必须从CSV文件的第一行读取属性 名，否则就会把第一行的各属性值读成变量名。因此我们对于Matllab给出的CSV文件需要用UltraEdit打开，手工添加一行属性名。注意属性名 的个数要跟数据属性的个数一致，仍用逗号隔开。</p>
<p><span style="color: blue;">.csv -&gt; .arff</span><br />
将CSV转换为ARFF最迅捷的办法是使用WEKA所带的命令行工具。<br />
运行WEKA的主程序，出现GUI后可以点击下方按钮进入相应的模块。我们点击进入“Simple CLI”模块提供的命令行功能。在新窗口的最下方（上方是不能写字的）输入框写上<br />
<span style="color: green;">java weka.core.converters.CSVLoader filename.csv &gt; filename.arff </span><br />
即可完成转换。<br />
在WEKA 3.5中提供了一个“Arff Viewer”模块，我们可以用它打开一个CSV文件将进行浏览，然后另存为ARFF文件。<br />
进入“Exploer”模块，从上方的按钮中打开CSV文件然后另存为ARFF文件亦可。</p>
<p><span style="color: blue;">“Exploer”界面</span><br />
我们应该注意到，“Exploer”还提供了很多功能，实际上可以说这是WEKA使用最多的模块。现在我们先来熟悉它的界面，然后利用它对数据进行预处理。<br />
<img src="http://www.wekacn.org/bbs-img/p1/f2.jpg" alt="图片" /><br />
图2 <a href="http://wekacn.b.lunqun.com/up/m145/45/78/45789//Mon_0609/5951_1300_474ee42215640e0.jpg">新窗口打开</a><br />
图2显示的是使用3.5版&#8221;Exploer&#8221;打开&#8221;bank-data.csv&#8221;的情况。我们根据不同的功能把这个界面分成8个区域。<br />
区域1的几个选项卡是用来切换不同的挖掘任务面板。这一节用到的只有“Preprocess”，其他面板的功能将在以后介绍。<br />
区域2是一些常用按钮。包括打开数据，保存及编辑功能。我们在这里把&#8221;bank-data.csv&#8221;另存为&#8221;bank-data.arff&#8221;。<br />
在区域3中“Choose”某个“Filter”，可以实现筛选数据或者对数据进行某种变换。数据预处理主要就利用它来实现。<br />
区域4展示了数据集的一些基本情况。<br />
区域5中列出了数据集的所有属性。勾选一些属性并“Remove”就可以删除它们，删除后还可以利用区域2的“Undo”按钮找回。区域5上方的一排按钮是用来实现快速勾选的。<br />
在区域5中选中某个属性，则区域6中有关于这个属性的摘要。注意对于数值属性和分类属性，摘要的方式是不一样的。图中显示的是对数值属性“income”的摘要。<br />
区域7是区域5中选中属性的直方图。若数据集的最后一个属性（我们说过这是分类或<span class="__mozilla-findbar-search" style="padding: 0pt; background-color: yellow; color: black; display: inline; font-size: inherit;">回归</span>任 务的默认目标变量）是分类变量（这里的“pep”正好 是），直方图中的每个长方形就会按照该变量的比例分成不同颜色的段。要想换个分段的依据，在区域7上方的下拉框中选个不同的分类属性就可以了。下拉框里选 上“No Class”或者一个数值属性会变成黑白的直方图。<br />
区域8是状态栏，可以查看Log以判断是否有错。右边的weka鸟在动的话说明WEKA正在执行挖掘任务。右键点击状态栏还可以执行JAVA内存的垃圾回收。</p>
<p><span style="color: blue;">预处理</span><br />
bank-data数据各属性的含义如下：<br />
<span style="color: skyblue;">id</span> a unique identification number<br />
<span style="color: skyblue;">age</span> age of customer in years (numeric)<br />
<span style="color: skyblue;">sex</span> MALE / FEMALE<br />
<span style="color: skyblue;">region</span> inner_city/rural/suburban/town<br />
<span style="color: skyblue;">income</span> income of customer (numeric)<br />
<span style="color: skyblue;">married</span> is the customer married (YES/NO)<br />
<span style="color: skyblue;">children</span> number of children (numeric)<br />
<span style="color: skyblue;">car</span> does the customer own a car (YES/NO)<br />
<span style="color: skyblue;">save_acct </span> does the customer have a saving account (YES/NO)<br />
<span style="color: skyblue;">current_acct</span> does the customer have a current account (YES/NO)<br />
<span style="color: skyblue;">mortgage</span> does the customer have a mortgage (YES/NO)<br />
<span style="color: skyblue;">pep</span> did the customer buy a PEP (Personal Equity Plan) after the last mailing (YES/NO)</p>
<p>通常对于数据挖掘任务来说，ID这样的信息是无用的，我们将之删除。在区域5勾选属性“id”，并点击“Remove”。将新的数据集保存一次，并用UltraEdit打开这个ARFF文件。我们发现，在属性声明部分，WEKA已经为每个属性选好了合适的类型。</p>
<p>我们知道，有些算法，只能处理所有的属性都是分类型的情况。这时候我们就需要对数值型的属性进行离散化。在这个数据集中有3个变量是数值型的，分别是“age”，“income”和“children”。<br />
其中“children”只有4个取值：0，1，2，3。这时我们在UltraEdit中直接修改ARFF文件，把<br />
<span style="color: green;">@attribute children numeric</span><br />
改为<br />
<span style="color: green;">@attribute children {0,1,2,3}</span><br />
就可以了。<br />
在“Explorer”中重新打开“bank-data.arff”，看看选中“children”属性后，区域6那里显示的“Type”是不是变成“Nominal”了？</p>
<p>“age”和“income”的离散化我们需要借助WEKA中名为“Discretize”的Filter来完成。在区域2中点 “Choose”，出现一棵“Filter树”，逐级找到 “weka.filters.unsupervised.attribute.Discretize”，点击。若无法关闭这个树，在树之外的地方点击 “Explorer”面板即可。<br />
现在“Choose”旁边的文本框应该显示“Discretize -B 10 -M -0.1 -R first-last”。 点击这个文本框会弹出新窗口以修改离散化的参数。<br />
我们不打算对所有的属性离散化，只是针对对第1个和第4个属性（见区域5属性名左边的数字），故把attributeIndices右边改成 “1,4”。计划把这两个属性都分成3段，于是把“bins”改成“3”。其它框里不用更改，关于它们的意思可以点“More”查看。点“OK”回到 “Explorer”，可以看到“age”和“income”已经被离散化成分类型的属性。若想放弃离散化可以点区域2的“Undo”。<br />
如果对“&#8221;(-inf-34.333333]&#8221;”这样晦涩的标识不满，我们可以用UltraEdit打开保存后的ARFF文件，把所有的“&#8217;&#8221;&#8216;(-inf-34.333333]&#8221;&#8221;”替换成“0_34”。其它标识做类似地手动替换。</p>
<p>经过上述操作得到的数据集我们保存为<a href="http://maya.cs.depaul.edu/%7Eclasses/ect584/WEKA/data/bank-data-final.arff">bank-data-final.arff</a>。</p>
<p>&#8212;-整理自<a href="http://maya.cs.depaul.edu/%7Eclasses/ect584/WEKA/preprocess.html">http://maya.cs.depaul.edu/~classes/ect584/WEKA/preprocess.html</a></p>
<p><span style="font-weight: bold;">4. 关联规则（购物篮分析）</span><br />
<span style="color: red;">注意</span>：目前，WEKA的关联规则分析功能仅能用来作示范，不适合用来挖掘大型数据集。</p>
<p>我们打算对前面的“bank-data”数据作关联规则的分析。用“Explorer”打开“bank-data-final.arff”后，切 换到“Associate”选项卡。默认关联规则分析是用Apriori算法，我们就用这个算法，但是点“Choose”右边的文本框修改默认的参数，弹 出的窗口中点“More”可以看到各参数的说明。</p>
<p><span style="color: blue;">背景知识</span><br />
首先我们来温习一下Apriori的有关知识。对于一条关联规则L-&gt;R，我们常用支持度（Support）和置信度（Confidence）来衡量它的重要性。规则的支持度是用来估计在一个购物篮中同时观察到L和R的概率<span style="color: green;">P(L,R)</span>，而规则的置信度是估计购物栏中出现了L时也出会现R的条件概率<span style="color: green;">P(R|L)</span>。关联规则的目标一般是产生支持度和置信度都较高的规则。<br />
有几个类似的度量代替置信度来衡量规则的关联程度，它们分别是<br />
Lift（提升度？）： <span style="color: green;">P(L,R)/(P(L)P(R)) </span><br />
Lift=1时表示L和R独立。这个数越大，越表明L和R存在在一个购物篮中不是偶然现象。<br />
Leverage（不知道怎么翻译）：<span style="color: green;">P(L,R)-P(L)P(R) </span><br />
它和Lift的含义差不多。Leverage=0时L和R独立，Leverage越大L和R的关系越密切。<br />
Conviction（更不知道译了）：<span style="color: green;">P(L)P(!R)/P(L,!R) </span> （!R表示R没有发生）<br />
Conviction也是用来衡量L和R的独立性。从它和lift的关系（对R取反，代入Lift公式后求倒数）可以看出，我们也希望这个值越大越好。<br />
值得注意的是，用Lift和Leverage作标准时，L和R是对称的，Confidence和Conviction则不然。</p>
<p><span style="color: blue;">参数设置</span><br />
现在我们计划挖掘出支持度在10%到100%之间，并且lift值超过1.5且lift值排在前100位的那些关联规则。我们把 “lowerBoundMinSupport”和“upperBoundMinSupport”分别设为0.1和1，“metricType”设为 lift，“minMetric”设为1.5，“numRules”设为100。其他选项保持默认即可。“OK” 之后在“Explorer”中点击“Start”开始运行算法，在右边窗口显示数据集摘要和挖掘结果。</p>
<p>下面是挖掘出来的lift排前5的规则。<br />
<span style="color: green;"> Best rules found:<br />
1. age=52_max save_act=YES current_act=YES 113 ==&gt; income=43759_max 61 conf:(0.54) &lt; lift:(4.05)&gt; lev:(0.08) [45] conv:(1.85)<br />
2. income=43759_max 80 ==&gt; age=52_max save_act=YES current_act=YES 61 conf:(0.76) &lt; lift:(4.05)&gt; lev:(0.08) [45] conv:(3.25)<br />
3. income=43759_max current_act=YES 63 ==&gt; age=52_max save_act=YES 61 conf:(0.97) &lt; lift:(3.85)&gt; lev:(0.08) [45] conv:(15.72)<br />
4. age=52_max save_act=YES 151 ==&gt; income=43759_max current_act=YES 61 conf:(0.4) &lt; lift:(3.85)&gt; lev:(0.08) [45] conv:(1.49)<br />
5. age=52_max save_act=YES 151 ==&gt; income=43759_max 76    conf:(0.5) &lt; lift:(3.77)&gt; lev:(0.09) [55] conv:(1.72)</span><br />
对于挖掘出的每条规则，WEKA列出了它们关联程度的四项指标。</p>
<p><span style="color: blue;">命令行方式</span><br />
我们也可以利用命令行来完成挖掘任务，在“Simlpe CLI”模块中输入如下格式的命令：<br />
<span style="color: green;">java weka.associations.Apriori options -t directory-path&#8221;bank-data-final.arff </span><br />
即可完成Apriori算法。注意，“-t”参数后的文件路径中不能含有空格。<br />
在前面我们使用的option为<br />
<span style="color: green;">-N 100 -T 1 -C 1.5 -D 0.05 -U 1.0 -M 0.1 -S -1.0 </span> 命令行中使用这些参数得到的结果和前面利用GUI得到的一样。<br />
我们还可以加上“- I”参数，得到不同项数的频繁项集。我用的命令如下：<br />
<span style="color: green;">java weka.associations.Apriori -N 100 -T 1 -C 1.5 -D 0.05 -U 1.0 -M 0.1 -S -1.0  -I -t d:&#8221;weka&#8221;bank-data-final.arff </span><br />
挖掘结果在上方显示，应是<a href="http://maya.cs.depaul.edu/%7Eclasses/ect584/WEKA/data/bank-data-ar2.txt">这个文件</a>的样子。</p>
<p>&#8212;-整理自<a href="http://maya.cs.depaul.edu/%7Eclasses/ect584/WEKA/associate.html">http://maya.cs.depaul.edu/~classes/ect584/WEKA/associate.html</a></div>
<p><span style="font-weight: bold;">5. 分类与<span class="__mozilla-findbar-search" style="padding: 0pt; background-color: yellow; color: black; display: inline; font-size: inherit;">回归</span></span></p>
<p><span style="color: blue;">背景知识</span><br />
WEKA把分类(Classification)和<span class="__mozilla-findbar-search" style="padding: 0pt; background-color: yellow; color: black; display: inline; font-size: inherit;">回归</span>(Regression)都放在“Classify”选项卡中，这是有原因的。<br />
在这两个任务中，都有一个目标属性（输出变量）。我们希望根据一个样本(WEKA中称作实例)的一组特征（输入变量），对目标进行预测。为了实现 这一目的，我们需要有一个训练数据集，这个数据集中每个实例的输入和输出都是已知的。观察训练集中的实例，可以建立起预测的模型。有了这个模型，我们就可 以新的输出未知的实例进行预测了。衡量模型的好坏就在于预测的准确程度。<br />
在WEKA中，待预测的目标（输出）被称作Class属性，这应该是来自分类任务的“类”。一般的，若Class属性是分类型时我们的任务才叫分类，Class属性是数值型时我们的任务叫<span class="__mozilla-findbar-search" style="padding: 0pt; background-color: yellow; color: black; display: inline; font-size: inherit;">回归</span>。</p>
<p><span style="color: blue;">选择算法</span><br />
这一节中，我们使用C4.5决策树算法对bank-data建立起分类模型。<br />
我们来看原来的“<a href="http://maya.cs.depaul.edu/%7Eclasses/ect584/WEKA/data/bank-data.csv">bank-data.csv</a>” 文件。“ID”属性肯定是不需要的。由于C4.5算法可以处理数值型的属性，我们不用像前面用关联规则那样把每个变量都离散化成分类型。尽管如此，我们还 是把“Children”属性转换成分类型的两个值“YES”和“NO”。另外，我们的训练集仅取原来数据集实例的一半；而从另外一半中抽出若干条作为待 预测的实例，它们的“pep”属性都设为缺失值。经过了这些处理的训练集数据在<a href="http://maya.cs.depaul.edu/%7Eclasses/ect584/WEKA/classify/bank.arff">这里</a>下载；待预测集数据在<a href="http://maya.cs.depaul.edu/%7Eclasses/ect584/WEKA/classify/bank-new.arff">这里</a>下载。</p>
<p>我们用“Explorer”打开训练集“bank.arff”，观察一下它是不是按照前面的要求处理好了。切换到“Classify”选项卡，点 击“Choose”按钮后可以看到很多分类或者<span class="__mozilla-findbar-search" style="padding: 0pt; background-color: yellow; color: black; display: inline; font-size: inherit;">回归</span>的 算法分门别类的列在一个树型框里。3.5版的WEKA中，树型框下方有一个“Filter&#8230;”按 钮，点击可以根据数据集的特性过滤掉不合适的算法。我们数据集的输入属性中有“Binary”型（即只有两个类的分类型）和数值型的属性，而Class变 量是“Binary”的；于是我们勾选“Binary attributes”“Numeric attributes”和“Binary class”。点“OK”后回到树形图，可以发现一些算法名称变红了，说明它们不能用。选择“trees”下的“J48”，这就是我们需要的C4.5算 法，还好它没有变红。<br />
点击“Choose”右边的文本框，弹出新窗口为该算法设置各种参数。点“More”查看参数说明，点“Capabilities”是查看算法适用范围。这里我们把参数保持默认。<br />
现在来看左中的“Test Option”。我们没有专门设置检验数据集，为了保证生成的模型的准确性而不至于出现过拟合（overfitting）的现象，我们有必要采用10折交 叉验证（10-fold cross validation）来选择和评估模型。若不明白交叉验证的含义可以<a href="http://www.google.com/search?&amp;q=cross+validation">Google</a>一下。</p>
<p><span style="color: blue;">建模结果</span><br />
OK，选上“Cross-validation”并在“Folds”框填上“10”。点“Start”按钮开始让算法生成决策树模型。很快，用文 本表示的一棵决策树，以及对这个决策树的误差分析等等结果出现在右边的“Classifier output”中。同时左下的“Results list”出现了一个项目显示刚才的时间和算法名称。如果换一个模型或者换个参数，重新“Start”一次，则“Results list”又会多出一项。</p>
<p>我们看到“J48”算法交叉验证的结果之一为<br />
<span style="color: green;">Correctly Classified Instances         206               68.6667 %</span><br />
也就是说这个模型的准确度只有69%左右。也许我们需要对原属性进行处理，或者修改算法的参数来提高准确度。但这里我们不管它，继续用这个模型。</p>
<p>右键点击“Results list”刚才出现的那一项，弹出菜单中选择“Visualize tree”，新窗口里可以看到图形模式的决策树。建议把这个新窗口最大化，然后点右键，选“Fit to screen”，可以把这个树看清楚些。看完后截图或者关掉:P</p>
<p>这里我们解释一下“Confusion Matrix”的含义。<br />
<span style="color: green;">=== Confusion Matrix ===<br />
a   b   &lt;&#8211; classified as<br />
74  64 |   a = YES<br />
30 132 |   b = NO</span><br />
这个矩阵是说，原本“pep”是“YES”的实例，有74个被正确的预测为“YES”，有64个错误的预测成了“NO”；原本“pep”是 “NO”的实例，有30个被错误的预测为“YES”，有132个正确的预测成了“NO”。74+64+30+132 = 300是实例总数，而(74+132)/300 = 0.68667正好是正确分类的实例所占比例。这个矩阵对角线上的数字越大，说明预测得越好。</p>
<p><span style="color: blue;">模型应用</span><br />
现在我们要用生成的模型对那些待预测的数据集进行预测了。注意待预测数据集和训练用数据集各个属性的设置必须是一致的。即使你没有待预测数据集的Class属性的值，你也要添加这个属性，可以将该属性在各实例上的值均设成缺失值。<br />
在“Test Opion”中选择“Supplied test set”，并且“Set”成你要应用模型的数据集，这里是“bank-new.arff”文件。<br />
现在，右键点击“Result list”中刚产生的那一项，选择“Re-evaluate model on current test set”。右边显示结果的区域中会增加一些内容，告诉你该模型应用在这个数据集上表现将如何。如果你的Class属性都是些缺失值，那这些内容是无意义 的，我们关注的是模型在新数据集上的预测值。<br />
现在点击右键菜单中的“Visualize classifier errors”，将弹出一个新窗口显示一些有关预测误差的散点图。点击这个新窗口中的“Save”按钮，保存一个Arff文件。打开这个文件可以看到在倒 数第二个位置多了一个属性（predictedpep），这个属性上的值就是模型对每个实例的预测值。</p>
<p><span style="color: blue;">使用命令行（推荐）</span><br />
虽然使用图形界面查看结果和设置参数很方便，但是最直接最灵活的建模及应用的办法仍是使用命令行。<br />
打开“Simple CLI”模块，像上面那样使用“J48”算法的命令格式为：<br />
<span style="color: green;">java weka.classifiers.trees.J48 -C 0.25 -M 2 -t directory-path&#8221;bank.arff -d directory-path &#8220;bank.model </span><br />
其中参数“ -C 0.25”和“-M 2”是和图形界面中所设的一样的。“-t ”后面跟着的是训练数据集的完整路径（包括目录和文件名），“-d ”后面跟着的是保存模型的完整路径。注意！这里我们可以把模型保存下来。<br />
输入上述命令后，所得到树模型和误差分析会在“Simple CLI”上方显示，可以复制下来保存在文本文件里。误差是把模型应用到训练集上给出的。<br />
把这个模型应用到“bank-new.arff”所用命令的格式为：<br />
<span style="color: green;">java weka.classifiers.trees.J48 -p 9 -l directory-path&#8221;bank.model -T directory-path &#8220;bank-new.arff </span><br />
其中“-p 9”说的是模型中的待预测属性的真实值存在第9个（也就是“pep”）属性中，这里它们全部未知因此全部用缺失值代替。“-l”后面是模型的完整路径。“-T”后面是待预测数据集的完整路径。<br />
输入上述命令后，在“Simple CLI”上方会有这样一些结果：<br />
<span style="color: green;">0 YES 0.75 ?<br />
1 NO 0.7272727272727273 ?<br />
2 YES 0.95 ?<br />
3 YES 0.8813559322033898 ?<br />
4 NO 0.8421052631578947 ?<br />
&#8230;</span><br />
这里的第一列就是我们提到过的“Instance_number”，第二列就是刚才的“predictedpep”，第四列则是“bank- new.arff”中原来的“pep”值（这里都是“?”缺失值）。第三列对预测结果的置信度（confidence ）。比如说对于实例0，我们有75%的把握说它的“pep”的值会是“YES”，对实例4我们有84.2%的把握说它的“pep”值会是“NO”。<br />
我们看到，使用命令行至少有两个好处。一个是可以把模型保存下来，这样有新的待预测数据出现时，不用每次重新建模，直接应用保存好的模型即可。另一个是对预测结果给出了置信度，我们可以有选择的采纳预测结果，例如，只考虑那些置信度在85%以上的结果。</p>
<p>&#8212;-整理自<a href="http://maya.cs.depaul.edu/%7Eclasses/ect584/WEKA/classify.html">http://maya.cs.depaul.edu/~classes/ect584/WEKA/classify.html</a></p>
<p><span style="font-weight: bold;">6. 聚类分析</span></p>
<p><span style="color: blue;">原理与实现</span><br />
聚类分析中的“类”（cluster）和前面分类的“类”（class）是不同的，对cluster更加准确的翻译应该是“簇”。聚类的任务是把 所有的实例分配到若干的簇，使得同一个簇的实例聚集在一个簇中心的周围，它们之间距离的比较近；而不同簇实例之间的距离比较远。对于由数值型属性刻画的实 例来说，这个距离通常指欧氏距离。<br />
现在我们对前面的“bank data”作聚类分析，使用最常见的K均值（K-means）算法。下面我们简单描述一下K均值聚类的步骤。<br />
K均值算法首先随机的指定K个簇中心。然后：1)将每个实例分配到距它最近的簇中心，得到K个簇；2)计分别计算各簇中所有实例的均值，把它们作为各簇新的簇中心。重复1)和2)，直到K个簇中心的位置都固定，簇的分配也固定。</p>
<p>上述K均值算法只能处理数值型的属性，遇到分类型的属性时要把它变为若干个取值0和1的属性。WEKA将自动实施这个分类型到数值型的变换，而且 WEKA会自动对数值型的数据作标准化。因此，对于原始数据“bank-data.csv”，我们所做的预处理只是删去属性“id”，保存为ARFF格式 后，修改属性“children”为分类型。这样得到的数据文件为“<a href="http://maya.cs.depaul.edu/%7Eclasses/ect584/WEKA/cluster/bank.arff">bank.arff</a>”，含600条实例。</p>
<p>用“Explorer”打开刚才得到的“bank.arff”，并切换到“Cluster”。点“Choose”按钮选择 “SimpleKMeans”，这是WEKA中实现K均值的算法。点击旁边的文本框，修改“numClusters”为6，说明我们希望把这600条实例 聚成6类，即K=6。下面的“seed”参数是要设置一个随机种子，依此产生一个随机数，用来得到K均值算法中第一次给出的K个簇中心的位置。我们不妨暂 时让它就为10。<br />
选中“Cluster Mode”的“Use training set”，点击“Start”按钮，观察右边“Clusterer output”给出的聚类结果。也可以在左下角“Result list”中这次产生的结果上点右键，“View in separate window”在新窗口中浏览结果。</p>
<p><span style="color: blue;">结果解释</span><br />
首先我们注意到结果中有这么一行：<br />
<span style="color: green;">Within cluster sum of squared errors: 1604.7416693522332</span><br />
这是评价聚类好坏的标准，数值越小说明同一簇实例之间的距离越小。也许你得到的数值会不一样；实际上如果把“seed”参数改一下，得到的这个数值就可能会不一样。我们应该多尝试几个seed，并采纳这个数值最小的那个结果。例如我让“seed”取100，就得到<br />
<span style="color: green;">Within cluster sum of squared errors: 1555.6241507629218</span><br />
我该取后面这个。当然再尝试几个seed，这个数值可能会更小。</p>
<p>接下来“Cluster centroids:”之后列出了各个簇中心的位置。对于数值型的属性，簇中心就是它的均值（Mean）；分类型的就是它的众数（Mode）， 也就是说这个属性上取值为众数值的实例最多。对于数值型的属性，还给出了它在各个簇里的标准差（Std Devs）。</p>
<p>最后的“Clustered Instances”是各个簇中实例的数目及百分比。</p>
<p>为了观察可视化的聚类结果，我们在左下方“Result list”列出的结果上右击，点“Visualize cluster assignments”。弹出的窗口给出了各实例的散点图。最上方的两个框是选择横坐标和纵坐标，第二行的“color”是散点图着色的依据，默认是根 据不同的簇“Cluster”给实例标上不同的颜色。<br />
可以在这里点“Save”把聚类结果保存成ARFF文件。在这个新的ARFF文件中，“instance_number”属性表示某实例的编号，“Cluster”属性表示聚类算法给出的该实例所在的簇。</p>
<p>&#8212;-整理自 <a href="http://maya.cs.depaul.edu/%7Eclasses/ect584/WEKA/k-means.html">http://maya.cs.depaul.edu/~classes/ect584/WEKA/k-means.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.zye.me/2009/04/51335.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>机器学习与人工智能学习资源导引</title>
		<link>http://blog.zye.me/2008/11/43780.html</link>
		<comments>http://blog.zye.me/2008/11/43780.html#comments</comments>
		<pubDate>Sat, 01 Nov 2008 15:35:26 +0000</pubDate>
		<dc:creator>yezheng</dc:creator>
				<category><![CDATA[machine learning]]></category>
		<category><![CDATA[information Retrieval]]></category>
		<category><![CDATA[人工智能]]></category>
		<category><![CDATA[信息检索]]></category>

		<guid isPermaLink="false">http://www.5yiso.cn/2008/11/43780.html</guid>
		<description><![CDATA[机器学习与人工智能学习资源导引 This article if from: http://blog.csdn.net/pongba/archive/2008/09/11/2915005.aspx 里面推荐很多书的确非常经典，其中我看过的有两本，1. Stanford的那本《Introduction to Information Retrieval》 2. Bishop, 《Pattern Recognition and Machine Learning》，非常值得一读，网上都能找到电子版的，如果实在找不到给我留言。《Introduction to Information Retrieval》在我以前的post中已经给出下载链接，另外一本电子太大没地方能上传。 &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; 我经常在 TopLanguage 讨论组上推荐一些书籍，也经常问里面的牛人们搜罗一些有关的资料，人工智能、机器学习、自然语言处理、知识发现（特别地，数据挖掘）、信息检索 这些无疑是 CS 领域最好玩的分支了（也是互相紧密联系的），这里将最近有关机器学习和人工智能相关的一些学习资源归一个类： 首先是两个非常棒的 Wikipedia 条目，我也算是 wikipedia 的重度用户了，学习一门东西的时候常常发现是始于 wikipedia 中间经过若干次 google ，然后止于某一本或几本著作。 第一个是“人工智能的历史”（History of Artificial Intelligence），我在讨论组上写道： 而今天看到的这篇文章是我在 wikipedia 浏览至今觉得最好的。文章名为《人工智能的历史》，顺着 AI 发展时间线娓娓道来，中间穿插无数牛人故事，且一波三折大气磅礴，可谓&#8221;事实比想象更令人惊讶&#8221;。人工智能始于哲学思辨，中间经历了一个没有心理学（尤其是认知神经科学的）的帮助的阶段，仅通过牛人对人类思维的外在表现的归纳、内省，以及数学工具进行探索，其间最令人激动的是 Herbert Simon （决策理论之父，诺奖，跨领域牛人）写的一个自动证明机，证明了罗素的数学原理中的二十几个定理，其中有一个定理比原书中的还要优雅，Simon 的程序用的是启发式搜索，因为公理系统中的证明可以简化为从条件到结论的树状搜索（但由于组合爆炸，所以必须使用启发式剪枝）。后来 Simon 又写了 GPS （General Problem <a href='http://blog.zye.me/2008/11/43780.html'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p><span style="font-family: Verdana; font-size: 24px; line-height: normal; white-space: pre">机器学习与人工智能学习资源导引 </span>This article if from: <a href="http://blog.csdn.net/pongba/archive/2008/09/11/2915005.aspx">http://blog.csdn.net/pongba/archive/2008/09/11/2915005.aspx</a></p>
<p>里面推荐很多书的确非常经典，其中我看过的有两本，1. Stanford的那本<strong>《Introduction to Information Retrieval》 2. Bishop, </strong><strong>《Pattern Recognition and Machine Learning》，非常值得一读，网上都能找到电子版的，如果实在找不到给我留言。《Introduction to Information Retrieval》在我以前的post中已经给出下载链接，另外一本电子太大没地方能上传。</strong></p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<p>我经常在 TopLanguage 讨论组上推荐一些书籍，也经常问里面的牛人们搜罗一些有关的资料，人工智能、机器学习、自然语言处理、知识发现（特别地，数据挖掘）、信息检索 这些无疑是 CS 领域最好玩的分支了（也是互相紧密联系的），这里将最近有关机器学习和人工智能相关的一些学习资源归一个类：</p>
<p>首先是两个非常棒的 Wikipedia 条目，我也算是 wikipedia 的重度用户了，<strong>学习一门东西的时候常常发现是始于 wikipedia 中间经过若干次 google ，然后止于某一本或几本著作。 </strong></p>
<p>第一个是“<a href="http://en.wikipedia.org/wiki/History_of_artificial_intelligence"><strong><span style="text-decoration: underline;">人工智能的历史</span></strong></a>”（History of Artificial Intelligence），我在讨论组上写道：</p>
<blockquote><p>而今天看到的这篇文章是我在 wikipedia 浏览至今觉得最好的。文章名为《人工智能的历史》，顺着 AI 发展时间线娓娓道来，中间穿插无数牛人故事，且一波三折大气磅礴，可谓&#8221;事实比想象更令人惊讶&#8221;。人工智能始于哲学思辨，中间经历了一个没有心理学（尤其是认知神经科学的）的帮助的阶段，仅通过牛人对人类思维的外在表现的归纳、内省，以及数学工具进行探索，其间最令人激动的是 Herbert Simon （决策理论之父，诺奖，跨领域牛人）写的一个自动证明机，证明了罗素的数学原理中的二十几个定理，其中有一个定理比原书中的还要优雅，Simon 的程序用的是启发式搜索，因为公理系统中的证明可以简化为从条件到结论的树状搜索（但由于组合爆炸，所以必须使用启发式剪枝）。后来 Simon 又写了 GPS （General Problem Solver），据说能解决一些能良好形式化的问题，如汉诺塔。但说到底 Simon 的研究毕竟只触及了人类思维的一个很小很小的方面 —— Formal Logic，甚至更狭义一点 Deductive Reasoning （即不包含 Inductive Reasoning , Transductive Reasoning (俗称 analogic thinking）。还有诸多比如 Common Sense、Vision、尤其是最为复杂的 Language 、Consciousness 都还谜团未解。还有一个比较有趣的就是有人认为 AI 问题必须要以一个物理的 Body 为支撑，一个能够感受这个世界的物理规则的身体本身就是一个强大的信息来源，基于这个信息来源，人类能够自身与时俱进地总结所谓的 Common-Sense Knowledge （这个就是所谓的 Emboddied  Mind 理论。 ），否则像一些老兄直接手动构建 Common-Sense Knowledge Base ，就很傻很天真了，须知人根据感知系统从自然界获取知识是一个动态的自动更新的系统，而手动构建常识库则无异于古老的 Expert System 的做法。当然，以上只总结了很小一部分我个人觉得比较有趣或新颖的，每个人看到的有趣的地方不一样，比如里面相当详细地介绍了神经网络理论的兴衰。所以我强烈建议你看自己一遍，别忘了里面链接到其他地方的链接。</p></blockquote>
<p>顺便一说，<a href="http://blog.youxu.info/"><strong><span style="text-decoration: underline;">徐宥</span></strong></a>同学打算找时间把这个条目翻译出来，这是一个相当长的条目，看不动 E 文的等着看翻译吧:)</p>
<p>第二个则是“<a href="http://en.wikipedia.org/wiki/Artificial_intelligence"><strong><span style="text-decoration: underline;">人工智能</span></strong></a>”（Artificial Intelligence）。当然，还有<a href="http://en.wikipedia.org/wiki/Machine_learning"><strong><span style="text-decoration: underline;">机器学习</span></strong></a>等等。<strong>从这些条目出发能够找到许多非常有用和靠谱的深入参考资料</strong>。</p>
<p><strong>然后是一些书籍</strong></p>
<p>书籍：</p>
<p>1. <strong>《Programming Collective Intelligence》，</strong>近年出的入门好书，培养兴趣是最重要的一环，一上来看大部头很容易被吓走的:P</p>
<p>2. Peter Norvig 的<strong>《AI, Modern Approach 2nd》</strong>（无争议的领域经典）。</p>
<p>3. <strong>《The Elements of Statistical Learning》，</strong>数学性比较强，可以做参考了。</p>
<p>4. <strong>《Foundations of Statistical Natural Language Processing》</strong>，自然语言处理领域公认经典。</p>
<p>5. <strong>《Data Mining, Concepts and Techniques》</strong>，华裔科学家写的书，相当深入浅出。</p>
<p>6. <strong>《Managing Gigabytes》</strong>，信息检索好书。</p>
<p>7. <strong>《Information Theory：Inference and Learning Algorithms》</strong>，参考书吧，比较深。</p>
<p>相关数学基础（参考书，不适合拿来通读）：</p>
<p>1. 线性代数：这个参考书就不列了，很多。</p>
<p>2. 矩阵数学：<strong>《矩阵分析》</strong>，Roger Horn。矩阵分析领域无争议的经典。</p>
<p>3. 概率论与统计：《概率论及其应用》，威廉·费勒。也是极牛的书，可数学味道太重，不适合做机器学习的。于是讨论组里的 <strong>Du Lei</strong>同学推荐了<strong>《All Of Statistics》</strong>并说到</p>
<blockquote><p>机器学习这个方向，统计学也一样非常重要。推荐All of statistics，这是CMU的一本很简洁的教科书，注重概念，简化计算，简化与Machine Learning无关的概念和统计内容，可以说是很好的快速入门材料。</p></blockquote>
<p>4. 最优化方法：<strong>《Nonlinear Programming, 2nd》</strong>非线性规划的参考书。<strong>《Convex Optimization》</strong>凸优化的参考书。此外还有一些书可以参考 wikipedia 上的最优化方法条目。要深入理解机器学习方法的技术细节很多时候（如SVM）需要最优化方法作为铺垫。</p>
<p><strong>王宁</strong>同学推荐了好几本书：</p>
<p><strong>《Machine Learning, Tom Michell》</strong>, 1997.<br />
老书，牛人。现在看来内容并不算深，很多章节有点到为止的感觉，但是很适合新手（当然，不能&#8221;新&#8221;到连算法和概率都不知道）入门。比如决策树部分就很精彩，并且这几年没有特别大的进展，所以并不过时。另外，这本书算是对97年前数十年机器学习工作的大综述，参考文献列表极有价值。国内有翻译和影印版，不知道绝版否。</p>
<p><strong>《Modern Information Retrieval, Ricardo Baeza-Yates et al》</strong>. 1999<br />
老书，牛人。貌似第一本完整讲述IR的书。可惜IR这些年进展迅猛，这本书略有些过时了。翻翻做参考还是不错的。另外，Ricardo同学现在是Yahoo Research for Europe and Latin Ameria的头头。</p>
<p><strong>《Pattern Classification (2ed)》</strong>, Richard O. Duda, Peter E. Hart, David G. Stork<br />
大约也是01年左右的大块头，有影印版，彩色。没读完，但如果想深入学习ML和IR，前三章（介绍，贝叶斯学习，线性分类器）必修。</p>
<p>还有些经典与我只有一面之缘，没有资格评价。另外还有两本小册子，论文集性质的，倒是讲到了了不少前沿和细节，诸如索引如何压缩之类。可惜忘了名字，又被我压在箱底，下次搬家前怕是难见天日了。</p>
<p>（呵呵，想起来一本：<strong>《Mining the Web &#8211; Discovering Knowledge from Hypertext Data》</strong> ）</p>
<p>说一本名气很大的书：<strong>《Data Mining: Practical Machine Learning Tools and Techniques》</strong>。Weka 的作者写的。可惜内容一般。理论部分太单薄，而实践部分也很脱离实际。DM的入门书已经不少，这一本应该可以不看了。如果要学习了解 Weka ，看文档就好。第二版已经出了，没读过，不清楚。</p>
<p>信息检索方面，<strong>Du Lei</strong> 同学再次推荐：</p>
<blockquote><p>信息检索方面的书现在建议看Stanford的那本<strong>《Introduction to Information Retrieval》</strong>，这书刚刚正式出版，内容当然up to date。另外信息检索第一大牛Croft老爷也正在写教科书，应该很快就要面世了。据说是非常pratical的一本书。</p>
<p>对信息检索有兴趣的同学，强烈推荐<strong>翟成祥博士在北大的暑期学校课程</strong>，这里有全slides和阅读材料：<a href="http://net.pku.edu.cn/~course/cs410/schedule.html"><span style="text-decoration: underline;">http://net.pku.edu.cn/~course/cs410/schedule.html</span></a></p></blockquote>
<p><strong>maximzhao</strong> 同学推荐了一本机器学习：</p>
<blockquote><p>加一本书：Bishop, <strong>《Pattern Recognition and Machine Learning》</strong>. 没有影印的，但是网上能下到。经典中的经典。Pattern Classification 和这本书是两本必读之书。《Pattern Recognition and Machine Learning》是很新（07年），深入浅出，手不释卷。</p></blockquote>
<p>最后，关于人工智能方面（特别地，决策与判断），再推荐两本有意思的书，</p>
<p>一本是<strong>《Simple Heuristics that Makes Us Smart》</strong></p>
<p>另一本是<strong>《Bounded Rationality: The Adaptive Toolbox》</strong></p>
<p>不同于计算机学界所采用的统计机器学习方法，这两本书更多地着眼于人类实际上所采用的认知方式，以下是我在讨论组上写的简介：</p>
<blockquote><p>这两本都是德国ABC研究小组（一个由计算机科学家、认知科学家、神经科学家、经济学家、数学家、统计学家等组成的跨学科研究团体）集体写的，都是引起领域内广泛关注的书，尤其是前一本，後一本则是对 Herbert Simon （决策科学之父，诺奖获得者）提出的人类理性模型的扩充研究），可以说是把什么是真正的人类智能这个问题提上了台面。核心思想是，我们的大脑根本不能做大量的统计计算，使用fancy的数学手法去解释和预测这个世界，而是通过简单而鲁棒的启发法来面对不确定的世界（比如第一本书中提到的两个后来非常著名的启发法：再认启发法（cognition heuristics）和选择最佳（Take the Best）。当然，这两本书并没有排斥统计方法就是了，数据量大的时候统计优势就出来了，而数据量小的时候统计方法就变得<a href="http://en.wikipedia.org/wiki/Curse_of_dimensionality"><span style="text-decoration: underline;">非常糟糕</span></a>；人类简单的启发法则充分利用生态环境中的规律性（regularities），都做到计算复杂性小且鲁棒。</p></blockquote>
<p>关于第二本书的简介：</p>
<blockquote><p>1. 谁是 <a href="http://en.wikipedia.org/wiki/Herbert_Simon"><span style="text-decoration: underline;">Herbert Simon</span></a></p>
<p>2. 什么是 <a href="http://en.wikipedia.org/wiki/Bounded_Rationality"><span style="text-decoration: underline;">Bounded Rationality</span></a></p>
<p>3. 这本书讲啥的：</p>
<p>我一直觉得人类的决策与判断是一个非常迷人的问题。这本书简单地说可以看作是《决策与判断》的更全面更理论的版本。系统且理论化地介绍人类决策与判断过程中的各种启发式方法（heuristics）及其利弊 （为什么他们是最优化方法在信息不足情况下的快捷且鲁棒的逼近，以及为什么在一些情况下会带来糟糕的后果等，比如学过机器学习的都知道朴素贝叶斯方法在许多情况下往往并不比贝叶斯网络效果差，而且还速度快；比如多项式插值的维数越高越容易overfit，而基于低阶多项式的分段样条插值却被证明是一个非常鲁棒的方案）。</p>
<p>在此提一个书中提到的例子，非常有意思：两个团队被派去设计一个能够在场上接住抛过来的棒球的机器人。第一组做了详细的数学分析，建立了一个相当复杂的抛物线近似模型（因为还要考虑空气阻力之类的原因，所以并非严格抛物线），用于计算球的落点，以便正确地接到球。显然这个方案耗资巨大，而且实际运算也需要时间，大家都知道生物的神经网络中生物电流传输只有百米每秒之内，所以 computational complexity 对于生物来说是个宝贵资源，所以这个方案虽然可行，但不够好。第二组则采访了真正的运动员，听取他们总结自己到底是如何接球的感受，然后他们做了这样一个机器人：这个机器人在球抛出的一开始一半路程啥也不做，等到比较近了才开始跑动，并在跑动中一直保持眼睛于球之间的视角不变，后者就保证了机器人的跑动路线一定会和球的轨迹有交点；整个过程中这个机器人只做非常粗糙的轨迹估算。体会一下你接球的时候是不是眼睛一直都盯着球，然后根据视线角度来调整跑动方向？实际上人类就是这么干的，这就是 heuristics 的力量。</p>
<p>相对于偏向于心理学以及科普的《决策与判断》来说，这本书的理论性更强，引用文献也很多而经典，而且与人工智能和机器学习都有交叉，里面也有不少数学内容，全书由十几个章节构成，每个章节都是由不同的作者写的，类似于 paper 一样的，很严谨，也没啥废话，跟 《Psychology of Problem Solving》类似。比较适合 geeks 阅读哈。</p>
<p>另外，对理论的技术细节看不下去的也建议看看《决策与判断》这类书（以及像《别做正常的傻瓜》这样的傻瓜科普读本），对自己在生活中做决策有莫大的好处。人类决策与判断中使用了很多的 heuristics ，很不幸的是，其中许多都是在适应几十万年前的社会环境中建立起来的，并不适合于现代社会，所以了解这些思维中的缺点、盲点，对自己成为一个良好的决策者有很大的好处，而且这本身也是一个非常有趣的领域。</p></blockquote>
<p>（完）</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.zye.me/2008/11/43780.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Pattern Classification（模式分类） 下载地址</title>
		<link>http://blog.zye.me/2008/06/33778.html</link>
		<comments>http://blog.zye.me/2008/06/33778.html#comments</comments>
		<pubDate>Sat, 07 Jun 2008 10:50:00 +0000</pubDate>
		<dc:creator>yezheng</dc:creator>
				<category><![CDATA[machine learning]]></category>
		<category><![CDATA[模式分类]]></category>

		<guid isPermaLink="false">http://www.5yiso.cn/2008/06/33778.html</guid>
		<description><![CDATA[推荐一本好书 下载地址：（英文）http://www.image2003.com/book/down/6118314813020083121050551001177.pdf]]></description>
			<content:encoded><![CDATA[<p>推荐一本好书 <br />
 下载地址：（英文）<a href="http://www.image2003.com/book/down/6118314813020083121050551001177.pdf">http://www.image2003.com/book/down/6118314813020083121050551001177.pdf</a></p>
<pre>
</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.zye.me/2008/06/33778.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

