自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 JAVA基础语法

一个JAVA程序可以认为是一系列对象的集合,这些对象通过调用彼此的方法来协同工作。类 / 对象 / 方法 / 实例变量基本语法1 大小写敏感 2 类名首字母大写 3 方法名都应该以小写字母开头,如果多个单词,则后面的每个单词首字母大写4 源文件名必须和类名相同 5 主方法入口,所有JAVA程序由public static void main (String...

2020-03-03 23:55:23 163

原创 JAVA开发

Java2平台包括:标准版(J2SE)、企业版(J2EE)、微缩版(J2ME)J2SE是Java2的标准版,主要用于桌面应用软件的编程J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统J2ME主要应用于嵌入式系统开发,如手机和PDA的编程Standard Edition(标准版),包括Java语言核心的类,比如:数据库连接、接口定义...

2020-01-02 17:34:54 205 1

原创 GUI

图形用户界面图形用户界面 (Graphical User Interface,简称GUI,又称图形用户接口),是指采用图形方式显示的计算机操作用户界面

2019-12-15 21:02:46 168

原创 动态规划

一、动态规划(dynamic programming, dp)常适用于有重叠子问题和最优子结构性质的问题,动态规划方法所耗时间往往少于朴素解法。若要解一个给定问题,我们需要解其不同部分(即子问题),再根据子问题的解以得出原问题的解。动态规划往往用于优化递归问题,例如斐波那契数列,如果运动递归的方式求解会重复计算很多相同的子问题,利用动态规划的思想可以减少计算量。通常许多子问题非常相似,...

2019-10-07 19:35:51 132

原创 C++中map和unorderd map以及set和unordered set区别

引入的头文件不同#include<map>#include<unordered_map>内部实现机理不同map内部实现了一个红黑树(红黑树是非严格平衡二叉搜索树,而AVL是严格平衡二叉搜索树),红黑树具有自动排序的功能,因此map内部的所有元素都是有序的,红黑树的每个节点都代表着map的一个元素。因此,对于map进行的查找、删除、添加等一系列的操作都相当于是对...

2019-10-07 17:05:27 653

原创 神经网络的正则化(L1正则化与L2正则化)

1 过拟合2 正则化过拟合现象很普遍,根本原因还是数据量不足以支撑复杂度高的模型,因此最直接的解决过拟合问题的办法是增加训练数据量。另一种直接的方法是降低模型复杂度。如果我们能通过正则化,在固定训练集大小和固定模型复杂度的情况下解决过拟合问题。2.1 L2正则化L2正则化也叫做权值衰减,就是在原本的损失函数基础上加上一个惩罚项:C0可以是任意的普通损失函数,w是模型...

2019-09-16 12:37:33 2138

原创 Focal Loss

一、基本概念Focal Loss主要是为了解决one-stage目标检测中正负样本比例严重失衡的问题。该损失函数降低了大量简单负样本在训练中所占的权重,也可以理解为一种困难样本挖掘。二、损失函数形式Focal Loss是在交叉熵损失函数基础上进行的修改,首先回顾二分类交叉熵损失:y'是经过激活函数的输出,所以在0-1之间。可见普通的交叉熵对于正样本而言,输出概率越大损失越小。对...

2019-08-29 16:33:37 473

原创 CART回归树

1 什么是CARTCART,又名分类回归树,是在ID3的基础上进行优化的决策树,学习CART记住一下关键点:(1) CART既能是分类树,又能是回归树(2) CART是分类树时,采用GINI指数作为节点分裂的依据;当CART是回归树时,采用样本的最小方差作为节点分裂的依据。(3) CART是一棵二叉树分类树的作用是通过一个对象的特征来预测该对象所属的类别,而回归树的目的是根据一...

2019-08-24 22:13:57 4020 1

原创 SMO算法

1 SMO概念SVM把原始最优化问题转化成了其对偶问题,因为对偶问题是一个凸二次规划问题,这样的凸二次规划问题具有全局最优解。如下:C是惩罚系数。上述问题要求解N个参数,其他参数均为已知。有多种算法可对上述问题求解,但复杂度很大。SMO (序列最小最优化算法) 可高效求解上述问题,把原始求解N个参数二次规划问题分解成多个子二次规划问题,分别求解,每个子问题只需求解2个参数。节省时间...

2019-08-22 15:32:17 1043

原创 遗传算法

一、遗传算法特点直接对结构对象进行操作,不存在求导和函数连续性的限定;具有内在的隐并行性和更好的全局寻优能力;采用概率化的寻优方法,不需要确定规则就能自动获取和指导优化的搜索空间,自适应的调整搜索方向。遗传算法并不保证获得问题的最优解,但是使用遗传算法的最大优点是不必去了解和操心如何去“找”最优解。(不必指导袋鼠怎么跳,跳多远)而只要简单的“否定”一些表现不好的个体就行了。二、基本概念...

2019-08-20 16:58:20 1530

原创 ResNet与梯度消失 与 batch normalization

1 梯度消失问题1.1 sigmoid当中的梯度消失上图是sigmoid的函数图像,这个函数可以增加非线性性,但是当输入值足够大或者足够小的时候,输出值基本上不变,这个时候函数的梯度值基本上就是0,这就达不到梯度下降的功能了。1.2 用ReLU代替sigmoid为了解决这个问题,引入了新的非线性单元,ReLU。表达式也非常简单,可以看到,不管输入值多大,梯度值都是存在的,这就在...

2019-08-17 21:18:36 2203

原创 RNN、Lstm源码,训练代码输入输出,维度分析

https://www.cnblogs.com/lovychen/p/9368390.html

2019-08-17 16:01:33 350

原创 python面试知识点

1 大数据的文件读取(1) 利用生成器generator(2) 迭代器进行迭代遍历:for line in file2 迭代器和生成器的区别(1) 迭代器是一个更抽象的概念,任何对象,如果它的类有next方法和iter方法返回自己本身。对于string、list、dict、tuple等这类容器对象,使用for循环遍历是非常方便的。在后台for语句对容器对象调用iter()函数,ite...

2019-08-17 01:04:42 125

原创 AdaBoost,GBDT以及XGBoost

一、AdaBoost1 AdaBoost与GBDT比较AdaBoost的迭代是重点拟合那些之前分错的样本。GBDT是在拟合残差。相同点:1 加性模型+前向分步算法 2 每一步训练一个弱学习器以弥补前面模型的不足,都不能并行计算 3 都是减小偏差不同点:1 AdaBoost中,当前学习器的“不足”由样本权重来决定 2 GBDT中当前学习器的不足“由”梯度决定AdaBoost一...

2019-08-16 18:04:27 726

原创 Gabor滤波器

Gabor是一个用于边缘提取的线性滤波器,其频率和方向表达与人类视觉系统类似,能够提供良好的方向选择和尺度选择特性,而且对光照变换不敏感,因此十分适合纹理分析。一、Gabor滤波器在图像处理中,Gabor函数是一个用于边缘提取的线性滤波器。Gabor滤波器的频率和方向表达同人类视觉系统类似。研究发现,Gabor滤波器十分适合纹理表达和分离。在空间域中,一个二维Gabor滤波器是一个由正弦平...

2019-08-15 23:29:55 1884

原创 滤波器

点运算:是在不改变图像大小、几何形状以及局部结构的情况下,对像素值进行修改,新图像的像素值只与原图像同一位置的像素值有关。滤波器:一般会用到原图像中的多个像素来计算每个新像素,一个滤波器用一个“滤波矩阵”(或“滤波模板”)表示,它的重要参数包括“滤波区域的尺寸”,“滤波区域的形状”。滤波步骤:1 对原始图像的边缘进行某种方式的填充(一般为0填充)2 将mask划过整幅图像,计算图像中每...

2019-08-15 21:28:36 256

转载 PCA

投影误差和最小:投影误差即每一个样本点到投影向量或者投影平面的距离。而投影误差和即为所有样本点到投影向量或投影平面的距离的和。方差最大与投影误差最小这两个优化目标其实本质上是一样的PCA算法思路:数据从原来的坐标系转换到新的坐标系,由数据本身决定。转换坐标系时,以方差最大的方向作为坐标轴方向,因为数据的最大方差给出了数据的最重要的信息。第二个新坐标轴选择的是与第一个新坐标轴正交且方差次大...

2019-08-11 19:42:05 865

原创 不平衡分类问题

TP / TN / FP / FNAccuracy: 准确率Precision / Recall: 精确率和召回率ROC / AUC: 假阳性率和真阳性率,ROC曲线与x轴围成图形的面积可以作为一个综合衡量的指标,即AUC (area under curve),AUC越大,曲线就越凸,分类器的效果也就越好。ROC曲线反映了分类器对正例的覆盖能力和对负例的覆盖能力之间的权衡。AP /...

2019-07-28 20:15:23 373

原创 python中关于++和--的理解

python中没有++和--的,那么要实现自增和自减的话,可以使用如下操作:a = a + 1 或 a += 1原因分析python中的数字类型是不可变数据,也就是数字类型数据在内存中不会发生改变,当变量值发生改变时,会新申请一块内存赋值为新值,然后将变量指向新的内存地址a = 10; a += 1两次id(a)是不同的+=是改变变量,相当于重新生成一个变量,把操作后的结果赋予...

2019-07-07 11:36:36 15374 1

原创 python 以两种方式使用代码

尽管文件底部的测试代码是有用的,但是有一个大问题,当文件作为脚本运行的时候,或者当它作为一个模块导入的时候,它的顶层的print语句都会运行。class Person: def __init__(self, name, job=None, pay=0): self.name = name self.job = job self.pay ...

2019-07-07 00:15:24 138

原创 python OOP

概括地讲,类就是一些函数的包,这些函数大量使用并处理内置对象类型。不过类的设计是为了创建和管理新的对象,并且它们也支持继承。这是一种代码定制和复用的机制。在python中,OOP完全可选,并且在初学阶段不需要使用类。实际上,可以用较为简单的结构,例如函数,甚至简单顶层脚本代码,这样就可以做很多事。class C1(C2, C3): def __init__(self, who):...

2019-07-07 00:06:37 78

原创 模块包

如果选择使用包导入,就必须多遵循一条约束:包导入的路径中的每个目录内部都必须有__init__.py这个文件,否则导入会失败,如:import dir1.dir2.modfrom dir1.dir2.mod import x目录结构:dir0/dir1/dir2/mod.py ,在dir1和dir2内都必须包含__init__.py文件,容器目录dir0不需要这类文件,因为其本身没列在i...

2019-07-06 23:32:48 80

转载 python lambda表达式

通常,lambda起到了一种函数速写的作用,允许在使用的代码内嵌入一个函数的定义。它们是完全可选的 (总能够使用def来替代它们),但是在你仅需要嵌入小段可执行代码的情况下它们会带来一个更简洁的代码结构。lambda x, y: x**y...

2019-07-06 23:25:59 60

原创 python函数参数

python中的注释有单行注释和多行注释单行注释以#开头,多行注释以三个单引号'''或者三个双引号"""将注释括起来def Times(x, y): return x*yglobalhehe = 6def f(): global hehe print(hehe) hehe = 3f()print(hehe)用global修饰符声明hehe是全...

2019-07-06 23:15:07 86

转载 线程和进程的主要区别

进程:系统进行资源分配和调度的基本单位。进程是线程的容器。程序是指令、数据及其组织形式的描述,进程是程序的实体。线程:是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一个进程中可以并发多个线程,每条线程并行执行不同的任务。线程也被称为轻量级进程,线程是程序执行的最小单位。1根本区别:进程是操作系统分配和管理资源的基本单位,而线程是任务调度和执行的基本单位...

2019-07-05 20:48:39 120

转载 K均值聚类算法

1 随机选取K个对象作为初始的聚类中心2 计算每个对象与各个子聚类中心之间的距离,把每个对象分配给距离它最近的聚类中心3 聚类的中心根据聚类中现有的对象被重新计算4 重复2-3直到满足某个终止条件。终止条件:没有对象被重新分配给不同的聚类,没有聚类中心再发生变化,误差平方和局部最小K值的确定:1 经验法:结合业务的场景和需求,来决定分几类以确定K值2 肘部法:在使用聚...

2019-07-03 22:16:27 706

转载 C++ inline关键字

在C++中,为解决一些频繁调用的小函数大量消耗栈空间(栈内存)的问题,特别引入了inline修饰符,表示为内联函数。栈空间就是指放置程序的局部数据(也就是函数内部数据)的内存空间。在系统下,栈空间是有限的,假如频繁大量的使用就会造成因栈空间不足而导致程序出错的问题,如函数的死循环递归调用的最终结果就是导致栈内存空间枯竭。inline的使用是有限制的,inline只适合函数体...

2019-05-19 23:02:30 199

原创 动态规划

动态规划是运筹学的一个分支,是求解决策过程最优化的数学方法,把多阶段过程转化为一系列单阶段问题,利用各阶段之间的关系,逐个求解,创立了解决这类过程优化问题的新方法——动态规划。动态规划一般可分为线性动规,区域动规,树形动规,背包动规四类。...

2019-05-17 10:55:13 116

原创 目标检测mAP

TP:预测为正,实际为正FP:预测为正,实际为负FN:预测为负,实际为正TN:预测为负,实际为负precision = TP / (TP + FP)recall = TP / (TP + FN)TP:该predicted bounding box与当前结果所在图像的所有gt bounding box的最大IoU大于阈值,且该gt bounding box还未被匹配。...

2019-05-13 12:25:50 278 1

转载 Python的format格式化输出

Python的格式化输出方法一:传统方法与C语言类似,可以采用%作为格式化输出的标记。如:print('the first number: %5d, the second number: %8.2f' % (123, 456.789))整数的输出%d 十进制 %o 八进制 %x 十六进制浮点数的输出%f 保留小数点后面6位有效数字,%.3f保留3位小数位...

2019-04-27 17:19:36 1089 1

转载 PyTorch TensorBoardX

TensorBoardX是基于tensorboard的思想用来写tensorboard events的工具,可以实现对传统的tensorboard中scalar,image,figure,histogram,audio,text,graph,onnx_graph等事件进行编写。1 导入SummaryWriter并创建SummaryWriter实例from tensorboardX impo...

2019-04-27 15:31:41 319

原创 python中常用模块(os, time, sys, pickle, random, math)

一 os模块当os模块被导入后,它会自适应于不同的操作系统平台,根据不同的平台进行相应的操作,在Python编程时,经常和文件、目录打交道,所以离不了os模块。os.name 名字指操作系统的名字,主要作用是判断目前正在使用的平台,windows返回‘nt’,Linux返回‘posix’os.sep 操作系统分隔符,Windows为’\\‘,Ubuntu为’/‘os.g...

2019-04-27 03:34:12 550

转载 python opencv模块 (2 图像元素的访问、通道分离与合并)

二 通道分离与合并1 图像元素的访问像素的访问与访问ndarray中ndarray的方法完全一样:灰度图:img[i, j] = 255BGR图像:img[i, j, 0] = 255 img[i, j, 1] = 255 img[i, j, 2] = 255...

2019-04-27 02:29:19 156

原创 python opencv模块(1 图像的载入、显示和保存)

一 入门基础1 图像读入cv2.imread(path),读取图像数据,BGR格式,数据在0-255,通道格式为 (W, H, C)cv2.IMREAD_COLOR: 读入一副彩色图像,图像的透明度会被忽略,默认参数cv2.IMREAD_GRAYSCALE: 以灰度模式读入图像调用cv2.imread,就算图像的路径是错的,opencv也不会提醒你,但是得到的img是None...

2019-04-26 18:34:22 466

原创 python argparse模块 (Python自带的命令行参数解析包)

# argparse的作用就是为py文件封装好可以选择的参数,使他们更加灵活,丰富# python自带的命令行参数解析包,可以将参数和代码分离 -h --helpimport argparseparser = argparse.ArgumentParser(description="demo of argparse") # 参数解析器# '-n', '--name' 表示同一个参数,...

2019-04-26 15:19:37 427

转载 NumPy

NumPy最重要的一个特点是其N维度数组对象ndarray,用于存放相同类型元素的多维数组1 ndarray对象numpy.array(object, dtype=None, copy=True, order=None, subok=False, ndmin=0)2 numpy数组中比较重要的ndarray对象属性:ndarray.ndim ndarray.shape...

2019-04-25 00:04:59 135

原创 python中list的拷贝与numpy的array的拷贝

1 python中列表的拷贝直接赋值,实质上指向的是同一个内存值切片赋值操作,指向了新的值,有了新的内存空间2 python中numpy.ndarray的拷贝直接赋值和数组切片赋值都是原始数组的视图,意味着数据不会被赋值,任何修改都会直接被反映到原数组上如果想到得到的是ndarray切片的一份副本而非视图,就需要显示的进行复制操作函数,copy()...

2019-04-24 15:43:11 159

转载 dropout

1 dropout简介1.1 dropout出现的原因在机器学习的模型中,如果模型的参数太多,而训练样本又太少,训练出来的模型很容易产生过拟合的现象。过拟合表现:模型在训练数据上损失函数较小,预测准确率较高,但是在测试数据上损失函数比较大,预测准确率较低。dropout可以比较有效的缓解过拟合的发生,在一定程度上达到正则化的效果。dropout是指在深度学习网络的训练过程中,对...

2019-03-22 13:43:46 1297

转载 FLOPS,FLOPs,Parameters

1 FLOPS在描述GPU的性能时,我们常常用到FLOPS进行描述。FLOPS是floating point operations per second的简写,即每秒所能够进行的浮点运算数目。FLOPS = 单个算数流水线一个时钟内可执行指令数目 * 单核算数流水线个数 * GPU核心数目 * 运行频率。通常是一个很大的数目,因此我们常常采用GFLOPS作为单位2 FLOPs...

2019-03-21 00:03:42 3335

转载 经典神经网络结构,AlexNet,VGG,GoogLeNet,ResNet

一 AlexNetImageNet Classification with Deep Convolutional Neural Networks包含5个卷积层和3个全连接层1 ReLUReLU比tanh要快,非线性非饱和函数比非线性饱和函数要快2 双GPU并行运行3 LRN局部响应归一化4 Overlapping Pooling5 总体结构防止过拟合...

2019-03-20 22:58:13 2004

空空如也

空空如也

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

TA关注的人

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