自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

shizhengxin123的博客

机器学习、深度学习

  • 博客(51)
  • 收藏
  • 关注

原创 利用vgg-16登上kaggle Invasive Species Monitoring图像识别比赛五十强

1、简介比赛简介我用google翻译了一下 葛兰荼哥在格鲁吉亚压倒树木,而甘蔗蟾蜍威胁到全球十几个国家的栖息地。 这些只是许多可以对环境,经济甚至人类健康造成破坏性影响的两种入侵物种。 尽管受到广泛影响,追踪入侵物种的位置和扩散的努力非常昂贵,难以进行规模化。 目前,生态系统和植物分布监测取决于专家知识。 有经验的科学家访问指定的地区,并注意到居住在这些地区的物种。 使用这样高素质的劳动力是昂贵

2017-07-01 17:52:39 2356

原创 如何用词向量做文本分类(embedding+cnn)

1、数据简介本文使用的数据集是著名的”20 Newsgroup dataset”。该数据集共有20种新闻文本数据,我们将实现对该数据集的文本分类任务。数据集的说明和下载请参考(http://www.cs.cmu.edu/afs/cs.cmu.edu/project/theo-20/www/data/news20.html)。本文使用GloVe词向量。GloVe 是 “Global Vectors f

2017-05-27 11:37:40 25401 4

原创 利用resnet 做kaggle猫狗大战图像识别,秒上98准确率

1、数据介绍这份数据集来源于Kaggle,数据集有12500只猫和12500只狗。在这里简单介绍下整体思路 1、1从图片中直接训练一个小网络(作为基准方法),也就是普通的cnn方法 2、2后面我会用到最新的预训练好的resnet等方法进行训练2 数据提升与cnn为了尽量利用我们有限的训练数据,我们将通过一系列随机变换堆数据进行提升,这样我们的模型将看不到任何两张完全相同的图片,...

2017-05-18 16:30:55 27319 9

原创 如何用keras cnn 做kaggle猫狗大战图片识别

1、数据简介这份数据集来源于Kaggle,原数据集有12500只猫和12500只狗,因单机cpu跑,这里我只选取了2000张图片,工具用的是基于tensorflow的keras。数据如下所示: 2、数据预处理这部分代码如下:import os # 处理字符串路径import glob # 查找文件from keras.models import Sequential # 导入Sequen

2017-05-17 19:29:29 16887 15

原创 一张图帮你弄懂text-cnn

1、何为textcnn利用卷积神经网络对文本进行分类的算法,那如何用卷积神经网络对文本进行分类呢。这里就tensorflow版本的textcnn源码分析一波。要知道,对文本向量化之后一般是一个一维向量来代表这个文本,但是卷积神经网络一般是对图像进行处理的,那如何将一维转化成二维呢,textcnn在卷积层之前设置了一个embedding层,即将词向量嵌入进去。那具体如何操作的呢。比如一句话(“白条”...

2018-04-12 10:52:46 11904

原创 最长回文串

回文就是中心对称的单词。从字符的中心开始,向两边扩散检查回文。这需要维护一个指针,从头开始,以每一个位置为中心遍历一遍。这比暴力遍历所有子串省了很多重复判断。以某个字符为核心一旦探测到边界,更长的的串就都不再考虑。复杂度O(n^2)。注意,回文需要同时检查单核`aba`以及双核`abba`的情况。代码:res = ""maxs = 0def findHuiwen(newstr): ...

2018-03-19 13:57:57 327

原创 python归并排序

代码:def merge_sort(arr): if len(arr) == 1: return arr mid = len(arr)//2 l= arr[:mid] r = arr[mid:] left = merge_sort(l) right = merge_sort(r) return merge(left,righ...

2018-03-18 15:17:02 374

原创 python剑指offer连续子数组的最大和

题目:HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢?例如:{6,-3,-2,7,-15,1,2,2},连续子向量的最大和为8(从第0个开始,到第3个为止)。你会不会被他忽悠住?(子向量的长度至少...

2018-03-17 11:56:40 455

转载 python剑指offer字符串的排列

题目:输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。思路:回溯法代码:class Solution: def __init__(self): self.result=[] def Permutation(self, ss): ...

2018-03-17 11:26:39 717

原创 python剑指offer系列二叉搜索树的第k个结点

题目:给定一颗二叉搜索树,请找出其中的第k大的结点。例如, 5 / \ 3 7 /\ /\ 24 6 8 中,按结点数值大小顺序第三个结点的值为4。思路:中序遍历的二叉搜索树就是排序的代码:# -*- coding:utf-8 -*-# class TreeNode:# def __init__(self, x):# ...

2018-03-17 10:08:59 362

原创 python剑指offer 链表中环的入口节点

题目:一个链表中包含环,请找出该链表的环的入口结点。思路://先说个定理:两个指针一个fast、一个slow同时从一个链表的头部出发//fast一次走2步,slow一次走一步,如果该链表有环,两个指针必然在环内相遇//此时只需要把其中的一个指针重新指向链表头部,另一个不变(还在环内),//这次两个指针一次走一步,相遇的地方就是入口节点。python solution:# -*- coding:ut...

2018-03-09 16:09:18 1142

原创 python剑指offer系列和为S的两个数字

题目:输入一个递增排序的数组和一个数字S,在数组中查找两个数,是的他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的思路:数列满足递增,设两个头尾两个指针i和j, 若ai + aj == sum,就是答案(相差越远乘积越小) 若ai + aj > sum,aj肯定不是答案之一(前面已得出 i 前面的数已是不可能),j -= 1 若ai + aj < sum,...

2018-03-04 10:55:38 984

原创 python剑指offer系列和为S的连续正数序列

题目:小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数)。没多久,他就得到另一组连续正数和为100的序列:18,19,20,21,22。现在把问题交给你,你能不能也很快的找出所有和为S的连续正数序列?思路:连续正数序列为等差数列,和为cur =(low + high)*(...

2018-03-04 10:31:25 398

原创 python剑指offer系列按之字形顺序打印二叉树

题目:请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。思路:层次遍历的变种solution:# -*- coding:utf-8 -*-# class TreeNode:# def __init__(self, x):# self.val = x# sel...

2018-03-02 15:42:58 432

原创 python剑指offer系列把二叉树打印成多行

题目:从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。思路:按层遍历,遍历完每层后更新solution:# -*- coding:utf-8 -*-# class TreeNode:# def __init__(self, x):# self.val = x# self.left = None# self.right...

2018-03-02 15:12:55 230

原创 python剑指offer系列对称的二叉树

题目:请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。solution:/*思路:首先根节点以及其左右子树,左子树的左子树和右子树的右子树相同* 左子树的右子树和右子树的左子树相同即可,采用递归代码:# -*- coding:utf-8 -*-# class TreeNode:# def __init__(self, x):...

2018-03-02 10:54:02 204

原创 python剑指offer系列二叉树的下一个节点

题目:给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。solution思路:第一步还是找到某个节点的根节点,方法是一直使用next判断即可。 再将从根节点中序遍历的结果保存到一个数组中,直接找pNode所在索引的下一个即可。当然要考虑这个节点是不是最后一个,如果是最后一个,直接返回None。代码:# -*- co...

2018-03-02 10:23:07 245

原创 python剑指offer系列通过求二叉树的深度来理解递归

二叉树如下所示递归求二叉树的深度代码如下:class Solution: def TreeDepth(self, pRoot): if pRoot == None: return 0 left ,right = self.TreeDepth(pRoot.left) , self.TreeDepth(pRoot.right)     ...

2018-02-28 18:42:38 726

原创 python剑指offer系列第一个只出现一次的字符

题目:在一个字符串(1<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置思路:建立一个哈希表即可,python用字典代替,但是是无序的,所以再遍历一次字符串# -*- coding:utf-8 -*-class Solution: def FirstNotRepeatingChar(self, s): if len(s)...

2018-02-28 12:16:21 612

原创 python剑指offer系列二叉搜索树与双向链表

题目:输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。sulution:先中序遍历,将所有的节点保存到一个列表中。对这个list[:-1]进行遍历,每个节点的right设为下一个节点,下一个节点的left设为上一个节点。# -*- coding:utf-8 -*-# class TreeNode:# def __init...

2018-02-28 11:44:52 240

原创 python剑指offer系列复杂链表的复制

题目:输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空)solution:###复杂链表的复制(哈希法)class RandomListNode: def __init__(self, x): self.lab...

2018-02-27 14:12:44 318

原创 python剑指offer系列二叉树中和为某一值的路径

题目:输入一颗二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。思路:其实就是深度优先遍历,到达叶子结点时判断target是否为零,注意每次递归一轮时需要回溯。solution# -*- coding:utf-8 -*-# class TreeNode:# def __init__(self, x):#...

2018-02-10 10:47:56 953

原创 python剑指offer系列树的子结构

题目:输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)解法:对于两棵二叉树来说,要判断B是不是A的子结构,首先第一步在树A中查找与B根节点的值一样的节点。 通常对于查找树中某一个节点,我们都是采用递归的方法来遍历整棵树。 第二步就是判断树A中以R为根节点的子树是不是和树B具有相同的结构。 这里同样利用到了递归的方法,如果节点R的值和树的根节点不...

2018-02-09 19:59:12 205

原创 python剑指offer系列层序遍历二叉树

class Solution: # 返回从上到下每个节点值列表,例:[1,2,3] def PrintFromTopToBottom(self, root): lists = [] if root == None: return que1 = [] que1.append(root) ...

2018-01-15 09:45:33 1148

原创 python剑指offer系列滑动窗口的最大值

给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值。例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4,4,6,6,6,5};针对数组{2,3,4,2,6,2,5,1}的滑动窗口有以下6个: {[2,3,4],2,6,2,5,1},{2,[3,4,2],6,2,5,1}, {2,3,[4,2,6],2,5,1}, {2...

2018-01-14 21:44:23 1006

原创 java单链表操作

class ListNode{ int val ; ListNode next = null ; public ListNode(int val) { this.val = val; }}class LinkList{ ListNode first ; int p = 0 ; //链表添加结点 pub

2017-12-08 12:01:48 209

原创 tensorflow实战3-利用seq2seq实现一个聊天机器人

具体项目代码详见github:https://github.com/jacksonsshi/chat_rnn具体介绍网络结构与训练这块 1、seq2seq代码import tensorflow as tfimport numpy as npimport sysclass Seq2Seq(object): def __init__(self, xseq_len, yseq_len,

2017-12-04 19:52:36 2527 1

原创 python剑指offer 链表倒数第k个结点

题目:输入一个链表,输出该链表中倒数第k个结点。思想:利用两个指针,第一个指针f到达k之后,新建一个指针sencond,遍历最后一个时sencond则为倒数第k个结点# -*- coding:utf-8 -*-# class ListNode:# def __init__(self, x):# self.val = x# self.next = Non

2017-12-04 19:45:03 205

原创 基于增量的矩阵聚类

from gensim.models import word2vecimport jiebaimport numpy as npimport refrom zhon.hanzi import punctuationimport mathimport timefrom scipy import spatial# In[1]:from gensim import corpora, mo

2017-11-12 16:05:27 1111

原创 wmd 源码 python实现版

from gensim.models import Word2Vecfrom gensim import corpora, models, similaritiesimport numpy as npimport scipy.optimizefrom scipy import spatialimport timeimport jiebaimport itertoolsjieba.lo

2017-11-06 18:27:53 3813 12

原创 tensorflow实战2:实现mnist 单层cnn分类

1、数据处理import tensorflow as tfimport numpy as npimport matplotlib.pyplot as pltfrom tensorflow.examples.tutorials.mnist import input_datanp.random.seed(20160703)tf.set_random_seed(20160703)mnist =

2017-09-17 14:23:54 527

原创 tensorflow实战1:lstm实现mnist分类

版本:tensorflow1.0.0 1、数据格式 lstm输入维度(batchsize,timestep,input_size) 则将mnist维度转换(-1,28,28),这里面意思就是每一行输入28个数据进入神经网络。当输入到第28次时更新label。import tensorflow as tfimport numpy as npfrom tensorflow.contrib im

2017-09-17 14:09:11 847

原创 python剑指offer系列斐波那契数列

大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。 n<=39网址:https://www.nowcoder.com/practice/c6c7742f5ba7442aada113136ddea0c3?tpId=13&tqId=11160&tPage=1&rp=1&ru=/ta/coding-interviews&qr...

2017-08-21 16:13:00 260

原创 准确率 召回率 ROC曲线的大解析

近来面试算法、机器学习岗,发现面试官经常问的就是准确率召回率之间的关系,以及roc曲线如何画,这里自己总结了一波做了一波解析。对于一个二分类的问题来看,可以用下表来表示整个结果,其中1代表正例,0代表负例 接下来我们一个一个来解释 TP(真正类):表示为被预测为正例实际也是正例。 FP(假正类):表示被预测为正但是其实是负例。 FN(假负类):表示为被预测为负其实是正例 TN(真负): 则

2017-08-10 16:24:36 3880 2

原创 如何利用神经网络做回归问题(全连接以及一维卷积)

源码、留给自己看的 1、全连接 回归from keras.layers import Input, Densefrom keras.models import Modelfrom keras.layers.core import Flatten, Dense, Dropout,Activationfrom keras.layers.normalization import BatchNor

2017-07-26 14:56:43 24480 1

原创 基于tfidf 以及 lsi 的文本相似度分析

本文主要为了计算文档之间的相似度。标准语聊为我们训练模型所需的,用户语料则用来测试与标准语聊的相似度 1、 数据预处理部分,见注释对标准语聊进行处理如下ws = open('d:/sentence.csv','r',encoding='gbk')times = 0import reimport jieba standard_data = [] ###标准语料map_value = {}

2017-07-26 14:41:28 3717

原创 词向量转换成句向量的文本相似度计算

# coding: utf-8# In[2]:###读取已训练好的词向量from gensim.models import word2vecw2v=word2vec.Word2Vec.load('d:/chat_data/corpus_vector.model')##对文本进行分词import jiebaimport reraw_data = []w = open('******',

2017-07-21 18:37:39 8327 2

原创 python 剑指offer系列:反转链表

题目:输入一个链表,反转链表后,输出链表的所有元素。代码:# -*- coding:utf-8 -*-# class ListNode:# def __init__(self, x):# self.val = x# self.next = Noneclass Solution: # 返回ListNode def ReverseList

2017-07-10 17:21:41 351

原创 python实现剑指offer系列:重建二叉树

题目:输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。代码:class Node: def __init__(self, data, left, right): self.data = data

2017-07-10 16:11:06 4330

原创 python 实现剑指offer系列3:从尾到头打印链表

newcoder:https://www.nowcoder.com/practice/d0267f7f55b3412ba93bd35cfa8e8035?tpId=13&tqId=11156&tPage=1&rp=1&ru=%2Fta%2Fcoding-interviews&qru=%2Fta%2Fcoding-interviews%2Fquestion-ranking题目:输入一个链表,从尾到头打印

2017-07-09 21:20:30 251

空空如也

空空如也

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

TA关注的人

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