自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 资源 (1)
  • 收藏
  • 关注

原创 Pytorch:使用GPU训练

本篇文章接着上篇文章(https://blog.csdn.net/qq_21578849/article/details/84841649) 的模型继续探讨如何使用GPU训练。使用GPU 训练可以大幅提升运算速度,降低时间成本,提高深度学习的体验感。 Pytorch 有一套很好的支持 GPU 运算体系.,因此使用起来非常方便。在代码中使用GPU训练主要有三处需要注意:模型转为cuda,数据转为c...

2018-12-24 23:48:18 40703 3

原创 Pytorch:权重初始化

在TensorFlow中,权重的初始化主要是在声明张量的时候进行的。 而PyTorch则提供了另一种方法:首先应该声明张量,然后修改张量的权重。通过调用torch.nn.init包中的多种方法可以将权重初始化为直接访问张量的属性。**1、不初始化的效果**在Pytorch中,定义一个tensor,不进行初始化,打印看看结果:w = torch.Tensor(3,4)print (w)...

2018-12-16 09:51:59 23349 6

原创 超详细教程:YOLO_V3(yolov3)训练自己的数据

前言:最近刚好做一个项目需要做detection,选择的算法是yolo v3,因为它既有速度又有精度,还非常灵活,简直是工业界良心。做项目免不了需要用到自己的数据集,所以的从头一个脚印的来,走通了之后决定写一个帖子,以免需要用的人少走歪路,节约时间。官网上已经教我们如何跑起来yolo v3,因此大部分时间其实花在制作数据集上。总体来说,分为四个步骤,分别是:标注数据,利用voc制作自己的数据集,...

2018-12-12 23:24:20 119967 193

原创 深度学习实例一——手势数字识别(tensorflow&pytorch)

这是吴恩达老师深度学习工程师(网上有资源,大家可以去看看吴老师的课程,还是很有收获。),第二次课第三周的课后实例作业,可以作为初学者练手的好项目。原项目是tensorflow写的,我又用pytorch写了一遍。数据文件和完整代码都传到github上了。详情见:https://github.com/idotc/Gesture-digit-recognition一、Problem statement...

2018-12-05 23:47:43 14656 14

原创 ID3 C4.5 CART决策树原理

目录一. ID31.1 信息增益1.2 损失函数二. C4.52.1 信息增益比2.2 损失函数三. CART3.1 基尼指数(分类树)3.2 损失函数(分类树)3.3 均方差最小(回归树)四. 区别参考一. ID31.1 信息增益       ID3算法构建决策树的过程简单概括起来就是,自根结点开始,选择信息增益最大的特征作为根结点对应的特征,并依据该特征的可能取值将训练数据分配到不同的子结点,对子结点进行同样的操作,若子结点的所

2021-07-09 23:03:30 267 2

原创 十大排序算法

目录1.选择排序1.选择排序a. 选择排序的最好、最坏、平均情况下,其时间复杂度都是:O(n*n)b. 空间复杂度是O(1)c. 选择排序算法不是稳定性排序算法。这里再解释一下稳定性排序是指:2个相等的元素,在排序前的相对前后位置和排序完成后的,相对前后位置保持一致。选择排序为啥不是稳定性排序呢,举个例子:数组 6、7、6、2、8,在对其进行第一遍循环的时候,会将第一个位置的6与后面的2进行交换。此时,就已经将两个6的相对前后位置改变了。因此选择排序不是稳定性排序算法。def select_so

2021-05-30 22:24:54 186 1

原创 Spark RDD详解1

目录一、spark简介二、RDD是什么https://www.cnblogs.com/wzj4858/p/8204395.htmlhttps://www.freesion.com/article/13221196900/一、spark简介       Spark是整个商务数据分析系统(BDAS)的核心组件,是一个大数据分布式编程框架,不仅实现了MapReduce的算子map 函数和reduce函数及计算模型,还提供更为丰富的算子,

2021-04-08 22:21:42 258

原创 分支定界法求解整数规划

目录一、回顾整数规划的求解二、分支定界法介绍     1.  是什么     2.  求解思想     3.  求解步骤三、python实现求解参考资料一、回顾整数规划的求解       整数规划可以使用单纯形法进行求解(可以参考上篇博客,传送门),求解的结

2021-02-21 19:37:28 6080 2

原创 单纯形法求解线性规划

目录一、单纯形法简介1.是什么一、单纯形法简介1.是什么       单纯形法是求解线性规划问题最常用、最有效的算法之一。单纯形法最早由 George Dantzig于1947年提出,近70年来,虽有许多变形体已经开发,但却保持着同样的基本观念。单纯形法的基本想法是从线性规划可行集的某一个顶点出发,沿着使目标函数值下降的方向寻求下一个顶点,面顶点个数是有限的,所以,只要这个线性规划有最优解,那么通过有限步选代后,必可求出最优解 [

2021-01-31 13:55:00 27996

原创 Task5:模型融合——二手车交易价格预测

一、内容介绍简单加权融合:回归(分类概率):算术平均融合(Arithmetic mean),几何平均融合(Geometric mean);分类:投票(Voting)综合:排序融合(Rank averaging),log融合stacking/blending:构建多层模型,并利用预测结果再拟合预测。boosting/bagging(在xgboost,Adaboost,GBD...

2020-04-04 22:12:54 207

原创 Task4:建模与调参——二手车交易价格预测

一、主要内容线性回归模型:线性回归对于特征的要求;处理长尾分布;理解线性回归模型;模型性能验证:评价函数与目标函数;交叉验证方法;留一验证方法;针对时间序列问题的验证;绘制学习率曲线;绘制验证曲线;嵌入式特征选择:Lasso回归;Ridge回归;决策树;模型对比:常用线性模型;常用非线性模型;模型调参:贪心调参方法;网格调参方法;贝叶...

2020-04-01 21:26:29 254

原创 Task3:特征工程——二手车交易价格预测

一、特征工程的常用方法特征工程的目的:通过上一步的特征分析,去构建有效的特征来拟合隐藏的规律。常用方法:A. 异常处理:a) 通过箱线图(或 3-Sigma)分析删除异常值;b) BOX-COX 转换(处理有偏分布);c) 长尾截断;B. 特征归一化/标准化:a) 标准化(转换为标准正态分布);b) 归一化(抓换到 [0,1] 区间);c) 针对幂律分布,可以采用公式:...

