微博社交圈子的评价

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

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

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

社交圈子挖掘尝试

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

构建高性能java程序-使用mapped file创建超大的矩阵

摘要: 今天在一个博客中看到一个程序,使用mapped file机制,创建超大的矩阵,主要是为了节省内存,避免内存溢出异常。主要代码如下:/** * */package high.performace.java;import java.io.Closeable;import java.io.IOException;import java.io.RandomAccessFile;import java.n... 阅读全文
posted @ 2012-02-23 11:25 见路非道 阅读(442) 评论(0) 推荐(0)

编写高性能的java程序

摘要: 看了几篇文章介绍高性能java程序开发的,主要是关于采用一些什么样的方法,能够较大的提升java程序的性能,主要有以下几点: 使用unsafe的类,去掉一些不必要的检查。这部分我平时没有使用,需要进一步研究 尽可能少的使用内存,比如对于基础类型的集合,可以采用Trove工具包。 java中默认的String的实现性能比较低,是基于char[],java 6之后,使用-XX:+UseCompress... 阅读全文
posted @ 2012-02-23 10:27 见路非道 阅读(239) 评论(0) 推荐(0)

ubuntu环境下,eclipse CDT链接库设置

摘要: ubuntu下,适用eclipse开发c++程序,经常会需要连接外部的库,主要有两种方法: 直接修改Debug/objects.mk: 修改如下:LIBS := -lxapian 右键项目->peoperties->c/c++ Build->Settings->Tool Settings->GCC C++ Linkder->Libraries。在上面的Libraries(-l)中添加,比如我要添加... 阅读全文
posted @ 2012-02-22 11:27 见路非道 阅读(335) 评论(0) 推荐(0)

在Ubuntu上安装Go环境

摘要: 打算将一篇论文中的存储引擎实现了,java效率相对低,不想用c++,就想到了google开源的go语言。这次是真的有实际需求的学习了。开始安装: 安装c语言工具:gcc,make,awk等,一般默认都安装好了 安装Mercurial,sudo easy_install mercurial, 如果没有安装easy_install,执行:apt-get install python-setuptool... 阅读全文
posted @ 2012-02-21 17:57 见路非道 阅读(350) 评论(0) 推荐(0)

Cassandra Leveled Compaction源码阅读

摘要: 笔记都是写给未来的自己看的。Cassandra为什么要有Compaction的机制Cassandra是BigTable的列族(Column Family)存储方式,这是一种非常灵活的存储模型,即使在同一个表中,不同的key也可以有不同的列,而且列不是对齐存储的,节省了空间。在Cassandra中,insert和update在底层都是追加的方式实现的,例如,数据key1对应column1,column2两列,要更新key1数据,更新内容为column2,c0lumn3。column1不变,column2更新,column是新加的。并且由于追加的方式,原数据和更新数据分别在两个sstable文件中 阅读全文
posted @ 2012-02-20 21:57 见路非道 阅读(793) 评论(0) 推荐(0)

HDU动态规划部分题目统计

摘要: 统计的HDU上的部分动态规划的题目,供自己复习查找,大部分题目的思路、代码会在博客中给出。ID题目状态2955Robberies 1864最大报销额 1231最大连续子序列AC1003Max sumAC1506Largest Rectangle 1505City Game 2602Bone Collector 1087Super JumpingAC2571命运 1069Monkey and Ban... 阅读全文
posted @ 2012-02-09 22:23 见路非道 阅读(268) 评论(0) 推荐(0)

动态规划复习-HDU1087

摘要: 找到一个上升子序列,和最大。注意取值可能为负数。#include int n;int a[1001], dp[1001];int main() { while (scanf("%d", &n)) { if (0 == n) break; for (int i = 1; i a[j] && dp[i] m) m = dp[i]; } printf("%d\n", m); } return... 阅读全文
posted @ 2012-02-09 19:11 见路非道 阅读(151) 评论(0) 推荐(0)