自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

1.02^365的成长裂变

每天比别人努力一点,坚持下去就是裂变的威力~

  • 博客(358)
  • 资源 (6)
  • 收藏
  • 关注

原创 博客简介

简介好记性不如烂笔头,工作、学习和生活过程中的点点滴滴、关键知识点都需要记录,并不时拿出来阅读和总结,对过往知识的回顾和总结,为今后工作提供能量。本博客主要记录工作中解决的技术难题、日常系统性复习过程中的相关笔记等。互联网行业技术更新太快,很多技术每天都需要接触,经常进行系统性的学习、复习与总结,能够从更高的角度对整个技术栈有更好的掌握。博客中涉及到的系统性知识包括:C/C++、J

2017-09-20 13:44:18 4198

转载 [机器学习]模型调参

一、问题描述当我们在处理图像识别或者图像分类或者其他机器学习任务的时候,我们总是迷茫于做出哪些改进能够提升模型的性能(识别率、分类准确率)。。。或者说我们在漫长而苦恼的调参过程中到底调的是哪些参数。。。所以,我花了一部分时间在公开数据集 CIFAR-10 [1] 上进行探索,来总结出一套方法能够快速高效并且有目的性地进行网络训练和参数调整。CIFAR-10 数据集有 60000 张图片,每...

2019-07-22 20:53:54 45105

原创 [Java] 基于数据库的分布式锁

基于数据库表要实现分布式锁,最简单的方式可能就是直接创建一张锁表,然后通过操作该表中的数据来实现了。当我们要锁住某个方法或资源时,我们就在该表中增加一条记录,想要释放锁的时候就删除这条记录。创建这样一张数据库表:当我们想要锁住某个方法时,执行以下SQL:因为我们对method_name做了唯一性约束,这里如果有多个请求同时提交到数据库的话,数据库会保证只有一个操作可以成...

2019-05-28 10:50:01 44046 1

原创 [Redis] 基于redis的分布式锁

前言分布式锁一般有三种实现方式:1. 数据库乐观锁;2. 基于Redis的分布式锁;3. 基于ZooKeeper的分布式锁。本篇博客将介绍第二种方式,基于Redis实现分布式锁。可靠性首先,为了确保分布式锁可用,我们至少要确保锁的实现同时满足以下四个条件:互斥性。在任意时刻,只有一个客户端能持有锁。 不会发生死锁。即使有一个客户端在持有锁的期间崩溃而没有主动解锁,也能保证后续其他...

2019-05-28 10:17:11 12601

转载 [Scala] 函数式编程 vs 面向对象编程

