3 SigelKoo

尚未进行身份认证

暂无相关描述

等级
博文 39
排名 24w+

利用全连接网络将图片进行分类

实例描述构建一个简单的多层神经网络,以拟合MNIST样本特征完成分类任务。1.定义网络参数在输入和输出之间使用两个隐藏层,每层各256个节点,学习率使用0.001。importtensorflowastf#定义参数learning_rate=0.001training_epochs=25batch_size=100display_step=1...

2019-03-25 12:22:25

使用带隐藏层的神经网络拟合异或操作

多层神经网络是在输入和输出中间多加一些神经元,每一层可以加多个,也可以加很多层。实例描述通过构建符合异或规律的数据集来作为模拟样本,构建一个简单的多层神经网络来拟合其样本特征完成分类任务。1.数据集介绍所谓的“异或数据”是来源于异或操作。从a)可以看出,当两个数相同时,输出为0,不相同时输出为1,这就是异或的规则。表示为两类数据就是(0,0)和(1,1)为一类,(0,...

2019-03-22 11:53:11

用线性逻辑回归处理多分类问题

实例描述构建网络完成将3类样本分开的任务。在实现过程中先生成3类样本模拟数据,构建神经网络,通过softmax分类的方法计算神经网络的输出值,并将其分开。1.生成样本集这里用generate函数生成了2000个点、3类数据,并且使用one-hot编码。importtensorflowastfimportnumpyasnpimportmatplotlib.p...

2019-03-21 11:34:58

用线性单分逻辑回归分析肿瘤是良性还是恶性的

实例描述假设某肿瘤医院想用神经网络对已有的病例数据进行分类,数据的样本特征包括病人的年龄和肿瘤的大小,对应的标签为该病例是良性肿瘤还是恶性肿瘤。1.生成样本集这里因为没有医院的病例数据,为了方便演示,先用Python生成一些模拟数据来代替样本,它应该是个二维的数组“病人的年纪,肿瘤的大小”。generate为生成模拟样本的函数,意思是按照指定的均值和方差生成固定数量的样本。im...

2019-03-20 10:44:44

单个神经元

神经网络是由多个神经元组成,一个神经元由以下几个关键点组成:激活函数 损失函数 梯度下降1.神经元的拟合原理单个神经元的网络模型如下图所示。其计算公式为z为输出的结果;x为输入;w为权重;b为偏执值。w和b可以理解为两个变量。模型每次的学习都是为了调整w和b从而得到了一个合适的值,最终由这个值配合运算公式所形成的逻辑就是神经网络的模型。其实这个模型是根据仿生学得...

2019-03-18 18:41:09

退化学习率用法实例

使用迭代循环计数变量global_step来标记循环次数,初始学习率为0.1,令其以每10次衰减0.9的速度来进行退化。定义一个学习率变量,将其衰减系数都设置好,并设置好迭代循环的次数,将每次迭代运算的次数与学习率打印出来,观察学习率按照次数退化的现象。importtensorflowastfglobal_step=tf.Variable(0,trainable=False...

2019-03-18 18:12:10

softmax算法与损失函数的综合应用

1.交叉熵实验交叉熵这个比较生僻的术语,在深度学习领域中却是最常见的。由于其常用性,在TensorFlow中被封装成多个版本,有的公式里直接带了交叉熵,有的需要自己单独求出。importtensorflowastflabels=[[0,0,1],[0,1,0]]logits=[[2,0.5,6],[0.1,0,3]]logits_scaled...

2019-03-18 16:34:37

不是码农,也能看懂的“机器学习”原理

什么是机器学习?我们先来说个老生常谈的情景:某天你去买芒果,小贩有满满一车芒果,你一个个选好,拿给小贩称重,然后论斤付钱。自然,你的目标是那些最甜最成熟的芒果,那怎么选呢?你想起来,外婆说过,明黄色的比淡黄色的甜。你就设了条标准:只选明黄色的芒果。于是按颜色挑好、付钱、回家。啊哈,人生完整了?呵呵呵。告诉你吧人生就是各种麻烦等你回到家,尝了下芒果。有些确实挺甜,有些就不行了。额~显然,外婆教的金科...

2019-03-13 17:15:12

识别图中模糊的手写数字

从MNIST数据集中选择一幅画,这幅画上有一个手写的数字,让机器模拟人眼来区分这个手写数字到底是几。首先来介绍一下编写代码的相关步骤。导入MNIST数据集。 分析MNIST样本特点定义变量。 构建模型。 训练模型并输出中间状态参数。 测试模型。 保存模型。 读取模型。...

2019-03-13 13:48:31

识别图中模糊的手写数字-读取模型

将模型存储好后,下面来进行一次测试:读取模型并将两张图片放进去让模型预测结果,然后将两张图片极其对应的标签一并显示出来。在整个代码执行过程中,对网络模型的定义不变,只是重新建立一个session而已,所有的操作都在这个新的session中完成。print("Starting2ndsession")withtf.Session()assess:#初始化变量...

2019-03-13 13:44:21

识别图中模糊的手写数字-保存模型

首先要建立一个saver和一个路径,然后通过调用save,自动将session中的参数保存起来。#保存模型save_path=saver.save(sess,model_path)print("Modelsavedinfile:%s"%save_path)该代码起到的作用是保存模型,并将模型保存的路径打印出来。当然,在这段代码运行之前,需要...

2019-03-13 13:02:09

识别图中模糊的手写数字-测试模型

现在我们使用测试数据来测试一下训练完的模型。与前面的过程类似,也是先将计算测试的网络结构建立起来,然后通过最终节点的eval将测试值运算出来。注意:这个过程仍然是在session里进行的。测试错误率的算法的是:直接判断预测的结果与真实的标签是否相同,如是相同的就表明是正确的,如是不相同的就表示是错误的。然后将正确的个数除以总个数,得到的值即为正确率。由于是onehot编码,这里使用了t...

2019-03-13 12:53:33

识别图中模糊的手写数字-训练模型并输出中间状态参数

现在开始真正地训练模型了,先定义训练相关的参数。training_epochs=25batch_size=100display_step=1#启动sessionwithtf.Session()assess:#InitializingOPsess.run(tf.global_variables_initializer())#启动...

2019-03-13 12:38:07

识别图中模糊的手写数字-构建模型

样本完成后就可以构建模型。1.定义学习参数模型也需要权重值和偏置量,它们统一被叫做学习参数。在TensorFlow里,使用Variable来定义学习参数。一个Variable代表一个可修改的张量,定义在TensorFlow的图(一个执行任务)中,其本身也是一种变量。使用Variable定义的学习参数可以用于计算输入值,也可以在计算中被修改。W=tf.Variable(tf....

2019-03-13 12:13:45

识别图中模糊的手写数字-分析图片的特点,定义变量

由于输入图片是个550000×784的矩阵,所以先创建一个[None,784]的占位符x和一个[None,10]的占位符y,然后使用feed机制将图片和标签输入进去。importtensorflowastffromtensorflow.examples.tutorials.mnistimportinput_datamnist=input_data.read_data_...

2019-03-13 11:49:55

识别图中模糊的手写数字-导入图片数据集

MNIST是一个入门级的计算机视觉数据集。当我们开始学习编程时,第一件事往往是学习打印HelloWorld。在机器学习入门的领域里,我们会用MNIST数据集来实验各种模型。1.MNIST数据集介绍MNIST包含各种手写数字图片。它也包含每一张图片对应的标签,告诉我们这个数字是几。上面图片的标签分别是5、0、4、1。MNIST数据集的官网是http://yann.lecun....

2019-03-13 11:40:59

配置分布式TensorFlow

在大型的数据集上进行神经网络的训练,往往需要更大的运行资源,而且还耗费若干天才能完成运算量。TensorFlow提供了一个可以分布式部署的模式,将一个训练任务拆成多个小任务,分配到不同的计算机上来完成协同运算,这样使用计算机群运算来代替单机计算,可以使训练时间大大缩短。分布式TensorFlow的角色及原理要想配置TensorFlow为分布训练,需要先了解TensorFlow中关于分布...

2019-03-12 12:17:53

图的基本操作

这里系统地了解下TensorFlow中图可以做哪些事情。这里我们使用3种方式来建立图,并依次设置为默认图,使用get_default_graph()方法来获取当前默认图,验证默认图的设置生效。 演示获取图中相关内容的操作。一个TensorFlow程序默认是建立一个图的,除了系统自动建图以外,还可以手动建立,并做一些其他的操作。建立图可以在一个TensorFlow中手动建立其他的图,...

2019-03-11 12:07:02

共享变量

共享变量在复杂网络中用处非常广泛。共享变量用途在构建模型时,需要使用tf.Variable来创建一个变量(节点)。例如:#创建一个偏执的学习参数,在训练时,这个变量不断地更新biases=tf.Variable(tf.zero([2]),name="biases")但在某种情况下,一个模型需要使用其他模型创建的变量,两个模型一起训练。比如,对抗网络中的生成器模型和判别器...

2019-03-10 16:41:17

4. 寻找两个有序数组的中位数

给定两个大小为m和n的有序数组nums1和nums2。请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为O(log(m+n))。你可以假设nums1和nums2不会同时为空。示例1:nums1=[1,3]nums2=[2]则中位数是2.0示例2:nums1=[1,2]nums2=[3,4]则中...

2019-03-07 17:53:36
奖章
    暂无奖章