摘要: 之前在用Hadoop写ML算法的时候就隐约感觉Hadoop实在是不适合ML这些比较复杂的算法。记得当时写完kmeans后,发现每个job完成后都需要将结果放在HDFS中,然后下次迭代的时候再从文件中读取,对于kmeans这种高迭代的算法,感觉Hadoop的瓶颈会出现在IO上,后来又写了个Naiveb... 阅读全文
posted @ 2015-06-18 16:54 sunrye 阅读(776) 评论(2) 推荐(0) 编辑
摘要: HMM(hidden markov model)可以用于模式识别,李开复老师就是采用了HMM完成了语音识别。一下的例子来自于《统计学习方法》一个HMM由初始概率分布,状态转移概率分布,观测概率分布确定。并且基于两个假设:1 假设任意时刻t的状态只依赖于前一个时刻的状态,与其他时刻的状态和观测序列无关... 阅读全文
posted @ 2015-06-15 21:22 sunrye 阅读(4537) 评论(0) 推荐(0) 编辑
摘要: 这个问题在于实现Apriori算法的时候需要求各个频繁集的关联规则,而这时需要在求得最大的频繁集中求各个频繁集的真子集。然后在实现这一步的时候被卡主了,第一反应是用递归完成,但是面对数据挖掘中庞大的项目集,递归显然很低效,而且估计跑不起来,所以用迭代的方法显然比较靠谱。网上非递归的方法有用二进制加法... 阅读全文
posted @ 2015-06-12 08:46 sunrye 阅读(1141) 评论(0) 推荐(1) 编辑
摘要: 目前学了几个ML的分类的经典算法,但是一直想着是否有一种能将这些算法集成起来的,今天看到了AdaBoost,也算是半个集成,感觉这个思路挺好,很像人的训练过程,并且对决策树是一个很好的补充,因为决策树容易过拟合,用AdaBoost可以让一棵很深的决策树将其分开成多棵矮树,后来发现原来这个想法和ran... 阅读全文
posted @ 2015-06-11 11:46 sunrye 阅读(2267) 评论(1) 推荐(1) 编辑
摘要: 刚才写了ID3决策树的建立,这个是通过决策树来进行预测。这里主要用到的就是XML的遍历解析,比较简单。关于xml的解析,参考了:http://blog.csdn.net/soszou/article/details/8049220http://lavasoft.blog.51cto.com/6257... 阅读全文
posted @ 2015-06-09 10:30 sunrye 阅读(648) 评论(0) 推荐(0) 编辑
摘要: 决策树的分类过程和人的决策过程比较相似,就是先挑“权重”最大的那个考虑,然后再往下细分。比如你去看医生,症状是流鼻涕,咳嗽等,那么医生就会根据你的流鼻涕这个权重最大的症状先认为你是感冒,接着再根据你咳嗽等症状细分你是否为病毒性感冒等等。决策树的过程其实也是基于极大似然估计。那么我们用一个什么标准来衡... 阅读全文
posted @ 2015-06-09 09:01 sunrye 阅读(3418) 评论(0) 推荐(0) 编辑
摘要: Naive Bayes是比较常用的分类器,因为思想比较简单。之所以说是naive,是因为他假设用于分类的特征在类确定的条件下是条件独立的,这个假设使得分类变得很简单,但会损失一定的精度。具体推导可以看《统计学习方法》经过推导我们可知y=argMaxP(Y=ck)*P(X=x|Y=ck)。那么我们需要... 阅读全文
posted @ 2015-06-05 09:04 sunrye 阅读(1635) 评论(1) 推荐(1) 编辑
摘要: 参考了http://www.cnblogs.com/chaoku/p/3748456.html?utm_source=tuicool的代码。不过他的代码细节上有点问题。主要在于对于质心的处理上,他的代码中将前面的序号也作为数据进行求距离,但是这里是不用的。kmeans基本思想就是在一个点集中随机选取... 阅读全文
posted @ 2015-06-03 22:30 sunrye 阅读(2048) 评论(0) 推荐(0) 编辑
摘要: 对于矩阵A[mn]*B[nl]=C[ml]。这里可以并行起来的就是每个Cij,对于Cij而言,他是由A的第i行和B的第j列相乘得到。由于大的矩阵中经常是稀疏矩阵,所以一般用行列值表示例如对于A:1 2 34 5 07 8 910 11 12他的行列值表为:1 1 11 2 21 3 32 1 42 ... 阅读全文
posted @ 2015-06-01 20:01 sunrye 阅读(316) 评论(0) 推荐(0) 编辑
摘要: 上一个全文搜索实现了模糊查找,这个主要实现了精确查找,就是比如你查找mapreduce is simple那么他就只查找有这个句子的文章,而不是查找有这三个单词的文章。这个版本需要重写反向索引,因为需要查找句子,所以需要定位每个单词的在文章中的位置,所以我们的反向索引需要加上单词所在的位置,即我们希... 阅读全文
posted @ 2015-06-01 10:27 sunrye 阅读(265) 评论(0) 推荐(0) 编辑