什么是函数式编程?在维基百科中给出了详细的定义,函数式编程(英语:functional programming)或称函数程序设计,又称泛函编程,是一种编程范型,它将电脑运算视为数学上的函数计算,并且避免使用程序状态以及易变对象。函数编程语言最重要的基础是λ演算(lambda calculus)。而且λ演算的函数可以接受函数当作输入(引数)和输出(传出值)。而在面向对象编程中,面向对象程序设计(...

2019-03-13 10:36:52 11869

转载 [技术管理] 技术管理从1到N

完成从 1 到 N 的转变        在工作的时候要考虑自己的职业发展。首先要看目标是什么,到底想要什么。如果你在一个地方,没有定好想去哪里的话,往哪个方向都是无所谓的,职业发展也是一样的。当然很多人会想,从技术转管理以后,是不是工作轻松一点?赚的钱多一点?这么想其实不太对,做了管理以后可能会更累,赚的钱也不一定有你想的那么多。至少在很多管理团队里面,技术专家比管理者的收入更高的。...

2018-09-03 00:01:59 15414

转载 [博弈论] 三个枪手

彼此痛恨的甲、乙、丙三个枪手准备决斗。甲枪法最好,十发八中;乙枪法次之,十发六中;丙枪法最差,十发四中。先提第一个问题:如果三人同时开枪,并且每人只发一枪;第一轮枪战后,谁活下来的机会大一些?一般人认为甲的枪法好,活下来的可能性大一些。但合乎推理的结论是,枪法最糟糕的丙活下来的几率最大。我们来分析一下各个枪手的策略。枪手甲一定要对枪手乙先开枪。因为乙对甲的威胁要比丙对甲的威胁更大,甲应该首...

2018-09-01 23:30:52 51896

转载 [机器学习] 特征工程总结

目录1 特征工程是什么?2 数据预处理  2.1 无量纲化    2.1.1 标准化    2.1.2 区间缩放法    2.1.3 标准化与归一化的区别  2.2 对定量特征二值化  2.3 对定性特征哑编码  2.4 缺失值计算  2.5 数据变换3 特征选择  3.1 Filter    3.1.1 方差选择法    3.1.2 相关系数法    3.1.3 ...

2018-08-17 16:09:57 15815

原创 [大数据] Spark Shuffle详解

Shuffle简介Shuffle描述着数据从map task输出到reduce task输入的这段过程。shuffle是连接Map和Reduce之间的桥梁,Map的输出要用到Reduce中必须经过shuffle这个环节,shuffle的性能高低直接影响了整个程序的性能和吞吐量。因为在分布式情况下,reduce task需要跨节点去拉取其它节点上的map task结果。这一过程将会产生网络资源消...

2018-08-08 14:41:04 18650 4

转载 [系统架构] AKKA工作原理

Akka工作原理Akka中的角色ProducerActor(StudentActor) ConsumerActor(TeacherActor,onReceive方法接收消息) ActorRef(tell方法,发送消息给MessageDispatcher消息派发器) ActorSystem(actorOf方法,创建ActorRef,ActorRef就是ConsumerActor的P...

2018-08-08 11:11:02 16940

原创 [大数据] Spark架构详解

Apache Spark是一个围绕速度、易用性和复杂分析构建的大数据处理框架,最初在2009年由加州大学伯克利分校的AMPLab开发,并于2010年成为Apache的开源项目之一,与Hadoop和Storm等其他大数据和MapReduce技术相比,Spark有如下优势:Spark提供了一个全面、统一的框架用于管理各种有着不同性质(文本数据、图表数据等)的数据集和数据源(批量数据或实时的流数据)...

2018-08-02 09:11:26 54431

转载 [大数据] Presto架构及原理

Presto 是 Facebook 推出的一个基于Java开发的大数据分布式 SQL 查询引擎,可对从数 G 到数 P 的大数据进行交互式的查询,查询的速度达到商业数据仓库的级别,据称该引擎的性能是 Hive 的 10 倍以上。Presto 可以查询包括 Hive、Cassandra 甚至是一些商业的数据存储产品,单个 Presto 查询可合并来自多个数据源的数据进行统一分析。Presto 的目标...

2018-07-26 12:10:06 17037 1

转载 [深度学习] Word2vec 之 Skip-Gram 模型(实现篇)

这是一个关于 Skip-Gram 模型的系列教程,共分为结构、训练和实现三个部分,本文为最后一部分:实现篇。前言上一篇的专栏介绍了Word2Vec中的Skip-Gram模型的结构和训练,如果看过的小伙伴可以直接开始动手用TensorFlow实现自己的Word2Vec模型,本篇文章将利用TensorFlow来完成Skip-Gram模型。还不是很了解Skip-Gram思想的小伙伴可以先看一下上...

2018-07-24 23:22:21 21448 1

转载 [深度学习] Word2vec 之 Skip-Gram 模型(训练篇)

这是一个关于 Skip-Gram 模型的系列教程,依次分为结构、训练和实现三个部分,本文为第二部分:训练篇。第一部分我们了解skip-gram的输入层、隐层、输出层。在第二部分,会继续深入讲如何在skip-gram模型上进行高效的训练。在第一部分讲解完成后,我们会发现Word2Vec模型是一个超级大的神经网络(权重矩阵规模非常大)。举个栗子,我们拥有10000个单词的词汇表,我们如果想...

2018-07-24 23:21:13 18212

转载 [深度学习] Word2vec 之 Skip-Gram 模型(结构篇)

这是一个关于 Skip-Gram 模型的系列教程,依次分为结构、训练和实现三个部分,本文为第一部分:结构篇。这次的分享主要是对Word2Vec模型的两篇英文文档的翻译、理解和整合,这两篇英文文档都是介绍Word2Vec中的Skip-Gram模型。下一篇专栏文章将会用TensorFlow实现基础版Word2Vec的skip-gram模型,所以本篇文章先做一个理论铺垫。原文英文文档请参考链接:...

2018-07-24 23:19:51 16570

转载 [数据库] 数据库表字段命名规范

摘要:当前研发工作中经常出现因数据库表、数据库表字段格式不规则而影响开发进度的问题,在后续开发使用原来数据库表时,也会因为数据库表的可读性不够高,表字段规则不统一,造成数据查询,数据使用效率低的问题,所以有必要整理出一套合适的数据库表字段命名规范来解决优化这些问题。本文是一篇包含了数据库命名、数据库表命名、数据库表字段命名及SQL语言编码的规范文档,针对研发中易产生的问题和常见错误做了一个整理...

2018-07-23 11:21:02 15862

转载 [大数据] spark与hadoop的比较

先看这篇文章:http://www.huochai.mobi/p/d/3967708/?share_tid=86bc0ba46c64&fmid=0 直接比较Hadoop和Spark有难度,因为它们处理的许多任务都一样,但是在一些方面又并不相互重叠。比如说,Spark没有文件管理功能,因而必须依赖Hadoop分布式文件系统(HDFS)或另外某种解决方案。 Hadoop框架的主要模块包括如下:...

2018-07-12 07:26:46 16169

转载 [随笔] ssh远程执行任务

SSH 是 Linux 下进行远程连接的基本工具,但是如果仅仅用它来登录那可是太浪费啦!SSH 命令可是完成远程操作的神器啊,借助它我们可以把很多的远程操作自动化掉!下面就对 SSH 的远程操作功能进行一个小小的总结。远程执行命令如果我们要查看一下某台主机的磁盘使用情况,是不是必须要登录到目标主机上才能执行 df 命令呢?当然不是的,我们可以使用 ssh 命令在远程的主机上执行 df 命令,然后直...

2018-07-03 17:08:34 16272

原创 [随笔] curl命令使用tips

-h 查看请求参数的含义 -v 显示请求的信息 -X 选项指定其它协议get: curl -v 192.168.33.1:8080/girls/age/18post: curl -v 192.168.33.1:8080/girls -d 'age=14&cupSize=C' curl -v -X POST 192.168.33.1:8080/girls -d '...

2018-07-03 16:44:37 15895

原创 [随笔] 正则表达式详解

正则表达式(regular expression)描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等。例如: runoo+b,可以匹配 runoob、runooob、runoooooob 等,+ 号代表前面的字符必须至少出现一次(1次或多次)。 runoo*b,可以匹配 runob、runoo...

2018-06-10 23:14:49 15722

转载 [机器学习] SVM原理及推导

0 由来在二分类问题中,我们可以计算数据代入模型后得到的结果,如果这个结果有明显的区别,这就说明模型可以把数据分开。那么,怎么表示“区别”这个词呢,拿最简单的二维问题来讲,“区别”可以是数据点分布在一条直线的两侧,而数据点代入方程后得到的结果符号是不同的,这就达到了分类的目的。 而SVM的思想也是这样,目的就是找到一个超平面,将数据点都正确地分在超平面的两侧。那么,又怎么表示这个“都正确”呢?可以...

2018-05-03 09:15:36 18999

原创 [Java] 进程/线程/协程

进程、线程和协程是三个在多任务处理中常听到的概念,三者各有区别又相互联系。进程进程是一个程序在一个数据集中的一次动态执行过程,可以简单理解为“正在执行的程序”,它是CPU资源分配和调度的独立单位。 进程一般由程序、数据集、进程控制块三部分组成。我们编写的程序用来描述进程要完成哪些功能以及如何完成;数据集则是程序在执行过程中所需要使用的资源;进程控制块用来记录进程的外部特征,描述进程的执行变化过程,...

2018-04-28 10:51:38 16750

转载 [Java] 生产者消费者Java实现

1 概述 生产者消费者问题是多线程的一个经典问题,它描述是有一块缓冲区作为仓库,生产者可以将产品放入仓库,消费者则可以从仓库中取走产品。解决生产者/消费者问题的方法可分为两类:采用某种机制保护生产者和消费者之间的同步;在生产者和消费者之间建立一个管道。第一种方式有较高的效率,并且易于实现,代码的可控制性较好,属于常用的模式。第二种管道缓冲区不易控制,被传输数据对象不易于封装等,实用性不强。在Jav...

2018-04-28 09:51:23 15840 1

转载 [Java] Volatile的实现原理

synchronized是一个重量级的锁,虽然JVM对它做了很多优化,而下面介绍的volatile则是轻量级的synchronized。如果一个变量使用volatile,则它比使用synchronized的成本更加低,因为它不会引起线程上下文的切换和调度。Java语言规范对volatile的定义如下:Java编程语言允许线程访问共享变量,为了确保共享变量能被准确和一致地更新,线程应该确保通过排他锁...

2018-04-28 09:01:41 15761

转载 [Java] Synchronized的实现原理

实现原理synchronized可以保证方法或者代码块在运行时,同一时刻只有一个方法可以进入到临界区,同时它还可以保证共享变量的内存可见性Java中每一个对象都可以作为锁,这是synchronized实现同步的基础:普通同步方法,锁是当前实例对象静态同步方法,锁是当前类的class对象同步方法块,锁是括号里面的对象当一个线程访问同步代码块时,它首先是需要得到锁才能执行同步代码,当退出或者抛出异常时...

2018-04-27 22:47:46 15724

转载 [机器学习] 机器学习中L1正则和L2正则的直观理解

正则化(Regularization)机器学习中几乎都可以看到损失函数后面会添加一个额外项,常用的额外项一般有两种,一般英文称作ℓ1ℓ1-norm和ℓ2ℓ2-norm,中文称作L1正则化和L2正则化,或者L1范数和L2范数。L1正则化和L2正则化可以看做是损失函数的惩罚项。所谓『惩罚』是指对损失函数中的某些参数做一些限制。对于线性回归模型,使用L1正则化的模型建叫做Lasso回归,使用L2正则化的...

2018-04-24 16:56:01 15709

转载 [系统架构] Redis和Memcached的区别

Redis的作者Salvatore Sanfilippo曾经对这两种基于内存的数据存储系统进行过比较:Redis支持服务器端的数据操作:Redis相比Memcached来说,拥有更多的数据结构和并支持更丰富的数据操作,通常在Memcached里,你需要将数据拿到客户端来进行类似的修改再set回去。这大大增加了网络IO的次数和数据体积。在Redis中,这些复杂的操作通常和一般的GET/SET一样高效...

2018-04-22 23:24:30 15695

原创 [机器学习] 常见机器学习算法及优缺点对比

在我们日常生活中所用到的推荐系统、智能图片美化应用和聊天机器人等应用中,各种各样的机器学习和数据处理算法正尽职尽责地发挥着自己的功效。本文筛选并简单介绍了一些最常见算法类别,还为每一个类别列出了一些实际的算法并简单介绍了它们的优缺点。目录正则化算法(Regularization Algorithms)集成算法(Ensemble Algorithms)决策树算法(Decision Tree Algo...

2018-04-22 00:18:50 16324

原创 [数据库] MySQL知识汇总

1. 主键 超键 候选键 外键主 键:数据库表中对储存数据对象予以唯一和完整标识的数据列或属性的组合。一个数据列只能有一个主键,且主键的取值不能缺失,即不能为空值(Null)。超 键:在关系中能唯一标识元组的属性集称为关系模式的超键。一个属性可以为作为一个超键,多个属性组合在一起也可以作为一个超键。超键包含候选键和主键。候选键:是最小超键,即没有冗余元素的超键。外 键:在一个表中存在的另一个表的主...

2018-04-19 18:06:44 15935

转载 [系统架构] ElasticSearch详解

0. 带着问题上路——ES是如何产生的?(1)思考:大规模数据如何检索?如:当系统数据量上了10亿、100亿条的时候,我们在做系统架构的时候通常会从以下角度去考虑问题: 1)用什么数据库好?(mysql、sybase、oracle、达梦、神通、mongodb、hbase…) 2)如何解决单点故障;(lvs、F5、A10、Zookeep、MQ) 3)如何保证数据安全性;(热备、冷备、异地多活) 4)...

