
机器学习
文章平均质量分 84
东泰山
这个作者很懒,什么都没留下…
展开
-
Paper Reading-2-Focal Loss for Dense Object Detection 及tensorflow实现
论文链接: https://arxiv.org/pdf/1708.02002.pdf1. 问题在阅读这篇论文之前,我们先考虑一个问题。我们现在打算用神经网络训练一个二分类模型,但是在训练的过程中往往会遇到这样的情况:(1)正样本和反样本的样本数不相同,甚至相差悬殊(实际上往往正样本数远远小于反样本数),如何解决样本不均衡的问题?(2)在选择反样本(正样本)的过程中,很多样本都是...原创 2019-01-19 11:54:00 · 1007 阅读 · 0 评论 -
Paper Reading-1-Recurrent neural network based language model
目录说明引用文献摘要绪论模型描述优化WSJ实验NIST RT05实验Recurrent neural network based language model说明这篇文章引自Mikolov 等人2010年经典论文,主要介绍了基于语言模型的RNN模型,详细描述了模型的训练及优化过程,并在WSJ和NIST RT05测试集上进行了论证,得到了较好的效果。本人在...原创 2018-08-12 22:07:59 · 1343 阅读 · 1 评论 -
TensorFlow实现简单的CNN
这里,我们将采用Tensor Flow内建函数实现简单的CNN,并用MNIST数据集进行测试第1步:加载相应的库并创建计算图会话import numpy as npimport tensorflow as tffrom tensorflow.contrib.learn.python.learn.datasets.mnist import read_data_setsimport matplo...原创 2018-06-19 10:09:11 · 3109 阅读 · 0 评论 -
TensorFlow实现卷积层和池化层
这里我们将介绍如何实现常见的卷积层和池化层这里我们以二维数据为例进行介绍第1步:引入相应的库并创建计算图会话import tensorflow as tfimport numpy as np#创建计算图会话sess = tf.Session()第2步:创建数据并初始化占位符,这里输入数据shape = [10,10]#准备数据data_size = [10,10]data_2d = n...原创 2018-06-18 13:27:13 · 1931 阅读 · 0 评论 -
TensorFlow实现神经网络
这里,我们将实现一个单层神经网络,并在IRIS数据集上进行模型训练输入数据:IRIS数据集的前三个特征输出数据:IRIS数据集的第四个特征即花萼长度神经网络大小:输入为batch_size*3,隐层为5个神经元,激活函数采用ReLU激活函数,一共需要训练(3*5+5+5+1)=26个变量代码如下:第1步:导入库以及相应的数据集,并对数据集按列(特征)进行归一化处理import tensorflow...原创 2018-06-16 17:45:42 · 368 阅读 · 0 评论 -
TensorFlow通过Cholesky矩阵分解实现线性回归
这里将用TensorFlow实现矩阵分解,对于一般的线性回归算法,求解Ax=b,则x=(A'A)^(-1)A'b,然而该方法在大部分情况下是低效率的,特别是当矩阵非常大时效率更低。另一种方式则是通过矩阵分解来提高效率。这里采用TensorFlow内建的Cholesky矩阵分解法实现线性回归。Cholesky可以将一个矩阵分解为上三角矩阵和下三角矩阵,即A = LL'这里,要求解Ax=b ==>...原创 2018-06-16 17:01:08 · 1358 阅读 · 0 评论 -
TensorFlow进阶--实现分类器
本节我们采用IRIS数据集实现一个简单的二值分类器来预测一朵花是否为山鸢尾。数据输入:花瓣长度、花瓣宽度数据输出:山鸢尾标记为1,其他物种标记为0模型:y=sigmoid(x1-(a*x2+b))损失函数:sigmoid交叉熵损失函数代码如下:首先导入库并创建计算图会话import tensorflow as tfimport numpy as npimport matplotlib.pypl...原创 2018-06-16 16:38:32 · 3273 阅读 · 2 评论 -
TensorFlow进阶--实现学习率随迭代次数下降
我们直到学习率对于机器学习来说,大的学习率虽然往往能够使得损失函数快速下降,但是导致不收敛或者振荡现象的发生,而小的学习率虽然收敛,但是学习速率太慢,损失函数下降缓慢,需要等待长时间的训练,同时也会容易陷入局部最优。因此,一种解决方法是令学习率随迭代次数的增加而下降。下面是python示例。该例子可以参考TensorFlow进阶--实现反向传播博文这里的关键在于tf.train.exponenti...原创 2018-06-15 20:46:17 · 6852 阅读 · 0 评论 -
TensorFlow进阶--实现随机与批量训练
首先,谈谈随机训练与批量训练随机训练其随机性可以达到一定脱离局部最小的效果,然而一般需要迭代多次才能够收敛批量训练能够快速得到最小损失,然而如果批量训练样本数较大,对于计算资源的消耗也会增加同时由于批量训练具有平滑的效果,因此其训练误差曲线较为平滑下面给出示例首先导入库并创建计算图会话import numpy as npimport tensorflow as tfimport matplot...原创 2018-06-15 20:20:33 · 2730 阅读 · 0 评论 -
TensorFlow进阶--实现反向传播
使用TensorFlow的一个优势是,它可以维护操作状态和基于反向传播自动地更新模型变量。下面我们介绍两个例子,来实现反向传播示例一:输入数据为:x满足均值为1,方差为0.1的正态分布输出y为10模型为:y=a×x损失函数为L2正则损失函数理论结果a应为10首先我们导入计算模块,并创建计算图会话,然后生成数据、创建占位符和变量A#创建计算图会话sess = tf.Session()#生成数...原创 2018-06-15 19:48:59 · 3726 阅读 · 0 评论 -
TensorFlow进阶--实现多层Layer
TensorFlow单层Layer示例请参考我的博客--Tensorboard计算图问题汇总下面我们尝试构建多层Layer首先引入tensorflow库并创建计算图会话import tensorflow as tfimport numpy as npsess = tf.Session()接下来,通过numpy创建2D图像,并将其数据改变为4维,分别是:图片数量、高度、宽度、颜色通道创建占位符...原创 2018-06-15 19:32:23 · 1027 阅读 · 0 评论 -
TensorFlow基础--实现激励函数
激励函数是实现机器学习特别是神经网络算法的必备神器。激励函数的目的是为了调节权重和误差。在TensorFlow中,激励函数是作用于张量上的非线性操作。下面我们给出常用的几种激励函数首先引入TensorFlow包并创建计算图import tensorflow as tfimport numpy as npimport matplotlib.pyplot as pltsess = tf.Sess...原创 2018-06-15 12:05:34 · 1473 阅读 · 0 评论 -
Tensorflow基础--创建张量、变量及占位符
Tensorflow介绍Google的Tensorflow引擎提供了一种解决机器学习问题的高效方法。机器学习在各个行业应用广泛,特别是计算机视觉、语音识别、语言翻译和健康医疗等领域。创建张量首先引入tensorflowimport tensorflow as tf创建指定维度的零张量print('零张量'.center(50,'-'))zero_tsr = tf.zeros([3,3])创建指...原创 2018-06-15 11:38:16 · 3967 阅读 · 0 评论 -
Tensorboard计算图问题汇总
TensorBoard是TensorFlow下的一个可视化的工具,能在训练大规模神经网络时将复杂的运算过程可视化。TensorBoard能展示你训练过程中绘制的图像、网络结构等。首先给出一个Tensorboard计算图的例子,后面给出常遇问题及解决方案。下面是Tensorflow生成计算图的代码示例,即可在'./log'路径下得到计算图文件import tensorflow as tfimpor...原创 2018-06-14 19:06:40 · 1140 阅读 · 1 评论 -
Matlab读取MNIST数据
mnist database(手写字符识别) 的数据集下载地:http://yann.lecun.com/exdb/mnist/。准备数据MNIST是在机器学习领域中的一个经典问题。该问题解决的是把28x28像素的灰度手写数字图片识别为相应的数字,其中数字的范围从0到9.共有四个文件需要下载:train-images-idx3-ubyte.gz,训练集,共 60,000 幅(28*28)的图像数据...原创 2018-06-12 16:39:43 · 24949 阅读 · 36 评论 -
机器学习之聚类分析---K-means(一)
初探k-means(Matlab) 俗话说:“物以类聚,人以群分”,聚类分析的目的是:在数据中发现数据对象之间的关系,并将数据进行分组,使得组内的相似性尽可能大,组间的差别尽可能大,那么聚类的效果越好。 例如在市场营销中,聚类分析可以帮助市场分析人员从消费者数据库中区分出不同的消费群体来,并且概括出每一类消费者的消费模式或者说习惯。在机器学习中,聚类分析也可以作为其他分析算法的一个预处...原创 2018-04-18 21:26:42 · 6336 阅读 · 0 评论