自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(231)
  • 资源 (1)
  • 问答 (2)
  • 收藏
  • 关注

原创 Tensorflow数据读取方式总结

1、使用placeholder读内存中的数据最简单的一种方法是用placeholder,然后以feed_dict将数据给holder的变量,进行传递值。如下面代码所示:from __future__ import print_functionimport tensorflow as tfimport numpy as npx1 = tf.placeholder(tf.float...

2018-03-17 17:36:48 5663 1

转载 卷积的各种形式

1、卷积的各种结构:Convolution arithmetic tutorial2、如何理解转置卷积(transpose conv) 如何理解深度学习中的deconvolution networks?

2017-09-16 10:54:10 1904

转载 CNN的反向求导及练习

http://www.cnblogs.com/tornadomeet/p/3468450.html

2017-09-16 09:46:54 1555

转载 偏置方差分解Bias-variance Decomposition

http://blog.csdn.net/pipisorry/article/details/50638749

2017-09-12 16:46:18 1170

原创 TensorFlow中 tf.nn.embedding_lookup

import tensorflow as tf src_vocab_size = 10src_embed_size = 5source = [1,3]with tf.variable_scope("encoder"): embedding_encoder = tf.get_variable( "embedding_encoder", [src_vocab_size,

2017-09-03 13:33:17 1803

原创 TensorFlow梯度求解tf.gradients

import tensorflow as tf w1 = tf.Variable([[1,2]]) w2 = tf.Variable([[3,4]]) res = tf.matmul(w1, [[2],[1]]) grads = tf.gradients(res,[w1]) with tf.Session() as sess: tf.global_variables_init

2017-08-26 16:25:59 10474

原创 Tensorflow学习率的learning rate decay

参考: http://blog.csdn.net/u012436149/article/details/62058318

2017-08-26 15:29:56 2445

原创 TensorFlow不同交叉熵计算方式

import tensorflow as tf #our NN's output logits=tf.constant([[1.0,3.0,2.0],[3.0,2.0,1.0],[1.0,2.0,3.0]]) #step1:do softmax y=tf.nn.softmax(logits) #true label y_=tf.constant([[0.0,1.0,0.0],

2017-08-26 14:30:45 2128

原创 python常用功能总结

1、argparse - 命令行选项与参数解析 http://www.2cto.com/kf/201412/363654.html parse_known_args() http://blog.csdn.net/mameng1/article/details/54409910

2017-08-20 16:53:58 530

原创 Gradient Boosting 总结

1、如果计算特征的重要性参考:Tree ensemble算法的特征重要度计算

2017-08-04 10:15:55 964

原创 VGGNet原理及Tensorflow实现

\quadVGGNet是常用的网络,通常可以直接拿来用,或者可以将前面的层拿出进行fine-tune,用于训练我们自己的模型,同时vgg的官方对训练的参数进行了开源,便于进行transfer-learning.VGG 网络结构

2017-07-31 16:39:53 1129

原创 Tensorflow的一些基本用法

在使用TensorFlow中会遇到一些其基本的用法,再次作为记录备忘!tf.add_to_collection在计算整体的loss是会将不同部分的loss放入一个集合中,最后计算整体的loss,因此会用到tf.add_to_collection,具体参考TensorFlow中的cifar10的例子,用法如下所示:tf.add_to_collection:把变量放入一个集合,把很多变量变成一个列表t

2017-07-19 11:16:01 944

转载 基于HMM的中文分词

关于HMM模型的介绍,网上的资料已经烂大街,但是大部分都是在背书背公式,本文在此针对HMM模型在中文分词中的应用,讲讲实现原理。尽可能的撇开公式,撇开推导。结合实际开源代码作为例子,争取做到雅俗共赏,童叟无欺。没有公式,就没有伤害。模型介绍第一次听说HMM模型是从李开复的博文论文中听说的:李开复1988年的博士论文发表了第一个基于隐马尔科夫模型(HMM)的语音识别系统Sphinx,被《商业周刊》评为

2017-07-18 17:05:49 4667 1

转载 搜索引擎-倒排索引

参考文献: http://blog.csdn.net/hguisu/article/details/7962350

2017-07-17 10:30:48 419

原创 深度学习防止过拟合的方法

\quad过拟合即在训练误差很小,而泛化误差很大,因为模型可能过于的复杂,使其”记住”了训练样本,然而其泛化误差却很高,在传统的机器学习方法中有很大防止过拟合的方法,同样这些方法很多也适合用于深度学习中,同时深度学习中又有一些独特的防止过拟合的方法,下面对其进行简单的梳理.1. 参数范数惩罚\quad范数正则化是一种非常普遍的方法,也是最常用的方法,假如优化: minObj(θ)=L(y,f(x

2017-05-02 20:52:11 23748

原创 AlexNet原理及Tensorflow实现

\quadAlexNet的出现点燃了深度学习的热潮,下面对其进行介绍,并使用tensorflow实现.1. AlexNet网络结构图片来源:AlexNet的论文\quad整个网络有8个需要训练的层,前5个为卷积层,最后3层为全连接层.第一个卷积层输入的图片大小为:224*224*3第一个卷积层为:11*11*96即尺寸为11*11,有96个卷积核,步长为4,卷积层后跟ReLU,因此输出的尺寸为

2017-05-02 16:10:46 39897 13

原创 Tensorflow实现卷积神经网络

\quad如果不明白什么是卷积神经网络,请参考:计算机视觉与卷积神经网络 下面基于开源的实现简单梳理如何用tensorflow实现卷积神经网络.实现卷积神经网络加载数据集# 加载数据集import tensorflow as tffrom tensorflow.examples.tutorials.mnist import input_datamnist = input_data.read_d

2017-04-29 15:29:16 5172 7

原创 面试中常见的字符串库函数编程

\quad下面对一些常见的关于字符的库函数进行实现,这些也是通常面试中所问的一些问题,需要注意的是有些看起来很简单,但是一定要考虑一些边界条件,否则很容易出错.strcpy实现char* strcpy(char* dst,const char* src){ if(dst== nullptr||src== nullptr) //注意边界条件 return nullptr;

2017-04-20 14:50:34 585

原创 Tensorflow入门-实现神经网络

\quad学习tensorflow一段时间了,感觉非常的好用,在使用是,有时候最重要的是想好神经网络的结构,这样就可以随意的在神经网络中加如隐含层了,特别主要的是矩阵的维度相乘的问题,下面将使用tensorflow实现神经网络,做一下自己的理解.实现无隐含层的神经网络下面以手写数字识别的例子作为说明.读入数据import tensorflow as tffrom tensorflow.exampl

2017-04-16 17:09:23 5472

原创 推荐系统入门

1. 推荐系统的意义\quad互联网大爆炸时期的信息过载的解决方案:\quad对用户而言:找到好玩的东西,帮助决策,发现新鲜事物。 \quad对商家而言:提供个性化服务,提高信任度和粘性,增加营收。2. 推荐系统的构成\quad前台的展示页面,后台的日志系统,推荐算法等部分组成,如下图所示:3. 推荐系统的评测3.1 离线实验即线下的部分,用于训练模型优点:不需要有对实际系统的控制权;不需要用

2017-03-14 21:33:30 24268 2

原创 基于MLlib的机器学习

1. 简介\quadMLlib 是Spark 中提供机器学习函数的库。它是专为在集群上并行运行的情况而设计的。MLlib 中包含许多机器学习算法,可以在Spark 支持的所有编程语言中使用,由于Spark基于内存计算模型的优势,非常适合机器学习中出现的多次迭代,避免了操作磁盘和网络的性能损耗。Spark 官网展示的 MLlib 与Hadoop性能对比图就非常显著。所以Spark比Hadoop的Map

2017-03-13 20:25:04 5119 1

原创 Scala学习-类和对象

1. 创建类创建一个脚本Hyena.scala,内容如下:yqtao@yqtao:~/scala$ cat Hyena.scalaclass Hyena { println("this is an class body") //定义了方法go() def go():String={"go home"}}//生成对象val hyena = new

2017-03-12 16:23:18 839

原创 Caffe学习-手写数字识别

1. Caffe训练方法综述\quadcaffe非常简单,训练时只需写prototxt文件即可,其大致的步骤为:Resize图片,转换存储格式(LMDB/LevelDB)定义网络结构(编辑prototxt)定义solver(编辑另一个prototxt)一行命令开始训练(可以基于已有的权重赋值)\quad如下图所示,其训练的过程,关于卷积神经网络(CNN)可以参考:计算机视觉与卷积神经网络下

2017-03-11 17:56:44 7609

原创 Scala学习-快速入门

Scala 是一门多范式的编程语言,设计初衷是实现可伸缩的语言、并集成面向对象编程和函数式编程的各种特性。1. 安装Scala非常的简单,在ubuntu中只需要sudo apt-get install scala即可,在其他的linux中,找到下载源文件安装即可。安装成功后使用scala进入shell环境:yqtao@yqtao:~$ scalaWelcome to Scala version 2

2017-03-10 11:30:42 9409

原创 Spark学习-RDD编程基础

1. RDD基础概念\quadSpark上开发的应用程序都是由一个driver programe构成,这个所谓的驱动程序在Spark集群通过跑main函数来执行各种并行操作。集群上的所有节点进行并行计算需要共同访问一个分区元素的集合,这就是RDD(RDD resilient distributed dataset)弹性分布式数据集。RDD可以存储在内存或磁盘中,具有一定的容错性,可以在节点宕机重启后

2017-03-09 22:29:14 3369

转载 Netfilter的使用和实现

本文转自:http://blog.csdn.net/zhangskd/article/details/22678659概述\quadNetfilter为多种网络协议(IPv4、IPv6、ARP等)各提供了一套钩子函数。在IPv4中定义了5个钩子函数,这些钩子函数在数据包流经协议栈的5个关键点被调用。这就像有5个钓鱼台,在每个钓鱼台放了一个鱼钩(钩子函数),把经过的数据包钓上来,然后根据自定义的规则,

2017-02-28 14:42:43 988

原创 Linux基础知识总结

如何查看指定行的文件以一个例子进行说明:如何查看test.cpp中第30-50行的数据?解析:最简单的方法就是熟悉的head,和tail的方法了。head -n //表示读取

2017-02-27 18:21:50 498

原创 C/C++基础知识总结<一>

1. 分配内存的方法\quad面试中比较见问的一个问题。 \quad注意: \qquad1. 只有calloc函数会将分配内存初始化为0 \qquad2. new是C++独有的,其是运算符,而不是函数。下面对其分别进行介绍:1) malloc 函数:void *malloc(unsigned int size)\quad 在内存的动态分配区域中分配一个长度为size的连续空间,如果分配成功,

2017-02-24 18:27:39 9223

原创 深入理解C++构造、析构、赋值操作

C++默默编写的函数编写一个空类Emptyclass Empty {};当经过C++处理过后,相当于你写了:class Empty { Empty(); //默认构造函数 Empty(const Empty& rhs); //复制构造函数 Empty& operator=(const Empty& rhs); //复制赋值操作 ~Empty(); //析

2017-02-24 14:09:46 628

原创 Linux多线程编程入门

线程基本知识\quad进程是资源管理的基本单元,而线程是系统调度的基本单元,线程是操作系统能够进行调度运算的最小单位,它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。一个进程在某一个时刻只能做一件事情,有了多个控制线程以后,在程序的设计成在某一个时刻能够做不止一件事,每个线程处理独自的任务。需要注意的是:即

2017-02-21 17:43:48 10492 2

原创 linux(ubuntu)下安装深度学习框架caffe

本文所使用的的ubuntu的环境为16.04,为了安装的顺利,请先安装opencv,详见:Linux下安装OpenCV 3.01. 安装依赖项建议不要一次安装这么多,以免出错可以排除错误:sudo apt-get install gitsudo apt-get install libprotobuf-dev libleveldb-dev sudo apt-get install libsnapp

2017-01-18 17:45:37 1984 1

原创 python实现神经网络

声明:本文是A Neural Network in 11 lines of Python学习总结而来,关于更详细的神经网络的介绍可以参考从感知机到人工神经网络。如果你读懂了下面的文章,你会对神经网络有跟深刻的认识,有任何问题,请多多请教Very simple Neural Network首先确定我们要实现的任务:\qquad\qquad\qquad\qquad输出的为样本为XX为4*3,有4个样本3

2017-01-16 17:57:48 22441 7

原创 深度探讨机器学习中的ROC和PR曲线

引言\quad 在 21 Must-Know Data Science Interview Questions and Answers 的文章中,有这类似这样的问题,它问的是Explain what precision and recall are. How do they relate to the ROC curve?关于这个问题其实有许多需要回答的,不仅仅是他们的表现形式不同,同时它涉及到下机

2017-01-13 16:46:32 46323 4

原创 Ensemble learning:Bagging,Random Forest,Boosting

概述\qquad集成学习(ensemble learning)构建多个基础的分类器,然后将多个分类器进行组合的一种学习方式。其通常也被称为多分类器系统(multi-classifer system)。下图显示了集成学习的一种普遍的方式:\qquad从图中可以看到,首先从原始的数据集中构造多个数据集,然后分别构造单个分类器,最后将这些分类器进行组合的到组合的分类器。\qquad一个很自然的问题:为什么

2017-01-05 22:19:25 4231

原创 统计学习方法--决策树

概述\qquad决策树(Decision tree)一种常见的回归和分类的方法,决策树易于理解,其符合人类的思维方式,便于解释等特点。决策树的学习过程通常分为3个步骤:特征选择、决策树的生成、剪枝。 \qquad决策树可以看出一个if-then规则的集合,下面给出一副图进行对决策树宏观的认识,这里我们的任务是要将红色的点和绿色的点进行分类:\qquad在平面上选择最好的划分点,即如何切分数据点效果

2017-01-03 22:54:06 3316 2

原创 深入理解支持向量机

从感知机到支持向量机支持向量机(support vector machine,SVM)是一种二类的分类模型,它的基本模型是:特征空间中间隔最大的线性分类器。间隔最大使其有别于感知机算法,感知机算法是对线性可分问题进行二分类的算法,它是要满足能将其分开即可,因此SVM与感知机的区别在于间隔最大这一特点。如下图所示: 来源:机器学习从上图中可以看到,有许多的线段都可以将正负样本分开,而感知机可以从这些

2017-01-02 16:06:49 3609 2

原创 计算机视觉与卷积神经网络

人工神经网络到卷积神经网络如下图所示一个典型的人工神经网络:关于更多的人工神经网络请参考:从感知机到人工神经网络人工神经网络同样能应用到计算机视觉中,但是对于一副图像来说,假如其大小为227*227*3,即使对其做采样到32*32*3其输入的维度依然很高。如果用人工神经网络来对图片进行分类的话,它将面临这主要的两个问题: w参数的量级将会非常大,会消耗大量的计算资源 将会引起过拟合

2017-01-01 16:45:17 19593 6

原创 从感知机到人工神经网络

感知机算法感知机(Perceptron)算法是一种很好的二分类在线算法,它要求是线性可分的模型,感知机对应于在输入的空间中将实例划分成正负样本,分离它们的是分离超平面,即判别的模型。如下图所示:可用一个决策边界w*x+b将正负样本进行区分。其中w为权重,b为偏置项。(w*x1+b)>0被分为正样本,否则为负样本。 来源:统计学习方法感知机学习策略假定要本线性可分,感知机的学习目标就是求的能将正负要

2016-12-31 17:42:41 18895 4

原创 Python机器学习库scikit-learn

概述scikit-learn 是机器学习领域非常热门的一个开源库,基于Python 语言写成。可以免费使用。 而且使用非常的简单,文档感人,非常值得去学习。下面是一张scikit-learn的图谱:我们可以看到,机器学习分为四大块,分别是 classification (分类), clustering (聚类), regression (回归), dimensionality reduction (

2016-12-20 15:45:51 8392

原创 深入理解K-Means聚类算法

概述什么是聚类分析聚类分析是在数据中发现数据对象之间的关系,将数据进行分组,组内的相似性越大,组间的差别越大,则聚类效果越好。不同的簇类型聚类旨在发现有用的对象簇,在现实中我们用到很多的簇的类型,使用不同的簇类型划分数据的结果是不同的,如下的几种簇类型。明显分离的可以看到(a)中不同组中任意两点之间的距离都大于组内任意两点之间的距离,明显分离的簇不一定是球形的,可以具有任意的形状。基于原型的簇是对象

2016-12-18 20:50:09 223346 19

紫龙书编译原理练习答案

紫龙书,编译原理答案详细版

2016-06-11

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

TA关注的人

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