自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 收藏
  • 关注

原创 博文导航

buchidanhuanger博文导航ygxcug.@qq.com[https://blog.csdn.net/buchidanhuang](https://blog.csdn.net/buchidanhuang)  2018

2019-07-30 15:14:52 560

原创 机器学习之数学系列(二)梯度下降法(参数更新公式的由来)

一、 引言下山问题  假设我们位于黄山的某个山腰处,山势连绵不绝,不知道怎么下山。于是决定走一步算一步,也就是每次沿着当前位置最陡峭最易下山的方向前进一小步,然后继续沿下一个位置最陡方向前进一小步。这样一步一步走下去,一直走到觉得我们已经到了山脚。这里的下山最陡的方向就是梯度的负方向。  什么是梯度?通俗来说,梯度就是表示某一函数在某点处函数值变化最快的方向,即:∇f(θ⃗)=(∂f∂θ1...

2019-11-20 19:29:27 6081 2

原创 python基础(十)python中魔法方法以及云算符的重载

(一)魔法方法即类中的特殊方法们  Python 的对象天生拥有一些神奇的方法,它们总被双下划线所包围,他们是面向对象的 Python 的一切。他们是可以给你的类增加魔力的特殊方法,如果你的对象实现(重载)了这些方法中的某一个,那么这个方法就会在特殊的情况下被 Python 所调用,你可以定义自己想要的行为,而这一切都是自动发生的。Python 的魔术方法非常强大,然而随之而来的则是责任。了解正...

2019-10-25 19:46:40 807

原创 面试问题集

  最近在找工作,求职岗位是机器学习算法工程师或者python开发工程师,我想把在面试中遇到的问题记录下来,将来工作之后再回来看看一定别有一番滋味。答案不甚完美,希望各位大佬多多批评指正。一. python语言1.解释一下装饰器2.用什么进行python调试:pdb,assert,IDE,logging3.深拷贝和浅拷贝的区别:浅拷贝只会拷贝父对象不会去拷贝父对象下的子对象,故存在内存共享...

2019-09-21 21:33:53 359

原创 二分类中的precision,recall,F1值计算(举例)

  二分类中的混淆矩阵中有以下4种标记:预测(列)/label(行)正样本负样本正样本TP(真正例)FN(假反例)负样本FP(假正例)TN(真反例)  TP(真正例) :将正样本预测为正样本  FN(假反例):将正样本预测为负样本  FP(假正例):将负样本预测为正样本  TN(真反例):将负样本预测为负样本  说明:后面的字母表示预测结果,前一...

2019-09-14 19:13:56 32404 6

原创 windows下配置caffe(only CPU)并供python调用(非常详细)

            windows下配置caffe(only CPU)并供python调用@buchidanhuanger1. 准备工作·1)编译工具(CMAKE_GENERATOR):  VS2015,对应的配置信息是MSVC_VERSION=14,装好VS2015后要把cl.exe所在的目录放到环境变量中·2)下载Cmake3.4或者更高的版本  并且将Cmake的bin配置到在...

2019-08-31 20:16:38 1689

