自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(44)
  • 收藏
  • 关注

原创 fasta转csv——正则表达式高效实现

import pandas as pdimport reimport timeit'''记录代码执行时间 1/2'''start = timeit.default_timer()'''正则表达式'''pattern_title = re.compile(r'^>.*', re.M)pattern_n = re.compile(r'\n')'''读取文件内容'''with open('文件名.fasta', 'r', encoding='utf-8') as f: tex

2021-04-04 16:01:00 476 2

原创 线性代数——二次型和矩阵的正定

文章目录引言二次型二次型化标准形和规范形正定二次型引言绘制二次曲线xy=1xy=1xy=1和y22−x22=1\frac{y^2}{2}-\frac{x^2}{2}=12y2​−2x2​=1的图像import numpy as npimport matplotlib.pyplot as pltimport mpl_toolkits.axisartist as axisartist# 创建画布fig = plt.figure(figsize=(12, 6))# 使用axisartist.

2020-05-29 20:24:46 1218

原创 线性代数——相似矩阵和矩阵对角化

文章目录相似矩阵矩阵的对角化对称矩阵的对角化对称阵A对角化的步骤相似矩阵设A,B都是n阶矩阵,若有可逆矩阵P,使P−1AP=B,P^{-1}AP=B,P−1AP=B,则称B是A的相似矩阵,或说矩阵A与B相似,对A进行运算P−1APP^{-1}APP−1AP称为对A进行相似变换,可逆矩阵P称为把A变成B的相似变换矩阵。定理:若n阶矩阵A与B相似,则A与B的特征多项式相同,从而A与B的特征值亦相同。证明:|B-λE| = |P-1AP-P-1(λE)P| = |P-1(A-λE)P| = |P-1|

2020-05-28 21:20:58 13734

原创 线性代数——矩阵的特征值和特征向量