2018-04-19 16:21:05 51738

转载 [系统架构] kafka详解

一、为什么需要消息系统1.解耦:  允许你独立的扩展或修改两边的处理过程,只要确保它们遵守同样的接口约束。2.冗余:  消息队列把数据进行持久化直到它们已经被完全处理,通过这一方式规避了数据丢失风险。许多消息队列所采用的"插入-获取-删除"范式中,在把一个消息从队列中删除之前,需要你的处理系统明确的指出该消息已经被处理完毕,从而确保你的数据被安全的保存直到你使用完毕。3.扩展性:  因为...

2018-04-19 16:19:19 15848

转载 [系统架构] redis详解

1.redis是什么2.redis的作者何许人也3.谁在使用redis4.学会安装redis5.学会启动redis6.使用redis客户端7.redis数据结构 – 简介8.redis数据结构 – strings9.redis数据结构 – lists10.redis数据结构 – 集合11.redis数据结构 – 有序集合12.redis数据结构 – 哈希13.聊聊redis持久化 – 两种方式14...

2018-04-19 16:17:57 16729

转载 [深度学习] 梯度消失与梯度爆炸的原因及解决方法

前言本文主要深入介绍深度学习中的梯度消失和梯度爆炸的问题以及解决方案。本文分为三部分,第一部分主要直观的介绍深度学习中为什么使用梯度更新,第二部分主要介绍深度学习中梯度消失及爆炸的原因,第三部分对提出梯度消失及爆炸的解决方案。有基础的同鞋可以跳着阅读。 其中,梯度消失爆炸的解决方案主要包括以下几个部分。- 预训练加微调- 梯度剪切、权重正则(针对梯度爆炸)- 使用不同的激活函数- 使用bat...

