2008年4月20日星期日

寻谷聚类算法

valley seeking clustering method
所谓的valley seeking聚类方法,就是在特征空间中寻找特征分布密度较小的位置,作为聚类的边界。如下图中的2维特征空间,形成5个分布密度较高的峰,如果能确定峰-峰间的谷的位置,也就等于确定了各个类别的边界,从而完成聚类。算法的目标是非常直观的。
这种聚类方法的流程可以简单描述如下:
1. 确定初始半径,可以取为样本标准差的某个倍数;初始半径的设置影响聚类的数目;
2. 在该半径范围内,确定每个特征的近邻数目,以及近邻的集合。 如果特征的数目为N,需要初始化一个N×N的数组来存放每个特征的近邻编号,计算完成后,可以根据最大近邻集合中元素的数目,删去多余的元素。
3. 如果一个特征的近邻数目,超过它每一个近邻各自的近邻数目,则该特征确定了上图中一个特征密度峰。如此,设置一个最小近邻标准,可以找出全部五个峰。
4. 五个峰确定5个类别,给每个峰的近邻特征设置类别标记;
5. 将所有特征按照近邻数目从大到小排序;
6. 从近邻数目最大的特征开始,看其近邻中属于哪一类别的最多,就将该特征也归入这一类;如此,完成全部特征的聚类。
在上面的聚类结果中,右上角有几个较密集的特征没有归类,反而归类了旁边更分散的几个特征。出现这种问题的原因是这几个特征的形成一个小的局部峰值,这些特征的聚类次序在周围特征之前,而这时,周围的这些特征还没有获得聚类信息。

2008年4月19日星期六

一辆伪山地车的悲惨遭遇

A Bicycle's miserable life

2005年的时候,我决定丰富自己的运动生活,跑步之外,再加点别的东西,为了不至于还是在原地转圈圈,就选择了自行车,去体验人造风的猎猎吹拂,转一个更大的圈圈。
在自行车论坛上泡了几周,又去商场转了几圈。苦于钱包不鼓,就买了现在这辆,捷马TXT 5500,新车当然是很漂亮的,可惜当初没有合影留念,网上google了一下,又百度了一下,连个图片都找不到。全钢的车身很重,锻炼身体嘛,重才有效 果!四连杆的车架,多了个起副作用的后避震,但看上去总还有一点“运动”气质。

拆掉前后挡泥板,拔高车座,“运动”气质又调高了几分。那时候实验室在一楼,车子放在房间里,每天看它几十次,喜不自胜,俨 然一自行车运动高手。学校离紫金山近,往山脚下转悠几次,踩踩点,然后就开始赶着车轱辘往山上滚了。上天文台,头陀岭,再从青年路下来。不定期地在这条路 上颠来倒去,一个更大的圈形成了。
说起来,这辆伪山地车应该像它的伪自行车爱好者主人一样骄傲了,出身贫贱,但也可以经常呆 立在头陀岭索道边的平台上,俯瞰南京灰蒙蒙的城市景观。这通常是身价数倍于它的同类才能享受的待遇。从这个意义上说,它反倒是很幸运的,尽管上山时链条和 齿盘咬牙切齿,下山时车架和前叉咣当作响。

当然,不幸还是主流,它的两个轮子不动的时间就跟主人的臀部不动的时间一样长。更糟的是,它被请出了房间,只能在学校这个大工地的车棚下面呆着,忍受灰尘和雨水,以及某些人试图让它重回正常生命轨迹的努力。为了抵抗这种努力,我给它配了两把锁。
莫名其妙地前胎破了,趁机去买了胶水和微型打气筒,自己将就着补好了。过了几个月,后胎又破了,这次锁上有了碰撞的痕迹。后来,不骑的时候,我都会把轮胎的气放掉,这下总扎不穿了吧。去年,自行车也开始主动配合,前胎自动放气,打次气可以支持个五六小时,正好够绕上一圈。
长期放在外面,生锈是难免的,座垫杆和曲柄上没有上漆,早早地就生了锈,只能经常用WD40喷一下,让锈别堆得太过分。轮圈和辐条也失去了光泽,“运动”气质也只能靠高昂的车座撑撑面子了。

一次取车的时候,发现后轮锁上套了一个塑料袋,里面有一些浅绿色的黏糊糊的东西,我有些莫名其妙,什么人吃了东西垃圾乱扔,还故意扔到我锁上?等到发现锁口上锈迹斑斑,钥匙也拧不动时,我才明白过来,撬不开拿酸液来腐蚀?这也想得出!
幸好我有WD40。
前几天再去看时,后轮上的锁怎么又变了?再一看,原来是上面的塑料套没了。又遭黑手了,还好两把锁给面子。不过,丢车的危险身已经像那些闪闪发光的部件一样越来越少,坚持到我离开南京应该不是问题了。

2008年4月15日星期二

Windows共享Internet连接中的RPC错误

在Window XP中,通过Internet连接共享可以与其它计算机共享网络连接,一拖多共同上网。在网络连接中启用该功能时,可能会弹出错误信息:RPC Server unavaliable(RPC 服务器不可用)。
解决的方法是在控制面板->管理工具->“服务”中启动“DHCP Client”,并将启动方式改为“自动”。
在我的机子上,未启动该服务时,并不总是弹出错误提示,但一段时间后,网络连接自动断开,连主机也不能上网。在网络连接中先“禁用”外网网卡,再重新“启用”后又恢复正常。启用该服务可以解决这个问题。

参考链接:http://www.legend.ws/blog/tips-tricks/rpc-server-unavailable-ics/

本来想用Windows自带的ICS与另一机子共享上网的,弄了半天还是不行,一个很奇怪的现象是,主机可以ping通客户机,而客户机只有在主机 ping客户机后很短的时间内才能ping通主机。试了网上的各种解决方法,打开各种服务,关闭防火墙等等,还是不通。最后装了Sygate就马上解决问 题了。

2008年4月13日星期日

MATLAB中的正态分布检验

要对一组样本进行正态性检验,在MATLAB中,一种方法是用normplot画出样本,如果都分布在一条直线上,则表明样本来自正态分布,否则是非正态分布。
MATLAB中也提供了几种更正式的检验方法:
kstest Kolmogorov-Smirnov 正态性检验,将样本与标准正态分布(均值为0,方差为1)进行对比,不符合正态分布返回1,否则返回0;该函数也可以用于其它分布类型的检验;
lillietest Lilliefors test。 与kstest不同,检验目标不是标准正态,而是具有与样本相同均值和方差的正态分布。
jbtest Jarque-Bera test。与 Lilliefors test 类似,但不适用于小样本的情况。