自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 资源 (1)
  • 收藏
  • 关注

原创 反向传播手记

前言反向传播作为深度学习中的一个重要的基础知识,大部分关于它的文章都太过于注重公式的堆砌,本文主要结合一个简单的浅层神经网络,进行一下前向传播和反向传播的计算。一个作为例子的神经网络前向传播以上图的神经网络为例,计算前向传播的计算过程反向传播反向传播的目标是更新整个网络的权值,即w和b其实现的方式为链式求导,具体如下:...

2019-09-03 16:58:48 81

原创 FM学习笔记

前言Factorization Machines 这篇论文于2011年提出,也就是在计算广告领域广为应用的FM。最近仔细学习了FM的算法原理,参考了很多大佬的资料和观点,在此总结。正文FM是个啥?简单的说,FM是一种适合应用在高维稀疏数据场景的、具有线性时间复杂度的监督学习算法,其可以用作分类、回归、排序等类型的任务。对于逻辑回归,我们都不陌生。在使用逻辑回归解决问题时,由于模型比较容易...

2019-08-29 16:32:36 197

原创 Spark之数据倾斜

前言对于一个算法工程师来说,Spark是一个非常常用的工具。对于使用过Spark的同学,对于数据倾斜的问题一定不会陌生。本文讲主要介绍Spark中的数据倾斜以及一些处理方案。啥是数据倾斜?这一切可能要从分布式计算系统说起,用最通俗的话来说,现在我们有一个任务,在一台电脑上跑要100个小时,于是我们灵光一现,我们整一百台不就行了?于是,我们得到 任务处理时间 = 100小时/100台电脑 ...

2019-08-21 22:21:54 80

原创 GBDT与XGBoost的对比

前言前面写过两篇关于GBDT与XGBoost的原理,对GBDT和XGBoost的理解也略微的深入了一些,在此总结一下两者的区别与联系。关于GBDThttps://blog.csdn.net/Daverain/article/details/96702696关于XGBoosthttps://blog.csdn.net/Daverain/article/details/99570424正文...

2019-08-14 16:01:10 217

原创 XGBoost原理手记

前言本文主要是从数学形式上梳理了XGBoost的原理,梳理了函数形式、损失函数、当前轮次损失计算、叶子结点分裂等内容。手记参考文献1.Chen, Tianqi, and C. Guestrin. “XGBoost:A Scalable Tree Boosting System.” Acm Sigkdd International Conference on Knowledge Disco...

2019-08-14 15:02:44 108

原创 逻辑回归(LR)手记

前言本文主要是从数学形式上梳理了逻辑回归(LR)的原理,推导了逻辑回归的函数形式、损失函数(LogLoss)以及梯度下降的优化过程。手记参考文献https://www.cnblogs.com/pinard/p/6029432.html...

2019-08-14 13:02:44 72

原创 面试拦路虎之快速排序

前言校招已经如火如荼的进行起来了,手撕代码是今年面试考察的重头戏。按脉脉上的说法,左手一个快速排序,右手一个二叉树遍历,基本可以拦住一大半算法面试者了。今天来梳理一下快速排序的知识点。快排的思想快排的思想大部分同学应该都能说的清楚。快速排序是一个基于分治法的原地排序算法,每次以数组中某一个值作为基准,将比基准小的放到左侧,比基准大的放到右侧,就完成了一次排序;接下来分别对左右子数组进行...

2019-08-12 13:39:34 183

原创 在面试中把GBDT讲清楚

前言在面试中,经常会遇到面试官说,你这个项目用到了GBDT,那你能不能介绍一下GBDT的原理?对于很多同学,其实对GBDT很熟悉,但是很难系统性的把它讲清楚,讲完之后自己都觉得很凌乱,面试官也觉得不够满意。本文主要参考了好友Freeman_zxp的博客文章,并结合了一些自己的思考和理解。https://blog.csdn.net/zpalyq110/article/details/79527...

2019-07-21 15:16:19 1935

原创 SimHash算法原理

一、什么是SimHash SimHash算法是Google在2007年发表的论文《Detecting Near-Duplicates for Web Crawling》中提到的一种指纹生成算法,被应用在Google搜索引擎网页去重的工作之中。 简单的说,SimHash算法主要的工作就是将文本进行降维,生成一个SimHash值,也就是论文中所提及的“指纹”,通过对不同文本的Si...

2019-05-21 20:03:27 5271 3

原创 HDFS坏块清除和修复

检测路径下是否有坏块:bin/hdfs fsck /删除路径下的坏块:bin/hdfs fsck / -delete修复坏块:hdfs debug recoverLease -path / -retries 5retries 为重试次数

2019-01-09 13:19:32 5166 3

原创 牛顿冷却定律:在用户标签提取上的应用

1.背景在很多推荐业务的场景下,我们需要提取用户的兴趣标签,进而将用户划分,进行内容的推荐。假设我们现在拥有一些用户的行为信息,比如某产品feed上的用户,今天阅读了2个时政类的新闻,昨天阅读了4个美妆类新闻,5天前又读了8篇美食类的新闻,而我们需要给用户打一个label,这个label可以是一个或者多个,我们应该怎么去做呢?我们所拥有的信息为 用户阅读行为的分类、用户在分类下的行为频度以及用...

