自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

张渊猛的博客

关注机器学习、深度学习,且发亮惊人 GitHub:github.com/ZhangRaymond

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

原创 【好物分享】python字符串打印fromat 实践总结

As we know, python的print()函数有两种字符串打印方式:%方式: 如'%s %s' % ('one', 'two'){}format() 方式:如'{} {}'.format('one', 'two')网上发现一个介绍这两种方式的使用方法的网站,觉得甚好,里面有大量实例,两种方式的区别一目了然,网站也很美观,强烈推荐给大家。网站开头是这么介绍的:python...

2019-04-25 16:06:11 530

原创 CSDN Markdown编辑器 图片居中 + 缩放 【新】

最近CSDN Markdown做了升级,导致原来的 图片居中 方法无效了,那怎么办呢?方法还是有的,接着看:老方法<center>![斯嘉丽](https://ss0.bdstatic.com/70cFvHSh_Q1YnxGkpoWK1HF6hhy/it/u=2572096617,2656660249&fm=26&gp=0.jpg)老方法现在无效了,效果如下:...

2019-04-17 00:17:43 1202 4

翻译 【译】NLP——建立一个问答模型

最近在做一些nlp的工作,涉及到问答系统的构建,看到这篇文章觉得不错,遂翻译之,搬运一下。先奉上原文:NLP — Building a Question Answering model以下是翻译内容:我最近完成了斯坦福大学的CS224n关于NLP的课程,很享受这个经历。在课程的final project中,我做了一个基于SQuAD(斯坦福问答数据集)的问答系统。在这篇博客中,我大概介绍一下这...

2019-04-16 23:58:33 3394

原创 Keras: 评价指标 categorical_accuracy和 sparse_categorical_accuracy

在Keras中,官方内置了几种评价函数。对于二分类问题,评价指标可以用 binary_accuracy,就是最直观上讲的准确率。当面对多分类或者多标签的任务时,评价度量可能会用到这两个 categorical_accuracy和 sparse_categorical_accuracybinary_accuracy自然不必多讲,这篇文章讲一下categorical_accuracy和 sp...

2019-04-11 16:27:28 30572 11

原创 Keras:LSTM layer的return_sequences和return_state参数详解

先放上参考: Understand the Difference Between Return Sequences and Return States for LSTMs in Keras本文是基于上面博客做的实践,以验证LSTM的两个参数的使用。先回顾一下LSTM这里默认大家有RNN和LSTM的基础,不了解的可以参考这篇文章:Understanding LSTM Networks上图是...

2019-04-11 12:08:18 2859 1

原创 python实现二叉树层序遍历(逐层打印二叉树)

题目要求给定一个二叉树,要求从上往下逐层打印该二叉树节点的值,每层从左往右打印。解题思路——广度优先遍历实际上就是广度优先遍历, 借助一个队列(这里用数组代替)就可以实现:1、先将root节点加入队列2、队列不为空时取队列首节点3、打印节点的值,然后将该节点的左、右子节点先后加入队尾(核心步骤,广度优先体现在这)4、回到2,直到队列为空该方法对满二叉树和非满二叉树都符合题目要求。...

2019-04-09 12:14:09 9838 1

原创 变分推断(Variational Inference)学习资料

在机器学习中,贝叶斯框架下有一类常用的求后验概率的近似方法——变分推断,在解决贝叶斯框架下的问题时很常用。自己还没有学习完,暂且先在此总结一些优质的学习资源:Bishop的PRML一书的2,10两章。第二章是一些常用概率分布的基础,第10章介绍了变分推断的方法,主要是mean-field和ep方法。徐亦达老师的视频(YouTube),国内的同学可以从优酷上看。变分推断应用广泛,看到一篇结...

2018-10-06 22:18:46 2521

原创 动态规划(DP)的原理、实现及应用

1. 由一个例子说开: 斐波那契数列斐波那契数列是由0和1开始,之后的数就是前两个数的和。首几个费波那契系数是:0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233……那我们如何用计算机来生成这些数呢,也就是说,即求斐波那契数列第n位的值。很简单,用递归就可以了:def fib(n): if n in [0,1]: ...

2018-10-03 01:56:08 12837

转载 【推荐】零基础入门深度学习系列文章

朋友极力推荐给我的深度学习的系列文章,我也想极力推荐给你。这篇文章比较入门,也比较系统,适合新手,也适合老手回过头快速温习捡漏。零基础入门深度学习(1) - 感知器 零基础入门深度学习(2) - 线性单元和梯度下降 零基础入门深度学习(3) - 神经网络和反向传播算法 零基础入门深度学习(4) - 卷积神经网络 零基础入门深度学习(5) - 循环神经网络 零基础入门深度学习(6...

2018-09-05 01:17:26 1175

原创 图解排序算法及实现——快速排序 (Quick Sort)

接下来让我们看看大名鼎鼎的快速排序,光名字就觉得牛哄哄。 那么具体怎么讲待1.单路排序图例如下 比照了示意图,很容易写出代码:def QuickSort(arr): n = len(arr) _quickSort(arr,0,n-1)def _quickSort(arr,l,r): if l &amp;amp;amp;amp;amp;amp;amp;gt;= r: re...

2018-09-04 02:52:01 25580 1

原创 图解排序算法及实现——希尔排序 (Shell Sort)

希尔排序(ShellSort)也称增量递减排序算法,即跨多步版的InsertionSort,是InsertionSort基础上的改进版。InsertionSort可以看作ShellSort中gap=1的特例。希尔排序是非稳定排序算法。希尔排序通过将全部元素分为几个区域来提升插入排序的性能。这样可以让一个元素可以一次性地朝最终位置前进一大步。然后算法再取越来越小的步长进行排序,算法的最后一步就是...

2018-09-03 17:45:30 7066

原创 图解排序算法及实现——归并排序 (Merge Sort)

思路归并排序(MergeSort),是创建在归并操作上的一种有效的排序算法,效率为O(nlogn) 。1945年由约翰·冯·诺伊曼首次提出。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用,且各层分治递归可以同时进行。实现递归法: 自顶向下(Top-Down)直接在原序列上直接归并排序,每次归并排序分别对左右两边进行归并排序,直至细分到两两分组。...

2018-09-03 16:56:20 39672

原创 图解排序算法及实现——冒泡排序(Bubble Sort)

教科书式的排序算法:冒泡排序思路从某一方向开始,依次两两比较,把小的放左边,大的放右边从右往左: 最小值被移到了最左边。 【冒泡法】的本意从左往右: 最大值被移到了最右边。 此时其实应该叫 【沉石法】图解推荐VisuAlgo,一个数据结构和算法动态可视化的网站。 从左到右:沉石法 从左到右:沉石法python实现for实现1: (冒泡法...

2018-09-03 16:22:05 4849

原创 图解排序算法及实现——插入排序 (Insertion Sort)

插入排序(英语:Insertion Sort)是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。通常以扑克牌举例: 右边新来的牌,与左边有序的老牌依次比较,最终插到合适的位置。实现Basic: 新旧牌每次都要交换一下(两次操作:旧牌后移一位,新牌前移一位)。Advanced: 每次比较,旧牌后...

2018-09-03 13:20:57 3195

原创 图解排序算法及实现——选择排序(Selection sort)

选择排序(Selection sort)是一种简单直观的排序算法。思路左边有序区,右边乱序区。从右边剩下的乱序数字中找最小,放到左边。(反过来也是可以的)具体操作: 多次比较,一次交换。每次从右边剩余数字中选最小,与乱序区最左边的元素交换,使左边有序区边界右移。复杂度平均时间复杂度 О(n²) 最坏时间复杂度 О(n²) 最优时间复杂度 О(n²)图例来自...

2018-09-03 13:05:49 676

原创 C++,java,Python的sort排序内部实现

C++C++内部的sort是由快排,直接插入和堆排序混合的,具体详情见STL源码剖析。数据量大时候先用的快排数据量小时就用直接插入因为当数据量变小时,快排中的每个部分基本有序,接近直接插入的最好情况的时间复杂度O(n),就比快排要好一点了。Java在Java 6中Arrays.sort()和Collections.sort()使用的是MergeSort,而在Java 7中...

2018-09-02 15:37:38 885

原创 自然语言处理工具包spaCy初体验

spaCy是一个Python自然语言处理工具包,诞生于2014年年中,号称“Industrial-Strength Natural Language Processing in Python”,是具有工业级强度的Python NLP工具包。spaCy里大量使用了 Cython 来提高相关模块的性能,这个区别于学术性质更浓的Python NLTK,因此具有了业界应用的实际价值。初体验本人对S...

2018-09-02 01:32:50 1392

原创 Python随机数小结——random和np.random的区别与联系

在python中,有两个模块可以产生随机数: 1. python自带random包: 提供一些基本的随机数产生函数,可满足基本需要 2. numpy.random:提供一些产生随机数的高级函数,满足高级需求random 介绍 函数 功能 备注 random.random() 生成一个0-1之间的随机浮点数 random.uniform(a,...

2018-09-01 18:25:14 9171

原创 生成模型和判别模型的区别

先上结论公式上看生成模型: 学习时先得到 P(x,y)P(x,y)P(x,y),继而得到 P(y|x)P(y|x)P(y|x)。预测时应用最大后验概率法(MAP)得到预测类别 yyy。 判别模型: 直接学习得到P(y|x)P(y|x)P(y|x),利用MAP得到 yyy。或者直接学得一个映射函数 y=f(x)y=f(x)y = f(x)。直观上看生成模型: 关注数据是如何生成的 ...

2018-08-16 17:26:01 9390 1

原创 机器学习评价指标 ROC与AUC 的理解和python实现

本文所讲内容的前提是一个二分类的任务,多分类任务可以经过简单扩展用转化成二分类。评估一个二分类的分类器的性能指标有:准确率、查准率(precision)、查全率(recall)、F1值以及ROC和AUC等。前面几个比较直观,而ROC和AUC相对抽象一点,本文将重点放在后者。因为本文曾一度没搞清ROC,所以这次彻底搞明白。从混淆矩阵说起首先一个用分类器预测完后,我们会得到一个二分类的混淆...

2018-08-15 23:04:44 27785 7

原创 2019网易秋招笔试 编程题:俄罗斯方块

题目链接:https://www.nowcoder.com/questionTerminal/9407e24a70b04fedba4ab3bd3ae29704 来源:牛客网题目:俄罗斯方块小易有一个古老的游戏机,上面有着经典的游戏俄罗斯方块。因为它比较古老,所以规则和一般的俄罗斯方块不同。 荧幕上一共有 n 列,每次都会有一个 1 x 1 的方块随机落下,在同一列中,后落下的方块会...

2018-08-15 17:23:28 1719

原创 2019网易秋招笔试 编程题:塔

题目链接:https://www.nowcoder.com/questionTerminal/54868056c5664586b121d9098d008719 来源:牛客网题目小易有一些立方体,每个立方体的边长为1,他用这些立方体搭了一些塔。 现在小易定义:这些塔的不稳定值为它们之中最高的塔与最低的塔的高度差。 小易想让这些塔尽量稳定,所以他进行了如下操作:每次从某座塔上取下一块...

2018-08-15 17:16:55 1514

原创 2019网易秋招笔试 编程题:瞌睡

题目链接:https://www.nowcoder.com/questionTerminal/93f2c11daeaf45959bb47e7894047085 来源:牛客网题目小易觉得高数课太无聊了,决定睡觉。不过他对课上的一些内容挺感兴趣,所以希望你在老师讲到有趣的部分的时候叫醒他一下。你知道了小易对一堂课每分钟知识点的感兴趣程度,并以分数量化,以及他在这堂课上每分钟是否会睡着,你...

2018-08-15 17:03:27 2013

原创 《剑指offer》python : 40 最小的k个数

题目输入n个整数,找出其中最小的k个数。例如输入4、5、1、6、2、7、3、8 这8个数字,则最小的4个数字是1、2、3、4。法0:(最简单的思路)整体排序后取前k个数利用python自带sorted()函数。 复杂度为O( n log n),面试官会告诉你还有更快的算法return sorted(tinput)[:k]法1:基于Partition 函数思路:从3...

2018-08-08 21:16:21 777

原创 《剑指offer》python: 39 数组中出现次数超过一半的数字

题目数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。 例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。思路1快速排序,求中位数。 如果该数出现次数超过数组长度的一半,那么,排序之后,他应该位于数组的中间,即为中位数。 具体操作:随机选一数,第一次快排。 复杂度:...

2018-08-08 18:23:52 289

原创 【python】内建模块 collections 小结: namedtuple、deque、OrderedDict、defaultdict、Counter

Python内置了一些常用的数据类型,如str, int, list, tuple, dict等,而collections模块则在这个基础上提供了几个额外的小众的数据类型,在一些场景下会达到事半功倍的效果。具体如下:namedtuple(): 生成可以使用名字来访问元素内容的tuple子类deque(): 双端队列,可以快速的从另外一侧追加和推出对象Counter(): 计数器,...

2018-08-08 11:22:47 414

转载 (数值分析)各种插值法的python实现

一维插值插值不同于拟合。插值函数经过样本点,拟合函数一般基于最小二乘法尽量靠近所有样本点穿过。常见插值方法有拉格朗日插值法、分段插值法、样条插值法。拉格朗日插值多项式:当节点数n较大时,拉格朗日插值多项式的次数较高,可能出现不一致的收敛情况,而且计算复杂。随着样点增加,高次插值会带来误差的震动现象称为龙格现象。分段插值:虽然收敛,但光滑性较差。样条插值:样条插值是使用一种名为样条的特...

2018-08-04 17:09:53 126233 22

原创 Sublime Text3 的 Markdown 实时预览全面总结

如前文《Sublime Text3 的插件管理工具(Package Control)的安装及使用方法》所说,Sublime有强大的插件扩展功能,本文介绍如何在用Sublime写Markdown文档时,做到效果预览。1. 插件介绍先介绍两个有关Markdown的常用插件:MarkdownEditing 和 MarkdownPreviewMarkdownEditing顾名思义,Ma...

2018-08-03 02:20:44 147167 37

原创 Sublime Text3 的插件管理工具(Package Control)的安装及使用方法

Sublime是一款非常好用且流行的轻量级编辑器,除了代码高亮、语法提示等标配外,简约酷炫的外表看起来更是一种享受(最近一次更新从图标到界面更加扁平化),当然,Sublime只用到这个程度只能算是入门,更高级的玩法是插件扩展,这才是Sublime优于Editplus和Notepad++等轻量级的地方!在原生的Sublime上通过安装一些插件,就可以对编辑器做自定义(比如自定义字体,自定义主题配...

2018-08-03 00:59:13 28957 1

转载 偏差-方差分析

其实就机器学习算法来说,其泛化误差可以分解为两部分,偏差(bias)和方差(variance)。偏差指的是算法的期望预测与真实预测之间的偏差程度,反应了模型本身的拟合能力;方差度量了同等大小的训练集的变动导致学习性能的变化,刻画了数据扰动所导致的影响。如下图所示,当模型越复杂时,拟合的程度就越高,模型的训练偏差就越小。但此时如果换一组数据可能模型的变化就会很大,即模型的方差很大。所以模型过于复杂...

2018-08-01 22:04:18 2251

空空如也

空空如也

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

TA关注的人

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