自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

子藤的博客

子藤的学习笔记本

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

原创 莫凡Python学习笔记——Microbial Genetic Algorithm

微生物遗传算法(Microbial Genetic Algorithm) 这种算法是用来解决遗传算法中的一些问题,当我们在遗传的过程中,我们在利用原始的种群繁衍变异产生新的种群以后,原来的种群就消失了,但是有可能我们在这个过程也将好的个体丢失了,所以有可能变异之后的种群还没有原来的种群好。 那么所以我就应该在繁衍变异的过程中保留一部分好的基因,这就是Elitism问题。一句话来概括,就是:在袋子

2018-03-19 16:11:58 1183

原创 莫凡Python学习笔记——遗传算法(一):什么是遗传算法

说白了就是将达尔文的进化理论搬进了计算机。 DNA是由一组特定结构的数据组合而成,我们将数据看为DNA,import numpy as npimport matplotlib.pyplot as pltDNA_SIZE = 10 # DNA lengthPOP_SIZE = 100 # population sizeCROSS_RATE = 0.8

2018-03-18 16:24:48 1333

原创 剑指Offer(5)——不修改数组找出重复的数字

题目描述: 在一个长度为n+1的数组里的所有数字都在1~n的范围内,所以数组中至少有一个数字是重复的。请找出数组中任意一个重复的数字,但是不能修改输入的数组。按照二分查找的思路,将1-n分成两半,假如将1-n分成1-m和m+1到n。如果1~m中的数字的数目超过m,那就说明有重复数字;否则,另一半中一定有重复的数字。我们可以继续把包含重复数字的区间继续二分,直到找到一个重复的数字。class Sol

2018-03-17 18:25:52 1869

原创 剑指Offer(4)——字符串转整数

题目描述: 将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0 注意:这个题目条件给的比较全面,如果一个题只告诉我们要字符串转整数,我们也要注意问题的全面程度。class Solution: def strChageint(s): if s == '': print (0)

2018-03-16 16:56:33 250

原创 刷题系列之Python基础

1、题目描述: 下列表达式的值为True的是: A、5+4j > 2-3j B、3>2>2 C、(3,2)<(’a’,’b’) D、’abc’ >’xyz’对于A:复数不能比较大小 B: Python2支持连续比较,相当于3>2and2>2,所以B不对 C:元组类型的比较是元素多的大于元素少的,若元素个数相等,则从第一个元素开始依次向后比较,直到两个元素不相等才结束。也就是判断3<’a

2018-03-14 21:29:38 13817 7

原创 Python 直接赋值、浅拷贝和深拷贝

本文内容很多参考:http://www.runoob.com/w3cnote/python-understanding-dict-copy-shallow-or-deep.html直接赋值:赋值其实就是将变量指向对象的过程,Python中变量就相当于指针浅拷贝(copy):只拷贝父对象,不会拷贝对象内部的子对象。 深拷贝(copy.deepcopy()):及拷贝父对象也拷贝子对象。1、b=a

2018-03-14 16:12:49 409

原创 刷题系列之数组(一)

1、首先访问局部性有两种基本类型——时间和空间局部性。 时间局部性是指在相对较小的持续时间内对特定数据和/或资源的重用。 空间局部性是指在相对靠近的存储位置内使用数据元素。而对于数组来说,数据是顺序存储的,同一行的数据存储是连续的,而行与行之间存在内存跳跃,也就是行与行之间内存存储位置一般不连在一起,所以逐行访问跳跃最少,访问局部性最小。关于多维数组内存存储可以看下下面例子加强理解。

2018-03-14 14:35:40 215

原创 莫凡Python学习笔记——神经网络的检验(二):特征数据标准化

为了让神经网络更好的消化,我们需要对数据进行特征标准化。 一般的数据可能来源不同,规格不同,采集方式不同,以买房的例子为例: 离市中心的距离数据变化差距不是很大,楼层也不是很大,但是面积的变化差距还是挺大的。我们利用这三组数据对房子的价格进行预测,假如这里面面积对于价格的影响最大,但是神经网络并不知道,在误差反向传播的时候,误差的修正是每个参数平均分摊修正的,但是假如楼层对影响不大,面积影响大,

2018-03-12 11:49:02 2296 1

原创 莫凡Python学习笔记——神经网络的检验与评价(一):总括

在神经网络的训练学习中,有可能会因为各种各样的问题使得神经网络学习效率不高,或者因为干扰太多,学到最后也并没有学到太多规律,导致这些问题的原因有很多,可能是数据的问题,可能是学习效率等参数的问题。1、为了解决这些问题,我们通常将数据分为训练数据(70%)和测试数据(30%)2、误差:画出误差曲线 3、精度: 4、过拟合,泛化能力不够,也就是只是学习了并没有把学习到的东西进行扩展 我们可

2018-03-12 10:09:00 4923

原创 莫凡Python学习笔记——PyTorch动态神经网络(六):循环神经网络RNN

