自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 解决Hive中collet_list列表排序混乱:sort_array

这篇文章写的比较扯淡。。。。 由collect_list形成的列表经过concat_ws拼接后顺序具有随机性,要保证列表有序只需要在生成列表后使用sort_array函数进行排序即可。sort_array就是对array进行排序,且只能升序。 我在这里举一个完整的例子和代码: 如果,我们有如...

2020-05-22 13:55:22 100 0

转载 理解多元高斯分布

p(x;μ,Σ)=1(2π)n/2∣Σ∣1/2exp⁡(−12(x−μ)TΣ−1(x−μ)) p(x;\mu , \Sigma)=\frac{1}{(2\pi)^{n/2}|\Sigma|^{1/2}}\exp(-\frac{1}{2}(x-\mu)^T\Sigma^{-1}(x-\mu)) p(...

2020-05-08 21:37:05 185 0

转载 关于协方差矩阵的理解

转载自《关于协方差矩阵的理解》

2020-05-07 20:39:26 54 0

原创 Hive操作的笔记:如何查Hive表某个分区的最后更新时间等

记录一些自己在工作的一些小功能的代码实现,不断补充记录。 一、如何查Hive表某个分区的最后更新时间。 通过查HDFS可以得知: 1: 查询某个表的HDFS地址 desc formatted app.app_vdp_cate_health_cate1_coinuser_associnde...

2020-04-02 14:31:08 148 0

原创 推荐系统(二):PNN源论文整理和思考

文章目录一、背景二、PNN思想和模型三、优化四、代码实践。参考文献 一、背景 PNN源论文为《Product-based Neural Networks for User Response Prediction》,是上海交大团队发表在ICDM 2016上。本文在阅读源论文和网上其它资料的基础上,重...

2020-03-31 18:57:45 145 0

原创 (二)FFM(Field-aware Factorization Machine)原理

一、背景 FFM算法,全称是Field-aware Factorization Machines,是FM(Factorization Machines)的改进版。FFM由Yu-Chin Juan与其比赛队员提出,他们借鉴了field(域)概念提出了FM的升级版模型。简单来说,通过引入field的概...

2020-03-30 17:45:39 99 0

原创 推荐系统(一):Wide & Deep源论文整理和思考

最近有一批业务需要用到推荐算法,因此,准备认真整理一下自己学习的推荐算法的思路,以便于正确地应用和对比。 一、推荐算法 1.1 背景 首先应该需要了解推荐算法的一些基本思路,我之前整理过一篇《(一)推荐算法概述——以协同过滤为主》。 简单来说,推荐系统分为两种: CF-Based(协同过滤)、Co...

2020-03-26 14:00:11 194 1

原创 Tensorflow.Dataset中map,shuffle,repeat,batch的总结

Dataset API是TensorFlow 1.3版本中引入的一个新的模块,主要服务于数据读取,构建输入数据的pipeline。 Google官方给出的Dataset API中的类图: 我们本文只关注Dataset的一类特殊的操作:Transformation,即map,shuffle,rep...

2020-03-25 15:03:54 241 0

原创 Tensorflow.feature_column的总结

一、简介 tensorflow提供了一个功能强大的特征处理函数tf.feature_column,feature columns是原始数据与estimator之间的过程,其内容比较丰富,可以将各种各样的原始数据转换为estimator可以用的格式。 特征数据主要包括categorical和dens...

2020-03-24 19:34:18 152 0

转载 Python: Matplotlib中subplots多子图绘图的一些tricks

本文转载自《Matplotlib中多子图绘图时,坐标轴及其label的几种排布方式》。 目录 1、最普通的 2、只在最外层坐标轴显示 Label 3、如果 x label和y label 都一样可以只显示一个 4、刻度也只在最外侧显示 5、或者Label仍然分开显示 6、加入 c...

2020-03-02 10:54:41 131 0

原创 Git, GitHub和GitLab的区别和联系

话说有将近一年没更新过博客了。惭愧。今天整理下Git, GitHub和GitLab这三个名词的概念,虽然经常用GitHub,但是其实对于这些概念还是有些混淆。 一、Git Git是一种版本控制系统,是一个命令和工具。 Git是一个开源的分布式版本控制系统(Version Control Sy...

2020-02-17 11:57:34 159 0

原创 PU learning简介(附python代码)

一、引言 在现实生活中,有许多只有正样本和大量未标记样本的例子。这是因为负类样本的一些特点使得获取负样本较为困难。比如: 负类数据不易获取。 负类数据太过多样化。 负类数据动态变化。 举一个形象点的例子:比如在推荐系统里,只有用户点击的正样本,却没有显性负样本,我们不能因为用户没有点击这个样本...

2019-04-23 18:16:50 2868 4

原创 深入理解L0,L1和L2正则化

正则化技术是机器学习中常用的技术,一般是用来解决过拟合问题的。为什么范数可以作为机器学习的正则化项?为什么L1正则化可以用来进行特征选择的工作?为什么正则化可以解决过拟合问题?本篇博客从机器学习中为什么需要范数讲起,引出L0L_0L0​,L1L_1L1​ 和 L2L_2L2​的定义,然后回答上述的...

2019-04-21 18:27:57 1636 1

原创 分类问题中类别不平衡问题的有效解决方法

LightGBM 二分类处理: 在LGBM的文档中,可以看到有两个参数来处理类别不平衡,分别是is_unbalance和scale_pos_weight 。 在上图中的介绍中,这2个参数只能选其一,不能同时选。这说明了什么呢?这2个参数肯定是起到了相同的作用。这2个参数的关系是什么呢?在issu...

2019-04-14 14:13:51 2235 0

原创 适合工业界的特征选择方法介绍

一直想写一篇关于特征选择(Feature Selection)的博客。 有两个原因:第一、特征选择对于传统机器学习任务是十分重要的;第二、自己在硕士期间的研究方向就是特征选择,对于学界前沿的特征选择方法是有那么一丢丢了解的。在有监督,无监督,半监督以及单标签,多标签各种场景下,也做过一些工作: 《...

2019-04-02 12:44:23 487 1

转载 Spark性能调优详解

本文完全转载自《美团技术沙龙》和过往记忆博客。 在大数据计算领域,Spark已经成为了越来越流行、越来越受欢迎的计算平台之一。Spark的功能涵盖了大数据领域的离线批处理、SQL类处理、流式/实时计算、机器学习、图计算等各种不同类型的计算操作,应用范围与前景非常广泛。 然而,通过Spark开发...

2019-04-01 15:46:39 410 0

原创 蓄水池采样算法(Reservoir Sampling)原理,证明和代码

有一个在大数据下很现实的例子: “给出一个数据流,这个数据流的长度很大或者未知。并且对该数据流中数据只能访问一次。请写出一个随机选择算法,使得数据流中所有数据被选中的概率相等。” 解决这个问题既需要算法设计,又需要一些概率论知识,因此对于大多数人,起码包括我,这不是一个立刻就能想出答案的问题。 解...

2019-03-22 21:01:30 1912 0

原创 (一)异常检测算法:Isolation Forest原理及其python代码应用

异常检测 (anomaly detection),又被称为“离群点检测” (outlier detection),是机器学习研究领域中跟现实紧密联系、有广泛应用需求的一类问题。但是,什么是异常,并没有标准答案,通常因具体应用场景而异。大多数文献对异常的定义虽然笼统,但其实暗含了认定“异常”的两个标...

2019-03-13 20:19:16 3616 0

转载 Python: 一文看懂pandas的透视表pivot_table

本文转载自知乎《Pandas | 一文看懂透视表pivot_table》,在原文基础上略有增删改。感谢原作者非常生动的例子。 目录 一、概述 1.1 什么是透视表? 1.2 为什么要使用pivot_table? 二、如何使用pivot_table 2.1 读取数据 2.2Index ...

2019-03-11 18:31:21 4222 3

原创 python:column_or_1d用法

今天在读代码的时候,发现Python sklearn的utils有个这样的函数:sklearn.utils.validation.column_or_1d。第一次遇到这个函数,记录一下用法。 在机器学习任务中,这个函数一般是对数据集的Y进行操作。 官方说明如下: 可以看到对1维array...

2019-03-11 15:38:10 1757 0

转载 (一)推荐算法概述——以协同过滤为主

推荐算法具有非常多的应用场景和商业价值,因此对推荐算法需要认真学习。推荐算法种类很多,但是目前应用最广泛的应该是基于协同过滤的推荐算法。 本文总结了多种推荐算法,其中重点对协同过滤的推荐算法做一个概括。 目录 一、推荐系统的作用 二、推荐算法概述 2.1基于流行度的算法 2.2 协同过...

2019-03-06 20:51:45 411 4

原创 (二)常见的分类评价指标及代码实现与应用

在上一篇《(一)常见的回归评价指标及代码应用》中我们介绍了评价回归性能的指标。 sklearn的官方文档《 Model evaluation: quantifying the quality of predictions》中,对于二分类,多分类和多标签问题,有非常详细的指标介绍和实现。 本篇博客我...

2019-03-03 18:02:02 1217 0

原创 (一)常见的回归评价指标及代码实现与应用

每个机器学习模型都试图使用不同的数据集来解决具有不同目标的问题,因此,对于不同的机器学习任务,在充分理解上下文的基础上,选择合适的机器学习评价指标是非常重要的。只有了解了本次机器学习建立模型的任务,才能选择合适的评价指标。 本篇博客关注回归问题的评价指标。先介绍常用的评价指标,然后用代码实现一下部...

2019-03-01 18:24:39 1585 0

原创 PySpark-DataFrame各种常用操作举例

最近开始接触pyspark,其中DataFrame的应用很重要也很简便。因此,这里记录一下自己的学习笔记。 详细的应用可以参看pyspark.sql module。这是官网文档,里面记录了详细的DataFrame使用说明。 目录 一、创建DF或者读入DF 二、查 2.1 行元素查询操作 ...

2019-02-23 13:29:52 8474 0

原创 机器学习中最优化问题总结

记录一下自己学习机器学习中最优化问题的过程。 一、基础知识 1.1 梯度向量、Jacobian矩阵和Hessian矩阵 这里讨论的三个概念:梯度向量、Jacobian矩阵和Hessian矩阵 它的自变量:x=(x1,x2,⋯&...

2019-02-14 17:36:38 423 0

原创 关联规则(三):带时间间隔的序列模式挖掘

序列模式挖掘,即是在序列数据库中挖掘出频繁子序列,是一个具有广泛应用的重要的数据挖掘问题。PrefixSpan 算法可以有效地挖掘出大规模数据的频繁子序列,然而,它并没有项集之间的时间间隔。因此,本文提出了一种带时间间隔的序列模式挖掘算法,我们称其为I-PrefixSpan算法。 一、引言 带时间...

2019-01-24 16:02:48 1230 1

原创 利用Anaconda管理多个python版本

问题描述 最近在搞序列模式挖掘prefixspan算法,正好有一个大神写好了这个库PrefixSpan-py。安装没有报错,安装以后,运行程序发现报错。但是在朋友电脑上,发现一样的安装步骤和代码却可以运行。发现他的python版本是3.6.6,而我的python版本是3.5.3。于是,猜测可能是...

2019-01-21 14:23:41 791 0

转载 完全图解RNN、RNN变体、Seq2Seq、Attention机制

本文转自何之源知乎文章《完全图解RNN、RNN变体、Seq2Seq、Attention机制》。 PS:建议先阅读之前的博客《深度学习(五):循环神经网络(RNN)模型与前向反向传播算法》。 本文主要是利用图片的形式,详细地介绍了经典的RNN、RNN几个重要变体,以及Seq2Seq模型、Atte...

2019-01-11 18:00:13 280 0

原创 排序学习(Learning to rank)综述

Learning to rank(简写 LTR、L2R) 也叫排序学习,指的是机器学习中任何用于排序的技术。 目录 一、LTR引言 1.1 LTR的出现背景 1.2 LTR基本框架 二、训练数据的获取 2.1人工标注 2.2搜索日志 2.3公共数据集 三、特征提取 四、模型训练...

2019-01-09 11:38:19 8883 1

原创 Scala语法快速入门

最近开始接触一点Scala的东西,这篇博客记录的都是一些最基本的Scala语法,主要是方便自己查询用,所以不是很系统。 目录 二、控制结构 2.1 条件表达式 2.2 块表达式和赋值 2.3 循环 2.4 增强for循环和for推导式 三、Scala 方法与函数 3.1 方法 3...

2019-01-07 15:18:32 539 0

原创 Scala下划线“_”的常用用法大全

在Scala中,我们随处可见下划线“_”,本篇博客记录了Scala中下划线“_”的各种常用用法,可能不是全部的用法。 目录 一、集合和函数中使用 1.1 集合 1.2 函数 二、作为通配符 2.1 import语句 2.2 case语句 2.3 元组(tuple) 三、下划线和其...

2019-01-04 17:51:39 788 0

原创 spark RDD概念及其算子举例讲解

作为之前对spark RDD可以说是完全不懂的小白,在阅读部分网友的博客的基础上,我从自己理解的角度和方式来记录一下自己学习spark RDD的过程。 目录 一、RDD介绍 1.1RDD是什么 1.2Spark与RDD的关系 1.3为什么会产生RDD 1.4RDD底层实现原理 1.5...

2019-01-04 15:39:42 360 0

转载 关联规则(二):PrefixSpan算法原理总结及在pyspark下的实践

参考文献 【1】PrefixSpan算法原理总结 【2】用Spark学习FP Tree算法和PrefixSpan算法 【3】Source code for pyspark.mllib.fpm 【4】PrefixSpan 【5】PrefixSpan序列模式挖掘算法 ...

2018-12-25 14:39:17 918 0

转载 关联规则(一):Apriori算法和FP Tree算法原理总结

关联规则可以说得上是数据挖掘领域最广为人知的一类算法了,起码对于我来说是这样的,在大三时候第一次接触数据挖掘领域就是Apriori算法了,后来又断断续续地接触到了FP Tree算法。现在因为工作的原因,需要进一步了解频繁序列模式挖掘算法PrefixSpan。 刘建平老师之前总结过这3个算法。因此我...

2018-12-24 17:52:57 1784 0

转载 深度学习(六):LSTM模型与前向反向传播算法

在《深度学习(五):循环神经网络(RNN)模型与前向反向传播算法》中,我们总结了对RNN模型做了总结。由于RNN也有梯度消失的问题,因此很难处理长序列的数据,大牛们对RNN做了改进,得到了RNN的特例LSTM(Long Short-Term Memory),它可以避免常规RNN的梯度消失,因此在工...

2018-12-22 16:10:55 1275 0

转载 深度学习(五):循环神经网络(RNN)模型与前向反向传播算法

在前面我们讲到了DNN,以及DNN的特例CNN的模型和前向反向传播算法。链接如下: 深度学习(一):DNN前向传播算法和反向传播算法 深度学习(二):DNN损失函数和激活函数的选择 深度学习(四):卷积神经网络(CNN)模型结构,前向传播算法和反向传播算法介绍。 建议在读本文之前,重点读下前2篇文...

2018-12-21 15:58:00 781 0

转载 拉链表介绍,及其在Hive中如何更新

全文由下面几个部分组成: 先分享一下拉链表的用途、什么是拉链表。 通过一些小的使用场景来对拉链表做近一步的阐释,以及拉链表和常用的切片表的区别。 举一个具体的应用场景,在Hive下设计并实现一份拉链表,最后并通过一些例子说明如何使用我们设计的这张表。 分析一下拉链表的优缺点,并对前...

2018-12-20 17:38:34 823 0

原创 Xgboost系统设计:分块并行、缓存优化和Blocks for Out-of-core Computation

Xgboost的原理我之前已经介绍过了,详见《(二)提升树模型:Xgboost原理与实践》。 最近,想起来阅读Xgboost源论文中还没有读过的一块,即第4章SYSTEM DESIGN系统实现。第4章包括3个小节: Column Block for Parallel Learning Ca...

2018-12-19 14:46:59 3731 4

原创 深入理解机器学习中的各种熵和信息:信息量,熵,交叉熵,相对熵,条件熵,互信息等。

对机器学习了解的读者肯定经常听到以下名词:信息量,熵,交叉熵,相对熵,条件熵,互信息等。很多人对这些大同小异的名词很容易产生迷惑,它们之间究竟有什么关系? 本篇博客在参考文献的基础上,从我自己理解的角度上,依次介绍信息量、信息熵、交叉熵、相对熵、条件熵、互信息、信息增益和信息增益率,试图清晰地说明...

2018-12-14 10:53:50 587 0

原创 深入理解深度学习中的Normalization操作

Normalization, 即标准化, 和普通的数据标准化类似, 是将分散的数据统一的一种做法, 也是优化神经网络的一种方法。Normalization 可以将数据统一规格, 能让机器学习更容易学习到数据之中的规律。 在深度学习中,Normalization已经成为了标准技术。2015 年Goo...

2018-12-13 11:28:38 660 0

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