2018-04-16 16:40:28 68276 4

转载 [机器学习] 详解朴素贝叶斯方法

贝叶斯分类是一类分类算法的总称,这类算法均以贝叶斯定理为基础,故统称为贝叶斯分类。而朴素朴素贝叶斯分类是贝叶斯分类中最简单,也是常见的一种分类方法。这篇文章我尽可能用直白的话语总结一下我们学习会上讲到的朴素贝叶斯分类算法,希望有利于他人理解。1  分类问题综述 对于分类问题,其实谁都不会陌生,日常生活中我们每天都进行着分类过程。例如,当你看到一个人,你的脑子下意识判断他是学生还是社会上的人;你可能...

2018-04-16 11:20:25 15847

转载 [机器学习] 集成学习总结

写在前面看了不少集成学习的资料,很多算法都有相似之处,看了之后没有进行比较和整理,太容易忘记了,所以这篇来做个笔记。集成学习,(就我目前所学习到的)主要可以分为三大类,Boosting, Bagging, Stacking。Boosting的代表有AdaBoost, gbdt, xgboost。而Bagging的代表则是随机森林 (Random Forest)。Stacking 的话,好像还没有著...

2018-04-15 23:30:16 16181

转载 [机器学习] 常见优化方法:梯度下降/牛顿法/拟牛顿法/共轭梯度法

