Fork me on GitHub
摘要: 引言 所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。排序算法,就是如何使得记录按照要求排列的方法。排序算法在很多领域得到相当地重视,尤其是在大量数据的处理方面。一个优秀的算法可以节省大量的资源。在各个领域中考虑到数据的各种限制和规范,要得到一个符合实际的优秀 阅读全文
posted @ 2020-12-29 15:26 郭耀华 阅读(2405) 评论(0) 推荐(6) 编辑
摘要: 简介 工作的过程中经常会遇到这样一个问题,在构建模型训练数据时,我们很难保证训练数据的纯净度,数据中往往会参杂很多被错误标记噪声数据,而数据的质量决定了最终模型性能的好坏。如果进行人工二次标记,成本会很高,我们希望能使用一种无监督算法帮我们做这件事,异常检测算法可以在一定程度上解决这个问题。 异常检 阅读全文
posted @ 2020-08-17 16:10 郭耀华 阅读(11557) 评论(1) 推荐(3) 编辑
摘要: 引言 决策树(Decision Tree)是机器学习中一种经典的分类与回归算法。本文主要讨论用于分类的决策树。决策树模型呈树形结构,在分类问题中,决策树模型可以认为是 规则的集合,也可以认为是定义在特征空间与类空间上的条件概率分布。其主要优点是模型具有可读性,分类速度快。决策树学习通常包括3个步骤: 阅读全文
posted @ 2019-11-07 17:19 郭耀华 阅读(3697) 评论(0) 推荐(3) 编辑
摘要: 评价指标是针对将相同的数据,输入不同的算法模型,或者输入不同参数的同一种算法模型,而给出这个算法或者参数好坏的定量指标。 在模型评估过程中,往往需要使用多种不同的指标进行评估,在诸多的评价指标中,大部分指标只能片面的反应模型的一部分性能,如果不能合理的运用评估指标,不仅不能发现模型本身的问题,而且会 阅读全文
posted @ 2019-08-27 14:52 郭耀华 阅读(21211) 评论(0) 推荐(19) 编辑
摘要: [TOC] 前言 因为工作需求,最近又重新温习了一下Git操作,遂总结了一篇Git常用操作指南,方便日后学习查阅,本博客精简提炼了在开发过程中Git经常用到的核心命令,主要参考了《 "廖雪峰老师的Git教程" 》,希望对大家学习使用Git能带来帮助。 Git简介 Git是Linux之父Linus的第 阅读全文
posted @ 2019-07-21 17:24 郭耀华 阅读(5156) 评论(0) 推荐(9) 编辑
摘要: [TOC] 引言 接触深度学习已经快两年了,之前一直使用 "Google Colab" 和 "Kaggle Kernel" 提供的免费GPU(Tesla K80)训练模型(最近Google将Colab的GPU升级为 Tesla T4 ,计算速度又提升了一个档次),不过由于内地网络的原因,Google 阅读全文
posted @ 2019-05-11 15:06 郭耀华 阅读(10579) 评论(2) 推荐(10) 编辑
摘要: Transformer注解及PyTorch实现 Transformer注解及PyTorch实现 原文:http://nlp.seas.harvard.edu/2018/04/03/attention.html 作者:Alexander Rush 转载自机器之心:https://www.jiqizhi 阅读全文
posted @ 2018-12-21 11:45 郭耀华 阅读(34172) 评论(2) 推荐(27) 编辑
摘要: BERT:Pre-training of Deep Bidirectional Transformers for Language Understanding 谷歌AI语言组论文《BERT:语言理解的深度双向变换器预训练》,介绍一种新的语言表征模型BERT——来自变换器的双向编码器表征量。异于最新语 阅读全文
posted @ 2018-12-20 14:47 郭耀华 阅读(18295) 评论(0) 推荐(26) 编辑
摘要: [TOC] 线性代数 一、基本知识 1. 本文中所有的向量都是列向量的形式: $$\mathbf{\vec x}=(x_1,x_2,\cdots,x_n)^T=\begin{bmatrix}x_1\\x_2\\ \vdots \\x_n\end{bmatrix}$$ 本书中所有的矩 $\mathbf 阅读全文
posted @ 2018-11-04 21:40 郭耀华 阅读(5287) 评论(0) 推荐(20) 编辑
摘要: 在机器学习领域,对于大多数常见问题,通常会有多个模型可供选择。当然,每个模型会有自己的特性,并会受到不同因素的影响而表现不同。 每个模型的好坏是通过评价它在某个数据集上的性能来判断的,这个数据集通常被叫做“验证/测试”数据集。这个性能由不同的统计量来度量,包括准确率( accuracy )、精确率( 阅读全文
posted @ 2018-11-03 18:19 郭耀华 阅读(15812) 评论(2) 推荐(10) 编辑
摘要: 一、运行时数据区域 线程隔离:线程隔离的意思,就是给不同的线程多分配的资源用,以做到不争用。 线程共享:线程共享就是资源只有一个没有办法分配更多,只能共享。 Java虚拟机管理的内存包括几个运行时数据内存:方法区、虚拟机栈、本地方法栈、堆、程序计数器,其中方法区和堆是由线程共享的数据区,其他几个是线 阅读全文
posted @ 2018-09-25 11:22 郭耀华 阅读(2327) 评论(1) 推荐(6) 编辑
摘要: 本文详细解释了 Faster R-CNN 的网络架构和工作流,一步步带领读者理解目标检测的工作原理,作者本人也提供了 Luminoth 实现,供大家参考。 Luminoth 实现:https://github.com/tryolabs/luminoth/tree/master/luminoth/mo 阅读全文
posted @ 2018-08-16 17:49 郭耀华 阅读(15343) 评论(0) 推荐(15) 编辑
摘要: 参考: https://www.tensorflow.org/programmers_guide/variable_scope 举例说明 TensorFlow中的变量一般就是模型的参数。当模型复杂的时候共享变量会无比复杂。 官网给了一个case,当创建两层卷积的过滤器时,每输入一次图片就会创建一次过 阅读全文
posted @ 2018-08-14 17:54 郭耀华 阅读(3468) 评论(0) 推荐(0) 编辑
摘要: 卷积神经网络作为深度学习的典型网络,在图像处理和计算机视觉等多个领域都取得了很好的效果。 Paul-Louis Pröve在Medium上通过这篇文章快速地介绍了不同类型的卷积结构(Convolution)及优势。为了简单起见,本文仅探讨二维卷积结构。 卷积 首先,定义下卷积层的结构参数。 △ 卷积 阅读全文
posted @ 2018-08-08 16:23 郭耀华 阅读(5261) 评论(0) 推荐(8) 编辑
摘要: Hinge Loss 解释 SVM 求解使通过建立二次规划原始问题,引入拉格朗日乘子法,然后转换成对偶的形式去求解,这是一种理论非常充实的解法。这里换一种角度来思考,在机器学习领域,一般的做法是经验风险最小化 ERM ,即构建假设函数为输入输出间的映射,然后采用损失函数来衡量模型的优劣。求得使损失最 阅读全文
posted @ 2018-08-07 12:23 郭耀华 阅读(21616) 评论(0) 推荐(1) 编辑
摘要: 最近一直在研究深度语义匹配算法,搭建了个模型,跑起来效果并不是很理想,在分析原因的过程中,发现注意力模型在解决这个问题上还是很有帮助的,所以花了两天研究了一下。 此文大部分参考深度学习中的注意力机制(2017版) 张俊林的博客,不过添加了一些个人的思考与理解过程。在github上找到一份基于kera 阅读全文
posted @ 2018-08-06 21:55 郭耀华 阅读(32718) 评论(3) 推荐(21) 编辑
摘要: [TOC] 前言 配置环境,研究了一整天,踩了很多坑,在网上找了很多资料,发现基本上都没非常明确的教程,所以今天想分享一下配置tensorflow GPU版本的经验,希望能让各位朋友少走些弯路。(PS:一切的前提,你需要有一张Nvidia显卡。我的显卡是 GT940MX) Tensorflow有两个 阅读全文
posted @ 2018-07-05 11:44 郭耀华 阅读(103805) 评论(4) 推荐(27) 编辑
摘要: 2013年,Google开源了一款用于词向量计算的工具——word2vec,引起了工业界和学术界的关注。首先,word2vec可以在百万数量级的词典和上亿的数据集上进行高效地训练;其次,该工具得到的训练结果——词向量(word embedding),可以很好地度量词与词之间的相似性。随着深度学习(D 阅读全文
posted @ 2018-06-28 19:29 郭耀华 阅读(110809) 评论(9) 推荐(96) 编辑
摘要: (1)词集模型(Set Of Words): 单词构成的集合,集合自然每个元素都只有一个,也即词集中的每个单词都只有一个。 (2)词袋模型(Bag Of Words): 如果一个单词在文档中出现不止一次,并统计其出现的次数(频数)。 为文档生成对应的词集模型和词袋模型 考虑如下的文档: list o 阅读全文
posted @ 2018-06-27 13:56 郭耀华 阅读(4703) 评论(0) 推荐(1) 编辑
摘要: 导语 在NLP领域,语义相似度的计算一直是个难题:搜索场景下Query和Doc的语义相似度、feeds场景下Doc和Doc的语义相似度、机器翻译场景下A句子和B句子的语义相似度等等。本文通过介绍DSSM、CNN DSSM、LSTM DSSM等深度学习模型在计算语义相似度上的应用,希望给读者带来帮助。 阅读全文
posted @ 2018-06-26 15:06 郭耀华 阅读(26126) 评论(1) 推荐(10) 编辑
摘要: 最近太忙已经好久没有写博客了,今天整理分享一篇关于损失函数的文章吧,以前对损失函数的理解不够深入,没有真正理解每个损失函数的特点以及应用范围,如果文中有任何错误,请各位朋友指教,谢谢~ 损失函数(loss function)是用来估量模型的预测值f(x)与真实值Y的不一致程度,它是一个非负实值函数, 阅读全文
posted @ 2018-06-23 14:46 郭耀华 阅读(77968) 评论(1) 推荐(35) 编辑
摘要: # -*- coding: utf-8 -*- """ Created on Sat May 19 18:44:40 2018 @author: John Kwok """ # import import numpy as np import tensorflow as tf import GetDataUtil # 数据读取及预处理 ''' 定义超参 ''' BATCH_SIZE = 12... 阅读全文
posted @ 2018-06-02 22:50 郭耀华 阅读(689) 评论(0) 推荐(0) 编辑
摘要: 本文介绍了tensorflow的常用函数,源自网上整理。 TensorFlow 将图形定义转换成分布式执行的操作, 以充分利用可用的计算资源(如 CPU 或 GPU。一般你不需要显式指定使用 CPU 还是 GPU, TensorFlow 能自动检测。如果检测到 GPU, TensorFlow 会尽可 阅读全文
posted @ 2018-05-19 16:30 郭耀华 阅读(5339) 评论(0) 推荐(4) 编辑
摘要: 程序入口 对于很多编程语言来说,程序都必须要有一个入口,比如 C,C++,以及完全面向对象的编程语言 Java,C# 等。如果你接触过这些语言,对于程序入口这个概念应该很好理解,C 和 C++ 都需要有一个 main 函数来作为程序的入口,也就是程序的运行会从 main 函数开始。同样,Java 和 阅读全文
posted @ 2018-05-19 10:08 郭耀华 阅读(7938) 评论(1) 推荐(4) 编辑
摘要: 目标检测是很多计算机视觉任务的基础,不论我们需要实现图像与文字的交互还是需要识别精细类别,它都提供了可靠的信息。本文对目标检测进行了整体回顾,第一部分从RCNN开始介绍基于候选区域的目标检测器,包括Fast R-CNN、Faster R-CNN 和 FPN等。第二部分则重点讨论了包括YOLO、SSD 阅读全文
posted @ 2018-05-05 15:51 郭耀华 阅读(39384) 评论(4) 推荐(70) 编辑
摘要: 陆续刷了好久,算是刷完了《剑指offer》,以下全部AC代码,不一定性能最优,如有错误或更好解答,请留言区指出,大家共同交流,谢谢~ 1.二维数组中的查找 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断 阅读全文
posted @ 2018-04-26 22:24 郭耀华 阅读(3626) 评论(2) 推荐(23) 编辑
摘要: Spatial As Deep: Spatial CNN for Traffic Scene Understanding 收录:AAAI2018 (AAAI Conference on Artificial Intelligence) 原文地址:SCNN 论文提出了一个新颖网络Spatial CNN 阅读全文
posted @ 2018-04-25 10:52 郭耀华 阅读(12714) 评论(1) 推荐(13) 编辑
摘要: 《Deep Learning》(Ian Goodfellow & Yoshua Bengio & Aaron Courville)第四章「数值计算」中,谈到了上溢出(overflow)和下溢出(underflow)对数值计算的影响,并以softmax函数和log softmax函数为例进行了讲解。这 阅读全文
posted @ 2018-04-21 13:08 郭耀华 阅读(7646) 评论(0) 推荐(2) 编辑
摘要: 引言: 机器学习领域中所谓的降维就是指采用某种映射方法,将原高维空间中的数据点映射到低维度的空间中。降维的本质是学习一个映射函数 f : x->y,其中x是原始数据点的表达,目前最多使用向量表达形式。 y是数据点映射后的低维向量表达,通常y的维度小于x的维度(当然提高维度也是可以的)。f可能是显式的 阅读全文
posted @ 2018-04-16 15:18 郭耀华 阅读(44597) 评论(1) 推荐(14) 编辑
摘要: 在机器学习、深度学习中使用的优化算法除了常见的梯度下降,还有 Adadelta,Adagrad,RMSProp 等几种优化器,都是什么呢,又该怎么选择呢? 在 Sebastian Ruder 的这篇论文中给出了常用优化器的比较,今天来学习一下:https://arxiv.org/pdf/1609.0 阅读全文
posted @ 2018-04-10 16:59 郭耀华 阅读(5635) 评论(1) 推荐(6) 编辑
摘要: 论文参考:Deep Sparse Rectifier Neural Networks (很有趣的一篇paper) 论文参考:Deep Sparse Rectifier Neural Networks (很有趣的一篇paper) Part 0:传统激活函数、脑神经元激活频率研究、稀疏激活性 0.1 一 阅读全文
posted @ 2018-04-06 13:17 郭耀华 阅读(12080) 评论(1) 推荐(10) 编辑
摘要: 这几天面试经常被问到BN层的原理,虽然回答上来了,但还是感觉答得不是很好,今天仔细研究了一下Batch Normalization的原理,以下为参考网上几篇文章总结得出。 Batch Normalization作为最近一年来DL的重要成果,已经广泛被证明其有效性和重要性。虽然有些细节处理还解释不清其 阅读全文
posted @ 2018-04-05 21:50 郭耀华 阅读(291184) 评论(22) 推荐(353) 编辑
摘要: 这道题,第一感觉想用排列组合做,但是想了好久,没想到解决办法(刚刚考试的时候没有答出来)。后来想了一下应该使用动态规划来做。 我们首先分析一下情况: 1.当K>N的时候,countSum = 0; 2.当K=N的时候,countSum = N!(N的阶乘) 3.当K>N的时候,就要通过最优子结构来进 阅读全文
posted @ 2018-04-03 23:48 郭耀华 阅读(2552) 评论(0) 推荐(1) 编辑
摘要: maxpooling主要有两大作用 1. invariance(不变性),这种不变性包括translation(平移),rotation(旋转),scale(尺度)2. 保留主要的特征同时减少参数(降维,效果类似PCA)和计算量,防止过拟合,提高模型泛化能力 (1) translation inva 阅读全文
posted @ 2018-03-30 08:04 郭耀华 阅读(11240) 评论(0) 推荐(7) 编辑
摘要: 小Q得到一个神奇的数列: 1, 12, 123,...12345678910,1234567891011...。 并且小Q对于能否被3整除这个性质很感兴趣。 小Q现在希望你能帮他计算一下从数列的第l个到第r个(包含端点)有多少个数可以被3整除。 阅读全文
posted @ 2018-03-28 23:45 郭耀华 阅读(1297) 评论(0) 推荐(0) 编辑
摘要: 为了找到自己满意的工作,牛牛收集了每种工作的难度和报酬。牛牛选工作的标准是在难度不超过自身能力值的情况下,牛牛选择报酬最高的工作。在牛牛选定了自己的工作后,牛牛的小伙伴们来找牛牛帮忙选工作,牛牛依然使用自己的标准来帮助小伙伴们。牛牛的小伙伴太多了,于是他只好把这个任务交给了你。 阅读全文
posted @ 2018-03-28 23:19 郭耀华 阅读(1712) 评论(0) 推荐(1) 编辑
摘要: 58.对称的二叉树 请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。 59.==之字形打印二叉树== 请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以 阅读全文
posted @ 2018-03-22 17:28 郭耀华 阅读(537) 评论(0) 推荐(0) 编辑
摘要: 昨天面试被问到这道算法题,一时没有回答上来,今天思考了一下,参阅了网上的教程,做了一个JAVA版本的实现。 方案一: 新建一个N*L的数组,将原始数组拼接存放在这个大数组中,再调用Arrays.sort()进行排序,或者使用其它排序方法即可。 此方法时间复杂度为o(N*Llog2N*L); 具体代码 阅读全文
posted @ 2018-03-21 19:00 郭耀华 阅读(5198) 评论(0) 推荐(1) 编辑
摘要: 昨天面试被问到如何推导BP(反向传输)算法,顿时蒙住了,大体是知道反向传输算法的过程的,但是用语言描述出来,确实有些困难。回来后看了些博文,发现有的博文中公式推导过于复杂,不易理解,遂综合了网络中其他博文和斯坦福大学CS231n课程中的内容,整理了一份反向传输算法的通俗解释,如有错误,请各位网友指出 阅读全文
posted @ 2018-03-21 15:03 郭耀华 阅读(9972) 评论(0) 推荐(9) 编辑
该文被密码保护。 阅读全文
posted @ 2018-03-20 16:47 郭耀华 阅读(37) 评论(0) 推荐(0) 编辑