文章目录概念和几何意义算法和性质Numpy求特征值和特征向量Numpy求解矩阵方程(求解线性方程组Ax=b)概念和几何意义设A是n阶矩阵,如果数λ和n维非零列向量x使关系式Ax=λxAx=\lambda xAx=λx成立,那么,这样的数λ称为矩阵A的特征值,非零向量x称为A的对应于特征值λ的特征向量。从线性变换y = Ax的角度来看:若A为正交矩阵,则y与x的长度相同;若x为A的对应于特征值λ的特征向量,则y与x的方向相同,长度是x的λ倍。上式可写成(A−λE)x=0,(A-\lambda

2020-05-26 23:19:19 3108

原创 线性代数——向量的内积、范数、正交,向量组的线性相关性和向量空间

文章目录向量的内积性质柯西不等式范数性质相似度向量组的线性相关性向量空间正交规范正交基正交矩阵正交变换向量的内积设有n维向量x=[x1x2⋮xn],y=[y1y2⋮yn],x=\begin{bmatrix}x_1\\ x_2\\ \vdots\\ x_n\end{bmatrix},y=\begin{bmatrix}y_1\\ y_2\\ \vdots\\ y_n\end{bmatrix},x=⎣⎢⎢⎢⎡​x1​x2​⋮xn​​⎦⎥⎥⎥⎤​,y=⎣⎢⎢⎢⎡​y1​y2​⋮yn​​⎦

2020-05-26 13:10:21 2647

原创 线性代数——矩阵的秩

文章目录秩的概念秩的性质线性方程组的解矩阵可逆的充要条件秩的概念在m×n矩阵A中,任取k行与k列(k≤m,k≤m),位于这些行列交叉处的k2个元素,不改变它们在A中所处的位置次序而得的k阶行列式,称为矩阵A的k阶子式。在m×n矩阵A的k阶子式共有Cmk⋅CnkC^k_m\cdot C^k_nCmk​⋅Cnk​个。设在矩阵A中有一个不等于0的r阶子式D,且所有r+1阶子式(如果存在的话)全等于0,那么D称为矩阵A的最高阶非零子式,数r称为矩阵A的秩,记作R(A)。规定零矩阵的秩等于0.n阶矩阵A

2020-05-25 15:52:59 5105

原创 线性代数——矩阵的初等变换与矩阵等价

文章目录初等变换的概念初等行变换初等列变换初等变换矩阵等价性质求解线性方程组三种初等矩阵(对应三种初等变换)性质定理应用初等变换的概念初等行变换对调两行(对调i、j两行,记作ri↔rj)以数k≠0乘某一行中的所有元素(第i行乘k,记作ri×k)把某一行所有元素的k倍加到另一行对应的元素上去(第j行的k倍加到第i行上,记作ri+krj)初等列变换把初等行变换定义中的“行”换成“列”,记号中的“r”换成“c”,即可。初等变换矩阵的初等行变换与初等列变换,统称为初等变换。初等变换是可

2020-05-25 10:06:20 6075

原创 线性代数——方阵的行列式、伴随矩阵、逆矩阵

文章目录方阵的行列式性质伴随矩阵性质逆矩阵性质Numpy中逆矩阵的函数方阵的行列式由n阶方阵A的元素所构成的行列式,称为方阵A的行列式,记作|A|。性质|AT| = |A||λA| = λn|A||AB| = |A| |B|伴随矩阵行列式|A|的各个元素的代数余子式Aij所构成的如下矩阵A∗=[A11A21⋯An1A12A22⋯An2⋮⋮⋮A1nA2n⋯Ann]A^*=\begin{bmatrix}A_{11} & A_{21} & \cdots &

2020-05-24 17:13:19 6790

原创 线性代数——行列式

文章目录行列式的引入行列式的计算与重要性质行列式按行(列)展开,代数余子式克莱姆法则行列式的引入行列式的计算与重要性质行列式按行(列)展开,代数余子式克莱姆法则

2020-05-24 11:47:01 2217

原创 线性代数——矩阵及其运算

文章目录矩阵的基本概念矩阵的意义矩阵的基本运算(加,减,乘)矩阵加法矩阵数乘矩阵乘法矩阵的迹(方阵)矩阵的转置对称矩阵(方阵)矩阵的基本概念A=[a11a12⋯a1na21a22⋯a2n⋮⋮⋮am1am2⋯amn]A = \begin{bmatrix}a_{11} & a_{12} & \cdots & a_{1n}\\ a_{21} & a_{22} & \cdots & a_{2n}\\ \vdots & \vdots &

2020-05-23 10:15:26 1129

原创 提升代码质量——Python之禅与时间复杂度分析

文章目录第一部分 Python之禅第二部分 时间复杂度分析2.1 常见时间复杂度2.2 三集不相交问题2.3 元素唯一性问题2.4 第n个斐波那契数2.5 最大盛水容器2.6 是不是时间复杂度低就一定好?2.7 影响运算速度的因素第一部分 Python之禅import thisThe Zen of Python, by Tim PetersBeautiful is better than ugly.Explicit is better than implicit.Simple is bett

2020-05-17 19:06:03 222

原创 机器学习算法库——scikit-learn基础

文章目录第一部分 数据预处理1.1 下载数据集1.2 数据集的查看1.3 数据清洗(选择特征,处理缺失值等)1.4 标签编码 LabelEncoder1.5 数据集的标准化 StandardScaler1.6 构建训练集和测试集(本文暂不考虑验证集)第二部分 五大基本数据分类算法2.1 k近邻算法2.1.1 基本思想2.1.2 sklearn实现2.1.3 可视化2.2 朴素贝叶斯算法2.2.1 基本思想2.2.2 sklearn实现2.2.3 可视化2.3 决策树算法2.3.1 基本思想2.3.2 skl

2020-05-17 13:49:16 1437 3

原创 数据可视化库——Matplotlib、Seaborn、Pandas

文章目录第一部分 环境配置1.1 要不要plt.show()1.2 设置样式1.3 将图像保存为文件 plt.savefig第二部分 Matplotlib库2.1 折线图 plt.plot绘制多条曲线2.1.1 调整线条和标记点调整线条颜色 color c调整线条风格 linestyle ls调整线宽 linewidth lw调整数据点标记 marker调整标记大小 markersize ms颜色跟风格设置的简写2.1.2 调整坐标轴plt.xlim 设置上下限plt.axis?plt.axis 查看plt

2020-05-16 19:10:39 1289

原创 数据分析处理库——Pandas基础

文章目录引子第一部分 对象创建1.1 Pandas Series对象1.1.1 用列表创建1.1.2 用一维numpy数组创建1.1.3 用字典创建1.1.4 data为标量的情况1.2 Pandas DataFrame对象1.2.1 通过Series对象创建1.2.2 通过Series对象字典创建1.2.3 通过字典列表对象创建1.2.4 通过Numpy二维数组创建第二部分 DataFrame性质注意!!!索引和切片等操作,如果用单层[],获取到的是Series对象,是视图,如果用双层[],获取到的是Da

2020-05-15 22:24:58 425

原创 Jupiter Notebook使用简介

安装Anaconda之后会自带Jupiter Notebook找到Jupiter Notebook的快捷方式,右键 → 属性把目标的最后,以及起始位置,改成自定义的工作目录双击快捷方式,或者通过开始菜单打开,会在浏览器中看到刚刚设定的工作目录新建脚本:New → Python 3在工作目录中会出现新建的.ipynb文件重命名:File → Rename运行:点击运行按钮,或者ctrl + enter...

2020-05-11 15:07:04 1537

原创 Pycharm的安装、使用和连接远程服务器

文章目录安装步骤用PyCharm新建一个项目创建python虚拟环境选择python解释器Pycharm连接远程服务器配置服务器上传代码查看远程服务器上的文件设置Python解释器命令行PyCharm是强大的 Python IDE,拥有调试、语法高亮、Project管理、代码跳转、智能提示、版本控制等功能。安装步骤官网下载安装包 https://www.jetbrains.com/pycharm/安装包分为专业版(收费)和共享版(免费)如果需要连接远程服务器,必须选择专业版,否则选择共享版即

2020-05-11 13:44:42 1459

原创 Anaconda的安装、换源和使用

文章目录第一部分 Anaconda简介第二部分 安装步骤WindowsLinux第三部分 换源3.1 将pip源更换到国内镜像默认源国内镜像临时使用永久修改WindowsLinux3.2 conda 切换为国内源清华源(2019年停止服务,不知道会不会恢复)中科大源(推荐)Windows方法一 Anaconda Navigator方法二 命令行 Anaconda Prompt添加清华源添加中科大源先查看已经安装过的镜像源删除源换回默认源Linux第四部分 Anaconda常用命令查询安装信息查看当前存在哪些

2020-05-11 12:33:36 10640 1

原创 Python入门——变量、输入输出、PEP8、注释

第二部分 变量2. 变量的命名2.1 哪些可以用来做变量名?大写字母、小写字母、数字、下划线、汉字及其组合。严格区分大小写Python_is_第1名 = Truepython_is_第1名 = False2.2 哪些情况不被允许?首字符不允许为数字 变量名中间不能有空格不能与33个Pyhton保留字相同and as assert break class continue defdel elif else except False finally forfrom global if

2020-05-10 17:16:46 556

原创 科学计算库——Numpy基础

文章目录第一部分 为什么要用Numpy1.1 低效的Python for循环1.2 Numpy为什么如此高效1.3 什么时候用Numpy第二部分 Numpy数组的创建2.1 从列表开始创建设置数组的数据类型二维数组2.2 从头创建数组2.2.1 np.zeros 创建值都为0的数组2.2.2 np.ones 创建一个值都为1的数组2.2.3 np.full 创建一个值都为指定数字的数组2.2.4 ...

2020-05-04 23:27:03 537

原创 Python进阶——time、random、collections、itertools

Python自身提供了比较丰富的生态,拿来即用,可极大的提高开发效率10.1 time库Python处理时间的标准库1、获取现在时间(1)time.localtime() 本地时间(2)time.gmtime() UTC世界统一时间北京时间比时间统一时间UTC早8个小时import time​t_local = time.localtime()t_UTC = time.gmti...

2020-05-04 11:42:24 461

原创 Python进阶——生成器、迭代器、装饰器

文章目录第一部分 生成器1.1 生成器表达式1.2 生成器函数——yield第二部分 迭代器2.1 可迭代对象——Iterable2.1.1 列表、元组、字符串、字典、集合、文件、range()2.1.2 生成器2.2 迭代器——Iterator2.2.1 生成器都是迭代器2.2.2 列表、元组、字符串、字典、集合不是迭代器可以通过iter(Iterable)创建迭代器2.2.3 zip enum...

2020-05-03 21:34:59 486 2

原创 Python进阶——高阶函数、嵌套函数、闭包

文章目录第一部分 函数对象第二部分 高阶函数第三部分 嵌套函数第四部分 闭包第一部分 函数对象函数是Python中的第一类对象可以把函数赋值给变量对该变量进行调用,可实现原函数的功能def square(x): return x**2​print(type(square)) # square 是function类的一个实例pow_2 = square ...

2020-05-03 19:26:37 285

原创 Python进阶——条件表达式和解析语法

文章目录第一部分 解析语法1.1 解析语法的基本结构——[expression for value in iterable if conditihon]1.2 解析语法构造列表(也称为列表推导)支持多变量支持循环嵌套1.3 解析语法构造字典(字典推导)1.4 解析语法构造集合(集合推导)1.5 生成器表达式第二部分 条件表达式——expr1 if condition else expr2条件表达式...

2020-05-03 14:24:08 441

原创 Python进阶——数据类型的底层实现

文章目录第一部分 从奇怪的列表说起1.1 错综复杂的复制1.2 列表的底层实现1.2.1 引用数组1.2.2 新增元素1.2.3 修改元素1.2.4 对列表型元素进行操作1.2.5 对元组型元素进行操作1.2.6 对字典型元素进行操作1.2.7 小结1.3 深拷贝——copy.deepcopy(列表)第二部分 神秘的字典2.1 快速的查找2.2 字典的底层实现2.2.1 字典的创建过程2.2.2 ...

2020-05-03 13:33:37 302

原创 Python入门——模块简介

文章目录第一部分 广义模块分类1.1 Python 内置1.2 第三方库1.3 自定义文件第二部分 模块的导入2.1 导入整个模块——import 模块名2.2 从模块中导入类或函数——from 模块 import 类名或函数名一次导入多个类或函数2.3 导入模块中所有的类和函数——from 模块 import *第三部分 模块的搜索顺序3.1 内存中已经加载的模块3.2 内置模块——sys.mo...

2020-05-02 17:10:56 238

原创 Python入门——异常处理

文章目录第一部分 常见异常的产生1.1 除0运算——ZeroDivisionError1.2 找不到可读文件——FileNotFoundError1.3 值错误——ValueError1.4 索引错误——IndexError1.5 类型错误——TypeError1.6 使用一个未被定义的变量——NameError1.7 试图访问字典里不存在的键——KeyError第二部分 异常的处理2.1 try...

2020-05-02 16:32:07 397

原创 Python入门——文件读写

文章目录第一部分 文件的打开1.1 文件的打开通用格式1.2 文件路径1.3 打开模式1.4 字符编码第二部分 文件的读取2.1 读取整个内容——f.read()2.2 逐行进行读取——f.readline()2.3 读入所有行,以每行为元素形成一个列表——f.readlines()2.4 文本文件迭代读取2.5 二进制文件读取第三部分 文件的写入3.1 向文件写入一个字符串或字节流(二进制)——...

2020-05-02 15:06:32 329

原创 Python入门——类,面向对象的编程

文章目录引子第一部分 类的定义1.1 类的命名1.2 类的属性——类内部声明的变量1.3 类的方法——类内部定义的函数第二部分 创建实例2.1 实例的创建——实例名 = 类名(初始化参数)2.2 访问属性——实例名.属性名2.3 调用方法——实例名.方法名(参数)2.4 修改属性2.4.1 直接修改2.4.2 通过方法修改属性2.4.3 继续拓展2.5 小结第三部分 类的继承——class 子类名...

2020-05-02 10:25:05 428

原创 Python入门——函数,面向过程的编程

文章目录1 函数的定义及调用1.1 为什么要用函数1.2 函数的定义及调用1.3 参数传递1.3.1 形参与实参1.3.2 位置参数(关联)1.3.3 关键字参数(形参=实参)位置参数可以与关键字参数混合使用,但是,位置参数必须放在关键字参数前面1.3.4 默认参数让参数变成可选的1.3.5 可变长参数 *args实参打散1.3.6 可变长参数 **kwargs字典实参打散可变长参数的组合使用1....

2020-05-01 22:31:27 311

原创 Python入门——程序控制结构

文章目录第一部分 条件测试1.1 比较运算 > 、<、>=、<=、==、!=数据结构不为空、变量不为0、None、False,则为True1.2 逻辑运算 与and、或or、非not复合逻辑运算的优先级:非 > 与 > 或1.3 存在运算——元素 in/not in 列表/元组/字典的键或值集合/集合/字符串第二部分 分支结构——if语句第三部分 遍历循环——f...

2020-05-01 15:52:34 302

原创 Python入门——组合数据类型

文章目录第一部分 列表 list1.1 列表的表达 []另一种生成方式:list(可迭代对象)range()1.2 列表的性质列表的长度——len(列表)列表的索引——与同为序列类型的字符串完全相同列表的切片——与字符串完全相同1.3 列表的操作符用 list1+lis2 的形式实现列表的拼接用 n * list 或 list * n 实现列表的成倍复制1.4 列表的操作方法1.4.1 增加元素在...

2020-05-01 11:40:09 714

原创 Python入门——基本数据类型

文章目录第一部分 数字类型1.1 数字类型的组成1.1.1 整数——不同进制的转换十进制与其他进制的转换其他进制转十进制1.1.2 浮点数——不确定性1.1.3 复数——a+bj1.2 数字运算操作符(a 操作符 b)加减乘除运算   +  -  /  *取反  -乘方运算  **整数商//  和  模运算%1.3 数字运算操作函数求绝对值 abs()幂次方 pow(x,n)四舍五入 round(...

2020-04-30 22:43:29 645

原创 AI论文技巧及行业概况

为什么要读论文1. 基础技术: 综述或者论文中的 Related Works 可以帮助了解该领域一些主要的技术栈,追踪经典算法论文。如:细粒度综述论文,了解细粒度识别的发展历程2. 新方向和思路:跟上该技术领域内的最新发展思路,对解决当前算法存在问题提供指导3. 面试:提问领域技术的新方向,工作时需要不断接收新思路的熏陶和培养4. 复现:提升编程能力,模型训练经验以及框架熟悉程度...

2020-03-15 16:37:51 247

原创 PyTorch实现逻辑回归模型

逻辑回归是线性的二分类模型模型表达式:y=f(WX+b),f(x)=11+e−xy=f(WX+b),f(x)=\frac{1}{1+e^{-x}}y=f(WX+b),f(x)=1+e−x1​????(x)称为Sigmoid函数,也称为 Logistic函数,作用是将输入数据映射到[0, 1]之间。二分类方法:class={0,0.5>y1,0.5≤yclass=\begin{cases}...

2020-03-02 16:52:50 876

原创 机器学习模型训练步骤

数据模块数据的采集,清洗,划分和预处理。模型模块根据任务的难易程度选择简单的线性模型或者复杂的神经网络模型。损失函数根据不同的任务选择不同的损失函数,比如线性回归中选择均方差损失函数,分类选择交叉熵。优化器有了loss就可以求取梯度,得到梯度,用优化器更新权值。迭代训练反复训练的过程...

2020-03-02 11:54:38 2561

原创 PyTorch中的自动求导系统autograd

  深度学习模型的训练,就是不断更新权值,权值的更新需要求解梯度,求解梯度十分繁琐,PyTorch提供自动求导系统,我们只要搭建好前向传播的计算图,就能获得所有张量的梯度。torch.autograd.backward()torch.autograd.backward(tensors, grad_tensors=None, ...

2020-03-01 21:50:59 478

原创 计算图,动态图与静态图

计算图  计算图是用来描述运算的有向无环图。计算图有两个主要元素:结点(Node) 和边(Edge)。结点表示数据,如向量,矩阵,张量;边表示运算,如加减乘除卷积等。用计算图表示 y = ( x+ w) * ( w + 1 )  拆分成 a = x + w ;b = w + 1 ;y = a * b+1xa +wby *y对w求导,相当于找到计算图中所有y到w的路径,路径上的导数求积...

2020-03-01 16:24:34 2814

原创 Windows下PyTorch开发环境安装

Anaconda安装PyCharm安装CUDA与CuDNN安装将pip源更换到国内镜像PyTorch安装

2020-03-01 11:43:54 2480

原创 PyTorch实现线性回归

概念线性回归是分析一个变量与另外一(多)个变量之间关系的方法因变量:y自变量:x关系:线性表达式:y = wx + b目的:求解w和b求解步骤:确定模型Model:y = wx + b选择损失函数均方差MSE:1m∑i=1m(yi−yi^)2\frac{1}{m}\sum_{i=1}^{m}(y_i - \hat{y_i})^2m1​∑i=1m​(yi​−yi​^​)2...

2020-03-01 11:40:57 355

原创 PyTorch中的张量数学运算

加减乘除torch.add()torch.addcdiv()torch.addcmul()torch.sub()torch.div()torch.mul()对数,指数,幂函数torch.log(input, out=None) ——以e为底torch.log10(input, out=None)torch.log2(input, out=None)torch.exp(...

2020-02-29 19:03:56 3959

空空如也

空空如也

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

TA关注的人

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