自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 希尔排序

1,算法思想希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的关键词越来越多,当增量减至1时,整个文件恰被分成一组,算法便终止。2,代码实现#include <iostream>#include <algorithm>using namespace std;template<typename T&gt...

2019-08-18 15:22:05 241

原创 气泡排序

1,气泡排序的思想对比相邻两个元素的相对大小,如果当前第i个元素小于前一个元素则交换两元素的值,每遍历一轮数组元素的个数减一,直到所有交换操作完成,不在发生交换。2,代码实现#include <iostream>#include <algorithm>using namespace std;template<typename T>void b...

2019-08-18 15:03:09 394

原创 插入排序

1,插入排序思想利用 for( int i = 1 ; i < n ; i ++ )遍历整个数组,考察当前第i个元素,并将其下标记录为j(j>0)其值赋值给e,比较j和j-1元素的大小,如果当前元素较前一个元素较小( arr[j-1] > e),将前一个元素后移,并使j–,逐个完成上述操作,然后将e赋值给第j个元素。2,代码实现#include <iostream&g...

2019-08-18 14:48:16 235

原创 运算符重载

1,定义C++ 允许在同一作用域中的某个函数和运算符指定多个定义,分别称为函数重载和运算符重载。重载声明是指一个与之前已经在该作用域内声明过的函数或方法具有相同名称的声明,但是它们的参数列表和定义(实现)不相同。当您调用一个重载函数或重载运算符时,编译器通过把您所使用的参数类型与定义中的参数类型进行比较,决定选用最合适的定义。选择最合适的重载函数或重载运算符的过程,称为重载决策。2,实例...

2019-08-18 10:49:32 209

原创 选择排序

1,算法实现原理设置一个模板函数实现对线性数组进行选择排序,首先记第i(i的初始值为0)个元素为整个数组的最小值,记录其下标为minIndex,遍历除首元素以外的整个数组(j=i+1,j<n,j++),通过逐个比较找到实际最小值,将其下标j记为minIndex,交换i和minIndex对应的元素值,增加i的值,重复上述操作,直至i到达最后一个元素。2,C++源码#include &l...

2019-08-18 10:00:19 118

原创 批标准归一化(Batch Normalization)解析

1,

2019-06-29 12:00:49 2209

原创 AlexNet中的局部响应归一化(LRN)

1,简介局部响应归一化(Local Response Normalization,LRN),提出于2012年的AlexNet中。首先要引入一个神经生物学的概念:侧抑制(lateral inhibitio),即指被激活的神经元抑制相邻的神经元。LRN仿造生物学上活跃的神经元对相邻神经元的抑制现象(侧抑制)。归一化(normaliazation)的目的就是“抑制”,LRN就是借鉴这种侧抑制来实现局部...

2019-06-29 10:28:09 2039

原创 this指针

1,this指针简介(C++)一个对象的this指针并不是对象本身的一部分,不会影响sizeof(对象)的结果。this作用域是在类内部,当在类的非静态成员函数中访问类的非静态成员的时候,编译器会自动将对象本身的地址作为一个隐含参数传递给函数。也就是说,即使你没有写上this指针,编译器在编译的时候也是加上this的,它作为非静态成员函数的隐含形参,对各成员的访问均通过this进行。例如,调用...

2019-06-27 11:37:48 126

原创 栈和队列

1,栈1.1 栈的特性后进先出(Last In First Out),简称为LIFO线性表。栈是动态集合,可以插入、删除,并且是线性不循环结构。栈的性质推论:1)只有最上面的元素能被弹出2)只能在最上面放置新元素3)弹出的元素是最新压入的4)元素弹出的顺序与压入的顺序相反即其特殊性在于限定插入和删除数据元素的操作只能在线性表的一端进行。1.2 栈的类实现#ifndef ST...

2019-06-27 10:42:59 104

转载 寻址方式

