- 博客(26)
- 资源 (6)
- 收藏
- 关注
原创 tensorflow进行MNIST手写数字识别-优化版
1.加入了两个隐层2.学习率衰减3.加入反向传播4.dropout防止过拟合准确率0.98import tensorflow as tffrom tensorflow.examples.tutorials.mnist import input_datamnist = input_data.read_data_sets('MNIST_data', one_hot=True
2017-08-31 19:25:22 819
原创 关于交叉熵和sigmoid函数的组合
在神经网络的训练中,当使用的激活函数为sigmoid函数时,选择的代价函数一般为交叉熵,而不是二次代价函数。 原因如下: 二次代价函数公式: 其中c代表代价函数,x代表样本,y代表实际值,a代表输出值,n为样本总数。 对w和b求偏导数: 根据偏导数的结果,w和b的梯度跟激活函数的梯度成正比,激活函数的梯度越大,w和b的大小调整得越快,训练收敛得就越快。 sigmoid函数的图
2017-08-31 15:46:53 5306
原创 tensorflow进行MNIST手写数字识别-简单版
实现一个简单的MNIST手写数字识别,不带隐藏层的前向传播神经网络,使用梯度下降进行训练。准确率0.92import tensorflow as tffrom tensorflow.examples.tutorials.mnist import input_datamnist = input_data.read_data_sets('MNIST_data', one_hot=Tru
2017-08-31 14:42:39 675
原创 tensorflow实现非线性回归
模拟非线性回归,给定一些二维点,y = x^2 + noise,用梯度下降进行训练,实线前向传播神经网络。import tensorflow as tfimport numpy as npimport matplotlib.pyplot as plt#生成随机变量x_data = np.linspace(-1, 1, 200)#生成200个随机点,范围为-1 --> 1x
2017-08-31 11:13:35 5091
原创 tensorflow 滑动平均模型
import tensorflow as tfv1 = tf.Variable(0, dtype = tf.float32)#定义变量用来计算滑动平均,初始化为0,shadow_variable = 0step = tf.Variable(0, trainable = False)#定义滑动平均的step,初始化为0#定义滑动平均的类,初始化时给定衰减率0.99,step为0ema =
2017-08-30 15:23:37 729 1
原创 tensorflow常用函数
1.reduce_mean(input_tensor, reduction_indices=None, keep_dims=False, name=None)功能:求平均值参数:input_tensor:输入reduction_indices:指定维度2.clip_by_value()功能:将一个张量中的数值限制在一个范围内例:v = tf.constant([1.
2017-08-30 13:59:46 427
原创 剑指offer 11 数值的整数次方
题目描述给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。思路:注意负数除以2的时候要特别处理。class Solution: def Power(self, base, exponent): # write code here if base == 0:
2017-08-30 00:17:19 246
原创 剑指offer 10 二进制中1的个数
题目描述输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。思路:flag初始化为1,和n做与运算,然后把flag向左移动一位,重复。class Solution: def NumberOf1(self, n): # write code here flag = 1 count = 0 step
2017-08-29 23:37:24 191
原创 python按照多个条件排序
对tuple进行排序,先按照第一个元素升序,如果第一个元素相同,再按照第二个元素降序排列。L = [(12, 12), (34, 13), (32, 15), (12, 24), (32, 64), (32, 11)]L.sort(key=lambda x: (x[0], -x[1]))print(L)结果:[(12, 24), (12, 12), (32, 64), (32, 1
2017-08-23 16:22:57 40441 10
原创 LintCode 661 Convert BST to Greater Tree
Given a Binary Search Tree (BST), convert it to a Greater Tree such that every key of the original BST is changed to the original key plus sum of all keys greater than the original key in BST.您在
2017-08-22 01:46:48 286
原创 剑指offer 9.7 矩形覆盖
题目描述我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?思路:# -*- coding:utf-8 -*-class Solution: def __init__(self): self.num = [] self.num.append(0)
2017-08-21 01:35:22 182
原创 剑指offer 9.6 变态跳台阶
题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。思路:# -*- coding:utf-8 -*-class Solution: def __init__(self): self.num = [] self.num.append(0)
2017-08-21 01:29:28 168
原创 剑指offer 9.5 跳台阶
题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。思路:类似斐波那契数列。# -*- coding:utf-8 -*-class Solution: def __init__(self): self.num = [] self.num.append(0) sel
2017-08-21 01:21:03 204
原创 剑指offer 09 斐波那契数列
题目描述大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。n思路:只用递归的话会有重复计算,如上图。加入剪枝。# -*- coding:utf-8 -*-class Solution: def __init__(self): self.num = [] self.num.appen
2017-08-21 01:12:46 222
原创 剑指offer 08 旋转数组的最小数字
题目描述把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。思路:1.当midindex2.当midindex>rightindex时,最小数字在
2017-08-21 01:00:52 207
原创 隐马尔科夫模型
生成式模型(产生式模型)和区分式(判别式)模型:2.马尔科夫模型定义:3.隐马尔科夫模型3.1定义3.2 HMM中三个基本问题3.3求解观察序列的概率3
2017-08-15 21:41:56 628
原创 语言模型
1.n元语法2.语言模型的性能评价交叉熵:测试集概率表示:计算交叉熵H(T):(用均匀分布近似进行逼近计算,带入上面公式)3.数据平滑3.1加法平滑3.2古德图灵计算法3.3Jelinek-Mercer平滑方法最大似然一元模型:将二元文法模型和一元文法模型进行线性
2017-08-14 17:47:21 720
原创 形式语言与自动机
1.形式语言1.1定义字符串闭包:形式语法(文法):推导:句子:1.2语法类型:2.自动机2.1有限自动机 2.2正则文法与自动机的关系2.3上下文无关文法与下推自动机
2017-08-13 20:57:26 932
原创 LintCode 131 大楼轮廓
Given N buildings in a x-axis,each building is a rectangle and can be represented by a triple (start, end, height),where start is the start position on x-axis, end is the end position on x-axis and
2017-08-08 14:20:45 658
原创 LintCode 212 空格替换
设计一种方法,将一个字符串中的所有空格替换成 %20 。你可以假设该字符串有足够的空间来加入新的字符,且你得到的是“真实的”字符长度。你的程序还需要返回被替换后的字符串的长度。 注意事项如果使用 Java 或 Python, 程序中请用字符数组表示字符串。您在真实的面试中是否遇到过这个题? Yes样例对于字符串"Mr
2017-08-08 14:11:01 324
原创 剑指offer 07 用两个栈实现队列
题目描述用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。思路:入队:先放进一个栈中,再把栈的元素放入另一个栈,最后再放回。出队:直接出栈。class stack: def __init__(self): self.index = 0 self.content = [] def push(se
2017-08-03 20:23:56 169
原创 剑指offer 06 重建二叉树
题目描述输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。思路:根据前序第一个数,找到在中序的下标。下标左边是左子树,右边是右子树。递归遍历。# -*- coding:utf-8 -*-# c
2017-08-03 18:20:44 196
原创 剑指offer 05 从尾到头打印链表
题目描述输入一个链表,从尾到头打印链表每个节点的值。思路:用堆栈,存储链表的值。# -*- coding:utf-8 -*-# class ListNode:# def __init__(self, x):# self.val = x# self.next = Noneclass stack: def __init__(
2017-08-03 10:32:13 177
原创 剑指offer 04 替换空格
题目描述请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。思路:水题!1.另外开辟一个字符串new_s,遍历s,把s赋值给new_s。空间复杂度O(n)。2.两个指针。代码1:class Solution: # s 源字符串 def replace
2017-08-03 10:01:01 217
原创 剑指Offer 03 二维数组中的查找
题目描述在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。思路:每次找数组右上角的数字。如果右上角的数字小于target,则右上角上边和左边的数字都小于target;如果右上角的数字大于target,则把右上角向左一位的数字当做数组边缘继续寻找。class Sol
2017-08-02 18:03:09 235
Hadoop技术内幕:深入解析HADOOP COMMON和HDFS架构设计与实现原理 目录完整版
2016-10-12
Hadoop技术内幕:深入解析HADOOP COMMON和HDFS架构设计与实现原理
2016-10-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人