在mac上使用octave

摘要: 开始机器学习的征程这段时间开始看Andrew Ng的机器学习视频,去年就报名了,但是去年一方面有些其他的事情,更重要的是找不到应用的场景,只是听课,觉得进展不快。最近有需求了,又开始看视频。不得不说Andrew Ng讲得真不错。没有高深的数学证明,注重应用,非常对我的胃口,如果不懂再去看看书,往往会有“原来如此”的感觉。在视频中,Andrew Ng推荐大家使用Octave这个工具来开发机器学习的程... 阅读全文
posted @ 2012-03-18 21:09 见路非道 阅读(5200) 评论(0) 推荐(1)

web.py使用要点

摘要: 这几天有一个构建restful services的需求,我采用了web.py,之前并没有使用过,但在使用中确实给我带来了很多惊喜。当然,最大的惊喜就是简单,方便。之前开发restful服务的时候,采用java的框架restlet,当时觉得就很方便,很轻量级了。但是用了web.py之后,才发现,开发可以如此之轻。为了迎合python的特点,在介绍web.py的时候,以罗列要点的方式进行,我会在自己不... 阅读全文
posted @ 2012-03-18 00:56 见路非道 阅读(2404) 评论(3) 推荐(0)

社交圈子挖掘的一种快速的方法--label propagation

摘要: 这几天做复杂网络相关的学习研究,越发觉得网络科学的内容会越来越丰富,应用会越来越多。会为人类进步,产生巨大的贡献。我又激动了。 这篇博客介绍的方法,可以应用在大规模的复杂网络中,有着近乎线性的复杂度。这篇博客继续介绍复杂网络中社团结构发现的一种方法--label propagation(简称LP)。与之前博客中介绍的local_fitness方法类似,这个方法也是从局部结构信息出发。LP方法的提出,主要是综合考虑了以前的方法有以下两个弊端:很多方法需要有先验的知识:社团数目,中心点,clique大小等等之前的一些方法,在性能上复杂度都比较高为了解决以上的两个问题,论文中提出label prop 阅读全文
posted @ 2012-03-15 17:20 见路非道 阅读(5063) 评论(2) 推荐(0)

社交网络挖掘的另一个工具-igraph

摘要: 工欲善其事,必先利其器最近一直在做社交网络挖掘相关的工作,一直用的networkx这个python工具,享受python带来的便利的同时,要忍受networkx的性能问题。当分析的网络较小的时候,networkx没有问题,但是节点有几百万的时候,networkx真的很慢。所以,我就逐渐使用igraph。igraph是c实现的,性能比networkx肯定要好,而且,提供的api更丰富一些,同时支持python和R的接口,使用起来很方便。具体的区别,我会在使用过程中不断总结,并且和大家进行分享。下载下载igraph:点击这里。下载python接口:点击这里。这两个连接,都是针对0.5.4版本的,1 阅读全文
posted @ 2012-03-14 11:41 见路非道 阅读(2071) 评论(0) 推荐(0)

将python中的dict按值排序