1,简介直接寻址、间接寻址、立即寻址,只是CPU在通过总线与内存交互时的不同交互方法,而产生的三种概念词。2、直接寻址直接寻址即直接给出内存单元的物理地址/虚拟地址直接寻址。假如有一个内存,且大小为0x00000000~0xFFFFFFFF;每个物理地址代表一个内存单元(这里抛开虚拟内存管理机制),那么我想要取得0x00000001地址里的数据,首先CPU需要通过地址总线找到该内存单元,然...

2019-06-27 10:07:26 276

翻译 线性表概述

一、线性表的定义线性表:零个或多个数据元素的有限序列。包括顺序表和链表:顺序表(其实就是数组)里面元素的地址是连续的,链表里面节点的地址不是连续的,是通过指针连起来的。二、线性表的抽象数据类型线性表的抽象数据类型定义如下:ADT 线性表(List)Data线性表的数据对象集合为{a1,a2,....,an},每个元素的类型均为DataType。其中,除了第一个元素a1外,每一个元素有...

2019-06-27 09:39:28 271

原创 VGG卷积神经网络模型加载与运行

1,VGG概述VGG Net由牛津大学的视觉几何组(Visual Geometry Group)和 Google DeepMind公司的研究员一起研发的的深度卷积神经网络,在 ILSVRC 2014 上取得了第二名的成绩,将 Top-5错误率降到7.3%。它主要的贡献是展示出网络的深度(depth)是算法优良性能的关键部分。他们最好的网络包含了16个卷积/全连接层。网络的结构非常一致,从头到尾全...

2019-06-25 20:52:48 2335

原创 打包几乎各程序都需要用到的宏命令和使用名空间

文件C.h中用宏命令包含了几乎各程序都需要用到的C++头文件,以后的程序,只要用到C++的头文件,只需将文件C.h包含即可。//C.h 打包几乎各程序都需要用到的宏命令和使用名空间#ifndef _C_H_#define _C_H_#inlcude <iostream> //cout/cin/std等#inlcude <fstream> //fin等#in...

2019-06-25 18:59:13 156

原创 常见的特征点算法

1,纹理特征纹理特征刻画了图像中重复出现的局部模式与他们的排列规则,常用于图像分类和场景识别。其只能反映物体表面的特性,无法完全反映出物体的本质属性,所以仅仅利用纹理特征无法获得图像的高层次内容。优点: 具有旋转不变性;具有良好的抗噪性能;缺点:当图像的分辨率变化的时候,所计算出来的纹理可能会有较大偏差; 有可能受到光照、反射情况的影响;从2D图像中反映出来的纹理不一定是3D物体表面真实的纹...

2019-06-25 15:28:20 2998

原创 logisitic和softmax函数

1,logistic函数其实logistic函数也就是经常说的sigmoid函数,它的几何形状也就是一条sigmoid曲线。logistic函数的公式形式如下:其中,x0表示了函数曲线的中心(sigmoid midpoint),k是曲线的坡度,表示f(x)在x0的导数。对应的几何形状:logistic函数本身在众多领域中都有很多应用,我们只谈统计学和机器学习领域。logistic函数在统...

2019-06-25 11:10:47 534

原创 线性回归、逻辑回归及SVM

1,回归(Linear Regression)回归其实就是对已知公式的未知参数进行估计。可以简单的理解为:在给定训练样本点和已知的公式后,对于一个或多个未知参数,机器会自动枚举参数的所有可能取值(对于多个参数要枚举它们的不同组合),直到找到那个最符合样本点分布的参数(或参数组合)。当然,实际运算有一些优化算法,肯定不会去枚举的。注意,回归的前提是公式已知,否则回归无法进行。回归中的公式基本都是数...

2019-06-25 10:34:38 2535

原创 交叉熵简介