问题的形式化神经网络的学习过程可以形式化为最小化损失函数问题,该损失函数一般是由训练误差和正则项组成。误差项会衡量神经网络拟合数据集的好坏,也就是拟合数据产生的误差。正则项主要是通过给特征权重增加惩罚项而控制神经网络的有效复杂度,这样可以有效地控制过拟合问题。训练损失函数取决于神经网络中的自适应参数(偏置项和权重),我们很容易地将神经网络的权重重组合成一个n维权重向量w,而训练损失就是以这些权重为...

2018-04-03 22:28:32 17091

转载 [机器学习] L1正则与L2正则

范数(norm)数学上,范数是一个向量空间或矩阵上所有向量的长度和大小的求和。简单一点,我们可以说范数越大,矩阵或者向量就越大。范数有许多种形式和名字,包括最常见的:欧几里得距离(Euclideandistance),最小均方误差(Mean-squared Error)等等。大多数时间,你会在等式中看见范数像下面那样:||x||,x可以是一个向量或者矩阵。例如一个向量其欧几里得范数为:即向量a的模...

2018-04-03 22:26:47 15900

转载 [机器学习] 欠拟合/过拟合及解决方法

在我们机器学习或者训练深度神经网络的时候经常会出现欠拟合和过拟合这两个问题,但是,一开始我们的模型往往是欠拟合的,也正是因为如此才有了优化的空间,我们需要不断的调整算法来使得模型的表达能拿更强。但是优化到了一定程度就需要解决过拟合的问题了,这个问题也在学术界讨论的比较多。(之前搜了很多有的博客,讲的都不太全,因此我重新整理总结了一遍,同时加入了自己的理解,方便自己和后来人查阅)首先就是我们在进行模...

