自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

bitcarmanlee的博客

https://github.com/bitcarmanlee/easy-algorithm-interview-and-practice 同步更新,欢迎star

  • 博客(16)
  • 收藏
  • 关注

原创 linux shell中实现字符串反转的几种简单方法

1.使用rev命令7040:~$ echo "123456" | rev6543212.使用python工具7040:~$ echo "123456" | python -c 'print raw_input()[::-1]'654321tips: 1.python中实现字符串反转非常容易,[::-1]就可以。具体原理为Extended Slices,可以参考 https://docs.py

2017-12-28 10:21:32 7749

原创 SparkSQL简单教程

当面对一堆格式化的数据需要做一些统计分析的时候,awk是个非常不错的选择。但是当数据量上来以后,通过单机awk的方式处理就显得有些力不从心,这个时候我们可以通过SparkSQL来模拟sql的方式来处理这些海量数据,现在就给大家举个实例,看看怎么通过简单的几行代码用SparkSQL的方式来分析海量数据。1.原始数据在hdfs上有个路径为XXX,数据规模大概为100G左右,都是格式化的标准数据,每一行四

2017-12-28 09:32:19 2836

原创 神经网络的直观解释相关文档

1.http://www.hackcv.com/index.php/archives/104/ 什么是卷积神经网络?为什么它们很重要?2.https://www.zhihu.com/question/39022858 卷积神经网络工作原理直观的解释?

2017-12-24 20:39:19 486

原创 spark 通过打散热点key解决数据倾斜问题

1.热点key的数据倾斜在大数据相关的统计与处理中,热点key造成的数据倾斜非常常见也非常讨厌,经常会造成job运行时间变长或者造成job的OOM最后导致任务失败。例如在wordcount任务中,如果有一个word是热点词,出现的次数很多,那么最后这个job的运行时间就是由这个热点词所在的task运行时间决定的。因此遇到这种热点问题,我们需要想办法改进代码,优化任务,提高最终的运行效率。2.实际ca

2017-12-22 16:06:11 4123 1

转载 神经网络之激活函数(activation function)

1.为什么要引入非线性激活函数(activation function)如果不使用非线性激活函数,此时激活函数本质上相当于f(x)=ax+b。这种情况先,神经网络的每一层输出都是上层输入的线性函数。不难看出,不论神经网络有多少层,输出与输入都是线性关系,与没有隐层的效果是一样的,这个就是相当于是最原始的感知机(Perceptron)。至于感知机,大家知道其连最基本的异或问题都无法解决,更别提更复杂的

2017-12-18 16:06:00 8068 2

原创 java集合的相互转化(map,set,list,array)

1.应用场景java中有丰富的集合类,日常开发中几乎时刻需要使用到各种各样的集合类,其中常用的集合类包括有Map,Set,List,Array等等。下面我们就来针对各个集合类的相互转化做一下总结。2.实测代码二话不说,直接上代码。import org.junit.Test;import java.util.*;/** * Created by WangLei on 17-12-18. */pu

2017-12-18 11:30:31 2306

原创 单个id聚合

1.问题描述最近项目中经常需要处理这样的case:{"a", "b", "c", "d", "e", "f", "g"}{"a,b,c","d,e","f,h", "k"}上面两个集合,其中第一个集合全是单个id,第二个集合是多个id。现在需要将第一个集合中的id,按照第二个集合聚在一起。例如按上面两个集合,最终的输出为:deabcf2.解决方案这还算是一个比较复杂的问题。经过思考,给出了如下

2017-12-18 10:01:07 669

转载 前向传播算法(Forward propagation)与反向传播算法(Back propagation)

虽然学深度学习有一段时间了,但是对于一些算法的具体实现还是模糊不清,用了很久也不是很了解。因此特意先对深度学习中的相关基础概念做一下总结。先看看前向传播算法(Forward propagation)与反向传播算法(Back propagation)。1.前向传播如图所示,这里讲得已经很清楚了,前向传播的思想比较简单。 举个例子,假设上一层结点i,j,k,…等一些结点与本层的结点w有连接,那么结点

