随笔分类 -  机器学习

摘要:本文目的 当前spark(1.3版)随机森林实现,没有包括OOB错误评估和变量权重计算。而这两个功能在实际工作中比较常用。OOB错误评估可以代替交叉检验,评估模型整体结果,避免交叉检验带来的计算开销。现在的数据集,变量动辄成百上千,变量权重有助于变量过滤,去掉无用变量,提高计算效率,同时也可以帮助理... 阅读全文
posted @ 2015-05-28 19:39 bourneli 阅读(3956) 评论(0) 推荐(0) 编辑
摘要:前言 最近阅读了spark mllib(版本:spark 1.3)中Random Forest的实现,发现在分布式的数据结构上实现迭代算法时,有些地方与单机环境不一样。单机上一些直观的操作(递归),在分布式数据上,必须进行优化,否则I/O(网络,磁盘)会消耗大量时间。本文整理spark随机森林实现中的相关技巧,方便后面回顾。 随机森林算法概要 随机森林算法的详细实现和细节,可以参考论文Brei... 阅读全文
posted @ 2015-05-03 14:23 bourneli 阅读(9007) 评论(0) 推荐(0) 编辑
摘要:背景 使用spark开发已有几个月。相比于python/hive,scala/spark学习门槛较高。尤其记得刚开时,举步维艰,进展十分缓慢。不过谢天谢地,这段苦涩(bi)的日子过去了。忆苦思甜,为了避免项目组的其他同学走弯路,决定总结和梳理spark的使用经验。 Spark基础 基石RDD ... 阅读全文
posted @ 2015-04-05 16:11 bourneli 阅读(52612) 评论(3) 推荐(2) 编辑
摘要:本文目的 最近在使用Spark进行数据清理的相关工作,初次使用Spark时,遇到了一些挑(da)战(ken)。感觉需要记录点什么,才对得起自己。下面的内容主要是关于Spark核心—RDD的相关的使用经验和原理介绍,作为个人备忘,也希望对读者有用。 为什么选择Spark 原因如下 代码复用:使用Scala高级语言操作Spark,灵活方便,面向对象,函数编程的语言... 阅读全文
posted @ 2015-03-07 20:36 bourneli 阅读(7252) 评论(0) 推荐(3) 编辑
摘要:背景 上一篇文章总结了linear hard SVM,解法很直观,直接从SVM的定义出发,经过等价变换,转成QP问题求解。这一讲,从另一个角度描述hard SVM的解法,不那么直观,但是可以避免feature转换时的数据计算,这样就可以利用一些很高纬度(甚至是无限维度)的feature转换,得到一些更精细的解。 拉格朗日乘子式 首先,回顾一下SVM问题的定义,如下: 线性约束... 阅读全文
posted @ 2015-01-03 21:33 bourneli 阅读(3059) 评论(0) 推荐(0) 编辑
摘要:背景 支持向量机(SVM)背后的数学知识比较复杂,之前尝试过在网上搜索一些资料自学,但是效果不佳。所以,在我的数据挖掘工具箱中,一直不会使用SVM这个利器。最近,台大林轩田老师在Coursera上的机器学习技法课程上有很详细的讲授SVM的原理,所以机会难得,一定要好好把握这次机会,将SVM背后的原理梳理清楚并记录下来。这篇文章总结第一讲linear hard SVM的相关内容。 最... 阅读全文
posted @ 2015-01-02 21:21 bourneli 阅读(3829) 评论(0) 推荐(0) 编辑