- 博客(35)
- 收藏
- 关注
原创 Python-NumPy
NumPy核心数据结构:ndarrayNumPy的数组类被称作ndarray。通常被称作数组。注意numpy.array和标准Python库类array.array并不相同,后者只处理一维数组和提供少量功能。 一种由相同类型的元素组成的多维数组,元素数量是事先给定好的。 元素的数据类型由dtype对象来指定,每个ndarray只有一种dtype类型。 ndarray的大小固定,创建好数组后大小是不会再发生改变的。ndarray创建可以通过numpy模块中的常用的几个函数进行创建ndarray
2020-08-18 00:13:27
297
原创 Python多线程与多进程
Python多线程模块thread模块 threading模块推荐使用threading模块,因为thread不支持守护线程。当主线程退出时,所有的子线程不管它们是否还在工作,都会被强行退出。有时我们并不希望发生这种行为,这时就引入了守护线程的概念。threading模块支持守护线程。#多线程def music(name,loop): for i in range(loop): print(‘listen music %s %s’%(name,time.ctime())) time
2020-08-10 00:30:40
247
原创 自编码器概论
判定模型与生成模型判定模型对条件概率分布P(y|x)进行建模,即在特征x出现的情况下标记y出现的概率。其本质是根据X判定Y。举例:若要确定一只羊是山羊还是绵羊,需从历史数据中训练得到判定模型,通过提取这只羊的特征来判断这只羊是山羊的概率大还是绵羊的概率。生成模型对联合概率分布P(x,y)进行建模,即特征x和标记y共同出现的概率。通过贝叶斯公式求得使p(yi|x)值最大的yi。其本质是联合概率分布可以理解为“生成”(X,Y)样本的依据。已知X,从Y的候选集中任选一个,可能有(X,Y1),…
2020-06-20 11:58:11
678
原创 机器学习策略(下篇)
进行误差分析如果我们希望让机器学习算法能够胜任人类能做的任务,但我们的机器学习算法没有达到人类的表现,那么人工检查一下我们的机器学习算法犯的错误能够让我们了解接下来应该做什么,这个过程称为误差分析。误差分析实例 开发集中算法识别错误的例子 Image 狗图 大型猫科动物 模糊图片 评价 1 Y .
2020-06-18 22:11:49
189
原创 机器学习策略(上篇)
正交化要完善一个监督学习系统,通常需要调整系统的参数。我们要确保四件事情:必须确保至少系统在训练集上得到不错的结果。所以训练集上的表现必须通过某种评估,达到能接受的程度。对于某些系统,可能意味着达到人类水平的表现。 确保系统在开发集上有好的表现。 确保系统在测试集上有好的表现。 确保系统的成本函数在实际使用中表现令人满意。正交化过程如果算法不能很好地拟合训练集,我们希望有一组独立的“旋钮”用来确保我们可以调整我们的算法,使它很好地拟合训练集,这组“旋钮”可以是训练更大的网络或者切换更好的
2020-06-17 21:38:49
255
1
原创 深度学习框架概览
深度学习框架主流框架概览Caffe CNTK DL4J Keras Lasagne Mxnet PaddlePaddle TensorFlow Theano Torch框架选择标准便于编程。既包括神经网络的开发和迭代,还包括为产品进行配置。 运行速度。特别是训练大型数据集时,一些框架能够让我们高效地运行和训练神经网络。 框架是否真的开放。它不仅需要开源,而且需要良好的管理。TensorFlow实例import numpy as npimport tensorfl
2020-06-16 14:00:39
140
原创 Softmax回归
Softmax回归前述所有分类的例子都使用了二分分类,这种分类只有两种可能的标记,0或1。有一种logistic回归的一般形式,叫做Softmax回归,能够让我们在识别多种分类中的一个,不只是识别两个分类。图 1训练集假设不单需要识别猫,而是想要识别猫、狗和小鸡。我们把猫叫做类1,狗为类2,小鸡是类3,如果不属于以上任何一类就分到“其他”即类0。我们用符号C表示我们的输入被分入的类别总个数。图 2 带Softmax层的神经网络在上述例子中,输出层的单元数量一般而言等于C,..
2020-06-16 00:11:06
183
原创 Batch正则化
正则化网络的激活函数在深度学习兴起后,最重要的一个思想是它的一种算法叫做batch归一化。Batch归一化会使你的参数搜索问题变得很容易,使神经网络对超参数的选择更加稳定。对logistic回归进行归一化输入特征,帮助我们更有效的训练w和b。对一个深层网络而言,如果我们可以归一化z[2],同样会更有效的帮助我们训练w[3]和b[3]。图 1 batch归一化通过上述处理,我们使得z的每一个分量都含有平均值0和方差1.但我们不想让隐藏单元总是含有平均值0和方差1,也许隐藏单元有了不同的.
2020-06-15 23:36:59
530
原创 超参数调试
调试处理神经网络的改变会涉及到许多不同超参数的设置。实验表明,一些超参数比其它的更为重要。学习率α是需要调试的最重要的超参数。momentum中的β,隐层中的单元数以及mini-batch的大小是其次比较重要的。重要性排第三位的是层数,学习率衰减。在使用Adam算法是β1、β2以及ε通常使用默认值。在深度学习领域,我们通常随机选择点,接着用这些随机点试验超参数的效果。因为对于要解决的问题而言,很难提前知道哪个超参数最重要。我们使用随机取值而不是网格取值表明,我们研究了更多重要超参数的潜在值。
2020-06-15 19:56:19
510
1
原创 深度学习的优化算法
Mini-batch梯度下降法什么是Mini-batch梯度下降法在对整个训练集执行梯度下降法时,我们必须处理整个训练集,然后才能进行一步梯度下降法。然后需要再重新处理整个训练集才能进行下一步梯度下降法。如果在处理完整个训练集前先让梯度下降法处理一部分,算法的速度会更快。我们可以把训练集分割为小一点的子训练集,这些子集被取名叫Mini-batch。对x的训练集和y的训练集都需作相应的拆分,分别使用符号x{t}和y{t}表示其中第t个子集。我们来解释一下Mini-batch算法的名称。batc
2020-06-15 16:06:17
407
原创 深度学习的实用层面
训练/验证/测试集应用型机器学习是一个高速迭代的过程,需要多次循环才能为应用程序找到一个称心的神经网络。项目启动时,我们会有一个初步想法,然后编码并尝试运行这些代码,通过运行和测试得到该神经网络以及配置信息的运行结果,最后可能会根据结果重新完善自己的想法或者更新自己的方案。图 1循环效率是决定项目进度的一个关键因素,而创建高质量的训练数据集、验证集和测试集也有助于提高循环效率。我们通常会将数据集划分为几个部分,一部分作为训练集,一部分作为简单交叉验证集,最后一部分作为测试集。接下来我.
2020-06-14 21:22:13
203
原创 深层神经网络
深层神经网络图 1深层神经网络深度学习其实就是有很多隐层的神经网络。图1是四层的有三个隐层的神经网络,隐层中的单元数目是五、五、三,然后有一个输出单元。我们用符号L表示神经网络的层数,图1中的神经网络可表示为L=4。我们使用n[i]表示第i层的单元数,比如图1中第一层的单元数可表示为n[1]=5。我们通过n[0]=nx=3表示输入层的单元数。我们使用a[i]表示第i层中的激活函数,通常会看到a[i]=g(z[i])。我们使用w[i]表示在a[i]中计算z[i]值的权重,z[i]方程中的b[i]
2020-06-13 22:37:55
239
原创 浅层神经网络
神经网络表示图 1 只有一个隐藏层的神经网络我们有输入特征x1,x2,x3竖直堆叠起来,这是神经网络的输入层。中间有另外一层的圆圈,我们称之为神经网络的隐藏层。最后一层只有一个节点,这个只带一个节点的层就是输出层,它负责输出预测值y帽。在一个神经网络中,当你使用监督学习训练它的时候,训练集包含了输入x,以及目标输出y。“隐藏层”的含义是,在训练集中,这些中间节点的真正数值我们是不知道的,在训练集中不看到它们的数值。我们可以在训练集中看到输入值x和输出y,但是隐藏层中的值在训练集中无法看到,这就
2020-06-13 15:56:33
435
原创 神经网络基础
二分分类假若有一张图片作为输入,如图1所示。用户想输出识别此图的标签,如果是猫输出1,否则输出0,我们用y来表示输出的结果标签。图1计算机保存一张图片,要保存三个独立矩阵,分别对应图片中的红、绿、蓝三个颜色通道。如果输入的图片像素是64×64,就有三个64×64的矩阵分别对应图片中的红、绿、蓝三种像素的亮度。要把这些像素亮度值放进一个特征向量中,就要把这些像素值都提取出来放入一个特征向量x。为了把这些像素值提取出放入特征向量,我们会得到一列很长的列向量,把图片中所有的红、绿、蓝像素强度值都列出
2020-06-12 22:24:26
239
原创 深度学习概论
什么是神经网络图 1Housing price prediction上述神经网络是有四个输入的神经网络,输入的特征是房屋大小、卧室数量、邮政编码和周围的富裕程度。已知这些输入特征,神经网络的工作就是预测对应的价格。图中蓝色的圆圈,在一个神经网络中,它们被叫做“隐藏单元”,每个输入都同时来自四个特征,神经网络自己决定这个特征是什么,我们只给其四个输入特征,随便其怎么计算。值得注意的是,只要给神经网络足够的x、y训练样本,神经网络非常擅长于计算从x到y的精准映射函数。什么是监督学习在监督学.
2020-06-12 14:46:11
176
原创 Python异常和time
认识异常Python遇到错误后,会引发异常。如果异常对象并未被处理或捕捉,则程序就会用所谓的回溯(Traceback,一种错误信息)来终止执行处理异常异常是指在程序运行过程中发生的一个事件,会影响程序的正常运行,所以一般需要进行捕获异常并处理。 异常的捕获使用try/except/finally语句进行捕获操作,并告诉python发生异常时怎么办#捕获异常try: print(aaa) #如果这句话有错,就会捕获到异常except NameErroe: #NameError 异常
2020-06-11 23:05:01
250
原创 Python模块与包
模块简介在实际开发中我们不可能不用到系统的标准模块,或第三方模块。如果想实现与时间有关的功能,就需要调用系统的time模块。如果想实现文件和文件夹有关的操控,就需要用到os模块。再例如我们通过Selenium实现的Web自动化测试,那么Selenium对于Python来说就是一个第三方扩展模块。每一个Python脚本文件都可以被当成是一个模块。模块以磁盘文件的形式存在。当一个模块变得过大,并且驱动了太多功能的话,就应该考虑拆一些代码出来另外建一个模块。模块里的代码可以是一段直接执行的脚本,也可以
2020-06-11 22:04:01
134
原创 Python面向对象编程
面向对象编程的方式面向过程:根据业务逻辑从上到下写代码。函数式:将某功能代码封装到函数中,日后无需重复编写,仅调用函数即可。面向对象:对函数进行分类和封装,让开发更快更好更强什么是面向对象面向对象就不像面向过程那样按照功能模块划分模块了,它所关注的是软件系统有哪些参与者,把这些参与者称为对象,找出这些软件系统的参与者也就是对象之后,分析这些对象有哪些特征、哪些行为,以及对象之间的关系,所以说面向对象的开发核心是对象。图 1面向对象什么是类面向对象编程的两个非常重要.
2020-06-11 15:14:53
157
原创 Python函数
函数概述函数是组织好的、可重复使用的、用户实现单一或者关联功能的代码段。函数能够提高应用的模块性和代码的重复使用率。函数的定义规则函数代码块以def关键词开头,后接函数标识符名称和圆括号() 任何传入参数和自变量必须放在圆括号中间 函数的第一行语句可以选择性使用文档字符串——用于存放函数说明 函数内容以冒号起始,并且缩进。格式def 函数名([参数]): #函数说明 要封装的代码段调用函数Python内置了很多函数,内置函数可以直接调用。调用一个函数需要知道函数的名称
2020-06-10 14:50:18
208
原创 Python循环语句
什么是循环语句循环语句就是在符合条件的情况下,重复执行一个代码段。Python中的循环语句有while和for。while循环while是一个条件循环语句,与if一样,它也有条件表达式。如果条件为真,while中的代码就会一直循环执行,直到循环条件不再为真才停止。语法while条件: 代码块总结while循环语句可以依据条件来重复做一件事情。while循环嵌套if中可以再嵌套if,那么while中可以嵌套while循环,从而实现一些特殊的效果。语法w.
2020-06-09 20:22:18
232
原创 Python条件判断语句
简单的if语句if语句是用来进行判断的,最简单的if语句只有一个判断一个操作。语法if条件: 条件成立,执行代码块if-else和其它语言一样,python中也提供了与if搭配使用的else语句,else表示否则。在没有通过if判断的时候,执行的另一个操作。语法if条件: 满足条件执行的代码块1else: 没有满足if条件执行的代码块2if-elif-else一个if只能有一个else,但是可以拥有多个elif。Python中没有switch-...
2020-06-09 14:14:09
324
原创 Python变量与基本数据类型
变量变量可以理解为内存空间的门牌号。标识符什么是标识符标识符是自己定义的,如变量名、函数名等。标识符命名规则只能包含字母、数字和下划线。变量名可以以字母或者下划线开头。但是不能以数字开头。 不能包含空格,但可以使用下划线来分隔其中的单词。 不能使用Python中的关键字作为变量名 建议使用驼峰命名法,驼峰式命名分为大驼峰(UserName)和小驼峰(userName)。 严格区分大小写数据类型NumberintPython可以处理任意大小的整数,当然包括负整数,
2020-06-07 21:01:07
161
原创 Python扫盲
Python的优缺点Python的优点简单、易学 免费、开源 可扩展性、可嵌入性 丰富的库Python的缺点运行速度慢 正文资料匮乏 代码不能加密Anaconda环境Anaconda是一个用于科学计算的Python发行版。提供了包管理与环境管理的功能,可以很方便地解决多版本python并存。利用conda命令来进行包管理和环境管理。使用conda管理包安装命令:conda install xxx查看命令:conda list xxx更新命令:conda upda
2020-06-06 21:19:27
130
原创 数据挖掘与生物信息学
什么是数据挖掘(Data mining)数据挖掘,又称为数据库中知识发现。它是一个从大量数据中抽取挖掘出未知的、有价值的模式或规律等知识的过程,与数据库有着密切的联系。数据挖掘应用的领域非常广泛,生物医药领域也不例外。比如,大数据和精准医疗!不是搜集了大量体检报告就可以算作拥有了大数据,就可以用于精准医疗。大数据有四字箴言:大、快、杂、疑,即大数据资料量庞大、变化飞快、种类繁杂、以及真伪存疑。图 1 大数据四字箴言数据挖掘三要素统计 数据库系统 机器学习数据库数据库系统数据
2020-06-06 10:41:26
1447
原创 统计基础和序列算法
贝叶斯公式及其生物学应用通常,事件A在事件B发生的条件下发生的概率,与事件B在事件A发生的条件下发生的概率是不一样的。然而,这两者是有确定的关系的,贝叶斯公式就是描述这种条件关系概率的公式。贝叶斯公式的应用贝叶斯方法在蛋白质耐热性分类中的应用。二元预测的灵敏度和特异度生物学中灵敏度和特异度的应用富亮氨酸重复序列的预测。基本序列算法序列算法为研究生物序列而开发出的计算复杂度尽可能低的算法。比如,如何从序列中快速准确的找到重复序列。生物序列包括核酸序列,蛋白质序列或其
2020-06-06 00:51:58
216
原创 高通量测序与生物信息学面临的挑战
基因组学与测序技术高通量测序(High throughput sequencing)顾名思义,相较于常规测序技术,其通量有显著的提高。核心机理是采用高密度芯片实现并行测序技术,每个点就是一个测序反应。高通量测序技术在精准医学中的应用疾病基因筛查(Identify new disease genes) 基因组遗传病筛查(Genomics-based diagnostics) 精准诊断及治疗(Precision treatment)生物信息学面临的挑战数据规模庞大 数据类型负责 技
2020-06-05 22:26:26
1057
原创 蛋白质结构预测与分析
蛋白质的结构一级结构氨基酸序列二级结构周期性的结构构象三级结构整条多肽链的三维空间结构四级结构多个亚基形成的复合体结构蛋白质的二级结构蛋白质经过折叠后会形成规则的片段,这些规则的片段构成了蛋白质的二级结构单元。图 1蛋白质的二级结构DSSP指认DSSP(Definition of Secondary Structure of Proteins),即蛋白质二级结构定义词典。DSSP并不预测二级结构,而是根据二级结构的定义对已经测定三级结构的蛋白质的各.
2020-06-05 19:53:40
11925
原创 分子进化与系统发生
基本概念分子进化利用软件,从分子水平(DNA、RNA、蛋白质序列)而不是基于物种的外在特征来构建各种生物间的系统发生树。其准确度依赖软件的优劣及参数的设置。分子进化理论基于两个基本假设:DNA、RNA或蛋白质序列包含了物种的所有进化史信息 分子钟理论:一个特定蛋白质的进化变异的速度在不同物种中是基本恒定的。即两个蛋白质的序列越相近,他们距离共同祖先就越近。同源(Homologs)来源于共同祖先的相似的序列为同源序列。相似序列并不一定是同源序列。同源只能定性描述,不能定量描述。
2020-06-04 23:11:27
1100
原创 序列比较(下篇)
多序列比对介绍多序列比对,指对两条以上的生物序列进行全局比对。多序列比对的用途确认:一个未知的序列是否属于某个家族。 建立:系统发生树,查看物种间或者序列间的关系。 模式识别:一些特别保守的序列片段往往对应重要的功能区域,通过多序列比对,可以找到这些保守的片段。 已知推未知:把已知有特殊功能的序列片段通过多序列比对做成模型,然后根据该模型推测未知的序列是否也具有该功能。 其他:预测蛋白质/RNA的二级结构。多序列比对的算法目前所有的多序列比对工具都不是很完美的,它们都使用一种近似的
2020-06-04 21:08:54
1980
原创 序列比较(中篇)
在线双序列比对工具EMBL全局双序列比对工具Gap的类型及分值设置调整gap open和gap extend以达到期望的比对结果。EMBL局部序列比对工具其他在线双序列比对工具 软件名 比对类型 EMBL Global/Local PIR Global Lalign Global/Local LAGAN
2020-06-04 18:04:06
1211
原创 序列比较(上篇)
认识序列蛋白质序列由20个不同的字母(氨基酸)排列组合而成。核酸序列包括DNA序列和RNA序列。由4个不同的字母(碱基)排列组合而成。FASTA格式第一行:大于号加名称或其它注释。第二行以后:每行60个字母(也有80的,不一定)。序列相似性数据库中的序列相似性搜索对于一个蛋白质或核酸序列,你需要从序列数据库中找到与它相同或相似的序列。不可能再用眼睛去比较每一对序列,因为数据库中有太多序列,甚至用眼睛去比较一对序列都是不可能做到的。序列相似性的重要性相似的序列往
2020-06-04 14:45:58
4170
原创 生物数据库
生物数据库的定义生物数据库是被组织起来的大量生物数据,这些数据通过计算机可以被方便的访问、管理及更新。生物数据库的分类核酸数据库一级核酸数据库:存储的是通过各种科学手段得到的最直接的基础数据。如测序获得的核酸序列等。二级核酸数据库:是通过对一级数据中数据的分析整理归纳注释构建的具有特殊生物学意义和专门用途的数据库。如从三大核酸数据库和基因组数据库中提取并加工出的果蝇和蠕虫数据库。蛋白质数据库一级蛋白质数据库:存储的是通过各种科学手段得到的最直接的基础数据。如X射线衍射法获得的蛋白
2020-06-03 23:12:47
4156
原创 生物信息学绪论
生物信息学的定义HGP第一个五年总结报告:生物信息学是一门交叉学科、它包含了生物信息的获取、加工、存储、分配·、分析、解释等在内的所有方面,它运用数学、计算机科学和生物学的各种工具阐明和解释大量数据所包含的生物学意义。美国乔治亚理工大学:生物信息学是采用数学、统计学和计算机科学,分析生物学、生物化学和生物物理学数据的一门综合性学科。美国加州大学洛杉矶分校:生物信息学是对生物信息和生物学系统内在结构的研究,它将大量系统的生物学数据与数学和计算机科学的分析理论及应用工具联系起来。结论:生物信息学
2020-06-03 13:00:55
668
1
原创 皮尔逊相关系数(Pearson Correlation)
一、欧几里德距离欧几里德距离(Euclidean Distance)是机器学习中常见的相似度的计算方式。它被用来求两个向量间的距离,取值范围为0至正无穷。两个向量间的距离较小,两个向量越相似。欧几里德距离计算时默认对每一个维度给予相同的权重,如果某一维度较之其它维度而要取值范围差别很大,结果很容易被某个维度所决定。因此,可以使用加权欧几里德距离,给不同维度赋予不同权重。欧几里德距离的计算公式为:d(x,y)=。其中表示用户X对物品i的评价,表示用户Y对物品i的评价。物品i为用户x和y共同评价的物品。
2020-06-02 23:29:34
46883
2
原创 Maven项目day_01
一JAVA WEB项目 前端界面实现流程1.美工人员根据用户需求使用PhotoShop制作出网站页面的样例图。2.前端开发工程师根据样例图制作出静态网页,这个过程俗称“切图”。3.后端开发工程师将静态网页转换为动态网页。二 使用Navicate导入SQL文件1.新建连接。连接密码需与数据库密码一致,否则无法打开连接。2.新建数据库。数据库名可任取。3.选中数据库,点击鼠标右键,选择运...
2019-07-07 11:48:34
171
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人