2017-12-16 11:45:23 133193 38

原创 Spark编程Tips

1.尽量用 aggregateByKey 和 ReduceByKey和CombineByKey, 替代 groupByKey。这个开发过程中深有体会,groupByKey极易引发各种OOM。。。2.repartition 适用于 RDD[V], partitionBy 适用于 RDD[K, V].3.尽量避免在一个 transformation 中处理所有的逻辑, 尽量分解成 map, filter

2017-12-13 18:12:42 455

原创 Spark 堆外内存

1.堆外内存有哪些前面提到spark中的堆内存溢出,除了堆内存,还有堆外内存。该部分内存主要用于程序的共享库、Perm Space、 线程Stack和一些Memory mapping等, 或者类C方式allocate object.堆外内存在Spark中可以从逻辑上分成两种: 一种是DirectMemory, 一种是JVM Overhead(下面统称为off heap), 这两者在Spark中的大小

2017-12-13 16:55:44 10989

原创 Spark Heap OOM(堆内存溢出)

spark任务在调试过程中,OOM是非常讨厌的一种情况。本文针对Heap OOM的情况先做一定分析,告诉大家如何调参。1.Heap OOM的现象如果在Spark UI或者在spark.log中看到如下日志:java.lang.OutOfMemoryError: GC overhead limit exceededjava.lang.OutOfMemoryError: java heap space

2017-12-13 11:11:33 15707 2

原创 字符串匹配算法

字符串匹配是日常开发中经常使用的case,比如在java中就有indexOf方法。我们现在试着来自己实现一下字符串匹配的算法。1.暴力循环法暴力算法自然就是双层循环了。具体来说,对于长度为n的源字符串S与长度为m的模式匹配串P,在S中是否存在一个i,当0interface StringMatcher { int indexOf(String source, String pattern);}

2017-12-11 22:12:39 558

原创 感知机(Perceptron)为什么不能表示异或(XOR)

1.感知机不能表示异或在很早之前学Pattern Recognition相关课程的时候,老师在课堂上就说过感知机遇到的一个大问题就是无法表示异或问题(XOR)。后来接触深度学习相关的内容,开头部分肯定会提到感知机,提到感知机也必会提到不能表示异或的问题。正好抽出点时间,稍微搞明白一下为什么感知机不能表示异或。2.感知机的数学定义感知机到底是什么呢?首先来看一下他的数学定义: 假设输入空间(即样本的

2017-12-11 10:23:48 20238 1

原创 通过释放cache内存解决ubuntu死机问题

1.ubuntu老死机工作机器是ubuntu系统,配有16G的物理内存。按理说这个内存量已经不小了,但是同时还运行了一个windows虚拟机,所以机器的资源会略显紧张。每次系统运行不了多少时间,多则三五天,少则一两天,系统就卡死不动了。。。任何操作都没法解决这个问题,每次只能重启大法,长按power键,重启机器。终于某一次一天之内重启两次以后,本人实在受不了了,下决心要解决这个问题。。根据之前的几次

2017-12-07 18:35:46 8360

原创 scala实现数值类型加法

在前面的文章里,我们讲了在java中如何利用泛型实现数值类型加法。具体可以参考博文http://blog.csdn.net/bitcarmanlee/article/details/78733637。 那么在scala中,我们怎么实现上面的需求呢?1.用 <: 模拟extends关键字行不通如果按照在java中的处理思路,我们可以这么尝试一下: def numberAdd[T <: Numb

2017-12-06 19:04:22 4977

原创 java泛型方法实现数值类型加法

1.实现数值类型加法实际开发中,经常有数值类型求和的需求,例如实现int类型的加法: public int add(int num1, int num2) { return num1 + num2; }有时候还需要实现long类型的求和: public long add(long num1, long num2) { return num1 + n

2017-12-06 18:24:08 12562 1

空空如也

空空如也

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

TA关注的人

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