摘要: 这几天仍在做社交圈子挖掘,实验将会整理整理再与大家分享,分析中,遇到一个问题,就对是python的dict的value进行排序:有什么好的方法么?我搜了一下,找到以下几种,分享:假设有dict如下:x = {1: 2, 3: 4, 4:3, 2:1, 0:0} import operatorsorted_x = sorted(x.iteritems(), key=operator.itemgett... 阅读全文
posted @ 2012-03-12 19:44 见路非道 阅读(487) 评论(0) 推荐(0)

问道python

摘要: 做好某些领域的研究,做好某些领域的工程。这是我对自己的要求,研究就是做社交网络挖掘,现在很火,我也跟着凑热闹。一连发了几篇社交圈子挖掘的博客,越来越有心得。这是个好的兆头,再接再厉。 在做社交圈子挖掘的过程中,我需要不断的做实验,试验论文中的想法,自己的想法,要求效果好,而且coding要快。我比较熟悉java,c++也会一些,但是我都没有选择,我选择了我不熟悉的python,一方面,networkx是pyhton写的。另一方面,想见识一下python的魅力。 我目前用得都比较简单,但是也明显感觉开发速度快,方便的特点,使用python我感觉很随意,觉得自己好像触碰到自由的边沿。java也是开 阅读全文
posted @ 2012-03-03 00:43 见路非道 阅读(362) 评论(0) 推荐(0)

微博社交圈子挖掘的一种有趣的思路

摘要: 这是我在一篇论文中看到的思路,与之前的一些思路有比较大的不同。论文没有通篇看完,只看到算法描述部分,我就迫不及待的实验,对于同学,同事圈子的挖掘有一定的效果。我之前了解的一些算法的思路可以总结如下:从节点开始,每个节点作为一个社团圈子进行合并从整个网络开始,通过某些算法选取某些边,进行分割从最大团开始,选择合适的相似度计算的方法,对最大团进行合并我比较关注圈子之间有重叠的情况。前两种,我目前实验做得少,主要集中在第三种,及其扩展。第三种思路目前比较经典的就是k-clique算法,相似度计算的依据很强,很直接,就是要有k-1公共节点。后来有几篇文章,也是从最大团开始做的。我个人认为,是一个很好的 阅读全文
posted @ 2012-03-02 16:25 见路非道 阅读(1082) 评论(8) 推荐(0)

微博社交圈子的评价

摘要: 这几天不断尝试社交圈子挖掘的算法,不断改进算法,产生了很多的结果。对于我自己的圈子,我人工评价即可知道效果如何,但是如果测试其他人的数据,总是请同学帮忙验证,有些过于麻烦,而且,这样的人工评价,不利于比较。所以,我需要一个相对准确的方法来评价我挖掘出的圈子的效果如何。 我经常听有人说圈子的“准确率”,“召回率”如何如何。但是,我觉得这个也不是很直观,因为这个需要标注数据,来进行测评。那我们能否从网络拓扑结构本身入手,进行判断呢?当然可以,就是:quality function。 这个思路很早就提出来了。要分析这个思路,还要先说说社团结构的定义。对于社团结构,一直没有很好的定义,尤其是量化的定义 阅读全文
posted @ 2012-02-29 16:21 见路非道 阅读(310) 评论(0) 推荐(0)

微博社交圈子挖掘所面临的困难

摘要: 我很喜欢《亮剑》这部电视剧,李云龙经常说:我们不能打了半天,不知道敌人是谁。所以 ,这一篇文章,我简单分析一下,微博社交圈子挖掘目前遇到的问题是什么?不能分析了半天,只注重结果如何如何,却忘记了最根本的问题、难题是什么。 复杂网络中社团结构发现的研究已经有好多年了,有分裂的方法,凝聚的方法,基于网络动力学的方法,还有很多别的奇怪的方法。这些方法都有各自适应的解决的网络结构。比如前一篇博客中提到的两点:层次性重叠性一些方法层次性处理的很好,如GN,Newman‘s fast algorithm等,有些重叠性处理的非常好,如k-clique方法比较典型。后来,研究人员相继提出一些方法,将上面的两个 阅读全文
posted @ 2012-02-28 15:04 见路非道 阅读(1012) 评论(0) 推荐(0)

社交圈子挖掘尝试

摘要: 微博构成了一个社交网络,链接非常复杂,学术一点说叫做复杂网络。在社交网络中发现圈子,其实就是在复杂网络中发现社团结构,有很多方法可以依循。但是目前这些方法,都有各自的优缺点,没有相对完美的算法。从今天开始尝试学习、分析这些算法的特点,并且希望能够进行不遗余力的改进。 在一个复杂的社交网络中,有两个特点,首先要很清楚,才能够判断挖掘的圈子是否合理,是否贴合实际:层次性:在社交网络中,圈子、或者社团结构,往往都是可以分为子圈子、子社团结构的,可能是由于选取某系的某种不同程度。重叠性:由于人的多面的属性,在实际的社交网络中,圈子往往是重叠的。根据以上两个重要的特点,分别有比较典型的代表算法:Newm 阅读全文
posted @ 2012-02-25 10:00 见路非道 阅读(1757) 评论(0) 推荐(0)