1、什么是循环神经网络RNNRNN是在有序的数据上进行学习的。 对于含有关联关系的数据,普通的神经网络并不能很好的体现或者是发现利用数据之间的关联关系。于是也就有了循环神经网络,它很善于分析内部有关联关系的序列数据,在单独分析数据的同时,也不忘考虑数据间的关系。 假如我们在分析Data0、Data1、Data2、Data3这些数据时,对于每个数据都经过相同的神经网络,如果这些数据是有关联顺序的,

2018-03-11 21:35:57 4685

原创 莫凡Python学习笔记——PyTorch 动态神经网络(五):卷积神经网络

一、什么是卷积神经网络CNN(深度学习)卷积神经网络也近些年来逐步兴起的一种人工神经网络,因为利用卷积神经网络在图像和语音识别方面能够给出更好的预测结果,所以这一技术也被广泛的传播可利用。卷积神经网络最常被应用的方面是图像识别,不过现在在视频分析,自然语言处理,药物发现等等都有了比较多的应用,很火的Alpha Go,也是利用了卷积神经网络,让计算机看懂围棋。卷积神经网络如何运作? 神经网络都是有一

2018-03-11 18:14:34 4166 2

原创 莫凡Python学习笔记——PyTorch动态神经网络(四)

1、优化器Optimizer 加速神经网络训练最基础的optimizer是 Stochastic Gradient Descent(SGD),假如红色方块是我们要训练的data,如果用普通的训练方法,就需要重复不断的把整套数据放入神经网络NN训练,这样消耗的计算资源会很大。 但是如果我们将数据大块分成一个个小块,分批放入网络中进行训练,这样虽然不能完整的反应全部数据的情况,但是却大大加快了训练速度

2018-03-09 21:30:55 818

原创 莫凡Python学习笔记——PyTorch动态神经网络(三)

接着之前的学习继续:1、快速搭建神经网络import torchfrom torch.autograd import Variableimport torch.nn.functional as Fimport matplotlib.pyplot as pltn_data = torch.ones(100,2)x0 = torch.normal (2*n_data,1)y0 = torch.

2018-03-09 20:58:35 520

原创 剑指Offer(3)——数组中重复的数字

题目 在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是重复的数字2或者3。 (排序一个长度为n的数组需要O(nlogn)的时间)注意测试用例:(注意考虑问题的全面性)长度为n的数组里包含一个或多个重

2018-03-08 20:44:20 287

原创 剑指Offer(2)——替换空格

题目描述 请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。这道题考察的知识点是字符串 题目相对来说比较简单,只需要用到str的replace函数就可以了class Solution: def replaceSpace(self,s): s = s.replace('

2018-03-08 12:00:39 244

原创 剑指Offer(1)——二维数组的查找

题目描述 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。这道题考察的是数组和查找。可能有人一上来会没有头绪,当我们需要解决一个复杂的问题时,一个很有效的办法就是从一个具体的问题入手,通过分析简单具体的例子,试图寻找普遍的规律。以上面的二维数组为例,我们从具体问题出发,来找规律:

2018-03-08 11:32:17 325

原创 Numpy学习(一)—— ndarray 对象

numpy是Python的一个科学计算模块,在numpy中,使用ndarray对象表示数组,它是整个库的核心,numpy中所有的操作都围绕ndarray对象进行处理。 ndarray 是存储单一数据类型的多维数组。1、创建数组首先需要创建数组,可以利用array()函数import numpy as npa = np.array([1,2,3])b = np.array([[2,3,4],[3

2018-03-07 21:42:10 795

原创 数据结构(一)——数组

数组数组可以说是一种最简单的数据结构,它占据一块连续内存并按照顺序存储数据。我们在创建数组是要首先指定数组的空间大小,假如我们只在这个数组中存储一个数据,那也是占据着整块内存,所以它的空间效率并不高。因为数组中的内存是连续的,所以我们可以下标在O(l)时间读写任何元素,因此它的时间效率是很高的。 我们可以根据数组时间效率高的优点,用数组来实现简单的哈希表:把数组的下标设为哈希表的键值(Key),而

2018-03-07 12:19:00 423

原创 莫凡Python学习笔记——PyTorch动态神经网络(二)

利用PyTorch搭建神经网络神经网络可以使用PyTorch的torch.nn包来构建。 autograd实现了反向传播的功能,但是直接用来深度学习的代码在很多情况下还是稍显复杂。 torch.nn是专门为神经网络设计的模块化接口,nn构建于autograd之上,可以用来定义和运行神经网络。nn.Moudle是nn中最重要的类,可把它看成是一个网络的封装,包含网络各层定义以及forward方法,

2018-03-06 21:09:26 2462

原创 莫凡Python学习笔记——PyTorch动态神经网络(一)

PyTorch是什么?它是一个基于Python的科学计算包,其主要是为了解决两类场景:1、一种是可以替代Numpy进行科学计算,同时还可以使用张量在GPU上进行加速运算。 2、一个深度学习的研究平台,提供最大的灵活性和速度。一、Tensors(张量)Tensors形式是一个和Numpy的ndarrays很像的对象类型,但是性能上有其特殊之处就是可以利用张量在GPU上加速运算。from __futu

2018-03-04 22:02:20 3015

空空如也

空空如也

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

TA关注的人

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