摘要:开始机器学习的征程这段时间开始看Andrew Ng的机器学习视频,去年就报名了,但是去年一方面有些其他的事情,更重要的是找不到应用的场景,只是听课,觉得进展不快。最近有需求了,又开始看视频。不得不说Andrew Ng讲得真不错。没有高深的数学证明,注重应用,非常对我的胃口,如果不懂再去看看书,往往会有“原来如此”的感觉。在视频中,Andrew Ng推荐大家使用Octave这个工具来开发机器学习的程...
阅读全文
摘要:这几天有一个构建restful services的需求,我采用了web.py,之前并没有使用过,但在使用中确实给我带来了很多惊喜。当然,最大的惊喜就是简单,方便。之前开发restful服务的时候,采用java的框架restlet,当时觉得就很方便,很轻量级了。但是用了web.py之后,才发现,开发可以如此之轻。为了迎合python的特点,在介绍web.py的时候,以罗列要点的方式进行,我会在自己不...
阅读全文
摘要:这几天做复杂网络相关的学习研究,越发觉得网络科学的内容会越来越丰富,应用会越来越多。会为人类进步,产生巨大的贡献。我又激动了。 这篇博客介绍的方法,可以应用在大规模的复杂网络中,有着近乎线性的复杂度。这篇博客继续介绍复杂网络中社团结构发现的一种方法--label propagation(简称LP)。与之前博客中介绍的local_fitness方法类似,这个方法也是从局部结构信息出发。LP方法的提出,主要是综合考虑了以前的方法有以下两个弊端:很多方法需要有先验的知识:社团数目,中心点,clique大小等等之前的一些方法,在性能上复杂度都比较高为了解决以上的两个问题,论文中提出label prop
阅读全文
摘要:工欲善其事,必先利其器最近一直在做社交网络挖掘相关的工作,一直用的networkx这个python工具,享受python带来的便利的同时,要忍受networkx的性能问题。当分析的网络较小的时候,networkx没有问题,但是节点有几百万的时候,networkx真的很慢。所以,我就逐渐使用igraph。igraph是c实现的,性能比networkx肯定要好,而且,提供的api更丰富一些,同时支持python和R的接口,使用起来很方便。具体的区别,我会在使用过程中不断总结,并且和大家进行分享。下载下载igraph:点击这里。下载python接口:点击这里。这两个连接,都是针对0.5.4版本的,1
阅读全文
摘要:这几天仍在做社交圈子挖掘,实验将会整理整理再与大家分享,分析中,遇到一个问题,就对是python的dict的value进行排序:有什么好的方法么?我搜了一下,找到以下几种,分享:假设有dict如下:x = {1: 2, 3: 4, 4:3, 2:1, 0:0} import operatorsorted_x = sorted(x.iteritems(), key=operator.itemgett...
阅读全文
摘要:做好某些领域的研究,做好某些领域的工程。这是我对自己的要求,研究就是做社交网络挖掘,现在很火,我也跟着凑热闹。一连发了几篇社交圈子挖掘的博客,越来越有心得。这是个好的兆头,再接再厉。 在做社交圈子挖掘的过程中,我需要不断的做实验,试验论文中的想法,自己的想法,要求效果好,而且coding要快。我比较熟悉java,c++也会一些,但是我都没有选择,我选择了我不熟悉的python,一方面,networkx是pyhton写的。另一方面,想见识一下python的魅力。 我目前用得都比较简单,但是也明显感觉开发速度快,方便的特点,使用python我感觉很随意,觉得自己好像触碰到自由的边沿。java也是开
阅读全文
摘要:这是我在一篇论文中看到的思路,与之前的一些思路有比较大的不同。论文没有通篇看完,只看到算法描述部分,我就迫不及待的实验,对于同学,同事圈子的挖掘有一定的效果。我之前了解的一些算法的思路可以总结如下:从节点开始,每个节点作为一个社团圈子进行合并从整个网络开始,通过某些算法选取某些边,进行分割从最大团开始,选择合适的相似度计算的方法,对最大团进行合并我比较关注圈子之间有重叠的情况。前两种,我目前实验做得少,主要集中在第三种,及其扩展。第三种思路目前比较经典的就是k-clique算法,相似度计算的依据很强,很直接,就是要有k-1公共节点。后来有几篇文章,也是从最大团开始做的。我个人认为,是一个很好的
阅读全文