1,信息论1.1 信息量机器学习的本质是信息论。在信息论中,首先我们引入了信息熵的概念。认为一切信息都是一个概率分布。所谓信息熵,就是这段信息的不确定性,即是信息量。如果一段信息,我无论怎么解读都正确,就没有信息量。如果一个信息,我正确解读的概率极低,就包含了极大信息量。假设X是一个离散型随机变量,其取值集合为χ,概率分布函数为:则定义事件X=x0的信息量为:由于是概率所以p(x0)...

2019-06-25 09:32:19 2135

原创 局部特征点算法简介

1,概念简介图像特征可以包括颜色特征、纹理特征、形状特征以及局部特征点等。其中局部特点具有很好的稳定性,不容易受外界环境的干扰。在对图像进行特征提取时,通常要将图像灰度化,这是因为颜色,易受光照影响,难以提供关键信息,故将图像进行灰度化而计算梯度,同时也可以加快特征提取的速度。局部特征从总体上说是图像或在视觉领域中一些有别于其周围的地方;局部特征通常是描述一块区域,使其能具有高可区分度;局部特...

2019-06-24 18:42:54 1291

原创 常用的色彩空间简介

1,RGBRGB色彩模式是工业界的一种颜色标准,是通过对红®、绿(G)、蓝(B)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的,RGB即是代表红、绿、蓝三个通道的颜色,这个标准几乎包括了人类视力所能感知的所有颜色,是目前运用最广的颜色系统之一。在RGB模式中,由红、绿、蓝相叠加可以产生其它颜色,因此该模式也叫加色模式。所有显示器、投影设备以及电视机等等许多设备都依赖于这种加色模...

2019-06-24 17:16:05 2579

翻译 BP算法基础与实现

1,内容简介BP算法(backpropagation,反向传播算法)的学习过程,由信息的正向传播和误差的反向传播两个过程组成。输入层各神经元介绍来自外界的输入信息,并传递给中间层各神经元。中间层是内部信息处理层,负责信息变换,根据信息变化能力的需求,中间层可以设计为单隐层或多隐层结构。最后一个隐层传递到输出层各神经元的信息,经过进一步处理后,完成一次正向的传播过程,由输出层向外界输出信息处理的结...

2019-06-23 09:05:01 5126

原创 模型数据的保存和读取

1,基本内容目的是将模型数据以文件的形式保存到本地。使用神经网络模型进行大数据量和复杂模型训练时,训练时间可能会持续增加,此时为避免训练过程出现不可逆的影响,并验证训练效果,可以考虑分段进行,将训练数据模型保存,然后在继续训练时重新读取; 此外,模型训练完毕,获取一个性能良好的模型后,可以保存以备重复利用。2,参数保存和读取代码import tensorflow as tf#随机初始化两...

2019-06-18 16:52:59 1946

原创 卷积神经网络:代码实现

import numpy as npimport tensorflow as tfimport matplotlib.pyplot as pltfrom tensorflow.examples.tutorials.mnist import input_datamnist = input_data.read_data_sets('data/', one_hot=True)trainimg...

2019-06-17 21:52:32 3746

原创 神经网络:代码实现

import numpy as npimport tensorflow as tfimport matplotlib.pyplot as pltfrom tensorflow.examples.tutorials.mnist import input_datamnist = input_data.read_data_sets('data/', one_hot=True)# 神经网络的框...

2019-06-16 15:26:18 650

原创 逻辑回归:代码实现

import tensorflow as tfimport numpy as npimport matplotlib.pyplot as pltfrom tensorflow.examples.tutorials.mnist import input_datatrainimg = mnist.train.imagestrainlabel = mnist.train.labelstes...

2019-06-16 11:17:50 343

原创 Mnist数据集简介

1,基本概念MNIST是一个非常有名的手写体数字识别数据集,在很多资料中,这个数据集都会被用作深度学习的入门样例。而TensorFlow的封装让使用MNIST数据集变得更加方便。MNIST数据集是NIST数据集的一个子集,MNIST 数据集可在 http://yann.lecun.com/exdb/mnist/ 获取, 它包含了四个部分:(1)Training set images: trai...

2019-06-16 09:28:12 7731

