自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小鹅鹅的博客

兴趣使然的博主,鹅厂小开发,邮箱[email protected]

  • 博客(87)
  • 资源 (3)
  • 收藏
  • 关注

原创 HIVE 基本概念 数据单元 学习笔记

综述Hive是一个数据仓库基础工具,由Java编写,在Hadoop中用来处理结构化数据,可以把SQL查询转换为一系列在Hadoop集群上运行的作业。Hive设计的初衷是:对于大量的数据,使得数据汇总,查询和分析更加简单。它提供了SQL,允许用户更加简单地进行查询,汇总和数据分析。同时,Hive的SQL给予了用户多种方式来集成自己的功能,然后做定制化的查询,例如用户自定义函数(User Defi...

2018-12-11 21:14:00 1386

原创 HDFS 基本概念及常用操作 学习笔记

目录基本概念读文件操作写文件操作可靠性常用命令Ref基本概念Hadoop 附带了一个名为 HDFS(Hadoop Distributed File System, Hadoop分布式文件系统)的分布式文件系统,基于 Hadoop 的应用程序使用 HDFS 。HDFS 是专为存储超大数据文件,运行在集群的商品硬件上。它是容错的,可伸缩的,并且非常易于扩展。HDFS集群主要由 NameNode ...

2018-12-09 21:08:16 342

原创 Spark 基本概念及 jobs stages tasks 等 解释

基础概念理解Application用户在 spark 上构建的程序,包含了 driver 程序以及在集群上运行的程序代码,物理机器上涉及了 driver,master,worker 三个节点.Driver Program创建 sc ,定义 udf 函数,定义一个 spark 应用程序所需要的三大步骤的逻辑:加载数据集,处理数据,结果展示。Cluster Manager集群的...

2018-11-05 19:54:07 2172

原创 Spark RDD / Dataset 相关操作及对比汇总笔记

本篇博客将会汇总记录大部分的Spark RDD / Dataset的常用操作以及一些容易混淆的操作对比。0. 基本概念首先介绍一下基本概念,详情可以参考之前的博客:Spark 与 Hadoop 学习笔记 介绍及对比Databrick 's Blog on Spark Structured Streaming SummarySpark Structured Streaming + Kaf...

2018-10-25 16:09:19 1282 2

原创 Spark Structured Streaming + Kafka使用笔记

这篇博客将会记录Structured Streaming + Kafka的一些基本使用(Java 版)spark 2.3.01. 概述Structured Streaming (结构化流)是一种基于 Spark SQL 引擎构建的可扩展且容错的 stream processing engine (流处理引擎)。可以使用Dataset/DataFrame API 来表示 streaming a...

2018-09-30 20:57:08 13875 6

原创 Databrick 's Blog on Spark Structured Streaming Summary

此篇博客将翻译及总结Databrick三篇关于 Spark Structured Streaming的文章,原文可点击小标题蓝字Part1 实时数据使用Structured Streaming的ETL操作1.1 Introduction在大数据时代中我们迫切需要实时应用解决源源不断涌入的数据,然而建立这么一个应用需要解决多个问题: 1. 提供端到端的可靠性与正确性 2....

2018-08-28 14:42:37 1763

原创 Spark 与 Hadoop 学习笔记 介绍及对比

这篇博客将会简单记录Hadoop与Spark对比,及HDFS,MapReduce的基本概念,方便理解整个大数据处理框架。1. Hadoop1.1 背景Hadoop就是解决了大数据(大到一台计算机无法进行存储,一台计算机无法在要求的时间内进行处理)的可靠存储和处理。 HDFS: 分布式文件存储 YARN: 分布式资源管理 MapReduce: 分布式计算 Others:...

2018-08-05 21:20:46 493 3

原创 Java Serializable 序列化学习笔记 及transient关键字 及 serialVersionUID 作用

综述Java 提供了一种对象序列化的机制,该机制中,一个对象可以被表示为一个字节序列,该字节序列包括该对象的数据、有关对象的类型的信息和存储在对象中数据的类型。将序列化对象写入文件之后,可以从文件中读取出来,并且对它进行反序列化,也就是说,对象的类型信息、对象的数据,还有对象中的数据类型可以用来在内存中新建对象。简单来说,Java的对象序列化是指将那些实现了Serializable接口...

2018-08-04 21:02:48 419

原创 Spark中RDD 持久化操作 cache与persist区别

环境/背景Spark 2.3.0 Scala 2.11 Java 1.8在进行RDD操作的时候,我们需要在接下来多个行动中重用同一个RDD,这个时候我们就可以将RDD缓存起来,可以很大程度的节省计算和程序运行时间。接下来可以通过查看Spark的源码对比RDD.cache()与RDD.persist()的差别。cache 与 persist 对比首先从JavaRDD类中点进去...

2018-07-02 15:33:13 4119

原创 Java中 jar/war/ear包的区别

jar:即Java Archive,Java的包,Java编译好之后生成class文件,但如果直接发布这些class文件的话会很不方便,所以就把许多的class文件打包成一个jar,jar中除了class文件还可以包括一些资源和配置文件,通常一个jar包就是一个java程序或者一个java库,包含Java类的普通库、资源(resources)、辅助文件(auxiliary files)war:...

2018-06-20 20:15:59 435

原创 Java 中 ArrayList,LinkedList和Vector主要区别与概述

1. ArrayList与LinkedList 主要区别ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。 对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针。 对于新增和删除操作add和remove,LinedList比较占优势,因为ArrayList要移动数据。 2....

2018-06-20 15:10:05 521

原创 OpenAI gym  强化学习环境库安装以及使用

Abstract这篇博客大概会记录OpenAI gym的安装以及使用的简要说明。在强化学习里面我们需要让agent运行在一个环境里面,然鹅手动编环境是一件很耗时间的事情, 所以如果有能力使用别人已经编好的环境, 可以节约我们很多时间。 OpenAI gym 就是这样一个模块, 他提供了我们很多优秀的模拟环境. 我们的各种 RL 算法都能使用这些环境.。不过 OpenAI gym 暂时只...

2018-05-12 16:37:32 6648 2

原创 Python3 使用fastText进行文本分类 新闻分类

简介这篇博客将会简要记录使用python版本的fastText对不同类别新闻进行分类,中间会使用结巴分词,pandas的数据处理。新闻数据可以使用清华的新闻数据。安装依赖Python版本:3.6 安装结巴分词以及fasttextpip install jiebapip install fasttext分词处理分词过程中会删除一些常用的停用词,停用词可以使用https:...

2018-04-24 17:56:42 16889 1

原创 SVD奇异值分解 中特征值与奇异值的数学理解与意义

前言之前的博客中SVD推荐算法写得不是很严谨,r̂ ui=∑Ff=1PufQfi+μ+bu+bir^ui=∑f=1FPufQfi+μ+bu+bi\hat{r}_{ui}=\sum_{f=1}^{F}{P_{uf}Q_{fi}}+\mu+b_u+b_i 更像是矩阵分解多一点,没有涉及到SVD的数学意义,这篇博客大概会写一些数学SVD的数学理解,以及SVD在PCA和推荐算法上面的应用。...

2018-04-09 13:35:41 4673

原创 XGBoost简单推导及理解

前言XGBoost的全称是eXtreme Gradient Boosting。作为一个非常有效的机器学习方法,Boosting Tree是数据挖掘和机器学习中最常用的算法之一。因为它效果好,对于输入要求不敏感,相对LR 的优势如不需要做特征的归一化,自动进行特征选择,模型可解释性较好,可以适应多种损失函数如 SquareLoss,LogLoss 等,往往是从统计学家到数据科学家必备的工具之一,...

2018-04-04 00:39:47 3027

原创 LeetCode 139. Word Break 动态规划DP Python解法

题目Given a non-empty string s and a dictionary wordDict containing a list of non-empty words, determine if s can be segmented into a space-separated sequence of one or more dictionary words. You may ...

2018-03-24 00:21:27 3146

原创 Leetcode 78. Subsets Python DFS 深度优先搜索解法

问题描述Given a set of distinct integers, nums, return all possible subsets (the power set). 给定一个数据集合,求该集合的所有子集。 Note: The solution set must not contain duplicate subsets.For example, If nums = [1,...

2018-03-15 18:37:00 2078

原创 Leetcode 206. Reverse Linked List 链表翻转 Python 两种解法

问题描述Reverse a singly linked list. 翻转一个链表#1第一种方法:迭代class ListNode(object): def __init__(self, x): self.val = x self.next = Noneclass Solution(object): def reverseList...

2018-03-15 18:04:47 1654

原创 扇形染色问题 Python解法

问题描述将一个圆形等分成N个小扇形,将这些扇形标记为1,2,3,…,N。现在使用M种颜色对每个扇形进行涂色,每个扇形涂一种颜色,且相邻的扇形颜色不同。求:有多少种涂色方法。 备注:不考虑数值越界。N>=1,M>=3;思路设a(n)a(n)a(n)为符合要求的第nnn个扇形的涂色方法。 对扇形1有m种涂色方法,扇形2有m-1m-1m-1种涂色方法,扇形3也...

2018-03-14 17:00:00 1759

原创 Linux 常用命令 / vim常用命令 / 面试常考命令 汇总 (更新中)

这篇博客会记录常用的Linux命令,可以直接使用Ctrl+F来快速查找命令~进程类top概述top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。 可以直接使用top命令后,查看%MEM的内容。可以选择按进程查看或者按用户查看,如想查看oracle用户的进程内存使用情况的话可以使用如下的命令:   $ ...

2018-03-14 11:15:06 9959

原创 逆序数对(inversion)个数统计 python解法与时间复杂度推导

问题描述Letx1,x2,...,xnx1,x2,...,xn x_1, x_2, . . . , x_n be a list of n distinct input integers. We call the pair (i, j) an inversion if i < j and xi>xjxi>xjx_i > x_j . Give a divide-and-conqu...

2018-03-04 14:18:33 4136 4

原创 Win10环境下使用WSL安装OpenAI/gym +TensorFlow用强化学习DQN打砖块(Breakout Game)

实现目标我们的目标是在Windows 10系统上具体实现DeepMind论文中强化学习算法Q-learning Network(DQN)的训练过程。 随着每次训练,强化学习算法将拿到越来越高的分,具体强化学习与DQN的前置知识可以参考这里 注意:子系统无法安装CUDA,所以只能使用CPU版的TensorFlow,具体可以参考下图 运行环境Win 10 + Ubuntu 1...

2018-02-27 22:28:03 13305 6

原创 Tensorflow(GPU) 在Win10+Cuda8.0环境下安装以及Cudnn包配置 图文详细教程

安装环境Win10Python3.6.4 3.5以上版本都可以,目前Tensorflow只支持64位python3.5以上版本numpy 安装好Python后打开终端cmd输入 pip3 install numpy具体流程下载安装Cuda8.0,一定要是8.0版本!下载地址,并按照下图选择下载本地安装包。 如果安装错了记得要把之前的删除卸载干净安装完成后配置系...

2018-02-27 00:17:59 30797 16

原创 LR(Logistic Regression) 逻辑回归模型 进行二分类或多分类 及梯度下降学习参数

逻辑回归(Logistic Regression, LR)是传统机器学习中的一种分类模型,由于算法的简单和高效,在实际中应用非常广泛。它的起源非常复杂,可以看参考引用1。具体应用实践可以看这里。问题背景对于二元分类问题,给定一个输入特征向量XXX(例如输入一张图片,通过算法识别它是否是一只猫的图片),算法能够输出预测,称之为y^y^\hat y,也就是对实际值yyy的估计。或者说,y^...

2018-02-22 17:30:32 23990

原创 从强化学习Reinforcement Learning到DQN(Deep Q-learning Network)学习笔记

前言本篇博客大概会记录强化学习RL的基础知识,基本方法,以及如何推导到DQN,和关于DeepMind的Playing Atari with Deep Reinforcement Learning(DQN学习打砖块游戏)这篇论文的一些理解,后续改进方向,还有一些具体实现。若有理解不当,恳请指出!强化学习基础强化学习中两大最基本的要素:Agent(智能体)与Environment(环境...

2018-02-17 22:42:53 21472

原创 AdaBoost (Adaptive Boosting) 自适应增强 简单理解算法与matlab实现

综述AdaBoost学习算法用于提高简单学习算法的分类性能。它通过组合一组弱分类函数(具有较高分类错误的弱分类器)来形成更强的分类器。最后的强分类器采用弱分类器加阈值的加权组合的形式。AdaBoost方法的自适应在于:前一个分类器分错的样本会被用来训练下一个分类器。AdaBoost方法对于噪声数据和异常数据很敏感,但在一些问题中,AdaBoost方法相对于大多数其它学习算法而言,不会很容易

2018-02-03 20:19:37 2452

原创 手推SVM 支持向量机的简易推导和理解

前言SVM - support vector machine, 俗称支持向量机,为一种监督学习算法,是一种二分类模型,学习策略是间隔最大化,可以形式为一个求解凸二次规划问题(此篇博客主要讲述),也等价于正则化的合页损失函数的最小化问题(Coursera 吴恩达 机器学习课程里面讲的SVM)。 支持向量机的优点: 可用于高维空间中的数据分类 在数据维度高于样本个数时,仍然可以有效...

2018-01-29 10:19:35 5843

原创 希尔伯特空间/再生核希尔伯特空间

现代数学的一个特点就是以集合为研究对象,这样的好处就是可以将很多不同问题的本质抽象出来,变成同一个问题,当然这样的坏处就是描述起来比较抽象,很多人就难以理解了。这里主要整理(摘抄)了一下欧式空间和从向量空间一直到再生核希尔伯特空间的概念与简单理解。 欧式空间/欧几里得空间(Euclidean Space) 设V" role="presentation" style="position: rel

2018-01-25 17:23:45 22168 3

原创 拉格朗日对偶性(Lagrance duality) 推导与简单理解

引言在支持向量机和最大熵模型中都会用到拉格朗日对偶性,主要为解决约束最优化问题,通过将原始问题转换为对偶问题求解。为方便理解,遂记录下简单的概念的结论,有理解不当的地方望多提意见~1. 原始问题先从最简单的求函数最小值开始说起:minx∈Rnf(x)\min_{\boldsymbol{x} \in \mathbf{R}^n}f(\boldsymbol{x})求f(x)f

2018-01-24 16:34:26 17076 4

原创 正定矩阵与半正定矩阵定义性质与理解

正定矩阵在线性代数里,正定矩阵 (positive definite matrix) 有时会简称为正定阵。 定义:AA是n阶方阵,如果对任何非零向量xx,都有xTAx>0x^TAx> 0,其中xTx^T 表示xx的转置,就称AA正定矩阵。性质:正定矩阵的行列式恒为正;实对称矩阵AA正定当且仅当AA与单位矩阵合同;两个正定矩阵的和是正定矩阵;正实数与正定矩阵的乘积是正定矩阵。

2018-01-24 12:21:12 145916 12

原创 LeetCode 22. Generate Parentheses 生成括号 Python 回溯解法

题目描述Given n pairs of parentheses, write a function to generate all combinations of well-formed parentheses. 给定n对括号,写一个函数来生成成对的括号的所有组合。 For example, given n = 3, a solution set is: [ “((()))

2018-01-18 23:48:43 4030

原创 LeetCode 322. Coin Change Python 动态规划/BFS解法

题目描述You are given coins of different denominations and a total amount of money amount. Write a function to compute the fewest number of coins that you need to make up that amount. If that amount of

2018-01-17 00:30:24 3977

原创 LeetCode 5. Longest Palindromic Substring 最长回文子串 Python 四种解法(Manacher 动态规划)

Longest Palindromic Substring 最长回文子串 学习笔记1. Brute method第一种方法:直接循环求解,o(n2)o(n^2)class Solution: def longestPalindrome(self, s): """ :type s: str :rtype: str

2018-01-06 11:41:46 17290 3

原创 线性判别分析(Linear Discriminant Analysis, LDA) 学习笔记 + matlab实现

综述线性判别分析 (LDA)是对费舍尔的线性鉴别方法(FLD)的归纳,属于监督学习的方法。LDA使用统计学,模式识别和机器学习方法,试图找到两类物体或事件的特征的一个线性组合,以能够特征化或区分它们。所得的组合可用来作为一个线性分类器,或者,更常见的是,为后续的分类做降维处理。LDA的基本思想是将高维的模式样本投影到最佳鉴别矢量空间,以达到抽取分类信息和压缩特征空间维数的效果,投影后保证模式样本在新

2017-12-09 13:56:01 13489 3

原创 使用sklearn 实现 Logistics Regression 分类

使用Pandas 数据清洗特征选择 + sklearn 实现 Logistics Regression 分类(记录一次Data Mining作业) 关于LR基础可以看这里数据描述与分析我们有这么一个数据集,记录学生在教务网站上看某学科的视频流数据来预测学生是否挂科。(这之间有关系吗..) user_id: Identifies the individual who is ...

2017-11-26 11:43:26 13641

原创 从决策树到GBDT梯度提升决策树和XGBoost

从决策树到GBDT(Gradient Boosting Decision Tree)梯度提升决策树和XGBoost的一些学习笔记决策树决策树可以转换成if-then规则的集合,也可以看作是定义在特征空间划分类的条件概率分布。决策树学习算法包括三部分:特征选择,数的生成和数的剪枝。最大优点: 可以自学习。在学习的过程中,不需要使用者了解过多背景知识,只需要对训练实例进行较好的标注,就能够...

2017-11-16 22:56:20 4622

原创 HIN 异构信息网络(Heterogeneous Information Network)

信息网络(Information Network)信息网络可以用一个有向图G = (V, E) 来表示,其中V代表 Object,E代表 Edge。并且用映射函数 ϕ : V → A 来表示每一个object v ∈ V 属于object类型集合A: ϕ(v) ∈ A,用映射函数ψ : E → R.表示每条边 e ∈ E 属于边的类型集合R: ψ(e) ∈ R。如下图1所示:异构信息网络 网络模式元路径/元图

2017-11-03 11:51:06 19507

原创 Lasso 稀疏约束 + Group Lasso 分组最小角回归算法

背景 Lasso(least absolute shrinkage and selection operator,又译最小绝对值收敛和选择算子、套索算法)是一种同时进行特征选择和正则化(数学)的回归分析方法,旨在增强统计模型的预测准确性和可解释性.Lasso 稀疏约束 + Group Lasso 分组最小角回归算法

2017-10-31 12:01:53 34099 1

原创 推荐系统学习笔记之四 Factorization Machines 因子分解机 + Field-aware Factorization Machine(FFM) 场感知分解机

前言Factorization Machines(FM) 因子分解机是Steffen Rendle于2010年提出,而Field-aware Factorization Machine (FFM) 场感知分解机最初的概念来自于Yu-Chin Juan与其比赛队员,它们借鉴了辣子Michael Jahrer的论文中field概念,提出了FM的升级版模型。 FM的paper中主要对比对象是SVM支持向

2017-10-23 14:32:46 12100 1

原创 推荐系统学习笔记之三 LFM (Latent Factor Model) 隐因子模型 + SVD (singular value decomposition) 奇异值分解

Low Rank Matrix Factorization低阶矩阵分解在上一篇笔记之二里面说到我们有五部电影,以及四位用户,每个用户对电影的评分如下,?表示未评分。 Movies\User User 1 User 2 User 3 User 4 Movie 1 5 5 0 0 Movie 2 5 ? ? 0 ...

2017-10-19 23:14:13 15199

NVIDIA 显卡驱动 TLinux 签名内核

NVIDIA 显卡驱动 TLinux 签名内核,下载 NVIDIA-Linux-x86_64-418.87.00/kernel 下内核模块文件nvidia-uvm.ko 和 nvidia.ko 之后再将这两个文件下载拷贝到相应的文件夹,depmod更新模块依赖

2020-10-06

Python 强化学习 DQN Flappy Bird

Playing Flappy Bird Using Deep Reinforcement Learning (Based on Deep Q Learning DQN)

2018-09-25

推荐系统实践

随着信息技术和互联网的发展,人们逐渐从信息匮乏的时代走入了信息过载(information overload)的时代 。在这个时代,无论是信息消费者还是信息生产者都遇到了很大的挑战:对于信息消费者,从大量信息中找到自己感兴趣的信息是一件非常困难的事情;对于信息生产者,让自己生产的信息脱颖而出,受到广大用户的关注,也是一件非常困难的事情。推荐系统就是解决这一矛盾的重要工具。推荐系统的任务就是联系用户和信息,一方面帮助用户发现对自己有价值的信息,另一方面让信息能够展现在对它感兴趣的用户面前,从而实现信息消费者和信息生产者的双赢。

2018-09-11

空空如也

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

TA关注的人

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