原创 python基础(九)python中的global关键字

  python解释器查找变量时遵循‘legb’原则即:1.先在local即局部作用域中查找变量声明和值,如果没有找到;2则在函数的closure属性中查找变量(只有闭包函数要考虑)即enclosing,如果还没有找到;3则在全局作用域(global)中查找变量,如果还是没有找到;4则在built-in的变量中查找,也就是python的关键字和默认的全局函数(e.g. list tuple ope...

2019-08-25 16:41:45 253

原创 Linux和windows异同

  本文主要是总结Linux和Windows的一些相同点和不同点。  1.可执行程序搜索顺序  win和linux相同。先搜索工作路径,如果有则执行,如果没有就搜索环境变量中的路径直到找到第一个可执行程序的路径,然后执行,如果环境变量搜索完都没有就抛异常。  2.win和linux的命令异同功能winlinux使用帮助手册命令的-h参数man当前工作目录下的...

2019-08-22 14:22:29 2736

原创 深度学习中的归一化方法总结(BN、LN、IN、GN)

  一般在神经网络中会用到数据的归一化,比如在卷积层后进行归一化然后再下采样然后再激活等。目前比较受欢迎的数据归一化层有:BN(BatchNormalization),LN(LayerNormalization),IN(InstanceNormalization),GN(GroupNormalization)这4种。本篇文章主要是对比一下它们各自是怎么计算的。  先看对数据的归一化是这么操作的。...

2019-08-16 15:44:53 8838

原创 python基础(七)python调试方法

python调试的常用方法有:1.print简单粗暴打印,缺点是编码完成后需要注释或删除掉否则会有大量垃圾信息2.assert断言,缺点是不美观3.logging日志,推荐方法。这不仅可以在前期编码过程中进行调试还可以用在上线后的异常记录中。4.IDE(如pycharm)端点调试。推荐使用的调试方法。...

2019-08-15 12:26:09 431

原创 python基础(六)python与外部(控制台)间的交互

1. sys.argv· 应用场景:  当我们在控制台使用python解释器运行python程序时,我们需要用户在控制台给程序传递数据。sys.argv属性返回的是控制台参数列表,列表的第一个值是运行文件的相对路径(相对于当前工作目录),其余的值是用户指定的参数。· 举例说明:  例如py文件是:  #mytest.py  def func(a, b):    print(a+b)...

2019-08-14 17:16:38 2744

原创 Keras学习笔记(三)不利用padding方式解决可变长序列问题

  在处理序列数据时,由于我们需要进行批量处理,所以我们要保证每个序列样本都有相同的序列长度。一般文献中给出的方法是padding:即先确定一个序列长度,然后将每个样本都固定到这个长度上,如果原始序列是长于这个值就截断;如果原始序列是短于这个值就补齐(一般补0)。这样做尽管实现了批量处理,但是存在着数据的丢失和噪声的加入,这在一定程度上相当于是修改了原始数据,那么如何才能不用padding方式既保...

2019-08-12 21:44:36 3810 5

原创 Keras学习笔记(二)Keras实现自定义层

  Keras是一个高度封装的库,它的优点是可以进行快速的建模,缺点是它不处理底层运算,如张量内积等。为了弥补这个问题,Keras提供“后端引擎”来实现底层运算操作。目前Keras支持的后端引擎有tensorflow,CNTK,Theano。默认的是使用tensorflow,你可以在.keras/keras.json文件中更改backend。我们可以使用keras提供的后端来实现任意你想实现的la...

2019-08-11 20:00:16 13301 12

原创 Keras学习笔记(一)Embedding层

1.参数解释  keras.layers.Embedding(input_dim, output_dim, embeddings_initializer=‘uniform’, embeddings_regularizer=None, activity_regularizer=None, embeddings_constraint=None, mask_zero=False, input_leng...

2019-08-11 16:06:08 7324

原创 python单例模式

1. 什么是单例模式定义:确保一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。我们希望在系统中一个类只出现一个实例。2. 应用场景  · 需要频繁实例化然后销毁的对象。  · 创建对象时耗时过多或者耗资源过多,但又经常用到的对象。  · 有状态的工具类对象。  · 频繁访问数据库或文件的对象。  · 生成全局惟一的序列号。  · 访问全局复用的惟一资源,如磁盘、总线等。...

2019-08-08 13:32:36 329

原创 python安装虚拟环境

  虚拟环境能够独立于真实环境存在,并且可以同时有多个互相独立的 Python 虚拟环境,每个虚拟环境都可以营造一个干净的开发环境,对于项目的依赖、版本的控制有着非常重要的作用。虚拟环境有什么意义?打个比喻,现在有一个 Django 项目,使用的 Django 版本是1.8,但是系统的 Django 版本已经是更加新的1.11,如果使用系统的环境来运行项目,可能导致很多不兼容,于是,这个问题就可以...

2019-08-06 18:24:55 200

原创 python如何安装第三方包

  python有个优越的地方就是它可以使用大量的第三方包,那么问题来了,如何安装第三方包呢?接下来介绍几种在不同场景下python装包的方法。1. 初级  1.1 使用pip工具,具体的就是先是激活环境,然后:pip install packagename  1.2 但有时候因为网络问题,并无法安装成功,因为pip默认的官网源在国外。这时候我们可以使用国内的pip源。pip国内的一些...

2019-08-06 17:31:51 1003

原创 详解GloVe词向量模型

  词向量的表示可以分成两个大类1:基于统计方法例如共现矩阵、奇异值分解SVD;2:基于语言模型例如神经网络语言模型(NNLM)、word2vector(CBOW、skip-gram)、GloVe、ELMo。  word2vector中的skip-gram模型是利用类似于自动编码的器网络以中心词的one-hot表示作为输入来预测这个中心词环境中某一个词的one-hot表示,即先将中心词one-h...

2019-08-04 21:26:52 16318 3

原创 音频数据扩充

  在机器学习任务中,存在数据集类别失衡的情况,那么解决类别失衡的方法是1.上采样即:扩充样本较少的类数据直到跟样本多的类差不多为止;或者用下采样即:在样本多的类中随机剔除部分数据。  针对上采样的话,在图像领域可以有的操作是:平移、旋转、加噪等,在语音领域可以有的操作是裁剪、旋转、调音、加噪。  1. 裁剪(clip):即截取音频段# 将原始视频裁剪20simport librosaf...

2019-08-01 13:08:43 1676 2

原创 机器学习实践(一):用KNN进行磁盘故障预测

问题:磁盘故障预测(Disk Failure Prediction)(一)背景和说明  在大规模IDCS和云计算环境中,各种磁盘故障并不少见。幸运的是,我们有S.M.A.R.T.(自监控、分析和报告技术;通常以智能方式编写),从计算机硬盘驱动器(HDDs)、固态驱动器(SSDs)和eMMC驱动器收集的日志,这些日志和检测报告各种驱动器可靠性指标,目的是预测硬件故障。自2013年以来,Backb...

2019-07-30 20:11:11 6327 1

转载 语音特征工程:梅尔频率倒谱系数(MFCC)

  对于原始的语音信号,我们不能也没有必要使用其全部的信息,而只需利用其主要特征即可。换言之,我们需要把音频信号中具有辨识性的成分提取出来,然后把其他的乱七八糟的信息扔掉,例如背景噪声,无关信息等等。  人通过声道产生声音,声道的shape(形状?)决定了发出怎样的声音。声道的shape包括舌头,牙齿等。如果我们可以准确的知道这个形状,那么我们就可以对产生的音素(phoneme)进行准确的描述...

2019-07-30 19:11:35 2308 1

原创 机器学习之数学系列(四)推导线性支持向量机SVM

  支持向量机(SVM)是一个二分类模型,它的学习思路是在特征空间中寻找几何间隔最大的分离超平面。对支持向量机的研究分成三类1.线性可分支持向量机 2.线性支持向量机 3.非线性支持向量机。本文主要推导线性支持向量机的相关公式,因为线性可分支持向量机是线性支持向量机的特殊情况,而线性支持向量机又可以推广到非线性支持向量机。这里默认大家对支持向量机中的术语有了解。(一)线性支持向量机的学习策略:最...

2019-07-26 17:20:18 477

原创 python基础(四)python中的位运算

& | 和and or的区别,&|在数值变量中它是位运算如果是逻辑变量则没有区别&按位与运算|按位或运算^按位异或运算~取反.>>右移动<<左移...

2019-07-25 19:38:57 4158 2

原创 python基础(五)python中的可变数据类型和不可变数据存储原理

  python在内存中存储值时,它是根据数值的具体类型来选择不同的存储方式,在这一点上它是有别于编译语言的。不用声明变量数据类型的缺点就是你得了解python的内存管理机制。(一)python中的不可变数据类型  a.不可变数据类型有数值型、字符型、元组。  b.存储原理:不允许变量的值发生变化,如果改变了变量的值,相当于是新建了一个对象新开辟一个内存区来存放该值;而对于相同值的对象,通过...

2019-06-12 22:13:19 1768

原创 python基础(三)python中的赋值、浅拷贝和深拷贝

(一)赋值  赋值无论对于可变数据类型(字典和列表)还是不可变数据类型(数值型、字符串、元组)它的本质都是对元数据换了一个引用也就是在内存中并未开辟新的内存空间来存放数据,只是新增了引用(新增了名字)。结论:对不可变数据类型(a)和可变数据类型©,赋值操作仅仅是增加了引用方式,并未开辟新的内存空间来独立两个对象。(二)浅拷贝  2.1 不可变数据类型结论:对于不可变数据类型浅拷贝也并未...

2019-06-03 12:18:33 311

原创 文献调研之如何查找文献及源码

  以前也了解过很多关于文献查找的方法,但是总的来讲给我的感觉是太泛了,不够具体。鉴于此,我根据自己的文献调研经历,总结了几种最容易上手的文献查找方法,这里以语音情感识别研究方向为例,废话不多说,开始!  对于文献查找首先要确定3个问题:1.找什么?即检索关键词是啥,尤其是对于英文检索一定要明确这个方向的专有名词是什么,不能随便查一个名词组,英文名词百科科普请使用Wikipedia。2.用什么找...

2019-05-20 22:11:34 15411 6

原创 python基础(二)python的实例属性、类属性、访问控制

class Stu_score(object): """score of students""" name = None # 类属性 score = None university = "MIT" address = "U.S.A" def __init__(self, name, score): self.name = name ...

2019-05-14 16:56:17 467

原创 机器&深度学习中的模型评估:评估方法和评估指标

  机器学习领域,无论是在工业界还是在学术界都存在着对模型的选择。如何选择一个好的模型,这需要一套标准来评估模型,从而让我们能选择。这里主要介绍模型的评估方法和评估指标,这将非常有用。(一)评估方法[1](1)留出法(hold-out)  将数据集分成3个互斥的集合:训练集、验证集、测试集。(2)交叉验证法(cross validation)  先将数据集划分成k个大小相似的互斥子集。然...

2019-05-13 18:05:44 3727

转载 机器&深度学习代码速查表

声明:转载自:知乎https://zhuanlan.zhihu.com/p/61013882,侵权立删神经网络:线性代数python基础sparknumpypandasbokehmatplotlibggplotsklearnkerastensorflow数据结构复杂度排序算法...

2019-05-12 14:40:17 334

原创 理解h5文件并使用python对h5格式文件进行读写操作

(一)HDF与h5  HDF(Hierarchical Data Format层次数据格式)是一种设计用于存储和组织大量数据的文件格式,最开始由美国国家超算中心研发,后来由一个非盈利组织HDF Group支持。HDF支持多种商业及非商业的软件平台,包括MATLAB、Java、Python、R和Julia等等,现在也提供了Spark。其版本包括了HDF4和现在大量用的HDF5。h5是HDF5文件格...

2019-05-01 14:59:31 78544 31

原创 python基础(一)python中的None与Null的区别

None  None它是NoneType类的对象,你可以把它看成是一个具体的值,所以它可以用来初始化变量,也可以作为很多函数在某些异常输入下的返回值,如下图所示:None它既有又没有,有体现在它为变量a赋予了具体的值,该值就是None;没有体现在None它想告诉你的是变量a没有意义,没有利用价值。 Null  Null表示空,它不是一个值(这点不同于None),在python这类脚...

2018-11-19 20:27:23 3312

原创 机器学习之数学系列(三)逻辑回归反向传播梯度计算公式推导

一、简介  在深度学习领域,我们往往采用梯度下降(或上升)法来优化训练函数模型,梯度下降法尤其是在优化凸函数上表现极佳。模型优化涉及到反向传播过程,反向传播过程需要先推导出梯度计算公式然后利用机器进行代数运算。这篇博文的工作是详细推导了逻辑回归反向传播梯度计算公式(什么是梯度?简单来讲就是成本函数对未知参数向量的导数,这个梯度方向是成本函数下降最快的方向),最后附上逻辑回归优化算法和逻辑回归实现...

2018-11-11 15:28:48 3438

原创 机器学习之数学系列(一)矩阵与矩阵乘法

1.对于矩阵的认识应当把它看成是多个向量的排列表或把矩阵看成行向量,该行向量中的每个元素都是一个列向量,即矩阵是复合行向量。如下图所示。2.对于下面这个矩阵的乘法有两种看法:(1)矩阵将向量[b1,b2,b3].T进行了运动变换,这种变换可以是同空间内变换,也可以是不同空间间的变换;所以矩阵是一种运动变换。如下(2)将矩阵A看成复合行向量,那么两个向量想乘就变成了行向量乘列向量,简单吧...

2018-10-24 13:41:02 2020

空空如也

空空如也

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

TA关注的人

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