机器学习
Jaster_wisdom
程序员
展开
-
Fisher Vector 基本原理分析
1.背景介绍Fisher Vector是一种编码方式,它和Bag-of-Words一样,都能够实现对于不等长特征矩阵的归一化。例如,对于一段语音信号,每帧上可以提取MFCC特征(假设有13维),由于每段语音信号的长度不等,导致每段语音的总帧数不等,得到的特征向量可能是这样的:13*N,这里的N就是指总帧数。将特征送入网络进行语音识别时,一般要对特征进行归一化,即处理成统一大小的特征矩阵。今天介...原创 2018-08-16 15:56:02 · 7383 阅读 · 1 评论 -
Bag-of-words 词袋模型基本原理
Bag-of-words词袋模型最初被用在信息检索领域,对于一篇文档来说,假定不考虑文档内的词的顺序关系和语法,只考虑该文档是否出现过这个单词。假设有5类主题,我们的任务是来了一篇文档,判断它属于哪个主题。在训练集中,我们有若干篇文档,它们的主题类型是已知的。我们从中选出一些文档,每篇文档内有一些词,我们利用这些词来构建词袋。我们的词袋可以是这种形式:{‘watch’,'sports','phon...原创 2018-08-09 19:24:14 · 17906 阅读 · 0 评论 -
基于PyTorch的LSTM长短时记忆网络实现MNIST手写数字
本篇博客主要介绍在PyTorch框架下,基于LSTM实现手写数字的识别。在介绍LSTM长短时记忆网路之前,我先介绍一下RNN(recurrent neural network)循环神经网络.RNN是一种用来处理序列数据的神经网络,序列数据包括我们说话的语音、一段文字等等。它的出现是为了让网络自己有记忆能力,每个网络模块把信息传给下一个模块,它的网络结构如下:对于输入的一段序列数据(X1,X2,X3...原创 2018-04-12 20:56:42 · 8741 阅读 · 7 评论 -
加速神经网络训练方法及不同Optimizer优化器性能比较
本篇博客主要介绍几种加速神经网络训练的方法。我们知道,在训练样本非常多的情况下,如果一次性把所有的样本送入神经网络,每迭代一次更新网络参数,这样的效率是很低的。为什么?因为梯度下降法参数更新的公式一般为:如果使用批量梯度下降法(一次性使用全部样本调整参数),那么上式中求和那项的计算会非常耗时,因为样本总量m是一个很大的数字。那么由此就有了第一种加速方法:随机梯度下降法,简称SGD。 它的思想是,将...原创 2018-04-09 21:33:36 · 5537 阅读 · 0 评论 -
k-近邻算法 Python实现
首先讲,什么是k-近邻算法?k-近邻算法是一种有监督学习方法,即训练样本中的每个样本的类别标签都是已知的。对于一个新来的样本,我们将它的特征与训练样本集中的每个样本进行特征比较,然后算出与该样本最相似的k个样本,利用投票法,将k个样本中类别出现次数最多的那个类作为新来样本的类别。特别地,当k=1时,k-近邻算法就简化为最近邻分类算法。其中刻画相似性的度量方法有:欧氏距离、曼哈顿距离、切比雪夫距离、...原创 2018-03-19 21:24:53 · 320 阅读 · 0 评论 -
K近邻法、kd树
本篇博客主要介绍K近邻法的主要思想。K近邻法:分类时,对新的实例,根据其K个最近邻的训练实例的类别,通过多数表决等方式进行预测。三个基本要素:K值的选择、距离度量、分类决策规则k值的减小意味着整体模型变得复杂、容易发生过拟合 k值的增大意味着整体的模型变得简单K近邻法最简单的实现方法时线性扫描,这时需要计算输入实例与每一个训练实例的距离。当训练集很大时,计算非常耗时。下面采用kd树优化其存储结构,原创 2017-10-15 20:16:25 · 667 阅读 · 0 评论 -
感知机模型(原始形式和对偶形式)
本篇博客主要介绍机器学习中十分基础的感知机模型。感知机模型是二类分类的线性分类模型,其输入为实例的特征向量,输出为实例的类别。我们写出基于误分类的损失函数,利用梯度下降法对损失函数进行极小化,求得感知机模型。 1.首先,我们假定线性方程 wx+b=0 是一个超平面,令 g(x)=wx+b,也就是超平面上的点x都满足g(x)=0。对于超平面的一侧的点满足:g(x)>0; 同样的,对于原创 2017-10-15 15:13:43 · 12777 阅读 · 2 评论 -
BP神经网络(输出层采用Softmax激活函数、交叉熵损失函数)公式推导
本篇博客主要介绍经典的三层BP神经网络的基本结构及反向传播算法的公式推导。我们首先假设有四类样本,每个样本有三类特征,并且我们在输出层与隐藏层加上一个偏置单元。这样的话,我们可以得到以下经典的三层BP网络结构:当我们构建BP神经网络的时候,一般是有两个步骤,第一是正向传播(也叫做前向传播),第二是反向传播(也就是误差的反向传播)。Step1 正向传播 在正向传播之前,可以先给W,b赋初始值,原创 2017-10-28 21:42:29 · 19117 阅读 · 13 评论 -
评价指标MAP(macro average precision)与mAP(mean average precision)的区别
本篇主要介绍在机器学习中,两个常用的评价指标MAP与mAP的区别,前者MAP是macro average precision, 翻译为宏平均准确率,常用于分类问题中;而后者mAP是mean average precision, 翻译为平均精度均值,常用于目标检测和信息检测领域。两者有一个明显的区别是,mAP需要对结果进行置信度的排序,而MAP只需要给出类别标签即可。 下面...原创 2019-05-07 10:39:46 · 3048 阅读 · 0 评论