原创 线性回归:代码实现

import tensorflow as tfimport numpy as npimport matplotlib.pyplot as pltnum_points=1000vectors_set=[] for i in range(num_points): x1= np.random.normal(0.0, 0.05)#均值为0,标准差为0.05的随机值 y1= x1...

2019-06-15 11:16:43 608

原创 TensorFlow常用操作:代码示例

1,定义矩阵代码示例:import tensorflow as tftf.zeros([3,4]) #定义3行4列元素均为0的矩阵tensor=tf.constant([1,2,3,4])#定义一维向量常量#'tensor' =[[1,2,3],[4,5,6]]tf.ones_like(tensor) #定义大小和tensor变量大小相同的元素均为1的矩阵tensor1=tf...

2019-06-15 10:21:38 360

原创 TensorFlow基本计算单元:代码示例

1,代码示例:import tensorflow as tfa = 3#创建变量w = tf.Variable([[0.6,1.2]])#创建行向量x = tf.Variable([[2.1],[4.2]]) #创建列向量y = tf.matmul(w, x) #矩阵相乘init_op = tf.global_variables_initializer()# 初始化with tf...

2019-06-15 09:09:08 328

原创 卷积神经网络原理简介

1,概念简介卷积神经网络(Convolutional Neural Networks, CNN)是一类包含卷积计算且具有深度结构的前馈神经网络(Feedforward Neural Networks),是深度学习(deep learning)的代表算法之一。卷积神经网络具有表征学习(representation learning)能力,能够按其阶层结构对输入信息进行平移不变分类(shift-i...

2019-06-13 11:02:34 12249 4

原创 神经网络原理简介

1,类比生物神经元2,层次结构输入层,隐藏层(1,2),输出层;线可以理解为权重参数w。在神经网络中需要指定w的大小(矩阵的大小)3,非线性结构(激活函数)激活函数作用于前一层权重参数后:4,激活函数4.1 Sigmoid激活函数反向传播中的求导操作:当x的绝对值较大时,则导数接近为0,则在链式法则中易出现梯度消失,使得权重参数无法进一步更新,神经网络也无法收敛,因此后来的神经网...

2019-06-13 08:39:50 2072

原创 OpenCV+python:直方图的应用(一)

1,直方图均衡化 (Histogram Equalization)假如图像的灰度分布不均匀,其灰度分布集中在较窄的范围内,使图像的细节不够清晰,对比度较低。直方图均衡化,对图像进行非线性拉伸,重新分配图像的灰度值,使一定范围内图像的灰度值大致相等。这样,原来直方图中间的峰值部分对比度得到增强,而两侧的谷底部分对比度降低,输出图像的直方图是一个较为平坦的直方图。使图像的灰度范围拉开或使灰度均匀分布...

2019-06-13 08:28:06 1995

原创 Softmax分类器及最优化

1,基本内容将线性分类得到的得分值转化为概率值,进行多分类,在SVM中的输出是得分值,Softmax的输出是概率。2,Sigmoid函数表达式(值域为[0,1]):函数图像:Sigmoid函数可将任意实数映射到概率值[0,1]区间上,实现根据概率值的大小进行分类。3,Softmax的输出softmax 函数:其输入值是一个向量,向量中元素为任意实数的评分值,输出一个向量,其中每...

2019-06-12 20:27:41 13245 1

原创 线性分类

1,基本概念在机器学习领域,分类的目标是指将具有相似特征的对象聚集。而一个线性分类器则透过特征的线性组合来做出分类决定,以达到此种目的。对象的特征通常被描述为特征值,而在向量中则描述为特征向量。2,线性分类表达式线性分类器用作图像分类主要有两部分组成:一个是假设函数, 它是原始图像数据到类别的映射。另一个是损失函数,该方法可转化为一个最优化问题,在最优化过程中,将通过更新假设函数的参数值来最...

2019-06-12 19:36:19 840

原创 KNN算法简介

1,基本概念邻近算法,或者说K最近邻(kNN,k-NearestNeighbor)分类算法是数据挖掘分类技术中最简单的方法之一。所谓K最近邻,就是k个最近的邻居的意思,说的是每个样本都可以用它最接近的k个邻居来代表。KNN 算法本身简单有效,它是一种 lazy-learning 算法,分类器不需要使用训练集进行训练,训练时间复杂度为0,KNN 分类的计算复杂度和训练集中的文档数目成正比,也就是说...

2019-06-12 17:27:11 2132

原创 EM算法

1,EM算法简介最大期望算法(Expectation-Maximization algorithm, EM),或Dempster-Laird-Rubin算法 ,是一类通过迭代进行极大似然估计(Maximum Likelihood Estimation, MLE)的优化算法 ,通常作为牛顿迭代法(Newton-Raphson method)的替代用于对包含隐变量(latent variable)或...

2019-06-12 16:19:59 541

原创 降维处理:PCA和LDA

1,主成分分析主成分分析(Principal Component Analysis,PCA)是一种无监督问题,是降维中最常用的一种手段,基于方差(方差最大的方向)提取最有价值的信息再进一步分类。降维后数据特征的意义发生变化。2,向量的表示及基变换2.1 内积:设向量B的模为1,则A与B的内积值等于A向B所在直线投影的矢量长度:2.2 向量的线性组合向量可以表示为(3,2)实际上表示...

2019-06-12 10:49:11 323

原创 推荐系统简介

1,基本概念推荐系统属于资讯过滤的一种应用。推荐系统能够将可能受喜好的资讯或实物(例如:电影、电视节目、音乐、书籍、新闻、图片、网页)推荐给使用者。 推荐系统首先收集用户的历史行为数据,然后通过预处理的方法得到用户-评价矩阵,再利用机器学习领域中相关推荐技术形成对用户的个性化推荐。有的推荐系统还搜集用户对推荐结果的反馈,并根据实际的反馈信息实时调整推荐策略,产生更符合用户需求的推荐结果,推荐系统...

2019-06-12 09:30:09 258

原创 支持向量机算法原理简介

1,支持向量机概念简介分类作为数据挖掘领域中一项非常重要的任务,它的目的是学会一个分类函数或分类模型(或者叫做分类器),而支持向量机本身便是一种监督式学习的方法,它广泛的应用于统计分类以及回归分析中。支持向量机(Support Vector Machine,SVM)是90年代中期发展起来的基于统计学习理论的一种机器学习方法,通过寻求结构化风险最小来提高学习机泛化能力,实现经验风险和置信范围的最...

2019-06-11 19:24:38 4112

原创 贝叶斯算法原理简介

1,贝叶斯简介贝叶斯(约1701-1761) Thomas Bayes,英国数学家,贝叶斯方法源于他生前为解决一个“逆概”问题写的一篇文章。2,贝叶斯要解决的问题正向概率:假设袋子里面有N个白球,M个黑球,闭着眼睛伸手取出一个球,摸出黑球的概率是多大。逆向概率:如果事先并不知道袋子里面黑白球的比例,而是闭着眼睛摸出一个(或好几个)球,观察这些取出来的球的颜色之后,那么我们可以就此对袋子里面...

2019-06-11 16:01:05 1796

原创 聚类算法原理简介

1,聚类概念聚类涉及到数据点的分组。给定一组数据点,我们可以使用聚类算法将每个数据点划分为一个特定的组。理论上,同一组中的数据点应该具有相似的属性和/或特征,而不同组中的数据点应该具有高度不同的属性和/或特征。聚类是一种无监督学习的方法(没有标签),是许多领域中常用的统计数据分析技术有时候作为监督学习中稀疏特征的预处理,有时候可以作为异常值检测。应用场景:新闻聚类、用户购买模式(交叉销售)、图像...

2019-06-11 15:37:02 6632

空空如也

空空如也

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

TA关注的人

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