- 浏览: 31332 次
最新评论
文章列表
作者在学习机器学习领域的各类算法时,就发现很多闪着智慧光点的各种metrics(度量)。其往往才是一个算法的灵魂,它可以是某种性能的度量,相似度的度量,优化目标的度量等等。作者在此总结学习到的各种度量衡,一者作为一个总结,供自己不时翻阅,二者抛砖引玉。
1. entropy:(熵)反映一个概率分布的不确定性,当我们采用概率分布对事件进行建模时,熵可以作为该事件包含的信息量的度量,熵越大,信息量越少;反之,熵越小,信息量越大。有时候也用熵来度量一个概率分布(事件)的,不 ...
本文将按照作者学习的顺序,对推荐算法进行一个综述性的介绍,可能会有些跳跃性。一则供自己后续不时翻阅,二则分享给读者。传播知识是一件很快乐的事情。
1. 基于相似度的方法(协同过滤)
基于相似度的方法是一类最为成功的推荐算法的代表。其在学术上已被广泛研究,并且在电商领域广泛应用。该类方法又可以进一步分为两类:基于用户相似度的推荐算法和基于物品相似度的推荐算法。基于用户相似度的推荐算法的基本假设是:在之前的判断上更相似的用户倾向于在之后的判断上也更相似。因此 ...
Hadoop安装
1. 安装前的准备
安装hadoop首先需要在机器上安装合适版本的java(最新版本肯定没问题),并从Apache镜像中下载稳定版本的hadoop安装包。在集群中安装hadoop通常需要在所有机器上拷贝一份hadoop安装包,并解压缩到安装目录中。
通常集群中一台机器专门被指定为NameNode,另一台机器专门被指定为ResourceManager。其它服务,例如web app proxy server和MapReduce J ...
初学者刚开始写spark程序的时候,往往只注重实现相应的功能,而容易忽略采用何种实现方式能够实现最高的效率。本文后面讲详细阐述作者在实际项目中遇到的spark程序调优问题。
1. 下面这段代码的背景是这样的,panelFeatureMid1类型为RDD[(String, (scala.collection.mutable.HashMap[String,Double], (Option[String], Option[String])))],表示一个UUID(可以理解为 ...
从本地仓库上传至 Github
初始化仓库
在想要创建 git 仓库的地方打开git窗口(Windows系统下 右键-Git Bash Here),输入 git init。
$ git init
Initialized empty Git repository in /Users/michael/learngit/.git/
git add <file> 和 git commit -m <messa ...
1. 决策树以及它的组合模型是在机器学习中常用的分类和回归方法。决策树结果容易解释,处理分类特征,可拓展到多类。决策树是一个贪婪算法,递归的二分特征空间。决策树预测具有相同的叶子节点的属于同一类标签。每次划分的时候,都从一系列可能的划分中选择最佳的,使得根节点的信息增益最大,argmax(s): IG(D,s)。
IG(D,s)=Impurity(D) - a*Impurity(D1eft) - (1-a)*Impurity(Dright),
Impurity可以取为信息熵, ...
1. spark 可以在3处配置系统:spark properties控制大多数应用程序的参数,通过SparkConf对象或者Java系统property设置;环境变量在每一台机器上可以通过conf/spark-env.sh单独设置;Logging可以通过log4j.properties设置
2. SparkConf单独为每个应用程序设置,可以设置masterURL,应用程序名,以及任意的键值对,通过相应的set方法。spark-shell和spark-submit支持两种动态加载配 ...
1. HttpClient最主要的函数是执行HTTP方法,包括HTTP请求和响应。用户向HttpClient提供一个request对象,由HttpClient负责将请求发送给目标服务器,随后返回一个response对象或者扔出异常。
2. HTTP请求行包含一个方法名、请求URI和HTTP协议版本。HttpClient支持HTTP/1.1定义的所有方法:GET、HEAD、POST、PUT、DELETE、TRACE和OPTIONS,分别对应HttpGet、HttpHead、HttpPo ...
MLlib是spark的机器学习库,其目的是使得机器学习算法更容易使用和扩展。MLlib包含分类、回归、聚类、协同滤波、降维,以及更低层级的优化原语和更高层级的管道API。MLlib分成两个包:sp ...
在windows下采用IDE 下载scala IDE Eclipse版本,推荐下载scala 2.10版本
打开Eclipse,创建maven project
在New Maven Project选项卡中选择Catalog为All Catalog,GroupId为net.alchim31.maven,ArtifactId为scala-archetype-simple
打开pom文件,添加依赖
<dependency ...
Hadoop streaming类似于Unix管道数据流,从标准输入(STDIN)输入,输出到标准输出(STDOUT),数据必须是基于文本的,文本的每一行被认为是一条记录。这也是很多Unix命令,例如:awk的工作方式。在Hadoop streaming中整个数据流就像是一个管道(Pipe),依次经过mapper,mapper sorter,reducer,Unix伪代码表示如下: cat [input_file] | [mapper] | sort | [reducer] > ...
1. 在较高层次上,每个spark应用程序包含一个驱动程序,去调用用户的main函数,在集群上执行各种并行操作。spark主要的抽象,是提供了RDD数据类型。RDD数据类型是一组分割在集群上可以被并行操作的元素集合。RDD可以通过HDFS上的文件,驱动程序已有的集合,或对已有的RDD进行变换来创建。用户也可以将RDD持久化,保存在内存中,以被有效的重用。RDD也将自动从失败中恢复。spark的第二个抽象是可以被并行操作的共享变量。默认情况下,spark运行函数时,将在不同的节点上启动独立的任 ...
基于Spark的GraphX.pptx
1. Property Graph:用户定义的有向图,图中的每个顶点和每条边都附加一个用户定义的对象,允许在两个顶点之间并行存在多条边。每个顶点都具有一个64位的唯一标识(VertexID),GraphX并不强制VertexID有序。每条边则由起始和终止VertexID标识。
Graph具有两个参数化的类型:Vertex(VD)和Edge(ED),分别对应附加在顶点和边上的对象。当VD和ED为基本的数据类型时,Graph将把它们保存在数组中。
...
scala支持关联映射,如可以用(key -> value)表示一个键值对
scala中的所有类型都是对象,包括基本数据类型
scala中的case语句用来判断接收的消息,比java中的switch...case...更专注 receive{ ...
我们经常会看到4:4:4、4:2:2、4:2:0这样的字眼,比如你的5D拍摄的视频是4:2:0取样压缩的,又比如QuickTime的ProRes422格式,或者专业摄影机拍摄时是以4:4:4取样的。视频压缩通常被认为是数字格 ...