自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

guohecang的博客

数据为王时代,让大数据释放大价值

  • 博客(24)
  • 资源 (1)
  • 收藏
  • 关注

转载 各大公司广泛使用的在线学习算法FTRL详解

现在做在线学习和CTR常常会用到逻辑回归( Logistic Regression),而传统的批量(batch)算法无法有效地处理超大规模的数据集和在线数据流,google先后三年时间(2010年-2013年)从理论研究到实际工程化实现的FTRL(Follow-the-regularized-Leader)算法,在处理诸如逻辑回归之类的带非光滑正则化项(例如1范数,做模型复杂度控制和稀疏化)的凸优化问题上性能非常出色,据闻国内各大互联网公司都第一时间应用到了实际产品中,我们的系统也使用了该算法。

2016-08-31 21:17:57 1150

转载 在线机器学习FTRL(Follow-the-regularized-Leader)算法介绍

批处理bacth的离线机器学习方法在每次迭代计算的过程中,需要把全部的训练数据加载到内存中计算(例如计算全局梯度), 虽然有分布式大规模的机器学习平台,在某种程度上批处理方法对训练样本的数量还是有限制的,onlinelearning不需要cache所有数据,以流式的处理方式可以处理任意数量的样本。研究onlinelearning有两个角度,在线凸优化和在线Bayesian。

2016-08-30 15:38:24 5876

转载 Kafka实战:从RDBMS到Hadoop,七步实现实时传输

对于那些想要把数据快速摄取到Hadoop中的企业来讲,Kafka是一个很好的选择。Kafka是什么?Kafka是一个分布式、可伸缩、可信赖的消息传递系统,利用发布-订阅模型来集成应用程序/数据流。同时,Kafka还是Hadoop技术堆栈中的关键组件,能够很好地支持实时数据分析或者货币化的物联网数据。

2016-08-29 22:11:59 4818

转载 HDFS NameNode内存全景

从整个HDFS系统架构上看,NameNode是其中最重要、最复杂也是最容易出现问题的地方,而且一旦NameNode出现故障,整个Hadoop集群就将处于不可服务的状态,同时随着数据规模和集群规模地持续增长,很多小量级时被隐藏的问题逐渐暴露出来。所以,从更高层次掌握NameNode的内部结构和运行机制尤其重要。除特别说明外,本文基于社区版本Hadoop-2.4.1[1][2],虽然2.4.1之后已经有多次版本迭代,但是基本原理相同。

2016-08-29 21:36:29 5123 2

转载 参数估计:最大似然、贝叶斯与最大后验

参数估计的方法有多种,这里我们分析三种基于概率的方法,分别是最大似然估计(Maximum Likelihood)、贝叶斯估计(Bayes)和最大后验估计(Maximum a posteriori)。我们假设我们观察的变量是x,观察的变量取值(样本)为,要估计的参数是,x的分布函数是(我们用条件概率来显式地说明这个分布是依赖于取值的)。实际中,x和都可以是几个变量的向量,这里我们不妨认为它们都是标量(theta若是标量求导,若是向量求偏导)。这里的p(x|θ)可以是高斯分布或其他分布。

2016-08-28 09:41:55 1030

原创 先验概率、最大似然估计、贝叶斯估计、最大后验概率

参数估计的方法有多种,这里我们分析三种基于概率的方法,分别是最大似然估计(Maximum Likelihood)、贝叶斯估计(Bayes)和最大后验估计(Maximum a posteriori)。我们假设我们观察的变量是x,观察的变量取值(样本)为,要估计的参数是,x的分布函数是(我们用条件概率来显式地说明这个分布是依赖于取值的)。实际中,x和都可以是几个变量的向量,这里我们不妨认为它们都是标量(theta若是标量求导,若是向量求偏导)。这里的p(x|θ)可以是高斯分布或其他分布。

2016-08-25 11:33:05 48623 3

原创 分类器模型评价指标