2019-01-09 13:04:51 5204 1

原创 关键词提取:TF-IDF

TF-IDF是一个精巧而又简单的算法,可以较快的提取一篇文章的关键词。在工业界,像搜索引擎、推荐系统这样的业务,围绕着关键词可以进行许多的尝试。1.什么是TF-IDFTF-IDF全称叫做词频-逆文档频度,现在假设我们有10000篇文章等待我们标记关键词,在这个算法中,我们需要计算的只有词频和逆词频。词频就是指某一个词在某一篇文章中出现的频度,而逆词频可以理解为,拥有这个词的文章的比例。我们...

2018-12-23 17:37:04 201

原创 记一些常见的手撕算法

怕什么真理无穷,进一寸有进一寸的欢喜1.二分查找 public int binarySearch(int[] arr,int key){ int low = 0; int high = arr.length - 1; int mid = 0; if(key>arr[high]||key&amp

2018-12-16 16:40:27 3180 1

原创 Python爬取实习僧算法JD

之前做了一个爬虫给自己的CSDN刷量,其实跟写一个简单的小爬虫差不多。在公司里,爬虫一般都跟nlp相关的业务息息相关,这次先爬取一下实习僧网站上的算法JD,为以后学习nlp相关的知识准备一下数据。先在实习僧上搜索算法岗位,发现url有一定的规律性,后面的两个字段k就是key,p就是page,然后这就解决了遍历所有page的需求。取得每个page的url之后,我们还需要知道这样几件事情:1....

2018-11-06 20:30:38 308

原创 spark.dataframe的一些常用操作(Scala)

前言说起dataframe,大家一般会首先想起pandas.dataframe。随着数据科学越来越火热,大部分同学都使用过python去进行一些数据科学的实践,也应该会对dataframe的简单易用颇有好感。然而pandas只能用于处理单机问题,面对工业级的海量数据处理和计算,就显得无能为力。spark作为分布式计算框架,在工业界占据了比较主流的地位。spark同样也提供了dataframe...

2018-10-01 01:59:26 9964

原创 Python爬虫刷Blog的阅读量

利用午休的时间,用Python写了一个刷Blog中文章阅读量的小玩具,还不成熟,最近会迭代修改。当前的整体思路:获取用户的文章页,解析html,获取该页面每一篇文章的url,存入list,然后训练访问list中的url,达到点击的目的。import requestsfrom bs4 import BeautifulSoupimport time//爬取我的粉丝 周英俊 同学的blog...

2018-09-30 15:14:39 1577

原创 使用spark训练LR模型

最近在工作之余参加了一个CTR预估的比赛,CTR预估是一个成熟又经典的问题,工业界目前使用的主流方案仍然是LR+海量特征。趁着这一次比赛的机会,正好抱着学习的心态尝试着学习用spark集群来训练一下LR。在学校的时候大家训练模型一般都是用python+pandas+numpy+sklearn,这一套工具在单机的环境下非常的简单易学,但是面对海量数据或者高维稀疏矩阵的计算,就显得无能为力。相比之...

2018-09-19 19:25:28 4607 4

原创 python实现spark-history-server监控

由于history-server服务器会经常出现自己挂掉的情况,用python写了一个自动重启的脚本,放在系统里用crontab定时,再也不用担心任务挂了,服务器也挂掉了。思路很简单,就是用ps指令检测进程,如果没有history-server,就把服务器拉起来。import sysimport commandsimport oscommand = "ps -ef|grep spa...

2018-09-10 19:27:32 510

原创 LeetCode(Java)

1.minimum-depth-of-binary-tree Given a binary tree, find its minimum depth.The minimum depth is the number of nodes along the shortest path from the root node down to the nearest leaf node. 解题思路:参考求...

2018-08-20 19:52:41 541

原创 Shell实现定期删除HDFS下的过期文件

代码思路:获取文件夹下的文件最后改动日期,与当前时间戳对比,删除不满足条件的所有文件。#!/bin/bashsource ~/.bashrcremoveOutDate(){hadoop fs -ls afs://xxxxxxxxxxxx > temp.txttoday_timestamp=$(date -d "$(date +"%Y-%m-%d %H:%M")" +%s) ...

2018-07-12 15:29:57 4058 2

原创 Spark History Server 配置方法

一、配置目的 我们在spark上运行程序的时候会经历很多次任务失败,而任务结束后,我们无从得知问题处在哪里,Spark提供了History Server服务可以保存历史Application的运行记录,帮助我们更好的解决问题。官方文档参考:https://spark.apache.org/docs/latest/configuration.html二、基本原理 Spark作业将作业执行...

2018-07-11 20:56:12 598

原创 剑指Offer题目详解(CPP、JAVA)

前言虽然已经度过了艰辛的找实习的日子,到了公司实习。但依然非常怀念那段准备面试、坐在实验室里刷剑指offer的日子。1.二维数组的查找在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。解题思路: 从右上角或者左下角进行查找,便于判断。 public bool...

2018-07-10 13:25:42 665 1

xgboost.pdf

XGboost论文原文,作者陈天奇,在论文中可以让我们很清晰的学习到xgboost的原理,和思考。

2019-08-31

空空如也

空空如也

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

TA关注的人 TA的粉丝

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