自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 HM代码实现解析(一)帧内预测编码

帧内预测理论,并结合HM16.0代码解析

2022-06-02 21:08:22 1646 2

原创 caffe 相关命令

训练网络命令:sudo sh ./build/tools/caffe train --solver=examples/mnist/train_lenet.sh-solver:必选参数。一个protocol buffer类型的文件,即模型的配置文件。如:./build/tools/caffe train -solver examples/mnist/lenet_solver.prototxt...

2019-10-11 11:42:26 275

原创 caffe-solver

solver算是caffe的核心的核心,它协调着整个模型的运作。caffe程序运行必带的一个参数就是solver配置文件。运行代码一般为# caffe train --solver=*_slover.prototxt在Deep Learning中,往往loss function是非凸的,没有解析解,我们需要通过优化方法来求解。solver的主要作用就是交替调用前向(forward)算法和后向...

2019-10-11 11:22:22 338

原创 caffe定义网络结构

数据层定义layer { name: "cifar" type: "Data" # 输入类型的是数据 top: "data" #一般用bottom表示输入,top表示输出,多个top代表有多个输出 top: "label" include { phase: TRAIN #训练网络分为训练阶段和自测试阶段,如果没写include则表示该层即在测试中,又在训练中 }...

2019-10-10 20:50:08 272

原创 caffe自定义层

下面caffe代码的功能是通过一个卷积层,再将卷积层的输出结果通过自定义层,计算结果。自定义函数前,现在caffe 的makefile中取消python层的注释、再进入caffe文件,重新编译:make clearmake all -j8make pycaffeinput_dim为定义的输入blobs[‘data’]的格式大小[1,3,100,100]=[batch_size,ch...

2019-10-09 16:39:03 355

原创 Faster rcnn RPN

RPN(Region Proposal Networks)RPN 的全称为 Region Proposal Networks,提取用于目标检测的 regions,这一步骤意在取代传统 R-CNN中利用 selective search 提取候选框的过程。特征图中每个红色框的中心点都可以对应到原图的某个点,原图中的这个点被称为锚点(anchor)。对于每个锚点,我们都会以它为中心点选择 9 个...

2019-10-07 15:09:28 747

转载 ResNet

Forward:from shallow to deepAlexnet的出现带火了深度学习,其最重要的特点为通过数据驱动让模型自动学习特征,省去了人工寻找特征的步骤。但不同的模型也找出不同质量的特征,特征的质量直接影响到分类结果的准确度,表达能力更强的特征也给模型带来更强的分类能力。因此,深度网络通过数据学习到表达能力更强的特征。特征也可以根据复杂度和表示能力粗略的分为高中低三种种类,理论上讲...

2019-10-01 20:51:04 1660

原创 Xception 深度可分离卷积

François Chollet.Xception: Deep Learning with Depthwise Separable Convolutions, CVPR 2017.https://arxiv.org/abs/1610.02357主要特点Xception: Extreme version of InceptionXception是google继Inception后提出的...

2019-10-01 17:02:36 2228

原创 SqueezeNet

Squeezenet: AlexNet-level Accuracy With 50x Fewer Parameters and <0.5MB Model Size, ICLR 2017.https://arxiv.org/abs/1602.07360作者提出的SqeezeNet在ImageNet上实现了和AlexNet相同的正确率,但是只使用了1/50的参数。更进一步,使用模型压缩...

2019-10-01 15:25:54 290

原创 DenseNet

DenseNet: Densely Connected Convolutional Networks在dense block 中,每一层以前馈方式连接到每一个其它的层减轻梯度消失,加强特征传播,鼓励特征重用5-layer dense block with growth rate of k=4Each layer takes all preceding feature-maps a...

2019-09-30 21:03:07 274

原创 ResNeXt

主要思想:Inception借鉴ResNet提出Inception-ResNetResNet也借鉴Inception提出ResNext,主要就是单路卷积变成多个支路的多路卷积,进行分组卷积。卷积的范式归纳了Inception的模式: split-transform-merge如下图所示,先将输入分配到多路,然后每一路进行转换,最后再把所有支路的结果融合。Inception的缺点...

2019-09-30 20:14:02 691

原创 Inception v4、Inception-ResNet

Inception v4由于历史的原因, Inception v3继承了太多的历史包袱,设计并非最优的,技术上的限制主要是为了模型能在DistBelief进行分布式训练。迁移到Tensorflow后,去掉不必要的历史包袱,做一个简单一致的网络设计,有了Inception v4.Inception v4网络架构其中包含了Stem、Inception、Reduction、Avarge Po...

2019-09-30 17:17:22 346

原创 Inception v3

下面的模块可以处理上一层中35x35的感受野大小,且处理的图片大小35x35,称35x35grid一层3x3卷积又可以用一层1x3卷积和3x1卷积来替代同理,n x n的卷积可以用1 x n 和n x 1的卷积替代:n = 7 --> 17x17 gridMaking the inception module wider设计更宽的inception moduleInc...

2019-09-30 15:05:13 461

原创 BN-Inception v2 网络

BN-Inception核心组件Batch Normalization (批归—化)目前BN已经成为几乎所有卷积神经网络的标配技巧5x5卷积核→ 2个3x3卷积核Batch Normalization的采用理由**内部协变量偏移(Internal Covariate Shift) ????*训练时网络参数的变化引起的网络激活分布的变化输入的图片经过训练,参数的变化会引起不同层的特征...

2019-09-29 22:14:50 1564

原创 GoogLeNet Inception v1

GooLeNet是ILSVRC2014竞赛图像分类任务第一名使用了更深的网络22层(包括池化层共27层)高效的"Inception"模块无全连接层参数数量仅为AlexNet的1/12ILSVRC-2014的分类和检测任务的冠军(6.7% top-5 error)Inception module (聚合)设计良好的局部网络拓扑,然后将这些模块堆叠在一起对前一层的输入进行并行...

2019-09-29 21:24:27 390 1

原创 NIN(Network in Netword)-1x1卷积

在网络中构建微型网络Mlpconv,它对conv特征进行了组合,提高了卷积的有效性对单个像素, 1x1卷积等效于该像素点在所有特征上进行一次全连接计算MIpconv中的全连接可以通过1x1卷积快速实现Mlpconv的作用作用1:通过叠加更多的卷积结果,经过ReLU激励,能在相同的感受野范围中提取更强的非线性特征。即上层特征可以更复杂的映射到下层。作用2:使用1 x1卷积进行降维,...

2019-09-29 20:44:51 377

原创 VGGNet

VGGNetVGGNet是2014年ILSVRC竞赛分类任务的第二名(第一名是 GoogLeNet)和定位任务的第一名。VGGNet新特点对卷积核和池化大小进行了统一: 3x3卷积和2x2最大池化操作采用卷积层堆叠的策略,将多个连续的卷积层构成卷积层组采用小的卷积滤波器,网络更深(16/19层)不采用LRN(Local Response Normalization)VGG网络架构...

2019-09-29 20:15:02 362 1

原创 AlexNet

AlexNet首次引入了ReLU, Dropout和Local Response Normalization (LRN)等技巧。双CPU并行计算,在第三个卷积层Conv3和全连接层做信息交互*算力:所需要的浮点数乘加的次数使用ReLU作为CNN的激活函数,并验证其效果在较深的网络超过了Sigmoid,解决了Sigmoid在网络较深时的梯度弥散问题,提高了网络的训练速...

2019-09-29 17:08:27 1610

原创 PCA

PCA思想:将一组数据换到新的基上,得到新的一种特征表达方式z=wTx目的:提取最有价值的信息(基于方差)其中,z为低维矩阵,x为高维矩阵,w为两者之间的映射关系。假如我们有二维数据(原始数据有两个特征轴——特征1和特征2)如下图所示,样本点分布为斜45°的蓝色椭圆区域。PCA算法认为斜45°为主要线性分量,与之正交的虚线是次要线性分量(应当舍去以达到降维的目的)首先了解一些概念:内...

2019-09-29 15:03:02 406

原创 贝叶斯

贝叶斯方法的提出贝叶斯派既然把θ看做是一个随机变量,所以要计算θ的分布,便得事先知道θ的无条件分布,即在有样本之前(或观察到X之前),θ有着怎样的分布呢?比如往台球桌上扔一个球,这个球落会落在何处呢?如果是不偏不倚的把球抛出去,那么此球落在台球桌上的任一位置都有着相同的机会,即球落在台球桌上某一位置的概率服从均匀分布。这种在实验之前定下的属于基本前提性质的分布称为先验分布,或的无条件分布。至...

2019-09-23 16:31:00 386

转载 损失函数

一、摘要本文主要总结一下常见的损失函数,包括:MSE均方误差损失函数、SVM合页损失函数、Cross Entropy交叉熵损失函数、目标检测中常用的Smooth L1损失函数。其中还会涉及到梯度消失、梯度爆炸等问题:ESM均方误差+Sigmoid激活函数会导致学习缓慢;Smooth L1损失是为了解决梯度爆炸问题。仅供参考。二、均方误差损失2.1 均方差损失函数的定义:均方差损失函数常用在...

2019-09-22 17:27:25 1375

原创 LR相关问题

LR和SVM1、LR采用log损失,SVM采用合页损失。2、LR对异常值敏感,SVM对异常值不敏感。3、在训练集较小时,SVM较适用,而LR需要较多的样本。4、LR模型找到的那个超平面,是尽量让所有点都远离他,而SVM寻找的那个超平面,是只让最靠近中间分割线的那些点尽量远离,即只用到那些支持向量的样本。5、对非线性问题的处理方式不同,LR主要靠特征构造,必须组合交叉特征,特征离散化。S...

2019-09-11 15:10:42 513

原创 L1L2正则化的选择

首先了解范数:范数是衡量某个向量空间(或矩阵)中的每个向量以长度或大小。范数的一般化定义:对实数p>=1, 范数定义如下:L0范数表示非零元素的个数L1范数当p=1时,是L1范数,其表示某个向量中所有元素绝对值的和。L2范数当p=2时,是L2范数, 表示某个向量中所有元素平方和再开根, 也就是欧几里得距离公式。加入正则化则减小模型复杂度:L0范数限制非零参数个数L1...

2019-09-08 15:25:12 1778 1

原创 SVM-SMO推导

当固定了a3、a4…an之后,只有a1,a2为变量,由约束项使a1代表a2,得到只含一个变量的一元函数再对只含一个变量的一元函数求导,得到a2:再带回原式,得到a1,但此时a1_new、a2_new和a1_old、a2_old是有一定关系的:注意到中含有yi即真实值,由此我们算得预测的值和真实值的误差Ei,将Ei带回等式得到a_new和a_old的关系:最后我们再看一下前...

2019-09-08 13:01:06 240

原创 SVM相关问题

• 核函数选择:(1)如果特征维数很高,往往线性可分(SVM解决非线性分类问题的思路就是将样本映射到更高维的特征空间中),可以采用LR或者线性核的SVM;(2)如果样本数量很多,由于求解最优化问题的时候,目标函数涉及两两样本计算内积,使用高斯核明显计算量会大于线性核,所以手动添加一些特征,使得线性可分,然后可以用LR或者线性核的SVM;(3)如果不满足上述两点,即特征维数少,样本数量正常,可...

2019-09-07 16:44:20 632

原创 GBDT和XGBoost的区别

传统GBDT以CART作为基分类器,xgboost还支持线性分类器,这个时候xgboost相当于带L1和L2正则化项的逻辑回归(分类问题)或者线性回归(回归问题)。传统GBDT在优化时只用到一阶导数信息,xgboost则对代价函数进行了二阶泰勒展开,同时用到了一阶和二阶导数。顺便提一下,xgboost工具支持自定义代价函数,只要函数可一阶和二阶求导。xgboost在代价函数里加入了正则项,用...

2019-09-07 12:57:09 581

转载 随机森林

其实从直观角度来解释,每棵决策树都是一个分类器(假设现在针对的是分类问题),那么对于一个输入样本,N棵树会有N个分类结果。而随机森林集成了所有的分类投票结果,将投票次数最多的类别指定为最终的输出,这就是一种最简单的 Bagging 思想。特点:在当前所有算法中,具有极好的准确率能够有效地运行在大数据集上能够处理具有高维特征的输入样本,而且不需要降维能够评估各个特征在分类问题上的重要性...

2019-08-31 18:51:55 822

原创 数据不平衡样本处理-SMOTE

类别不平衡问题在很多场景中存在,例如欺诈检测,风控识别,在这些样本中,黑样本(一般为存在问题的样本)的数量一般远少于白样本(正常样本)。上采样(过采样)和下采样(负采样)策略是解决类别不平衡问题的基本方法之一。上采样即增加少数类样本的数量,下采样即减少多数类样本以获取相对平衡的数据集。SMOTE算法是用的比较多的一种上采样算法,能够提升训练精度(1)对于少数类中每一个样本x,找出离它最近的...

2019-08-28 11:21:39 1610

原创 xgboost调参

Xgboost参数‘booster’:‘gbtree’, 提升树‘objective’: ‘multi:softmax’, 多分类的问题‘num_class’:10, 类别数,与 multisoftmax 并用‘gamma’:损失下降多少才进行分裂-(即xgboost公式推导中的,类似于信息增益)‘max_depth’:12, 构建树的深度,越大越容易过拟合‘lambda’:2, ...

2019-08-26 16:50:07 409

转载 准确率(Precision)、精确率、召回率(Recall)、F值(F-Measure)

下面简单列举几种常用的推荐系统评测指标:准确率、精确率、召回率和 F 值是在鱼龙混杂的环境中,选出目标的重要评价指标。不妨看看这些指标的定义先:TP-将正类预测为正类FN-将正类预测为负类FP-将负类预测位正类TN-将负类预测位负类准确率(正确率)=所有预测正确的样本/总的样本 (TP+TN)/总精确率= 将正类预测为正类 / 所有预测为正类 TP/(TP+FP)召回率 = 将...

2019-08-26 16:18:35 860

转载 SVM 核函数

4、核函数:在线性不可分的情况下,支持向量机首先在低维空间中完成计算,然后通过核函数将输入空间映射到高维特征空间,最终在高维特征空间中构造出最优分离超平面,从而把平面上本身不好分的非线性数据分开。而在我们遇到核函数之前,如果用原始的方法,那么在用线性学习器学习一个非线性关系,需要选择一个非线性特征集,并且将数据写成新的表达形式,这等价于应用一个固定的非线性映射,将数据映射到特征空间,在特征空...

2019-08-23 17:35:28 723

原创 SVM 公式推导

1、SVM思想(1)SVM算法的依据就是分类器B的分类间隔比分类器C的分类间隔大。这里涉及到第一个SVM独有的概念”分类间隔”。在保证决策面方向不变且不会出现错分样本的情况下移动决策面,会在原来的决策面两侧找到两个极限位置(越过该位置就会产生错分现象),如虚线所示。虚线的位置由决策面的方向和距离原决策面最近的几个样本的位置决定。而这两条平行虚线正中间的分界线就是在保持当前决策面方向不变的前提下的...

2019-08-22 18:13:07 1508

原创 XGBoost

xgboost既可以做回归也可以做分类我们知道对于单个的决策树模型容易出现过拟合,计算的结果有些绝对,并且不能在实际中有效应用。所以出现了集成学习方法。如下图,通过两棵树组合进行玩游戏的得分值预测。其中tree1中对小男生的预测分值为2,tree2对小男生的预测分值为0.9。则该小男生的最后得分值为2.9,实现了回归任务。将上面集成学习方法推广到一般情况,可知其预测模型为:xgboost...

2019-08-22 17:03:12 584

原创 AdaBoost-code

link创建一个Adaboost_Demonstration类:初始化参数:学习率,权重=1/Nclass Adaboost_Demonstration: def __init__(self, X, y, learning_rate=1.): """ 输入的X为N*2矩阵, y为一维向量, y的值只能取1或-1 :param X: 数据点...

2019-08-22 14:29:02 189

原创 AdaBoost

Boosting算法的工作机制是首先从训练集用初始权重训练出一个弱学习器1,根据弱学习的学习误差率表现来更新训练样本的权重,使得之前弱学习器1学习误差率高的训练样本点的权重变高,使得这些误差率高的点在后面的弱学习器2中得到更多的重视。然后基于调整权重后的训练集来训练弱学习器2.,如此重复进行,直到弱学习器数达到事先指定的数目T,最终将这T个弱学习器通过集合策略进行整合,得到最终的强学习器。  每...

2019-08-21 22:46:09 193

原创 集成学习概述

集成学习有两个分类,一个是个体学习器存在强依赖关系、必须串行生成的序列化方法,以Boosting为代表。另外一种是个体学习器不存在强依赖关系、可同时生成的并行化方法,以Bagging和随机森林(Random Forest)为代表。Bagging模型全称: bootstrap aggregation(并行训练一堆分类器),代表:随机森林对于这里的随机采样有必要做进一步的介绍,这里一般采用的是...

2019-08-21 21:01:31 511

原创 决策树

1、树模型决策树:从根节点开始一步步走到叶子节点(决策)所有的数据最终都会落到叶子节点,既可以做分类也可以做回归2、树的构造根节点:第一个选择点非叶子节点与分支:中间过程叶子节点:最终的决策结果1) 开始:构建根节点,将所有训练数据都放在根节点,选择一个最优特征,按着这一特征将训练数据集分割成子集,使得各个子集有一个在当前条件下最好的分类。2) 如果这些子集已经能够被基本正确分类...

2019-08-21 17:23:20 503

原创 KNN

KNN是通过测量不同特征值之间的距离进行分类。它的思路是:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别,其中K通常是不大于20的整数。KNN算法中,所选择的邻居都是已经正确分类的对象。下面通过一个简单的例子说明一下:如下图,绿色圆要被决定赋予哪个类,是红色三角形还是蓝色四方形?如果K=3,由于红色三角形所占比例为2/3,绿色圆...

2019-08-21 14:56:54 265

原创 leetcode120 三角形最小路径和 中等

给定一个三角形,找出自顶向下的最小路径和。每一步只能移动到下一行中相邻的结点上。例如,给定三角形:[[2],[3,4],[6,5,7],[4,1,8,3]]自顶向下的最小路径和为 11(即,2 + 3 + 5 + 1 = 11)。思路[[2],[3,4],[6,5,7],[4,1,8,3]]从上到下是有多条路径的,但是有些路径是部分重合的,比如下图红色部分,到5是可...

2019-08-21 12:52:30 124

原创 python知识点

模块导入import搜索路径,存于sys.path中,为一个列表的形式,每个元素保存要搜索的路径,imp–>reloa重新加载模块,否则导入之后修改模块,执行程序时模块并不会更新循环导入导致的错误,模块a,b之间相互需要导入对方,导致死循环,为了避免这种情况,可以先完成小部分模块,且之间不能相互调用,再由总的调用各个模块==和is== 是值的相同is 是指向的空间相同补充...

2019-08-15 19:29:25 228

空空如也

空空如也

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

TA关注的人

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