需要提前说明的是,我们这里只讨论二值分类器。对于分类器,或者说分类算法,评价指标主要有accuracy,precision,recall,F-score,以及我们今天要讨论的ROC和AUC。下图是一个ROC曲线的示例。AUC(Area Under Curve)被定义为ROC曲线下的面积,显然这个面积的数值不会大于1。又由于ROC曲线一般都处于y=x这条直线的上方,所以AUC的取值范围在0.5和1之间。使用AUC值作为评价标准是因为很多时候ROC曲线并不能清晰的说明哪个分类器的效果更好,而AUC作为数值可以

2016-08-22 14:27:26 80568 1

原创 Scala学习笔记13 - 结合scala和java

===结合scala和java      scala和java高度兼容,因此可以进行互操作,大多数情况下结合这两种语言时并不需要太多顾虑,尽管如此,有时你还是会遇到一些结合java和scala的问题。基本上,scala使用java代码相对于java使用scala代码更容易一些。 scala代码如何被翻译:      scala的实现方式是将代码翻译为标准的java字节码。scala

2016-08-04 11:59:01 2015

原创 Scala学习笔记12 - GUI编程

===GUI编程      scala图形用户界面编程可以使用scala.swing库,该库提供了对java的Swing框架的GUI类的访问,对其进行包装,隐藏了大部分复杂度。示例如下:      object MyScalaGUI extends SimpleSwingApplication {         deftop = new MainFrame {

2016-08-04 11:58:21 1539

原创 Scala学习笔记11 - Actor和并发

===Actor和并发      与java的基于共享数据和锁的线程模型不同,scala的actor包则提供了另外一种不共享任何数据、依赖消息传递的模型。设计并发软件时,actor是首选的工具,因为它们能够帮助你避开死锁和争用状况,这两种情形都是在使用共享和锁模型时很容易遇到的。 创建actor:      actor是一个类似于线程的实体,它有一个用来接收消息的邮箱。实现acto

2016-08-04 11:57:58 1531

原创 Scala学习笔记10 - scala I/O

===scala I/O      由于scala可以和java互操作,因此目前scala中的I/O类库并不多,你可能需要使用java中的I/O类库。下面介绍scala中有的东东:       scala.Console对象可以用于终端输入输出,其中终端输入函数有:readLine、readInt、readChar等等,终端输出函数有:print、println、printf等等。其实

2016-08-04 11:57:22 583

原创 Scala学习笔记9 - 包和引用

===包和引用打包:      scala的代码采用了java平台完整的包机制。你可以使用两种方式把代码放进包里:      ①  使用放在文件顶部的package子句来把整个文件放入包中;      ②  使用package子句把要放入到包中的代码用花括号括起来,这种方式像C#的命名空间。使用这种方式,你可以定义出嵌套的包,注意:scala的包可以嵌套,java则不可以。任何你自

2016-08-04 11:56:41 798

原创 Scala学习笔记9 - 异常和断言、检查

===异常      scala的异常工作机制与java的类似,但也有区别。区别如下:      ①  scala没有“受检”异常——你不需要声明函数或方法可能会抛出某种异常。      ②  throw表达式是有值的,其值是Nothing类型。      ③  try-catch-finally表达式也是有值的,但是情况有些特殊。当没有抛出异常时,try子句为表达式值;如果抛出异

2016-08-04 11:55:22 1396

原创 Scala学习笔记8 - 集合

===集合      scala的集合(collection)库分为可变(mutable)类型与不可变(immutable)类型。以Set为例,特质scala.collection.immutable.Set和scala.collection.mutable.Set都扩展自scala.collection.Set。 scala集合的顶层抽象类和特质:  scala.coll

2016-08-04 11:54:45 646

原创 Scala学习笔记7 - 类型参数化

===类型参数化      在scala中,类型参数化(类似于泛型)使用方括号实现,如:Foo[A],同时,我们称Foo为高阶类型。如果一个高阶类型有2个类型参数,则在声明变量类型时可以使用中缀形式来表达,此时也称该高阶类型为中缀类型,示例如下:               class Foo[A,B]               val x:Int Foo String = null

2016-08-04 11:54:05 1457

原创 Scala学习笔记6 - 隐式转换和隐式参数

===显式类型转换      正如之前所述的,scala中类型转换使用方法实现,以下是显式类型测试和显式类型转换的示例:               a.isInstanceOf[String]  // 显式类型测试               a.asInstanceOf[String] // 显式类型转换 ===隐式转换、隐式参数隐式转换:      隐式转换只是普

2016-08-04 11:53:33 771

原创 Scala学习笔记5 - 特质

===特质(trait)      特质相当于接口,不能被实例化。特质定义使用trait关键字,与类相似,你同样可以在其中定义而不仅是声明字段和方法等。你可以使用extends或with将多个特质“混入”类中。注意当在定义特质时,使用extends指定了特质的超类,那么该特质就只能混入扩展了指定的超类的类中。      特质与类的区别在于:①特质不能带有“类参数”,也即传递给主构造器的参数

2016-08-04 11:52:30 656

原创 Scala学习笔记4 - 继承与覆盖

===继承与覆盖(override)继承:      继承时,如果父类主构造器带有参数,子类需要把要传递的参数放在父类名之后的括号里即可,如下:                class Second(a: Int, b: Int) extends First(a){…} scala继承层级:      如上图所示:Any是所有其他类的超类。Null是所有引用类

2016-08-04 11:51:39 1111

原创 Scala学习笔记3 - 类和对象

===类(class)和对象(object)类(class)和构造器:      类的定义形式如下:              class MyClass(a: Int, b: Int) {                     println(a.toString)               }      在scala中,类也可以带有类参数,类参数可以直接在类的主体中

2016-08-04 11:49:37 1306

原创 Scala学习笔记2 - 控制结构和函数

===控制结构      scala和其他编程语言有一个根本性差异:在scala中,几乎所有构造出来的语法结构都有值。这个特性使得程序结构更加精简。scala内建的控制结构很少,仅有if、while、for、try、match和函数调用等而已。如此之少的理由是,scala从语法层面上支持函数字面量。if表达式:      scala的if/else语法结构与java等一样,但是

2016-08-04 11:48:51 1022

原创 Scala学习笔记1 - 基础

本文档针对scala 2.10.x,由于scala目前发展迅速,因此可能会和其他版本的不同。===概述         scala是一门以java虚拟机(JVM)为目标运行环境并将面向对象和函数式编程的最佳特性结合在一起的静态类型编程语言。         scala是纯粹的面向对象的语言。java虽然是面向对象的语言,但是它不是纯粹的,因为java的基本数据类型不是类,并且在

2016-08-04 11:47:42 1269 1

原创 Spark加载外部配置文件

Spark中addFile加载配置文件 我们在使用Spark的时候有时候需要将一些数据分发到计算节点中。一种方法是将这些文件上传到HDFS上,然后计算节点从HDFS上获取这些数据。当然我们也可以使用addFile函数来分发这些文件。注意,如果是spark程序通过yarn集群上加载配置文件,path必须是集群hdfs的绝对路径,如:viewfs://58-cluster//home/hdp_lbg_supin/resultdata/zhaopin/recommend/config/redis.p

2016-08-02 22:56:21 31865

转载 Spark配置参数详解

以下是整理的Spark中的一些配置参数,官方文档请参考Spark Configuration。Spark提供三个位置用来配置系统:Spark属性:控制大部分的应用程序参数,可以用SparkConf对象或者Java系统属性设置环境变量:可以通过每个节点的conf/spark-env.sh脚本设置。例如IP地址、端口等信息日志配置:可以通过log4j.properties配置Spark

2016-08-01 20:26:55 90840

转载 Spark读取配置源码剖析

我们知道,有一些配置可以在多个地方配置。以配置executor的memory为例,有以下三种方式:1. spark-submit的--executor-memory选项2. spark-defaults.conf的spark.executor.memory配置3. spark-env.sh的SPARK_EXECUTOR_MEMORY配置同一个配置可以在多处设置,这显然会造成迷惑,不知道spar

2016-08-01 18:34:49 1290

java多线程之生产者与消费者

java多线程之生产者与消费者,可以利用该代码放到更多的应用中去。

2012-12-13

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除