2020-03-24 22:48:57 304

原创 Task2:数据的探索性分析(EDA)——二手车交易价格预测

数据的探索性分析(EDA)数据分析流程动手实践数据分析流程目的: 主要为了熟悉特征。通过统计分析和可视化工具了解变量间的相互关系以及变量与预测值之间的存在关系,为接下来的特征工程作铺垫。载入数据数据总览:通过describe()来熟悉数据的相关统计量通过info()来熟悉数据类型判断数据缺失和异常查看每列的存在nan情况异常值检测了解预测值的分布总体分布概况(无界约翰逊分布...

2020-03-24 15:16:29 1295

原创 李宏毅机器学习中文课程作业二:预测赢家还是输家

一、作业要求给定训练集spam_train.csv,要求根据每个ID各种属性值来判断该ID对应角色是Winner还是Losser(收入是否大于50K),这是一个典型的二分类问题。训练集介绍:CSV文件,大小为4000行X59列;4000行数据对应着4000个角色,ID编号从1到4001;59列数据中, 第一列为角色ID,最后一列为分类结果,即label(0、1两种),中间的57列为角色...

2019-10-31 23:46:43 1071

原创 李宏毅机器学习中文课程作业一:预测PM2.5值

一、作业要求给定训练集train.csv,要求根据前9个小时的空气监测情况预测第10个小时的PM2.5含量。训练集介绍:CSV文件,包含台湾丰原地区240天的气象观测资料(取每个月前20天的数据做训练集,12月X20天=240天,每月后10天数据用于测试,对学生不可见);每天的监测时间点为0时,1时…到23时,共24个时间节点;每天的检测指标包括CO、NO、PM2.5、PM10等气体浓...

2019-10-30 21:43:25 3240

原创 有技巧的算法题

有技巧的算法题1. 快速矩阵幂运算计算递推数列1. 快速矩阵幂运算计算递推数列题目:题目:递推数列满足规则:a[n] = a[n-1] + a[n-3] + a[n-4]输入数列为:nums求第n位的数要求复杂度为: nlogn如果只是简单的从0开始循环求n次,时间复杂度是O(n)。可以将规则写成矩阵形式,如下图所示。快速矩阵幂类似二分法,算法实现代码如下:"""题目:递推数...

2019-09-19 20:01:22 388

原创 深度学习-常见的几种Normalization算法

Batch Normalization (BN)Layer Normalization (LN)Instance Normalization (IN)Group Normalization (GN)一、Batch Normalization (BN)一个feature map为:NCW*H,BN在N、W、H维度上求均值和方差,保留C的维度。 比如在第一个样本的第一个通道,第二个样本的...

2019-08-07 22:29:08 441

原创 深度学习-Caffe模型解析(不需要prototxt)和可视化

在模型训练中,有时候需要把模型的权重可视化出来,检查模型权重是否有问题。caffe模型中可视化往往需要一个prototxt文件,不是很方便,因此需要可以直接利用model解析的方法。一、利用model和prototxt可视化import caffeimport numpy as npimport matplotlib.pyplot as plt%matplotlib inlinede...

2019-07-13 23:46:09 526

转载 深度学习-CNN中池化层和卷积层的反向传播

参考文献:1、 https://www.zhihu.com/question/587162672、 https://www.cnblogs.com/pinard/p/6494810.html3、 https://blog.csdn.net/qq_21190081/article/details/728717044、 http://jermmy.xyz/2017/12/16/2017-12-...

2019-07-04 23:51:17 2415

原创 机器学习-K-Means聚类算法的实现(含tensorflow实现版)

一、概述K-means算法是集简单和经典于一身的基于距离的聚类算法采用距离作为相似性的评价指标,即认为两个对象的距离越近,其相似度就越大。该算法认为类簇是由距离靠近的对象组成的,因此把得到紧凑且独立的簇作为最终目标。二、k-means算法流程结合代码具体分析流程:1. 准备数据,对数据进行可视化显示...

2019-07-02 15:57:45 843

原创 深度学习-六种权重初始化

模型权重的初始化对于网络的训练很重要, 不好的初始化参数会导致梯度传播问题, 降低训练速度; 而好的初始化参数, 能够加速收敛, 并且更可能找到较优解。六种权重初始化一、W初始化为0在线性回归和logistics回归中可以使用,因为隐藏层只有一层。在超过一层的神经网络中就不能够使用了。因此如果所有的权重参数都为0,那么所有的神经元输出都是一样的,在back propagation的时候...

2019-06-30 13:13:25 2961 1

原创 论文写作的一些小技巧——如何将Word、PPT和PDF中制作的图片保存成高清图

如何将Word、PPT和PDF中制作的图片保存成高清图在撰写论文中,常常需要一下插图来简洁明了的展现核心算法。利用PPT中的图形,可以方便的画图,但是画完的图如何导出清晰无损的矢量图呢?1. 无压缩转换成PDF不管是word还是PPT都先要转换成无压缩PDF,以PPT转换为例,Word转换使用一样的步骤。点击文件->打印在属性中选择编辑在设置中,将图像的相关压缩设置都选择 ...

2019-06-17 23:09:20 8919

原创 机器学习-非线性逻辑斯特回归及其手写实现梯度下降

一. 非线性逻辑斯特回归简介逻辑斯特回归在上一篇博客中已经简单地介绍了一下(链接)。非线性的实际用处要广泛,接下来看逻辑斯特回归在非线性中的应用。二. Python 代码手写实现1. 解析数据集,分割特征和label这里我们自己构建了一个非线性数据,总共两类数据,每类数据200个样本。每类数据中加了一些随机的噪声,接下来看数据分布图如下所示:2. 非线性特征处理对特征的处理,我们...

2019-05-05 14:52:52 271

原创 机器学习-逻辑斯特回归及其手写实现梯度下降

一. 逻辑斯特回归简介本章介绍的另一种模型:模型斯特回归(logistic regression)。它实质上是一个线性分类器。在之前介绍的线性分类器中,h(x)=Θ*x+Θ0,如果h(x)>0,则样本x属于正类,否定x属于负类。直观上的认识,如何h(x)越大,我们更加确信样本属于正类,相应的,h(x)越小,我们更加确信样本属于负类,而h(x)在0之间徘徊,很难确信属于某一类。为了与概率统...

2019-05-03 22:02:38 725

原创 机器学习-多元线性回归及其手写实现梯度下降

一. k-多元线性回归简介1.在回归分析中,如果有两个或两个以上的自变量,就称为多元回归。事实上,一种现象常常是与多个因素相联系的,由多个自变量的最优组合共同来预测或估计因变量,比只用一个自变量进行预测或估计更有效,更符合实际。因此多元线性回归比一元线性回归的实用意义更大。2.多元线性回归算法步骤:解析数据集,分割特征和label定义损失函数定义梯度下降函数根据特征数量初始化构建权重...

2019-04-30 23:25:41 1457 1

原创 机器学习-一元线性回归及其手写实现梯度下降

一、简介线性回归是利用数理统计中回归分析,来确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法。回归分析中,只包括一个自变量和一个因变量,且二者的关系可用一条直线近似表示,这种回归分析称为一元线性回归分析。如果回归分析中包括两个或两个以上的自变量,且因变量和自变量之间是线性关系,则称为多元线性回归分析。这篇的主题是一元线性回归,下篇将讲到多元线性回归。二、原理损失函数:最...

2019-04-15 23:26:15 818

原创 机器学习-朴素贝叶斯及其手写实现

一、简介1、朴素贝叶斯的基本思想就是:给出一个分类问题,对于待求项,属于哪个分类的概率最大,那这个待求项就属于哪个分类。2、如给出假设场景,要分类物有n个特征,分别为F1、F2、F3、…、Fn,现在有m个类别分别是C1、C2、C3、…、Cm。贝叶斯就是计算出概率最大的那个分类。二、原理准备知识贝叶斯条件概率的计算公式(核心)::---------

2019-04-12 23:13:24 561

原创 Pytorch:tensor的运算

一、tensor操作1. 新建A、torch.Tensor(shape)/torch.FloatTensor(shape):随机初始化一个维度为shape的张量。B、torch.randn(shape):用均值为0,方差为1的高斯分布初始化一个shape的张量。C、torch.rand(shape):在区间[0,1]上均匀分布,初始化一个shape的张量。2、Tensor的变换A...

2019-02-27 09:48:54 1281

原创 Pytorch:定义的网络结构层能否重复使用

**前言:**最近在构建网络的时候,有一些层参数一样,于是就没有定义新的层,直接重复使用了原来已经有的层,发现效果和模型大小都没有什么变化,心中产生了疑问:定义的网络结构层能否重复使用?因此接下来利用了一个小模型网络实验了一下。...

2019-01-23 17:05:25 5970 6

原创 Pytorch:模型的保存与加载

模型保存与加载常用有两种方法,第一种是保存整个模型,包括模型的结构和参数;第二种是保存模型的参数。推荐使用第二种,因为模型一旦很大,第一种加载耗时长,其次第二种加载方式更加灵活,可以加载其他模型的预训练参数,从而使用迁移学习的方法减小训练时长。一、保存/加载整个模型保存模型:torch.save(net, ‘model_net1.pkl’)加载模型net_parm = ‘model_...

2019-01-21 13:55:37 434

原创 Python面试3小题(一)

一、Python中赋值,浅拷贝和深拷贝的区别?参考博客:https://www.cnblogs.com/xueli/p/4952063.html1、赋值在python中,对象赋值实际上是对象的引用。当创建一个对象,然后把它赋给另一个变量的时候,python并没有拷贝这个对象,而只是拷贝了这个对象的引用。也就是说,对象赋值,两个变量共用的是一个地址。>>> b=alist...

2018-12-19 10:46:37 192

原创 编程之法面试和算法心得-1.5回文判断

1、题目描述给定一个字符串,如何判断这个字符串是否是回文串?2、解法一:两头往中间扫给定一个字符串,判断对应的首尾字符是否相等。每一次循环首尾各往中间移动一位,直到循环结束。参考代码如下:def IsPalindrome(s, n): s= list(s) if (n == 0): return False for i in range(n): ...

2018-11-27 23:48:23 191

原创 编程之法面试和算法心得-1.4字符串转换成整数

一、题目描述输入一个由数字组成的字符串,请把它们转换成整数并输出。如输入字符串为“123”,输出整数123。python化成整数直接可以int(str),现在是自己实现这个函数。二、解法这道题看起来比前面的的几道题都简单许多,只需要把输入字符串的各个字符的acsii码减去‘0’的acsii即可。从左向右扫描,依次乘10加当前字符转义的int。参考代码如下:def StrToInt(s):...

2018-11-26 21:48:14 190

原创 编程之法面试和算法心得-1.3字符串的全排列

一、题目描述输入一个字符串,打印该字符串中字符的所有排列。例如输入字符串“abc”,则输出“a”,“b”,“c”,所能够排列的所有字符串:“abc”,“acb”,“bac”,“bca”,“cab”,“cba”。二、解法一:递归实现递归的实现可以想成从局部到整体。字符串的全排列,最小的局部就是两个字符。两个字符不动输出一次,在交换输出一次,得到两个结果。多个字符的全排列,归根结底都是两个字符的...

2018-11-24 21:21:38 144

原创 编程之法面试和算法心得-1.2字符串的包含

一、题目描述给定一个长字符串a和一段字符串b。请问,如何最快判断短字符串b中的所有字符是否都包含在a中?请编写StringContain(a, b)实现此功能。为简单讲明思想,假设输入的字符串都是大写的字母。如a=“ABCD”,b=“BAD”,则答案为True;a=“ABCD”,b=“BCE”,则答案为False。二、解法一:蛮力轮询可以将b中的字符逐个查询是否在a中,但是该法的时间复杂度太...

2018-11-23 15:08:35 157

原创 编程之法面试和算法心得-1.1字符串的旋转

本博客的创作的算法来源于July创作的《编程之法面试和算法心得》一书,特此声明。我再学习此书的同时在结合了自己的一些理解,用python实现了一遍。在后面的系列博客中,不再重述,直接进入正题。一、题目描述给定一个字符串,要求字符串前面若干个字符移到字符串的尾部。例如,将字符串“abcdef”的前三个字符移到字符串的尾部,则得到“defabc”。请写一个函数实现该功能。二、解法一:蛮力移位...

2018-11-22 16:48:34 284

原创 ubuntu16.04使用github

github作为现在最火的开源社区,不管是用来共享idea,还是用来协作开发,都是很好用的一个工具。话不多说,让我们开始使用github吧!!一、github账号注册账号没什么特别的,在官网上(https://github.com/)点击注册就行。建立自己的仓库,作为远程的代码的提交的平台二、安装gitapt-get install git三、绑定SSH keys生成密钥对...

2018-11-20 23:56:57 372

单片机理论

计算机代码c语言,本资源有兴趣学习单片机的,可以下载

2014-10-05

空空如也

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

TA关注的人

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