- 博客(34)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 卷积神经网络(CNN)知识点总结
文章目录1 卷积1.1 卷积的定义1.1.1 一维卷积1.1.2 二维卷积1.2 互相关1.3 卷积的运算1.3.1 边界效应与填充1.3.2 卷积步幅1.4 卷积的数学性质1.4.1 交换性1.4.2 导数2 卷积神经网络1 卷积1.1 卷积的定义1.1.1 一维卷积1.1.2 二维卷积1.2 互相关1.3 卷积的运算1.3.1 边界效应与填充1.3.2 卷积步幅1.4 卷积的数学性质1.4.1 交换性1.4.2 导数2 卷积神经网络...
2020-05-13 18:14:41
3567
1
原创 小白-Window下使用QT(python)
想做一个简单的QT界面,首先第一步是安装QT,找了一些资料,发现了一个比较靠谱的。但是我直接在python的IDE里面进行pip install所以根本就装不了,谷歌了一下发现是要在cmd里面安装。是根据下面这个链接来进行安装的https://www.cnblogs.com/bu123/p/9895105.html但是安装好后PyUICUIC用不了,老是报错:Error in input file: no element found: line 1, column 0查了一下,发现是要在想转化成.
2020-12-10 16:08:49
981
原创 深度学习中几种常用增强数据的库
深度学习中,数据增强是一种不会改变网络模型的正则化方法,通过对数据的增强可提升模型最终的训练效果。数据增强的两种主要方式:常用的增强技术:翻转:对图像进行水平或者垂直翻转。旋转:对图像给定一个角度进行顺时针或者逆时针旋转。裁剪:在裁剪的过程中,对图像的一部分进行随机采样亮度:增加或者减少图像的亮度缩放:缩放图像可以向外缩放或向内缩放。向外缩放时,图像大小增大,向内缩放时图像大小减小添加噪声:可以给现存的照片添加高斯噪声目前主流的图像增强库主要有以下:skimageopencvimg
2020-10-05 22:10:35
2469
原创 机器学习中的模型评估方法
最近在打kaggle的比赛,看到很多人都用了K折验证法,以前也接触过这部分知识,想上网查点资料再巩固一下这部分知识,发现很多人根本连验证集和测试集都没搞清楚,说的云里雾里的,于是就想自己总结一下K折验证法的基本概念,顺便总结一下机器学习中的模型评估方法。Holdout检验Holdout检验是最简单也是最直接的验证方法,它将原始的样本集合随机划分成训练集和验证集两部分。比方说,对于某一个模型,我们把样本按照70%~30%的比例分成两部分,70%的样本用于模型训练;30%的样本用于模型验证,包括绘制ROC曲
2020-07-30 15:49:14
365
原创 GridMask Data Augmentation-文献阅读笔记
摘要本文提出了一种新的数据扩充方法GridMask。它利用信息丢弃来实现各种计算机视觉任务的最新成果。分析了信息丢弃的需求。然后,我们指出了现有信息丢弃算法的局限性,并提出了一种简单而有效的结构化方法。它基于对输入图像区域的删除。我们的大量实验表明,我们的方法优于最新的自动增强算法,后者由于使用强化学习来寻找最佳策略,计算成本更高。在用于识别的ImageNet数据集、COCO2017目标检测和用于语义分割的城市景观数据集上,我们的方法都比基线显著提高了性能。大量的实验表明了新方法的有效性和通用性。引言
2020-07-05 10:58:41
689
原创 EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks-文献阅读笔记
我们发现平衡深度、宽度、图像分辨率可以提升神经网络模型的性能,因此提出了一种新的缩放方法,使用一个简单而高效的复合系数来统一缩放深度/宽度/分辨率的所有维度。值得注意的是,模型缩放的有效性在很大程度上依赖于基线网络;为了更进一步,我们使用神经结构搜索来开发新的基线网络,并将其放大以获得一系列模型,称为EfficientNet。传统方法大多按以下维度之一缩放ConvNets:深度:缩放网络深度是许多ConvNets最常用的方法。直觉是,更深层次的ConvNet可以捕获更丰富、更复杂的特性,并很好应用在
2020-07-02 11:06:32
247
原创 Densely Connected Convolutional Networks(文献阅读笔记)
摘要最近的研究表明,如果卷积网络在靠近输入的层和靠近输出的层之间包含较短的连接,那么它的训练就可以更深入、更准确、更有效在本文中,我们相信这一观察,并引入了Dense Convolutional Network(DenseNet),它以前馈方式将每一层连接到每一层。传统的卷积网络有L层L个连接-在每层与其后续层之间有,而我们的网络有L(L+1)/2L(L+1) /2L(L+1)/2个直接连接。对于每一层,前面所有层的特征图被用作输入,它自己的特征图被用作所有后续层的输入。DenseNets有几个引人注
2020-06-21 16:36:18
804
2
原创 KMeans算法简介以及其与KNN的区别
KMeans算法是一种无监督的聚类方法,其工作流程如下:(1)在一群无标签的数据中,随机选择k个数据作为簇中心(k是人为选择的)(2)依照某种距离度量,计算除掉这k个数据点的其他数据点到这k个簇中心的距离,将该点划分到离他最近距离的簇中心所属的簇。(3)计算划分好的簇的质心,使其作为新的簇的中心。(4)重复(2)到(3)步,直到新的质心与原来的簇的中心相等或者两者的距离小于阈值就停止重新划分KNN算法是一种监督学习算法,其工作流程如下:(1)当有新的测试样本出现时,计算其到训练集中每个数据点的距
2020-06-16 12:32:54
10752
原创 Tensorflow实战之实现 Softmax Regression识别手写数字(学习笔记)
Softmax Regression 的原理很简单,将可以判断为某类的特征相加,然后将这些特征转化为判定是这一类的概率。Placeholder是输入数据的地方,其第一个参数是数据类型,第二个参数[None,784]代表tensor的shape。Variable是用来存储模型参数的,其在模型训练迭代中是持久化的,它可以长期存在并且在每轮迭代中被更新。tf.nn包含了大量神经网络的组件,tf.matmul是Tensorflow中的矩阵乘法函数。tf.reduce_sum就是求和的符号,tf.reduce
2020-06-08 17:03:28
270
原创 决策树知识点总结
1. 决策树定义决策树是一种自上而下,对样本数据进行树形分类的过程,由结点和有向边组成。结点分为内部结点和叶结点,其中每个内部结点表示一个特征或属性,叶结点表示类别。从顶部根结点开始,所有样本聚在一起。经过根结点的划分,样本被分到不同的子结点中。再根据子结点的特征进一步划分,直至所有样本都被归到某一个类别(即叶结点)中.决策树的生成包含了特征选择、树的构造、树的剪枝三个过程。2 决策树学习决策树学习,假设给定训练数据集其中,xi=(xi(1),xi(2),...,xi(n))Tx_{i}=\l
2020-05-31 21:52:32
526
原创 关于混淆矩阵及其合理变种以及其与ROC和KS的关系
混淆矩阵是评估机器学习其模型准确性能的指标,但是混淆矩阵的概念的很模糊的,关于它的文献也非常少,而且其分析性质也尝尝被忽略。在本文中,我们系统地研究了混淆矩阵及其分析性质。 我们列举了混淆矩阵的16种可能的变体,并表明只有8种是合理的。 我们研究了混淆矩阵与其他两个性能指标之间的关系:操作工作特性曲线(ROC)和KolmogorovSmirnov统计量(KS)。通过KS可以获得最佳cutoff score。1.引言要构建ROC曲线,对于每个分数,将goods累计比例绘制在x轴上,将bads累计比例绘制在
2020-05-26 17:46:39
1384
原创 关于模拟退火函数算法(Simulated Annealing Algorithm)的理解(文献阅读笔记)
摘要:深度学习(DL)是机器学习研究的一个新领域,它的目的是让我们更接近人工智能的目标。虽然DL对于各种任务都很有用,但是很难训练。在深度学习的发展过程中,一些使深度学习在训练中达到优异性能的算法被提出了,其中包括随机梯度下降法、共轭梯度、 Hessian-free优化法和 Krylov Subspace Descent。在本文中,我们提出了模拟退火(SA)来提高卷积神经网络(CNN)的性能, 作为一种使用现代优化技术优化DL的替代方法,即元启发式算法。 利用MNIST数据集来验证使用了SA的CNN性能,保
2020-05-20 17:38:04
4749
3
原创 目标检测概念及其经典模型介绍
1.目标检测1.1 概念目标检测就是除了要对图片中物体正确分类外还要找到物体的具体位置。 人很容易找到物体的位置,这是因为人类可以感知到图片中的不同颜色模块。而对于计算机而言,它们获取的仅仅只是0到255之间的数值,直接找到物体的具体位置对于计算机而言说是很难的。1.2 原始目标检测的方法下图是传统目标检测的流程(1) 选择区域先定位目标的位置,因为目标会出现在图像中的任意地方,而且目标的大小、长短形状都是不相同的,所以原始的目标检测是利用滑动窗口的方法来对整张图片进行遍历检测的。并且需要根
2020-05-20 11:20:02
3090
原创 Python深度学习-ch5深度学习用于计算机视觉
本章包括以下内容:理解卷积神经网络(convnet)使用数据增强来降低过拟合使用预训练的卷积神经网络进行特征提取微调预训练的卷积神经网络把卷积神经网络学到的内容和其做出的 分类决策可视化5.1 卷积神经网络简介随着卷积层的加入,特征的尺寸在不断减小,深度在不断加深,深度卷积神经网络的主要目标是在提升模型性能的前提下,尽可能使深度最大化。5.1.1卷积运算集连接层和卷积层的根本区别在于,Dense 层从输入特征空间中学到的是全局模式(比如对于MNIST 数字,全局模式
2020-05-18 22:10:11
996
原创 关于卷积神经网络中如何选择各个层的层数的问题
这两天突然发现,不管是书籍还是竞赛里的卷积神经网络模型都没有讲解说为什么这样设置层数?比如先有两个卷积层,再有一个池化层,最后有一个全连接层,选择这些层的层数是根据什么原理的呢?这件事引起了我的好奇。于是我就展开了调研...
2020-05-17 15:29:26
9110
9
原创 Python深度学习-ch4机器学习基础(学习笔记)
4.1 机器学习的四个分支4.1.1 监督学习样本类别或者目标是已知的4.1.2 无监督学习样本只有特征,无已知的类别或者目标降维(dimensionality reduction)和聚类(clustering)都是众所周知的无监督学习方法4.1.3 自监督学习自监督学习是监督学习的一个特例,它与众不同,值得单独归为一类。自监督学习是没有人工标注的标签的监督学习,你可以将它看作没有人...
2020-05-07 14:09:33
238
原创 Python深度学习-ch3神经网络入门(学习笔记)
3.1 神经网络剖析3.1.1 层:深度学习的基础组件神经网络的基本数据结构是层密集连接层[densely connected layer,也叫全连接层(fully connected layer)或密集层(dense layer),对应于Keras 的Dense 类通常用来处理2D张量序列数据保存在形状为(samples, timesteps, features) 的3D 张量中,通常用...
2020-05-06 15:38:46
727
原创 深度解读KNN算法代码(Python小白呕心沥血之作)
一. KNN算法(K-近邻算法)是一种监督学习类别的算法,其工作机制如下:给定一个新的测试样本,基于某种距离度量找出训练集中离该新样本最近的前K个样本(训练集中样本标签已知),基于这K个样本的标签信息来预测新样本的类别,通常,在这K个样本中出现最多次数的类别标签即被预测为新样本的类别标签。二. 准备:使用Python导入数据首先创建一个KNN.py文件,在文件中输入以下代码:from nu...
2020-05-01 23:00:32
4139
1
原创 神经网络初探之激活函数、损失函数、优化器
神经网络的数学基础是张量运算图片、视频、时间序列等在计算机内都可以转换成不同维度的张量,神经网络就是通过对这些张量进行不同的运算最后得到得到想要的结果的过程...
2020-04-30 22:59:48
1730
翻译 Tensorflow教程之图像分类
这个教程训练了一个神经网络模型来分类衣服的图像,比如运动鞋和衬衫。不理解所有的细节也没关系,这是一个快节奏的完整的TensorFlow程序的概述随着以后的深入学习会慢慢理解这些细节部分。本教程使用tf.keras,一个在TensorFlow中构建和训练模型的高级API。from __future__ import absolute_import, division, print_functio...
2019-12-29 17:14:14
1064
原创 剑指offer编程题笔记之替换空格
题目描述:请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy解题思路:第一步:遍历字符串找到空格的位置和数量第二步:以“%20”替换空格关键点:空格占有一个字符空间,但是“20%”占有三个字符的空间,所以不能直接把“20%”塞到空格位置,否则同时会把其他字符给替换掉,所以必须还要要挪...
2019-12-23 12:47:24
84
原创 python学习笔记之生成器
生成器一边循环一边计算出后续元素的机制,称为生成器:generator创建generator的第一种方法:把列表生成式的[ ]改为( ):>>>L=[x*x for x in range(10)]>>>L [0,1,4,9,16,25,36,49,64,81] >>>g=(x*x for x in range(10))&g...
2019-12-15 17:48:57
82
原创 pthon学习笔记之数据类型
list与tuple共同点:list与tuple都是python的内置数据类型,是有序的集合。区别:list中的元素可以随时添加和删除,但是tuple一经初始化后就不能修改,list用[ ]表示,tuple用( )。创建一个list如下:>>>classmates['Michael','Bob','Tracy']>>>classmates[-1] #如...
2019-12-15 17:24:18
81
原创 LeetCode刷题笔记之第十三题-罗马数字转整数
题目描述:罗马数字包括以下七种字符:I,V,X,L,C,D和M。字符与数值的对应关系如下:I—1,V–5,X–10,L–50,C–100,D–500,M–1000例如:罗马数字中2写做II。12写作XII,即X+II。27写作XXVII,即为XX+V+II。通常情况下,罗马数字中小的数字在大的数字右边,但也存在特殊情况,例如4不写作IIII,而是IV。数字1在数字5的左边,所表示的数等于大数...
2019-12-08 21:06:24
142
原创 LeetCode刷题笔记之第九题-回文数
题目描述:判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。临界情况:首先,所有负数都不可能是回文数,对所有负数返回false;如果数字最后一位是0,为了是该数字回文则其第一个数字也应该是0,满足这个条件的整数只有0;如何执行反转操作:对数字2112,执行2112%10,将得到最后一位数字2,要得到倒数第二位数字,先将2112除以10得到211可把...
2019-12-02 10:50:26
122
1
原创 C++之数组的替代品——模板类vector与array
1.模板类vector类似于string类,也是一种动态数组,可以在运行阶段设置vector对象的长度,可在末尾附加新数据,还可以在中间插入新数据。基本上,它是使用new创建动态数组的替代品,虽然vector确实是用new和delete来管理内存的,但这种工作是自动完成的。要使用vector对象,必须包含头文件vector,其次,vector包含在名称空间std中,最后vector使用不同的语...
2019-11-24 16:42:56
308
原创 leetcode算法第一题-两数相加
题目描述:给定一个整数组nums和一个目标值target,请你在该数组中找出和为目标值的那两个整数,并返回他们数组下标。提示:不能重复利用整数组中同样的元素。第一种方法:暴力法基本思路:假设nums数组中有n个先找到nums数组中的第一个整数,然后从第二个整数到第n个整数之中找到与第一个整数和为target的整数。如果找到了,返回两个数的数组下标。如果没找到,则先找到第二个整数,再从第三个整数...
2019-11-17 17:08:29
211
原创 几种常见的算法思想
算法是对特定问题求解步骤的一种描述,通俗一点来说,算法就是一种方案,根据现有的特定的问题提出的一种解决方案。程序=数据结构+算法+程序设计语言,首先根据程序要处理的数据设计数据结构,再设计相应的算法来实现程序想实现的功能,最后选择一门程序设计语言来编写代码。接下来介绍几种常见的算法思想。1.递推算法递推算法指的是通过已知条件,利用特定关系得出中间结论,逐步递推直到得到最终结果为止。1.1算法...
2019-11-10 22:40:45
2711
原创 C++复习第一篇
1.int main()是C++的函数头,从关键字int可知,返回值类型是整型,空括号意味着main()函数不接受任何信息与参数,简而言之,int main()表示可以给调用他的函数返回一个整型值,并且不从调用他的函数那里接受任何信息与参数。2./…/是C语言的注释风格,C++中一般只使用//注释,//不涉及结尾符号与起始符号的正确配对所以产生的问题很小。3.名称空间using namespa...
2019-11-03 14:18:57
154
原创 OpenCv学习笔记之图像直方图均衡化
直方图均衡化是利用图像直方图对图像对比度进行调整的方法,这种方法对曝光不足或者曝光过度的图片都非常有用,这倒是让我想起了Matlab R2018版本中的imbinarize函数,该函数可以对曝光不均匀的图像准确筛选出前景背景进行二值化。图像直方图中横坐标代表像素分布值,纵坐标是像素值出现的频率。直方图均衡化首先要将彩色图像转化为灰度图像,其次再进行直方图均衡化。API为 equalizeHist。...
2019-10-26 16:37:27
181
原创 利用C语言求某一年的某一月有多少天的问题
解题思路:每年除了2月外其他月份天数都相同,闰年的2月份是29天,平年的2月份是28天。关键点:判断输入的年份是闰年还是平年,闰年的判断依据是:若某年能被4整除,但不能被100整除,则这一年是闰年;若某年能被400整除,则这一年也是闰年。我编写的代码如下:#include"stdafx.h"#include <stdio.h>#include <stdlib.h>...
2019-10-26 15:56:43
2023
2
原创 我的第一篇博客
每周都要写学习总结博客欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入这学期一直...
2019-10-21 21:44:43
78
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人