2018-03-26 17:57:01 17427

转载 [机器学习] 机器学习中训练数据不平衡问题处理方案汇总

在很多机器学习任务中,训练集中可能会存在某个或某些类别下的样本数远大于另一些类别下的样本数目。即类别不平衡,为了使得学习达到更好的效果,因此需要解决该类别不平衡问题。Jason Brownlee的回答:原文标题:8 Tactics to Combat Imbalanced Classes in Your Machine Learning Dataset   当你在对一个类别不均衡的数据集进行分类时...

2018-03-26 15:49:47 17214

原创 [算法设计] 蓄水池算法

题目    有一个网页抓取器每秒钟抓取一个网页,定义一个API,每次调用的时候要等概率的从目前已经抓取的网页中随机选取一个,应该怎么实现?分析    这题题目定义有一定迷惑性,最直接的思路貌似应该是先保存当前采集到的所有网页,然后随机采样,这显然不是这题的考点。这题想只用O(1)的空间。其实就等价于有一个很长的数据流,数据量大到无法载入内存,怎么做随机等概率采样?容易想到的思路是产生一个0到1之间...

2018-03-15 09:24:33 16185

疯狂Java面试题

疯狂Java面试题,来自疯狂Java讲义第四版中的原版Java面试题

2018-07-10

疯狂Java讲义第四版源代码

疯狂Java讲义第四版原书的所有源代码,欢迎参考使用,很不错的资源

2018-07-10

Handbook of Multimedia for Digital Entertainment and Arts (2009)

【完整版】Handbook of Multimedia for Digital Entertainment and Arts (2009),注意不是分版哦,CSDN上有三分分版part1,part2,part3,分别需要资源分3,3,4,而这里完整版只需要5分,对只需要5分哦,业界良心啊。

2013-11-10

VFP做的 ——007汽车管理系统V1.0,功能很齐全,视觉效果也很好

VFP做的汽车管理系统,功能很齐全,视觉效果也很好,想要的就快下载哦

2009-07-14

VFP做的——学生信息管理系统,很好很强大

一个精美的学生信息管理系统,用VFP做的,要的就快下哈!

2009-07-14

MasmPlus,好用的汇编语言编译器

好用的汇编语言编译器,你可以用它进行汇编语言的编译连接,就像用VC6.0写c或c++一样

2009-02-17

空空如也

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

TA关注的人

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