Archive for the ‘Code杂谈’ category

Memory Barriers 的一些思考

August 14th, 2014

之前由于各种原因blog停更了半个月,现在回到正常环境下。

我们都知道在多处理器环境下,我们会遇到Memory Barriers,其实说白了,就是数据的不一致性,说的更加精确点,就是cache的不一致性,因为各种architecture 不同,x86与ARM不同,在x86下,Intel与AMD又不同,所以我们要搞清cpu与cache的不同结构,之前我们知道cache分为N路组相联(N-way set associative)。在取值的时候,中间位负责区分是哪一路,在这篇文章中讲的很详细:http://www.lizhaozhong.info/archives/580

不过x86的mb。x86 CPU会自动处理store顺序,所以smp_wmb()原语什么也不做,但是load有可能乱序!

» Read more: Memory Barriers 的一些思考

数据挖掘—–自己整理的笔记

July 11th, 2014

将近一个月没有更新博客,主要这期间有太多的考试,数据挖掘就是其中的一门比较难的课程,由于一直不敢怎么掉以轻心,总结了好长的笔记来复习。其实在读研期间也曾考虑学习Data Mining方向,虽说不是很擅长,但是通过这门课也算是data mining入了门。

本科时候也学过这门课,那时候主要以计算为主,其中的原理有很多是云里雾里的感觉。这次的学习,使得我从数据的预处理,到关联规则,分类,聚类的算法,有了清晰的了解,并可以通过分析各个算法的优缺点,改进现有某个算法的存在的问题。

比如:

支持向量机( SVM)是 一种具有高准确率的分类方法。但是SVM 处理大型数据元组集时,速度很慢试开发一种可伸缩的算法克服以上困难。
1,先使用层次聚类的CF-tree构造出微小的聚类簇
2. 找出聚类簇的质心代表该聚类,然后使用SVM进行训练,这样可以大大减少数据元组的数量。
3. 找出超平面来划分这些微型聚类簇。
4. 加入新的聚类簇来进行SVM训练
5. 直到没有新的聚类簇加入,分类完毕

又比如:

提升的基本思想:假设你是一位患者,有某某些症状.你选择咨询多位医生,假设你根据医生先前的诊断准确率,对每位医生的诊断赋予一个权重.然后这些加权诊断的组合最为最终的诊断,这就是提升的基本思想.

提高决策归纳准确性的原因:在提升方法中,权重赋予每个训练元组.迭代的学习K个分类器序列,学习得到分类器Mi之后,更新权重,使得其后的分类器Mi+1”更关注” Mi误分类的训练元组,最终提升的分类器M*组合每个个体分类器,其中每个分类器投票的权重是其准确率的函数。可以扩充提升算法,预测连续值。

这个就是分类与聚类的结合,通过这种方式,我们克服了SVM的缺点,为我们所用!

下面贴出我从数据预处理,OLAP,到数据各种分类算法的笔记:

» Read more: 数据挖掘—–自己整理的笔记

反编译D-Link路由器固件,找出Backdoor

October 30th, 2013

指导文章 http://blog.jobbole.com/49959/
最近DLink爆出固件存在后门,正好最近在看汇编,所以花了一晚上时间,按照这篇的提示实践了一下。
» Read more: 反编译D-Link路由器固件,找出Backdoor

Open Source on Github: Your First Contribution (Repost)

August 22nd, 2013

As a senior Computer Science student, I am constantly hearing about how great it is to contribute to open source projects on github. Many job listings list it as a qualification or a “plus”, and it is casually thrown around in conversation at all kinds of seminars and events at school. Sounds great, I should do that! The only problem is: I’m a huge noob! I’ve done well in my computer science classes at school, sure, and I’ve built some projects that my family and friends think are cool, yes, but surely I can’t contribute in any meaningful way to a project with real users, right? Right?
» Read more: Open Source on Github: Your First Contribution (Repost)

一个资深程序员的创业失败经验分享

August 11th, 2013

好久没写过东西了,本来想旅行到处散散心的,但是现在上海简直是太热了,坑爹的40度啊,哪里也不想去,决定来星巴克坐坐,讲讲这一年多来的创业故事,以及分享一下创业失败经验!

» Read more: 一个资深程序员的创业失败经验分享